Page tree
Skip to end of metadata
Go to start of metadata


Resource

https://www.hl7.org/fhir/observation.html

Profile examples


Relevant Confluence pages


Resource – concept model mapping

Yellow rows denote SNOMED CT attributes where there is no specific FHIR counterpart.

Resource element (CodeableConcept)FHIR ValueSetSNOMED CT attributeSNOMED CT rangeComments

Observation.category

ObservationCategoryCodes

n=9, preferred:

social-history

vital-signs

imaging

laboratory

procedure

survey

exam

therapy

activity



Is there a use case for providing SNOMED mappings as an alternative to the preferred set of 9?

Unlikely that will be able to draft a 'tidy' mapping to the exact same set of 9 categories, such that if Observation.code, .method, .bodySite and .type are all known then .category can be computed.

2019-04-16: recommend not to use this, but would be allowed

Observation.code


https://www.hl7.org/fhir/valueset-observation-codes.html#expansion


<<363787002|Observable entity|

OR << 386053000|Evaluation procedure|

AP: What happens to the findings like 'pulmonary oedema' from the findings hierarchy? Is that only a Condition, or can it also be an Observation? Many clinical condition labels are synonyms for the primary clinical symptom or observation that they cause. And many genuine symptoms are certainly observations (that a phenomenon exists), not pathologies

DK: Findings are not the "question" component of the question-answer model - they're a conflation of both question AND answer

AP: But where the conflated answer is typically always "is present"

UNRESOLVED....revisit

Observation.Value.valueCodeableConcept

<<362981000|Qualifier value|

MINUS <valueset for Observation.Interpretation> ?


LB: why not also members from <<441742003 Evaluation finding

JC: Because they decompose (in theory) into an Observable+Qualifier pair

Observation.dataAbsentReason

DataAbsentReason (Extensible)

HL7 CodeDefinitionSNOMED CT
unknownThe value is expected to exist but is not known.
  asked-unknownThe source was asked but does not know the value.
  temp-unknownThere is reason to expect (from the workflow) that the value may become known.
  not-askedThe workflow didn't lead to this value being known.
  asked-declinedThe source was asked but declined to answer.
maskedThe information is not available due to security, privacy or related reasons.
not-applicableThere is no proper value for this element (e.g. last menstrual period for a male).
unsupportedThe source system wasn't capable of supporting this element.
as-textThe content of the data is represented in the resource narrative.
errorSome system or workflow process error means that the information is not available.
  not-a-numberThe numeric value is undefined or unrepresentable due to a floating point processing error.
  negative-infinityThe numeric value is excessively low and unrepresentable due to a floating point processing error.
  positive-infinityThe numeric value is excessively high and unrepresentable due to a floating point processing error.
not-performedThe value is not available because the observation procedure (test, etc.) was not performed.
not-permittedThe value is not permitted in this context (e.g. due to profiles, or the base data types).




2019-04-16: seems to be out of scope of SNOMED CT
Observation.interpretation

Observation Interpretation Codes (Extensible)

HL7 Code
HL7 Code Display
SNOMED CT

_GeneticObservationInterpretation



CARCarrier29679002|Carrier of disorder|

_ObservationInterpretationChange



  BBetter385425000|Improved|
  DSignificant change down442474009|Decreased relative to previous|
  USignificant change up442387004|Increased relative to previous|
  WWorse231877006|Worse|

_ObservationInterpretationExceptions



  <

Off scale low


  >Off scale high
  IEInsufficient evidence

_ObservationInterpretationNormality



  A

Abnormal

263654008|Abnormal|

    AACritical abnormal
      HHCritical high
      LLCritical low
    HHigh371879000 | Abnormally high (qualifier value) |
      HUSignificantly high
    LLow371880002 | Abnormally low (qualifier value) |

      LU

Significantly low
  NNormal

17621005|Normal|

_ObservationInterpretationSusceptibility



  I

Intermediate

264841006|Intermediately susceptible|

  NCL

No CLSI defined breakpoint
  NSNon-susceptible
  RResistant30714006|Resistant|
    SYN-RSynergy - resistant
  SSusceptible131196009|Susceptible|
    SDDSusceptible-dose dependent

    SYN-S

Synergy - susceptible
EXoutside threshold394844007|Outside reference range|
  HXabove high threshold281302008|Above reference range|
  LXbelow low threshold281300000|Below reference range|
ObservationInterpretationDetection

 IND

Indeterminate82334004|Indeterminate|
    EEquivocal42425007|Equivocal|
  NEGNegative260385009|Negative|

    ND

Not detected260415000|Not detected|
  POSPositive10828004|Positive|
    DETDetected260373001|Detected|
ObservationInterpretationExpectation

  EXPExpected
  UNEUnexpected
ReactivityObservationInterpretation

  NRNon-reactive131194007|Non-Reactive|
  RRReactive11214006|Reactive|
    WRWeakly reactive117006002|Weakly-reactive|

HL7 valueset (n=48) is extensible, so could add new expressivity as SNOMED codes if there were any gaps in existing list ... but that existing list is already relatively matured and 'metalled' by use, so that seem an unlikely requirement. Many of the existing members of the HL7 valuelist have obvious SNOMED equivalents, so there is scope for a mapping rather than a completely separate SNOMED-only valuelist. Mapping exercise may also reveal some holes in existing SNOMED expressivity.

2019-04-16: gaps could be filled with new SNOMED CT content, e.g. _ObservationInterpretationNormality

Observation.bodySiteSNOMED CT Body Structures (Example)
Observation.methodObservation Methods (Example)
Observation.referenceRange.typeObservation Reference Range Meaning Codes (Preferred)
Observation.referenceRange.appliesToObservation Reference Range Applies To Codes (Example)
Observation.component.codeLOINC Codes (Example)
Observation.component.value[x].valueCodeableConcept

Observation.component.dataAbsentReasonDataAbsentReason (Extensible)
Observation.component.interpretationObservation Interpretation Codes (Extensible)



  • No labels