CodeSystem Subsumption testing

Overview

Test the subsumption relationship between code/Coding A and code/Coding B given the semantics of subsumption in the underlying code system. For more details, see the official documentation FHIR CodeSystem $subsumes

Api

URL: [base]/CodeSystem/$subsumes
URL: [base]/CodeSystem/[id]/$subsumes

Parameters

Parameter Type Status Example
codeA code supported CodeSystem Subsumption testing
codeB code supported CodeSystem Subsumption testing
system uri supported CodeSystem Subsumption testing
codingA Coding supported CodeSystem Subsumption testing
codingB Coding supported CodeSystem Subsumption testing
version string not supported -

Examples

We will use goal-status CodeSystem which consists of :

Code Parent codes
accepted -
achieved ["accepted"]
ahead-of-target ["accepted", "in-progress"]
behind-target ["accepted", "in-progress"]
cancelled -
entered-in-error -
in-progress ["accepted"]
on-hold ["accepted"]
on-target ["accepted", "in-progress"]
planned ["accepted"]
proposed -
rejected -
sustaining ["accepted", "in-progress"]

Result of subsumption

The subsumption relationship between code/Coding "A" and code/Coding "B". There are 4 possible codes to be returned: equivalent, subsumes, subsumed-by, and not-subsumed. If the server is unable to determine the relationship between the codes/Codings, then it returns an error.

Requests examples

With code

equivalent

yaml
GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=accepted&codeB=accepted

or:

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: codeA, valueCode: accepted}
- {name: codeB, valueCode: accepted}
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: equivalent}

subsumes

yaml
GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=accepted&codeB=achieved

or:

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: codeA, valueCode: accepted}
- {name: codeB, valueCode: achieved}
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: subsumed}

subsumed-by

yaml
GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=achieved&codeB=accepted

or:

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: codeA, valueCode: achieved}
- {name: codeB, valueCode: accepted}
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: subsumed-by}

not-subsumed

yaml
GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=cancelled&codeB=proposed

or:

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- {name: system, valueUri: 'http://hl7.org/fhir/goal-status'}
- {name: codeA, valueCode: cancelled}
- {name: codeB, valueCode: proposed}
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: not-subsumed}

With Coding

You will receive same subsumption results

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- name: system
  valueUri: 'http://hl7.org/fhir/goal-status'
- name: codingA
  valueCoding: {code: accepted}
- name: codingB
  valueCoding: {code: achieved}
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: subsumed}

You can also combine code and Coding

yaml
POST [base]/CodeSystem/$subsumes
content-type: text/yaml

resourceType: Parameters
parameter:
- name: system
  valueUri: 'http://hl7.org/fhir/goal-status'
- name: codingA
  valueCoding: {code: accepted}
- name: codeB
  valueCode: achieved
yaml
resourceType: Parameters
parameter:
- name: outcome
  value: {code: subsumed}