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

ParameterTypeStatusExample

codeA

supported

codeB

supported

system

supported

codingA

supported

codingB

supported

version

not supported

-

Examples

We will use goal-status CodeSystem which consists of :

CodeParent 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

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

or:

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}

subsumes

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

or:

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}

subsumed-by

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

or:

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}

not-subsumed

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

or:

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}

With Coding

You will receive same subsumption results

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}

You can also combine code and Coding

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

Last updated

Change request #2416: