GF11318 guidance.txt.rh.html
Interoperability Issues using code value pairs in FHIR
This discussion focuses on the way in which the coded representation of such statements is expressed using the Observation.code
and Observation.value
attributes of the Observation resource. A recurring issue for many observation events, regardless of the particular pattern, is determining how to populate observation.code and observation.value. While this is typically straight-forward for laboratory observations, it can get blurry for other types of observations, such as findings and disorders, family history observations, etc. There are two distinct facets that are central to a FHIR Observations:
- The action taken to make the finding and/or the property about which the property was observed.
- e.g., Measurement of blood hemoglobin
- The result of the observation
- e.g., 14 g/dl
Several different ways of representing the same information exist using different combinations of the Observation.code and Observation.value. Unconstrained use of the alternatives presents a major challenge for computation of semantic equivalence and for safe interpretation of observations originating from different applications and users. For example the following instances could reasonably represent the same case:
Observation.code
represents the nature of the observation and theObservation.value
a code represents the non-numeric result value. These are two distinct facets that are central to a FHIR Observations: :<div class="line"><span class="syntax--text syntax--plain"><span> </span><span class="syntax--meta syntax--paragraph syntax--text"><span>code=[Examination]</span></span></span></div><div class="line"><span class="syntax--text syntax--plain"><span class="syntax--meta syntax--paragraph syntax--text"><span> value=[Abdomen tender]</span></span></span></div>
Observation.code
is nearly identical to 1 above, but the level of granularity is shifted from the value to code:<div class="line"><span class="syntax--text syntax--plain"><span> </span><span class="syntax--meta syntax--paragraph syntax--text"><span>code=[Abdominal examination]</span></span></span></div><div class="line"><span class="syntax--text syntax--plain"><span class="syntax--meta syntax--paragraph syntax--text"><span> value=[Tenderness]</span></span></span></div>
The
Observation.code
is expressed in a way that does not specify the observation action, but indicates a statement about findings reduced to a single name (or term). In this particular example within that context, theObservation.value
is omitted.<div class="line"><span class="syntax--text syntax--plain"><span> </span><span class="syntax--meta syntax--paragraph syntax--text"><span>code=[Abdominal tenderness]</span></span></span></div><div class="line"><span class="syntax--text syntax--plain"><span class="syntax--meta syntax--paragraph syntax--text"><span> value element is omitted</span></span></span></div>
The
Observation.code
is also expressed in a way that does not specify the observation action, but indicates a statement about findings reduced to a single name (or term), as in the above item. In this example, theObservation.value
is present and "qualifies" the finding typically confirming or refuting it.<div class="line"><span class="syntax--text syntax--plain"><span> </span><span class="syntax--meta syntax--paragraph syntax--text"><span>code=[Abdominal tenderness]</span></span></span></div><div class="line"><span class="syntax--text syntax--plain"><span class="syntax--meta syntax--paragraph syntax--text"><span> value=[found/true]</span></span></span></div>
Guidance:
- Recommended rules for case 1 and 2 patterns:
- The
Observation.code
is preferably a <a href="https://loinc.org/">LOINC</a> concept code.- If a <a href="http://snomed.info/sct">SNOMED CT</a> concept code is used, the expression SHOULD represent a 363787002 (Observable entity(Observable entity)) or 386053000 (Evaluation procedure(evaluation procedure))
- For non-numeric values, the
Observation.value
is preferably is preferably a <a href="http://snomed.info/sct">SNOMED CT</a> concept code.
- The
- Recommended rules for case 3 pattern:
- The
Observation.code
is preferably a <a href="http://snomed.info/sct">SNOMED CT</a> concept code where the concept is-a 404684003 (Clinical finding (finding)) , 413350009 (Finding with explicit context(finding)), or 272379006 (Event(event)). - The
Observation.value
is omitted. The default interpretation is the concept (single code or expression) represented in Observation.code is present in the patient.
- The
- Recommended rules for case 4 pattern:
- The
Observation.code
is preferably a <a href="http://snomed.info/sct">SNOMED CT</a> concept code where the concept is-a 404684003 (Clinical finding (finding)) , 413350009 (Finding with explicit context(finding)), or 272379006 (Event(event)). - The
Observation.value
is represented by eithervalueBoolean
valueCodeableConcept
preferably using:- <a href="http://snomed.info/sct">SNOMED CT</a> where concept is-a 362981000 (Qualifier value (qualifier value))
- <a href="v2/0136/index.html">v2 Yes/no Indicator</a>
- <a href="v2/0136/index.html">v2 Expanded Yes/no Indicator</a> (unfortunately is missing 'not given')
- The
- Do not use the "ASSERTION pattern" as described in HL7 V3.