Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Date 20:00 UTC on Tuesday 5 October 2021 - 90 minutes.   


  • FHIR Terminology Services and Resources

Discussion items



OwnerNotes & Actions
1Welcome and introductions2

Recording, notes & attendance.

2Previous Meetings5

2021-09-21 - SNOMED on FHIR Meeting (TS)

3Other Meetings5

Recent events:

HL7 13 - 15 Connectathon (EST)  Update 21 Sept:  Validate code to have additional return values (proposed in R5 with pre-adoption).  Also option to use Bundle to return a set of values eg when multiple codes input (or Codeable Concept)

Upcoming events:

HL7 Meetings 20 - 24 September.  Update 21 Sept: New Terminology Services Management Group meeting today (relationship with HTA TBC)  More of a Project management, implementation and operational issues approach:   

Update Oct 5: Implementation Division in development, formal approval TBA.

SI October Expo  (Fully Virtual) 25 - 27 Meetings, 28 + 29 Expo. Registration open.

SR FHIR North Conf ( ). October 13th & 14th. IHTSDO have been asked for speakers. Registration for SI Expo is open.

PJ 24 Aug  No Nov Dev Days 2021.   Next will be US Edition in June 2022 (Cleveland)

Oct 5: HL7 Jan 2022 Virtual meeting: Aim for testing ConceptMap on the Connectathon (Jan 10-12).    Next will be US Edition in June 2022 (Cleveland)

HL7 May 2022 Dallas

Set up an independent Connectathon after the Jan meeting? 

HL7 May 2022 Dallas

4New change proposals for $validate-code10

G Grieve have created new HL7 Jira tickets:

Grahame Grieve: $validate-code should return system | version | code when display is returned

Grahame Grieve: $validate-code should return an operation outcome with the full details of issues found, including paths

Grahame Grieve: $validate-code and $expand should have a parameter for related value sets and code systems

Grahame Grieve: $validate-code and $expand need a session parameter

Grahame Grieve: Clarify the use of fragment

(this is a discovered issue from the same session, relating to the first of the tasks above)

54Review proposed changes to URI Specification to support unpublished content15


Sorry link not visible externally until published. we'll have to screen share to view it.

7 Sept Group reviewed, no concerns expressed.

56Inactive concepts in the FHIR Spec10

Laterality Reference Set documentation contains inactive conceptsFHIR-32889    ValueSet is status Draft.  Sits with the Order and Observation Workgroup.

Notes:  ML Suggested giving the historical associations for these concepts.

PWI Noted:   Could you check 162023004 |No problem swallowing (situation)| ?   It looks active here:   Update - sheet needed filtered on "true" to indicate inactive.

RH Appreciated you doing this work Sander Mertens and AP appreciated having a python example to play with!

Next Steps:   Once we've confidence in the results, RH to advise on the different HL7 Groups to contact with the various sections with a view to targeting R5 ie by September (in time for January ballot)

27/07/2021:- RH not had a chance yet. Vocabulary HL7 workgroup may be interested. Rob will also bring to Orders & Observation workgroup.

We can try our best to update what is in the specification, or propose a more useful definition that HL7 can adopt.

ML There is a flag on ValueSets showing whether inactive codes are allowed in an expansion, i.e. perfectly fine depending on use case of ValueSet. 

RH keeping terminology in specification can be painful. There's a tracker for moving forward with this. Potentially moving to terminology repository rather than a specification.

7 Sept RH to bring up at Vocab working group week of 24th.

5 Oct Which FHIR build? Ask Sander Mertens to either post a ticket on HL7 Jira or send results of scraper to Rob Hausam

76AND / OR  in ValueSet Filter10
Peter G. Williams

Normally when a filter is applied eg "Size 12" + "green" we expect both qualities to be true at the same time and this is held true by the FHIR Spec that says "If multiple filters are specified, they SHALL all be true."  (see  However  has two filters that pick up substances PLUS products   and obviously they can't both be true at the same time.    So it seems like sometimes we use conjunction and sometimes disjunction?  

Snowstorm GitHub issue #285 changes behaviour from AND to OR when multiple filters are applied.

Answer is: the separate includes are disjunctive and objects within the same filter array are conjunctive.

Text here is clearer:

SideNote:   Wildcard for versions in $expand, see   Note that "version" here would mean multiple editions.

78Update on Frequent Releases10
Peter G. WilliamsDone.
89PCE implications for FHIR Operations10

$validate-code, obviously.   ML  Transformations of Close to User Form happen under the hood of the TS.   You might want to see normalized form, although it will be dependent on the particular edition in use.    Current Snowstorm development is WIP / experimental rather than a ratified spec.   Order of transformation is important + existing issues with negation in hierarchy subsuming in unwanted ways.   PJ Essential to have first pass attempt to bottom out issues, highly beneficial. 


What about ValueSet $expand - return Normalized form or original input?   Classification will be needed before membership of ValueSets can be determined.

$find-matches could be used to find / check PCEs / Normalized equivalencies.   Alternatively, deprecate this operation altogether!

$translate could return normalized forms of CTUF.  ML Syntactic differentiator needed?

Update 13 JulySander Mertenshas completed a multilingual tool for creating concepts based on template:     (source:

TODO Peter G. WilliamsCopy text out and archive.

910Definition of GPS10
Rob Hausam

Request that SI make the GPS ValueSet available as an extensional definition.

SI are (I think - PWI) in agreement to do this.

  •  Peter G. Williamsticket and progress.   MAINT-1740 Target October 15 into production (need SearchAfter functionality for Refset Members).   Also check date for next GPS publication.
1011Refset / IN documentation clarification30
Philip Chuang

Note conflict with the filter "Reference Set" causes confusion with the "In" operator being a list of codes in other CodeSystems but when used with SNOMED we expect a single Refset concepts which is then evaluated for the active members of that refset.

15 June 2021 ML With other concepts, "IN" means a comma separated list of which the concept we want is one of those.   ValueSet is Normative and this has been the state of play since way back.   DK Would be impossible to change without breaking backwards compatibility.   PJ Could we suggest using ECL instead (as advice) to avoid ambiguity?  ML is a bit redundant since a VS could be defined with a set of codes in compose.   PW Can we highlight that SNOMED is different in this area?   See (actually in the CodeSystem that defines the filter operators) also There are servers that implement "IN" but not ECL eg GG's (RH thinks HAPI does the same).    The current situation of two different behaviours is problematic.

Suggest that SNOMED servers specifically reject the use of  IN when presented with comma separated list of concepts which is disallowed in AND that it has to be a refset id.   Note that the definition for "=" is also different for SNOMED when we use ECL rather than some property of the Concept ("The specified property of the code equals the provided value.")

TODO Write up options in the IG and see if further/wider conversation develops.   Is there a tracker for this Philip Chuang?  

Update 13 July - See discussion in comments below.

1112Topics for Terminology Binding Stream5

Collecting topics for TB stream here, with a view to having a call when there's sufficient material

FamilyMemberHistory - how is "no family history of X" best represented?

FreshDesk ticket question on Allergy substance cross field validation.  DK: Mappings to other information models, is that helpful?

15 Dec 2020 DK Asking if the member forum are still keen to see engagement in this area - offer to help country implementations.   Difficult to make decisions on binding without a concrete use case.  ML We could look at / review IGs (DK As we did for COVID).

  •  Suzy Royplease work with Daniel and Nick E. to take forward something appropriate for next MF (will be in the New Year).

12 Jan 2021 Update: Contact planned with the MF - next call (Jan 22) is topic based, so after that one - 2 Feb (with Daniel)

9 Feb 2021 Update: Briefing note (DK) ready to be presented to MF.   Now (23 Feb) submitted for discussion, waiting for date in March or April.

9 March 2021 Update: Daniel to present to MF on 11 March (Thursday!)

23 March Update:  Presentation given, awaiting feedback.   Reminder Suzy Roy?

06 April Update: SR There's a follow up in April business meeting (member forum meeting) for feedback. DK reading through/presenting resources may not have been the best approach; maybe presenting use cases would be better. PJ agrees as its more relatable. 

20 April:   Topic for discussion - new Resources introduced in R4B.    Also (Linn Brandt) Use case: Registries need nullFlavor-concepts in their value sets. Which code system to use?  Consider "Long COVID no longer present" as a topical example.  4 May DK: This is more of a negation issue than null flavour, also probability.   JL Distinction between unknown and uncertain.

4 May Jay Lyle - FHIR Binding, proposal review in Observations and presence of findings eg for more of an examination based context. 

1 June Peter G. Williams to check in with JL.  Done, said nothing further for this group at this time.

Oct 5 Request for input from nutrition CRG.

1213R5 Position25

ML ConceptMap moving from R4 to R5.

9 March 2021: Last updates coming in, delayed due to tooling issues.   Balloting open in next few days.

06 April 2021: RH R4B went to ballot couple weeks ago.   "R4B planned for late Q2 or sometime in Q3, 2021"

20 April 2021 : R5 Balloting has commenced (using Jira for the first time) until May 17. 

1 June Next Ballot Jan 2022

Update 13 July ML queried missing changes from ConceptMap.  RH says still progressing.

Update 27 July Next biggest batch to complete is ConceptMap for R5. Dependant on a terminology server supporting the changes on R5. May not be testable in September. 

1314Publishing SNOMED codes in IGs and licencing conditions.1

Licensing issues for IGs referring to SNOMED codes. Is this written down anywhere with some sort of rigour?

Consider the licence statement that is presented when accessing the browser. Should something similar be mandated for inclusion in any document published? What if a patient's medical record were to be published?

Update 12 Jan - "One Page Policy" to be discussed internally.   HL7 agreement indicates other parties would require affiliate licence unless they restricted their usage to the Global Patient Set.

26 Jan Question from PJ about inclusion of COVID Vaccine concepts in the GPS (advised that it is only released yearly)  FYI Rory Davidson See also MF discussion here.  SuzyR will follow up.  See also early preview page.

06 April: SR covid vaccines have been/will be incorporated into July release. They will be in GPS when ready. 

1415Description Ids101

UK store description ids for historical reasons (eg Read codes using non-synonymous descriptions so must be captured and retained.  Maps are description to description) and have 3 use cases to support.    

  1. Find concept id from description id (could pass description id as filter but issue of prefix matching eg 12345010 vs 123450102010)  Best Idea:  Pass a coding with the description extension element populated but NOT the code itself.  Note will require an HTTP POST call.
  2. From concept get description ids of designations
  3. Maps using description ids (again pass in coding with extension but not code).

The main point here is that description ids are not codes and should never appear in a code type field.   Tracker raised to allow IDs to be included in maps as "product / depends on"

UK have an extension for description Ids (and FHIR have a standard extension for same): 

The FHIR extension allows the addition of an description id to a Coding:  ML would prefer being able to add the id to a designation (which would meet use case 2)

27/07/2021:- ML has logged ticket for broadening scope of extension. Ticket: 

1516Language Reference Sets in FHIR452All

Mechanisms for working with Languages

Designation extension

Update 19 May: Suggestion that we work an example for SNOMED to discuss with Regenstrief (LOINC)

Update 2 June: Started worked example Designation Extension Example

Update 17 Nov:  Proposal to add more values into designation use

Update 1 Dec: Latest build:   Ticket: being replaced by   ML suggested we need an additional value for 'Not Acceptable' that would need an additional value to be explicit, rather than relying on the absence of a 'row'.   Designation Use codeset, or the infrastructure codesystem?  See also

Update 15 Dec:  Discussing cardinality - when a designation can be applied to multiple roles, do we have repeated elements in a single extension block, or multiple extension blocks?  PJ Checking use case.    Use Case:  To allow tell the client what all use contexts (roles) are available so that it can a) select one making an informed choice and b) gradual degradation where the best available terms are used where they exist, falling back to a less preferable term where they do not.  Worked example from ML    also 
On question if this should be part of core spec or remain in SNOMED IG we can consider if this is of use to any other Terminology eg LOINC or RxNorm.

12 Jan Update: Rob Hausam looking for clarity to take forward with Vocab group.   How to align this with other in-flight trackers (eg that propose expanding designation use which - we think - seeks to overload designation use in a way that wouldn't ( ?) allow more than one value at the same time and these features of designations can vary independently.

12 Jan Proposal:   All 3 elements (including designation type) should be included in our proposed extension.   SNOMED implementations would then pick the most appropriate designation.use value from whatever set is offered in the spec   eg FSN where it is an FSN (because - although also considered 'preferred' - these are seldom used for user interfaces), PreferredForLanguage where we have the preferred term for a given language/dialect and Synonym for anything else.

26 Jan: RH update - is ongoing discussion.  Attempting "best of both worlds" approach.  Not on the Vocab group's agenda, won't be in R4B.    Question from ML about display vs preferredForLanguage here.  Proposed extension to list of designation use will necessitate repetition of designations where they have multiple uses.   See DK example here:

RH: Suggestion that Ontoserver and/or Snowstorm could try an implementation of our extension.   Clients are expected to ignore extensions that they don't understand.

9 Feb 2021 ML Experience with NL and LOINC.  Could we explore using Language tag with a private X language (eg nl-x-sctlang-87587989-78574801 BCP 47: privateuse = "x" 1*("-" (1*8alphanum)) ) and the language reference set id - ie allows for things like Patient Friendly Terms.   The preferred term would be mapped to the display element.   Language tags allows for weighted preferences (ie fall back options).  Pros:  avoids an extension and re-uses an existing part of the specification.  DK "No reason not to implement this, the two approaches are not in conflict".   Question: is "Preferred for Language" definitely happening?   RH: Yes

23 Feb 2021 RH brought up discussion with Vocab group.  Check in on tracker UP-107. DK Still a requirement to present results (eg expansion) with the language refsets visible (to know which designation was in which langrefset) - better to use extension or overload core spec?   Querying is fine, issue is making clear what is being returned. Suggested possible to use the BCP47 refset form in the language element.   Difficulty when returning fall back options as display term is that we can't say what we fell back to.

9 March 2021 DK An implementation is now needed.   DK tried out with Snowstorm:  BCP-47 works but not for extension language referencesets (also for designation)  ( note dialect alias configured in is a separate solution which could also be improved: ).  SM NL BCP-47solution getting great feedback.

23 March 2021 DK Testing Snowstorm which looks at designation and language headers.   Just needs attention especially for extension content.  

20 April 2021 RH Looking to target next ballot round.   Could we host this extension ourselves in the meantime and target May connectathon? Peter G. Williams

27 July RH & ML:- Still a work in progress. DK will return Aug 1; we should follow up with him next time.

ML:- Potentially fall into R5 on Ontoserver.

24 August DK Added pull request to Snowstorm  here

Implementation by ML using existing fields and specifying LangRefset in displayLanguage parameter with "preferredForLanguage" code and wildcard  Eg$expand?displayLanguage=*-x-sctlang-20581000-087109&_format=json&url=

Oct 5 Release of Ontoserver 6.5.0 which includes support for language reference sets as above.

1716SNOMED FHIR Implementation Guide601

Implementation Guide for using SNOMED CT with FHIR.

IG Documentation:

Also look at the sample IG see build


  • Check build issues
  • Rerun with latest tooling (also sushi)
  • Run with local snowstorm provided as Tx
  • See Mark Kramer presentation 
  • CONTENT!  (PWI speak to PTB)
  • Merge in DUC branch (Designation Use Context) with a view to implementing in a branch of Snowstorm and making available via
  • Clean up other branches
  • Check templates are up to date - should now be self updating, see (fsh may ask to update this structure).   Sushi sending out information about new format (PJ says leading whitespace is now significant).
  • ReadMe should provide links for Publisher tooling
  • Add discussion on Refset / IN (see above)
  • Provide link to it in and discuss further socializing.

Expanding ValueSets across multiple Editions.


Discussion on * version wildcard. (relates to a Zulip discussion on expanding a ValueSet against multiple editions to give a superset?)  DK How could we specify the latest version of multiple modules.   Answer*   (ie not specifying the version) or*/version/*  to include concepts from previous versions.

For use in the module / version URI.   Existing workaround is to use multiple include elements for each version.

7 Sept ML Sticking point - what do we do with incompatible properties eg active/inactive between two different versions - the most recent?

Use case - primarily being able to validate codes that might exist in different editions.   Secondarily, being able to validate code received in a historical record ie where codes were valid at time of data entry.

1819Long Term Home for Terminology Information

Rob Hausam (primarily Vocab WG)

Long Term Home for Terminology Information that can be maintained independently of FHIR versions.


7 Sept Relates to problematic page   PWI discuss internally - done.

Update 21 September - General agreement that that page can be removed.  Is out of date and not serving useful purpose.

1920ICD-11 Rule based mappings
Peter Jordan


COVID-19 map small but perfectly formed.

Other maps appear to be placeholders only?

2021Belgium Project Work
Marie-Alexandra Lambot

Transforming FHIR ValueSet in SNOMED CT

Questions welcome and could be used to form the basis of a one-off Terminology Binding call.

2122Any Other Business

Next time:     

Potential Items for Discussion

OwnerNotes & Actions
SNOMED Family of Languages

Impact of proposed changes (eg text searching in ECL) on FHIR. Questions around which language reference sets to use when there are multiple, especially partial/overriding context (referred to MAG for discussion)

8 Sept The FHIR specification does not specify a particular version of ECL, so we assume the latest.  Any enhancements added to ECL will be immediately relevant and available in FHIR.   Note that these latest additions while targeting descriptions are a concept filter, so display options (language etc) will affect the output of those concepts.   How about the filter parameter though, especially since ECL would allow multiple filters in multiple/different languages.

  •  Michael Lawley Suggested ticket: Parent and Child properties to (optionally?) support the Coding type.
Specify CodeSystem in FSH
FSH apparently has no way of specifying the version of a CodeSystem. Daniel checking the ANTLR spec.
API for FHIR Resource ↔ Post coordinated expression mapping

API for FHIR Resource to SNOMED Expression

  •  Daniel Karlsson Thought there might be some documentation from CIMI on this. Also notes from DMarkwell about constructor bindings.
  •  Peter G. Williams Pull these notes into confluence - can we mention it in the IG?
Looking up an SCTID in an unknown module

Problems when dependencies do not align. Multiple code system resources represent multiple editions / versions.

ML: See code parameter to code system search. Should return code systems (ie versions) where that code is defined. International concepts would appear in every edition known to the server.

eg /CodeSystem?system=htp://


See Discussion on Global Patient Set (GPS)
FHIR Shorthand


$lookup operation - properties returned

Using  I noticed that both Ontoserver and SnowStorm return a SNOMED CT $lookup property for effectiveTime, which I don't see listed, as one of the SNOMED CT properties in the FHIR R4 specification at Should we create a Jira TIcket to add this?

Completed -

Use of url parameter15

CodeSystem "class vs instance" in url parameter between CodeSystem and ValueSet operations.

CodeSystem is understood.

In Valueset, url is the ValueSet url for example url = allows for the version URI to be used as stated in The base URL is either , or the URI for the edition version, in the format specified by SNOMED International in the SNOMED CT URI Specification.

The ValueSet version valueSetVersion is just some string identifier eg a timestamp or 0.1.0

ECL in the Valueset Expression Extension10

Check whether SNOMED ECL is (or should be) registered as a MIME type (as per RFC 4289/BCP 13), or alternatively added to the expression-language code system and value set, for use in the valueset-expression extension used with the ValueSet resource.

For example, HL7 have registered application/json+fhir

This is useful for a ValueSet extension which allows any language to be used to define the selection criteria for an intensional definition using a MIME type. This group has no current reason to use that extension given the existing core specification support for implicit ValueSet definition and the support within the compose element.

RDF community may have an interest.

Update 2 June RH: Existing small valueset extended in BCP13 (existing known codes could be published as a CodeFragment). Vocab Working Group discussion ongoing.

Behaviour on Lookup10

What properties are returned?

Discussion: Both Ontoserver and Snowstorm are returning EffectiveTime which is not listed here (unlike other SNOMED specifics):

Point of interest: Grahame's server returns a copyright property.

Update 7 April - Question about whether this is required / desirable?

Concluded Discussion

See also FHIR Terminology Services Discussions

OwnerNotes & Actions
Terminology Capabilities

Terminology Capabilities: Default SNOMED Edition for a Server. Suggestion to invite Graham for a wider discussion. Resource is still at maturity 0.

11 August The resource is based on instances of code systems. Difficult to make statements about code systems generally, or specific SNOMED editions, etc. Will start a Zulip discussion on this. Michael Lawley Then potentially invite Grahame for a future discussion?

25 August It has been agreed that this resource will now have maturity level 1

New parameters proposed for streamlining operation of expand and validate code
Grahame Grieve


8 Sept 20 Is there a Jira ticket ?   Rob says Grahame implemented this.

12 Jan:  RH update made to GG Server.   Documentation (assuming required) still outstanding.

FHIR Server Federation10

Use case for fall back lookup when server does not know the answer to any particular question eg a façade server which has knowledge of all services it could potentially delegate to.

Aug 25: New capabilities in HAPI to allow delegation to an external terminology server.

Meeting Files