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}