Page tree


This confluence page concerns a list of valuesets that we understand to be new to the FHIR specification (ie did not already exist as older HL7 valuesets); each of these valuesets is defined in FHIR as a FHIR-internal code system. The same code symbol (e.g. 'active') may appear in more than one different such valueset/codesystem but has a clearly different meaning in each which is expressed in each value's narrative text definition. Some of these code systems include an explicitly hierarchical taxonomic arrangement of the values they contain (e.g. Condition.ClinicalStatus, where relapsed is a subtype of active)

The VA and SOLOR are interested in being able to substitute SNOMED CT coded valuesets in place of the FHIR Internal codesystems, and so required a mapping.

It is, however, not yet clear whether the main benefit of having a SNOMED code is purely technical - it reduces the number of different codesystems required to enumerate all possible resource element bindings - or whether the link to SNOMED is also required to preserve, add to or otherwise clarify the semantics of each member of the valueset.

Note: There is another 'free' SNOMED CT codelist also in development for the International Patient Summary Specification, which is CDA R2 and FHIR incarnations. This free set would be used globally. Its a larger and more clinically focussed set. 

Design Choices for Valueset mapping

EITHER: Individual FHIR values are meaningless (or ambiguous) if encountered when detached from their original host resource (e.g. 'active' could be either a condition.clinicalstatus, or an allergy.clinicalstatus)

There is therefore no requirement for the SNOMED mapped code to add further semantics over and above being numerical codes for the words that are the FHIR symbols. Offering maps to e.g. members of <<106234000|General adjectival modifier| would be fine; if FHIR declares a disjoint and covering codesystem to comprise symbols {a,b,c} and these are mapped to {A,B,C} in SNOMED CT, then there is no requirement for A, B or C to exist in SNOMED as e.g. siblings of one another, or even all in the same branch of SNOMED's taxonomy, or for SNOMED to duplicate any original taxonomic arrangement of {a,b,c}. That information will remain encoded ONLY within the relevant FHIR code system as the reference. It may even be argued that it would be a mistake for SNOMED to attempt to precisely mirror the FHIR code system semantics.

OR: Individual FHIR value symbols are explicitly tied to a particular code system : although 'active' exists as a symbol in two different FHIR internal code systems, it has a different explicit narrative text meaning in both.

Therefore, the SNOMED mapping should attempt to preserve those distinctions and definitions. Most of these values therefore should NOT be mapped to any descendent of 362981000|Qualifier value| but rather to postcoordinated expressions (or new precoordinated codes) more precisely capturing the full semantics of each value's narrative text definition. For example, AllergyIntolerance.Category={food} should be mapped to 414285001|Food allergy (disorder)| and not to 255620007|Foods (substance)|; Condition.ClinicalStatus={recurrent} should be mapped to 58184002|Recurrent disease (disorder)| and not to e.g. 255227004|Recurrent (qualifier value)|

Relevant Valuesets

Required value sets that are possibly in scope:

Update 28 September 2018 from Grahame Grieve

Additional candidates as discussed from the patient care space:


possible candidates out of other spaces:


care planning

Valueset Mappings

22 Jan 2019: DK If all we're doing is looking for a word, then rather than pulling anything together then would we not be better having HL7 create their own concept within one FHIR specific subhierarchy

DetectedIssue.Severity - 3 concepts, mapped 2 Oct 2018, DONE

Possible home in << 272141005 |Severities (qualifier value)|

Discussion 22 Jan 2019: Mapping to qualifier values means that there is little context being supplied from SNOMED CT. That context would need to be supplied through the binding before meaningful reasoning could be performed.

HL7 ValueSuggested SNOMED TermDiscussion
High24484000 |Severe (severity modifier) (qualifier value)|

These values are inherited from V3. "High" does exist but in a different hierarchy - 75540009 |High (qualifier value)|

Severe does have a synonym of "High Grade"

Should we flag up this apparent inconsistency?

All these values are children of 272141005 |Severities (qualifier value)|

Conclusion: Mapping suggested here is sufficient (sufficient for what - use case required). 20 Nov

Moderate6736007 |Moderate (severity modifier) (qualifier value)|
Low255604002 |Mild (qualifier value)|DM - Could we also consider 62482003 | Low (qualifier value) ?

AllergyIntolerance.ClinicalStatus - 3 values (superficially similar to Condition.ClinicalStatus but without relapse and recurrent)

Conclusion: 22 Jan 2019 Use << 394731006 |Problem statuses and add new concept for Resolved Problem is our preference.

HL7 ValueSuggested SNOMED TermDiscussion

394774009 |Active problem (qualifier value)|

JR suggests new sub-hierarchy for SCT containing disease activity to align with 370996005 |Patient condition resolved (finding)|

LB suggested use of << 394731006 |Problem statuses (qualifier value)| would need to add "Resolved". YG Notes that these are not in use and their use is not dictated by the MRCM.

DK suggested use of << 36692007 |Known (qualifier value)| again "Resolved" would be required.

JC suggested that we accept lack of context and allow use of << 106234000 |General adjectival modifier (qualifier value)| eg 55561003 |Active (qualifier value)|


394775005 |Inactive problem (qualifier value)|


-- Would need to be created –

If we wanted the context supplied by << 394731006 |Problem statuses (qualifier value)| , then we'd need to add "Resolved problem" here.

723506003 |Resolved (qualifier value)| exists, but without the context of the problem statuses.


<< 106230009 |Qualifier for certainty of diagnosis (qualifier value)| doesn't have refuted

Better << 410514004 |Finding context value (qualifier value)|

HL7 ValueSuggested SNOMED TermDiscussion
Unconfirmed410590009 |Known possible (qualifier value)|These 3 are children of 410514004 |Finding context value (qualifier value)|
Confirmed410605003 |Confirmed present (qualifier value)| DM suggest -- Would need to be created –

Move 723511001 | Refuted (qualifier value) | to a subtype of 410594000 |Definitely NOT present (qualifier value)|

Also considered 2667000 |Absent (qualifier value)| ? Doesn't really put over that a test was done and the absence of the allergy was proven.

"Definitely not present" doesn't capture the implied history of "we used to think this was the case". New concept required?

Dictionary defn of refuted is "to prove wrong" so possibly history is not implied, but convention is that there was some previous possible condition. But "Not Present" is clearer - is there scope for FHIR changing the value?

DM - could this be considered History of (contextual qualifier) (qualifier value) ?

Entered in Error723510000 |Entered in error (qualifier value)|
Child of 106232001 |Adjectival modifier (qualifier value)|

AllergyIntolerance.Type DONE

Conclusion: Mapping suggested here is sufficient. 20 Nov

HL7 ValueSuggested SNOMED TermDiscussion
Allergy609328004 |Allergic disposition (finding)|

Descendant of 420134006 |Propensity to adverse reaction (finding)| via 609433001 |Hypersensitivity disposition (finding)|

Allergic reaction is covered elsewhere in FHIR.

Consider: 781474001 |Allergic disorder (disorder)| ?

Intolerance782197009 |Intolerance to substance (finding)|
Child of 420134006 |Propensity to adverse reaction (finding)| and it subsumes intolerance to both foods and drugs separately.


22 January 2019: We're going too far with 420134006 |Propensity to adverse reaction (finding)| really for a category we're just looking for a textual label

Conclusion: It would be better for HL7 to create their own concepts here.  The ones we found have little value being little more than word matches.

Note this group would recommend not using this field in any event since greater specificity is possible by using Code.

HL7 ValueSuggested SNOMED TermDiscussion

255620007 Foods ( <! 762766007 |Edible substance (substance)| )

Child of 418038007 |Propensity to adverse reactions to substance (finding)|

22 Jan 2019 Less favourable: 762766007 |Edible substance (substance)| even less so 373783004 |Dietary product (product)|

Removed 418471000|Propensity to adverse reactions to food (disorder)|


763158003 Medicinal product (<! 373873005 |Pharmaceutical / biologic product (product)|)

Removed 419511003|Propensity to adverse reactions to drug (disorder)|
environment276339004 Environment ( <! 308916002 |Environment or geographical location (environment / location)| )

If this is a NEC (Not elsewhere classified) sort of value, then would we use the more general 420134006 |Propensity to adverse reaction (finding)| here?

PWI: This is actually the super parent of the previous two, so logical reasoning would be problematic.

DK: ECL Expression helpful ie parent minus already used children?

FHIR says: "Any substances that are encountered in the environment, including any substance not already classified as food, medication, or biologic."

Removed 420134006 |Propensity to adverse reaction (finding)|

With moving to 276339004 Environment we note that the child indicate this concept was originally intended to be used for something completely different.

biologic115668003 | Biological substance (substance) |

Asked Bruce Goldberg if he thinks additional concepts in SNOMED are warranted here. His response:

A similar question arose yesterday in the allergy project group call. Toni mentioned that 762766007 |Edible substance (substance)| might be going away in the future and this would therefore impact the modeling of food allergy and whether it would be useful to maintain this concept. I think that the concepts of food and drug allergy are so ingrained in the minds of clinicians and patients that they remain useful not only as groupers but may be documented when a patient has had an immediate reaction within minutes of ingesting multiple foods or medications and it is not clear prior to testing which specific food or drug is the cause.  Groupings pertaining to  food and drug allergy are also present in the substance, product and procedure hierarchies where they are useful as organizing nodes.

  • 387847008 |Food specific immunoglobulin E (substance)|
  • 411536006 |Food specific diagnostic allergen extract (product)|
  • 387851005 |Drug specific immunoglobulin E (substance)|
  • 388450003 |Drug specific immunoglobulin E antibody measurement (procedure)|
  • 388455008 |Food specific immunoglobulin E antibody measurement (procedure)|

I am less certain about the requirement for an environmental allergy grouper. Environmental allergy is somewhat vague as to what should be included under this term although it is often used interchangeably with inhalant allergy which usually refers to pollens, dust mites, mold and animal dander. Biologics could be included under drug allergy imo.

AllergyIntolerance.Criticality  2 concepts, mapped 18 Oct 2018

Discussion 5 Feb 2019: Happy with the words here, but SNOMED is not providing any context.  The context from FHIR is "How serious is the reaction, rather than how likely is the reaction" .    Possible values in << 272141005 |Severities (qualifier value)|

HL7 ValueSuggested SNOMED TermDiscussion


Display Term "Low risk"

62482003 Low (qualifier value)


723505004|Low risk (qualifier value)|

But very questionable whether (a) passing either of this pair 'adjectival modifier' codes is any more useful than passing the words 'low' and 'high;

and (b) the wisdom and clinical safety of passing a coded clinical statement stating 'high risk' that does not also explicitly include 'of what?'.

Would it be better/safer to pass as new clinical finding codes along the lines of 'high risk of adverse reaction' ?

Actually, the exact meaning of the original valueset is in fact not to grade the likelihood of an adverse event but rather of whether, should an adverse event occur,it is likely to be clinically significant one. A high probability of only trivial reactions would be graded 'low risk'. So passing only 'low risk' may be especially clinically rather ambiguous.

YG: If the qualifier values are used in a concept model rule, we need to be careful.

JC: All qualifier values need to be interpreted in the context provided by the information model OR the context provided by the concept model.

JR: Could potentially add concepts to SNOMED here.


Display Term "High risk"

75540009 High (qualifier value)


723509005|High risk (qualifier value)|

"Assessed to the life threatening".

Note that a wider range of values are available as children of 272141005 |Severities (qualifier value)|. In this case, going from SNOMED to FHIR would require a mapping from 7 categories down to 2.


162650008 |Patient not examined (situation)|

1631000175102 |Patient not asked (contextual qualifier) (qualifier value)| ?

"Not a V3 null flavor"

AdverseEvent.Severity - 3 concepts, mapped 2 Oct 2018

AllergyIntolerance.Reaction.Severity - 3 concepts, mapped 2 Oct 2018

HL7 ValueSuggested SNOMED TermDiscussion
Severe24484000 |Severe (severity modifier) (qualifier value)|5 Feb 2019: Good word match but again a lack of context from the SNOMED side. Context would be taken from the position in the record ie the field itself gives the context.
Moderate6736007 |Moderate (severity modifier) (qualifier value)|
Mild255604002 |Mild (qualifier value)|


JR 5 Feb 2019 - Could ECE group help out here to suggest how status of patient can be best described?   Note that relapse is not covered here.  Note the potential for overlap with ConditionClinicalStatusCodes - would it not be better to seek a generic solution across both?

25 June Always have the option to add whatever is required to << 106234000 |General adjectival modifier (qualifier value)| if we accept that there will be no implied context.

HL7 ValueSuggested SNOMED TermDiscussion
resolved413322009|Problem resolved (finding)|
recoveringNot FoundDM 385633008 | Improving (qualifier value) | ?
ongoingNot Found303350001|Ongoing episode (qualifier value)| exists, but to be consistent with semantic category of maps proposed for other valueset members, need a finding.
resolvedWithSequelaeNot Found

413322009|Problem resolved (finding)| is only part of the way there.
Also 370996005|Patient condition resolved (finding)|

DM 65320000 | Residual (qualifier value) | added to sequela?

fatal419099009|Dead (finding)| (preferred due to also being a finding ie describes the current state of the patient)

399166001|Fatal (qualifier value)| is a severity..

419620001 |Death (event)|

unknownNot Found261665006 |Unknown (qualifier value)| - has some context as is a child of 410514004 |Finding context value (qualifier value)|



Values taken from << 36692007 |Known (qualifier value)|

HL7 ValueSuggested SNOMED TermDiscussion
Unconfirmed410590009 |Known possible (qualifier value)|415684004 |Suspected (qualifier value)|
Provisional410592001|Probably present (qualifier value)|

410590009|Known possible (qualifier value)|

OR 415684004|Suspected (qualifier value)|

'known possible' is not quite the same as differential...

HL7: "One of a set of potential and usually mutually exclusive diagnoses"

DM - in clinical coding terms possible v's probable rule (UK) =

Possible is suspected and probable is highly likely (treat as condition exists for example)

Confirmed410605003 |Confirmed present (qualifier value)|
Refuted410594000 |Definitely NOT present (qualifier value)|
Entered In Error723510000 |Entered in error (qualifier value)|


Discussion 13 Nov 18- consider enhancing << 394731006 |Problem statuses (qualifier value)|  currently containing active & inactive.    This valueset does seem like its use would go beyond just that of FHIR and may have broader usage.

Condition.ClinicalStatus relates to the SNOMED CT Clinical findings model in a non-trivial way, hence the red color coding. E.g. parts of the value set is related to the clinical course SNOMED CT relationship type.

5 Feb 2019 - Agreement to raise with Jim for possible inclusion in SNOMED CT to discuss perhaps with Clinical Groups (eg Nursing).

HL7 ValueSuggested SNOMED TermDiscussion
ActiveNot Found

55561003|Active (qualifier value)| would be undesirable to use. Its just a code for the word as an adjective : having a SNOMED code would add zero value over the original string, and only marginally more than the more obviously ludicrous but entirely possible SNOMED CT encoding as the expression:

422097006|Upper case Roman letter A (qualifier value)|
+ 257984003|Lower case Roman letter c (qualifier value)|
+ 257998006|Lower case Roman letter t (qualifier value)|
+ 257989008|Lower case Roman letter i (qualifier value)|
+ 258000009|Lower case Roman letter v (qualifier value)|
+ 257985002|Lower case Roman letter e (qualifier value)|

PWI 6 Nov: I think it's worth doing two things routinely here, firstly including what the parent is (in this case 106234000 |General adjectival modifier (qualifier value)|) and secondly seeing where that concept is aleady used in SNOMED. In this case, no International concept uses this qualifier value.

..RecurrenceNot Found

263853000|Recurrent episode (qualifier value)| is in right neck of woods, as a member of SNOMED's Episodicities valueset, but other members of the HL7 valueset cross over into other aspects of disease phase rather than episodicity, so if a guiding map design principle were to be that all members of the valueset should at least be from the same SCT semantic category, then we'd need Findings for all of the values.

Also 255227004|Recurrent (qualifier value)| as a member of SNOMED's Courses valueset.

..RelapseNot Found

303359000|Relapse episode (qualifier value)|
or 263855007|Relapse phase (qualifier value)|
or 255318003|Relapsing course (qualifier value)| as a member of SNOMED's Courses valueset

InactiveNot Found

73425007|Inactive (qualifier value)| would be undesirable to use as its just a code for the word and so having a SNOMED code adds zero value over the original string.

Parent here is, again, 106234000 |General adjectival modifier (qualifier value)|

..RemissionNot Found

277022003|Remission phase (qualifier value)|

18 Dec Discussion that the "remission" aspect has often been represented in SNOMED through hierarchical association to 765205004 |Disorder in remission (disorder)| rather than modeling using a qualifier value. Perhaps we should note this sort of thing as moving towards an attribute modeled approach would allow for reasoning against information model combined values at some point in the future.

..ResolvedNot Found723506003|Resolved (qualifier value)| would be undesirable to use as its just a code for the word : having a SNOMED code adds zero value over the original string


2019-04-16: Found matching concepts in this subhierarchy: <<272125009|Priorities|

The specimen collection priority value set is partly overlapping

Other priority value sets are:

HL7 ValueSuggested SNOMED TermDiscussion





709122007|As soon as possible|



Care planning

2019-04-16: The value sets listed under Care planning all seem to be out of scope of SNOMED CT.

2019-04-30: Further discussion including with Jim Case Confirmed that don't see the value of adding these into SNOMED, notwithstanding implementor desire for a one-stop dictionary.

Defines behavior for an action or a group for how many times that item may be repeated
The action may only be selected one time.
The action may be selected multiple times.

Defines selection frequency behavior for an action or group.
yes373066001|Yes (qualifier value)|An action with this behavior is one of the most frequent action that is, or should be, included by an end user, for the particular context in which the action occurs. The system displaying the action to the end user should consider "pre-checking" such an action as a convenience for the user.
no373067005|No (qualifier value)|An action with this behavior is one of the less frequent actions included by the end user, for the particular context in which the action occurs. The system displaying the actions to the end user would typically not "pre-check" such an action.

Defines expectations around whether an action or action group is required.
An action with this behavior must be included in the actions processed by the end user; the end user SHALL NOT choose not to include this action.
An action with this behavior may be included in the set of actions processed by the end user.
An action with this behavior must be included in the set of actions processed by the end user, unless the end user provides documentation as to why the action was not included.

Defines selection behavior of a group.
Any number of the actions in the group may be chosen, from zero to all.
All the actions in the group must be selected as a single unit.
All the actions in the group are meant to be chosen as a single unit: either all must be selected by the end user, or none may be selected.
The end user must choose one and only one of the selectable actions in the group. The user SHALL NOT choose none of the actions in the group.
The end user may choose zero or at most one of the actions in the group.
The end user must choose a minimum of one, and as many additional as desired.

Defines organization behavior of a group.
Any group marked with this behavior should be displayed as a visual group to the end user.
A group with this behavior logically groups its sub-elements, and may be shown as a visual group to the end user, but it is not required to do so.
A group of related alternative actions is a sentence group if the target referenced by the action is the same in all the actions and each action simply constitutes a different variation on how to specify the details for the target. For example, two actions that could be in a SentenceGroup are "aspirin, 500 mg, 2 times per day" and "aspirin, 300 mg, 3 times per day". In both cases, aspirin is the target referenced by the action, and the two actions represent different options for how aspirin might be ordered for the patient. Note that a SentenceGroup would almost always have an associated selection behavior of "AtMostOne", unless it's a required action, in which case, it would be "ExactlyOne".

Defines the types of relationships between actions.
The action must be performed before the start of the related action.
The action must be performed before the related action.
The action must be performed before the end of the related action.
The action must be performed concurrent with the start of the related action.
The action must be performed concurrent with the related action.
The action must be performed concurrent with the end of the related action.
The action must be performed after the start of the related action.
The action must be performed after the related action.
The action must be performed after the end of the related action.

Defines the kinds of conditions that can appear on actions.
The condition describes whether or not a given action is applicable.
The condition is a starting condition for the action.
The condition is a stop, or exit condition for the action.

Outstanding questions

Which descriptions will the free set include - None, FSN, PT (in what languages?)

What if SNOMED Concepts split into more expressive versions ie HL7 code would then map to multiple SNOMED CT codes.


Sequence type

2019-04-30 Agreement that SCT should have procedures like 'DNA Sequencing', but where component being measured would be the substances but the Property would be their sequence.

But in that model, would not need the standalone notion of a 'DNA sequence'. You would have a procedure:property=sequence (property), component=nucleotide.

And we'd never issue individual SNOMED codes for each and every possible DNA sequence variant. So don't need the grouper.

Conclusion: RED - no semantic advantage in adding to SNOMED

aaAA SequenceAmino acid sequence.
dnaDNA SequenceDNA Sequence.
rnaRNA SequenceRNA Sequence.

Sequence Orientation

2019-04-30 Would not be happy to have an observable of 'Sense of sequence' which would inhereIn a 'sequence sense (property)', because don't have use case, and it violates the LOINC agreement.

No point having the sense|antisense values as Qualifiers on their own unless can also have the 'sense of sequence' observable, which the LOINC agreement precludes.

Also, if we did put in a sibling pair sense|nonsense, there is nothing that prevents the use of those adjectives in contexts entirely outside the context of genomics.

So to accurately replicate the more specfically limited semantics of sense|antisense in the specific context of use of FHIR, we would have to name them something like Molecular Sequence references sequence orientation sense|Molecular Sequence references sequence orientation antisense. Which would mean mirroring the entirety of the FHIR model into SNOMED, and so adding nothing.

Conclusion: RED - no semantic advantage in adding to SNOMED

senseSense orientation of referenceSeqSense orientation of reference sequence.
antisenseAntisense orientation of referenceSeqAntisense orientation of reference sequence.

Strand Type

2019-04-30 Same argument as above applies, for sense/antisense

Conclusion: RED - no semantic advantage in adding to SNOMED

watsonWatson strand of referenceSeqWatson strand of reference sequence.
crickCrick strand of referenceSeqCrick strand of reference sequence.


indelINDEL ComparisonINDEL Comparison.
snpSNP ComparisonSNP Comparison.
unknownUNKNOWN ComparisonUNKNOWN Comparison.

Repository type

directlinkClick and seeWhen URL is clicked, the resource can be seen directly (by webpage or by download link format).
openapiThe URL is the RESTful or other kind of API that can access to the result.When the API method (e.g. [base_url]/[parameter]) related with the URL of the website is executed, the resource can be seen directly (usually in JSON or XML format).
loginResult cannot be access unless an account is logged inWhen logged into the website, the resource can be seen.
oauthResult need to be fetched with API and need LOGIN( or cookies are required when visiting the link of resource)When logged in and  follow the API in the website related with URL, the resource can be seen.
otherSome other complicated or particular way to get resource from URL.Some other complicated or particular way to get resource from URL.

Discussed Potential Additional ValueSets  (39 Values)  Possible home to be found in << 260245000 |Findings values (qualifier value)|

RH Suggested that this value set has already been harmonised between existing standards and that SNOMED CT was not used in general.

HL7 ValueSuggested SNOMED TermDiscussion

  • No labels


  1. Has the interpretation value set been discussed for inclusion in this list?


  2. AllergyIntolerance.Type 

    HL7 Value

    Suggested SNOMED Term


    Allergy609328004 |Allergic disposition (finding)|

    Shouldn't the SNOMED term be609433001 |Hypersensitivity disposition (finding)| as this subsumes both allergy and non-allergic hypersensitivity (pseudoallergy)? Most clinicians can't differentiate between allergy and non-allergic hypersensitivity thus just using allergy disposition would miss some concepts that clinicians often (incorrectly) refer to allergy.

  3. Would it be easier to keep the comments with the resource if each resource had a separate page to allow comment to be related to the individual requirements?