|Resource element (CodeableConcept)||FHIR ValueSet||Binding Strength||SNOMED CT attribute||SNOMED CT range||Comments|
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. Category can be determined from the code.
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"
MINUS <valueset for Observation.Interpretation> ?
DK thought binding was overly constrained 28May.
LB: why not also members from <<441742003 Evaluation finding
JC: Because they decompose (in theory) into an Observable+Qualifier pair
|HL7 Code||Definition||SNOMED CT|
|unknown||The value is expected to exist but is not known.|
| asked-unknown||The source was asked but does not know the value.|
| not-asked||The workflow didn't lead to this value being known.|
| asked-declined||The source was asked but declined to answer.|
|masked||The information is not available due to security, privacy or related reasons.|
|not-applicable||There is no proper value for this element (e.g. last menstrual period for a male).|
|unsupported||The source system wasn't capable of supporting this element.|
|as-text||The content of the data is represented in the resource narrative.|
|error||Some system or workflow process error means that the information is not available.|
| not-a-number||The numeric value is undefined or unrepresentable due to a floating point processing error.|
| negative-infinity||The numeric value is excessively low and unrepresentable due to a floating point processing error.|
| positive-infinity||The numeric value is excessively high and unrepresentable due to a floating point processing error.|
|not-performed||The value is not available because the observation procedure (test, etc.) was not performed.|
|not-permitted||The 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 Codes (Extensible)
HL7 Code (V3 code system, now harmonized between all HL7 code systems)
HL7 Code Display
29679002|Carrier of disorder|
(28May this relates to genetic mutation, so not quite appropriate as disorder may not manifest)
| D||Significant change down||442474009|Decreased relative to previous||
| U||Significant change up||442387004|Increased relative to previous||
Off scale low
| >||Off scale high|
| IE||Insufficient evidence|
| AA||Critical abnormal|
| HH||Critical high|
| LL||Critical low|
| H||High||371879000 | Abnormally high (qualifier value) ||
| HU||Significantly high||260360000 | Very high (qualifier value) ||
| L||Low||371880002 | Abnormally low (qualifier value) ||
|Significantly low||260362008 | Very low (qualifier value) ||
|No CLSI defined breakpoint|
| SYN-R||Synergy - resistant|
| SDD||Susceptible-dose dependent|
|Synergy - susceptible|
|EX||outside threshold||394844007|Outside reference range||
| HX||above high threshold||281302008|Above reference range||
| LX||below low threshold||281300000|Below reference range||
|Not detected||260415000|Not detected||
| WR||Weakly reactive||117006002|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
2019-06-11: filling Significant low/high,
- Daniel Karlsson create requests for Critical abnormal, Critical high, Critical low, Off scale low, Off scale high, Non-susceptible, Synergy - resistant, Synergy - susceptible, Susceptible-dose dependent, Expected, Unexpected.
- Rob Hausam ask for clarification from HL7 Orders and Observations Work Group about this: Insufficient evidence, No CLSI defined breakpoint (a generic "no breakpoint" concept instead?),
SNOMED CT Body Structures (Example)
Similar to Condition.bodySite, use values from << 442083009 (Anatomical or acquired body structure) unless the body site can be determined from Observation.code eg 433776001 |Temperature of toe (observable entity)| uses Inheres In → Toe Structure. Historical issue with difficulty representing multiple body sites (eg primary and secondary tumor sites). Note that Condition resource allows 0..* bodysites.
2019-06-11: Overlaps with | direct site | of the Observables concept model.
Daniel Karlsson can you suggest an observable that uses two body sites?
Observation Methods (Example)
Current HL7 list specifies: < 272394005 (Technique)
OR < 129264002 (Action) OR < 386053000 (Patient evaluation procedure)
HL7 "Only used if not implicit in code for Observation.code"
Note that Observables model currently using Technique (attribute) taking a technique qualifier. Actions are used as the value for a method in a procedure so is less appropriate here. JR suggested that this field should be restricted to < 272394005 (Technique) to address use case of concerns of a Pathology department.
Could a patient evaluation procedure be decorated with a technique? Currently only used with observables.
TODO - Link to Observables concept model
How would we link resources together so that the Observation could reference the actual procedure undertaken to make the determination? Likely via the "basedOn" linked to the ServiceRequest.
Similar problem to bodysite with conflict if Technique is used and does not align with Observation.code
Observation Reference Range Meaning Codes (Preferred)
|1|| normal||Normal Range||17621005|Normal||
|1|| recommended||Recommended Range|
|1|| treatment||Treatment Range|
|1|| therapeutic||Therapeutic Desired Level||262202000|Therapeutic||
|2|| pre||Pre Therapeutic Desired Level|
|2|| post||Post Therapeutic Desired Level|
NB 251818004|Prepubertal - no pubic hair (finding)|
SNOMED Code(s) needed below 307158003|Temporal periods relating to physiological functions| ?
(Prepubescent, peripubescent, pubescent, postpubertal) ??
|1|| follicular||Follicular Stage||SNOMED Code needed below 263845008|Premenstrual| ?|
NB 37733003|Midstage| (has synonym: midcycle)
SNOMED Code needed below 263845008|Premenstrual| ?
|1|| luteal||Luteal||SNOMED Code needed below 263845008|Premenstrual| ?|
|1|| postmenopausal||Post-Menopause||307429007|After menopause||
The value set is maturity=0 and binding strength is Preferred, so alternatively we can develop our own SNOMED CT value set from scratch.
However, the added value of using SNOMED CT here is... limited.
Observation Reference Range Applies To Codes (Example)
<<415229000|Racial group (racial group)| OR <<248153007|Male| OR <<248152002|Female| OR <<77386006|Pregnant|
|Likely, missing race/ethnicity codes will not be added to SNOMED CT|
|Observation.component.code||LOINC Codes (Example)||See above.|
|Observation.component.interpretation||Observation Interpretation Codes (Extensible)|