Concept domain bindings link a resource or an element to a set of SNOMED CT concepts that represent the intended semantics of the instances (whether or not SNOMED CT is used to encode that data element).
This set of concepts is represented using a SNOMED CT expression constraint. Note that the 'Concept domain binding' may be a superset of the 'value set binding'. These bindings help to support:
- Quality checking FHIR resources by ensuring that (a) the intended semantics of the instances matches the valid range of the corresponding SNOMED CT attribute, and (b) the intended value set is appropriate for the intended semantics of the instances
- Semantic checking of data instances by helping to detect potential inconsistencies caused by overlap between the semantics incorporated in two concept domains
Example Lipid Profile |
Observation | | < 363787002 |Observable entity| |
id | | |
meta | | |
implicitRules | | |
language | | |
text | | |
contained | | |
extension | | |
modifierExtension | | |
identifier | | |
instantiates[x] | | |
basedOn | | |
triggeredBy | | |
id | | |
extension | | |
modifierExtension | | |
observation | | |
type | | |
reason | | |
partOf | | |
status | | < 445584004 |Report by finality status| |
category | | |
code | | < 363787002 |Observable entity| OR < 386053000 |Evaluation procedure| |
subject | | |
focus | | |
encounter | | |
effective[x] | | |
issued | | |
performer | | |
value[x] | | < 441742003 |Evaluation finding| |
value[x] | valueQuantity | < 441742003 |Evaluation finding| |
id | | |
extension | | |
value | | |
unit | | |
system | | |
code | | |
dataAbsentReason | | |
interpretation | | < 260245000 |Findings values| |
note | | |
bodySite | | < 123037004 |Body structure| |
bodyStructure | | |
method | | |
specimen | | < 123038009 |Specimen| |
device | | < 49062001 |Device| |
referenceRange | | |
id | | |
extension | | |
modifierExtension | | |
high | | |
normalValue | | |
text | | |
component | | |
id | | |
extension | | |
modifierExtension | | |
code | | < 363787002 |Observable entity| OR
< 386053000 |Evaluation procedure| |
value[x] | | 363714003 |Interprets| < 441742003 |Evaluation finding| |
dataAbsentReason | | |
interpretation | | < 260245000 |Findings values| |
referenceRange | | |
Example Lipid Profile |
Observation | | OBX |
id | | |
meta | | |
implicitRules | | |
language | | |
text | | |
contained | | |
extension | | |
modifierExtension | | |
identifier | | OBX-21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 3) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4. |
instantiates[x] | | |
basedOn | | ORC |
triggeredBy | | ORC |
id | | |
extension | | |
modifierExtension | | |
observation | | |
type | | |
reason | | |
partOf | | Varies by domain |
status | | OBX-11 |
category | | |
code | | OBX-3 |
subject | | PID-3 |
focus | | OBX-3 |
encounter | | PV1 |
effective[x] | | OBX-14, and/or OBX-19 after v2.4 (depends on who observation made) |
issued | | OBR-22 (or MSH-7), or perhaps OBX-19 (depends on who observation made) |
performer | | OBX-15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO' |
value[x] | | OBX-2, OBX-5, OBX-6 |
value[x] | valueQuantity | OBX-2, OBX-5, OBX-6 |
id | | |
extension | | |
value | | SN.2 / CQ - N/A |
unit | | (see OBX.6 etc.) / CQ.2 |
system | | (see OBX.6 etc.) / CQ.2 |
code | | (see OBX.6 etc.) / CQ.2 |
dataAbsentReason | | N/A |
interpretation | | OBX-8 |
note | | NTE-3 (partner NTE to OBX, or sometimes another (child?) OBX) |
bodySite | | OBX-20 |
bodyStructure | | |
method | | OBX-17 |
specimen | | SPM segment |
device | | OBX-17 / PRT -10 |
referenceRange | | OBX-7 |
id | | |
extension | | |
modifierExtension | | |
high | | SN (see also Range) or CQ |
normalValue | | OBX-7 |
text | | OBX-7 |
component | | containment by OBX-4? |
id | | |
extension | | |
modifierExtension | | |
code | | OBX-3 |
value[x] | | OBX-2, OBX-5, OBX-6 |
dataAbsentReason | | N/A |
interpretation | | OBX-8 |
referenceRange | | OBX-7 |
Example Lipid Profile |
Observation | | Entity. Role, or Act |
id | | |
meta | | |
implicitRules | | |
language | | |
text | | Act.text? |
contained | | N/A |
extension | | N/A |
modifierExtension | | N/A |
identifier | | id |
instantiates[x] | | .outboundRelationship[typeCode=DEFN].target |
basedOn | | .inboundRelationship[typeCode=COMP].source[moodCode=EVN] |
triggeredBy | | .inboundRelationship[typeCode=COMP].source[moodCode=EVN] |
id | | n/a |
extension | | n/a |
modifierExtension | | N/A |
observation | | outBoundRelationship |
type | | code |
reason | | annotation |
partOf | | .outboundRelationship[typeCode=FLFS].target |
status | | status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of "revise" |
category | | .outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code |
code | | code |
subject | | participation[typeCode=RTGT] |
focus | | participation[typeCode=SBJ] |
encounter | | inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN] |
effective[x] | | effectiveTime |
issued | | participation[typeCode=AUT].time |
performer | | participation[typeCode=PRF] |
value[x] | | value |
value[x] | valueQuantity | value |
id | | n/a |
extension | | n/a |
value | | PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value |
unit | | PQ.unit |
system | | CO.codeSystem, PQ.translation.codeSystem |
code | | PQ.code, MO.currency, PQ.translation.code |
dataAbsentReason | | value.nullFlavor |
interpretation | | interpretationCode |
note | | subjectOf.observationEvent[code="annotation"].value |
bodySite | | targetSiteCode |
bodyStructure | | targetSiteCode |
method | | methodCode |
specimen | | participation[typeCode=SPC].specimen |
device | | participation[typeCode=DEV] |
referenceRange | | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |
id | | n/a |
extension | | n/a |
modifierExtension | | N/A |
high | | n/a |
normalValue | | value:IVL_PQ.normal |
text | | value:ST |
component | | outBoundRelationship[typeCode=COMP] |
id | | n/a |
extension | | n/a |
modifierExtension | | N/A |
code | | code |
value[x] | | value |
dataAbsentReason | | value.nullFlavor |
interpretation | | interpretationCode |
referenceRange | | outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN] |