Page tree

Date 20:00 UTC on Tuesday 30 November 2021 - 90 minutes.   


  • FHIR Terminology Services and Resources

Discussion items



OwnerNotes & Actions
1Welcome and introductions2

Recording, notes & attendance.

2Previous Meetings5

2021-11-16 - SNOMED on FHIR Meeting (TB)

3Other Meetings5

Recent events:

Upcoming events:

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

India Connectathon - Dec 10-12

HL7 Jan 2022 Virtual meeting: Aim for testing ConceptMap on the Connectathon (Jan 10-12). Set up an independent Connectathon after the Jan meeting?  HL7 May 2022 Dallas   

HL7 Australian/NZ FHIR Connectathon Nov 23-24 IPS, SMART Health Cards, Provider Service Directories, SMART on FHIR

New HL7 Group TSMG - Terminology Service Management Group (relationship with HTA still being defined)

4Asia timezone meeting5

10:00 UTC from Wednesday 19 January 2022 every 4 weeks (the "off" week from this call). TB & TS.

5Upcoming R5 changes10

Discussion about proposed federation.  ML Doesn't work so well with SNOMED CT because there's not a single authoritative source due to country extensions (and multiple versions being released).  Use case for this is mainly in creation of IGs.  Agreement that what a conformant server should be able to state in Capability Statement is helpful.   ML Touchstone test script artefacts need investment.  See

See also

16 Nov Update RH: Updates in for next ballot (not January now).

30 Nov RH: Next ballot confirmed May.


"url" field returned in implicit ValueSets

Field is not mandatory.


Ontoserver examples:


Gives url = ""

Snowstorm examples:

Implicit example:$expand?url=   here we just return the url parameter that was specified in the GET request.

SNOMED International follows published URI spec in this matter, see 2.7 URIs for SNOMED Resources  for pre-defined ValueSets. Hmm, we agreed that valueSet was a thing that existed independently of it's implementation (Kuala Lumpur discussion) but that hasn't made it to the spec.

Query is about what version gets used in the parameter field.   The spec says "The server decides which parameters to include here, but at a minimum, the list SHOULD include all of the parameters that affect the $expand operation. If the expansion will be persisted all of these parameters SHALL be included. If the codeSystem on the server has a specified version then this version SHALL be provided as a parameter in the expansion (note that not all code systems have a version)."

PJ suggests that we should populate the system-version here instead and that "version" would really be the version of the ValueSet itself which, given that it's being generated at runtime, could be the current timestamp.



(Terminology Binding Discussion)


Discussion on Clinical Status value sets and more generally on cross field validation potential pitfalls eg Appendectomy with body site specified as Liver.   Note that clinical status is specified as Mandatory. MAL: Looking at using business rules eg bodySite must be as specific or more specific than that specified in the code.  RH: Suggested sharing this document with the HL7 Patient Care group.

DK: We looked at using profiles to help avoid these potential conflicts ( see SNOMED IG here: )

We looked at this as part of the free set discussion, see  Free SNOMED CT set for FHIR  section on Condition.ClinicalStatus which we didn't get on well with and classified "Red".

AP: The UK attempted to restrict use of these values that clash with the SNOMED information model.

Additional Questions:   Clinicians sometimes specify a procedure as a problem.    UK tackled this by using a Procedure resource and linking this to the problem list.  Eg allergy to the strawberry syrup component of some medicine.  Note SNOMED CT does not model excipients in the International drug model. Discussed that a record might need to be updated once more specific information is obtained. PJ "Health data is event driven and should all be linked to a point in time.",   suggested "Patient Empowerment" stream  in

8 VCI Group questions:10

VCI (Vaccine Certificate Initiative) Group questions:

  • Can all the vaccine related codes (inc Extensions) be released via GPS-like licence?   SR Answer a lot of code were included in the GPS by virtue of being part of the IPS over and above COVID related to the original WHO Vaccine Certificate Initiative.   Discussed that product specific codes (eg with Brand names) would be country specific and the GPS works at the International Level
  • Can a list of all the codes in :one: be released in a single place (to avoid implementers having to check different national editions)?
  • What’s the process for getting new vaccine codes if needed in the int’l edition? What’s the timeline for release under a GPS-like license?

DK Discussion about different brand names in different countries (which have different codes) and whether they can be considered the same thing.  Becomes political issue.

16 Nov SR updated to meeting ongoing conversation re use cases and requirements eg Max Masnick.

30 Nov DK The WHO issuing "pre-release" ICD-11 codes to support this work.

9Support for Post Coordinated Expressions10

Heiko Waldmuller

Peter G. Williams

"Using postcoordinated codes over an information model that the syntax fits the MRCM."   Question on how to post-coordinate medication plan type concepts into PCE

PWI - Well FHIR is pretty clear on this question in that - as far as the specification is concerned:  a post coordinated SNOMED code IS a SNOMED code, so they can be used interchangeably.  The syntax is well documented - SNOMED Compositional Grammar   What the MRCM does is tell you what attribute types can be used in a given domain (ie subhierarchy) and what attribute values can be used with each attribute type.   The constraints of the MRCM are really outside of the concerns of FHIR, but we can certainly talk around that topic this evening.   We do not have a way to express the MRCM in FHIR....that's perhaps something we could look at.

ML - recommended using existing resources or extending

PJ - suggested looking at

DK - See also work done by this group of profiling allergy intolerance - AllergyIntolerance Binding

Please report back Heiko!

10IPS Terms10Peter Jordan

IPS Terms - cross border use case, matching terms to context of use.

RH - general discouragement of using FSN for display.  PJ - Gets better results with ValueSet $validate when using FSNs

PWI could validate-code check all translations on the server  ML - $validate-code should be language sensitive

PWI - We should look up the displayLanguage and see if we've an extension installed that uses that language.

16 Nov PJ - Will be discussed at next connectathon - look for update next time!

30 Nov NZ /  AU Connectathong

11New 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 (as optimisation where ValueSet may need to be uploaded for a series of calls)

Grahame Grieve: Clarify the use of fragment  (this is a discovered issue from the same session, relating to the first of the tasks above)

ML - general principle that services should echo back the details they've been sent to process.

PJ - CodeableConcept (with multiple codings) will require multiple responses.  ML - call multiple times with single codes as a workaround.

12AND / OR  in ValueSet Filter
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.

13PCE implications for FHIR Operations

$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.

14Definition of GPS
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.

16 Nov Update:   "Search After" functionality will be available in Prod 1 Dec.

15Topics 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.

16Publishing 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. 

17Description Ids10

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: 

16 Nov Update:  Still unresolved with UK.   Archive next time.   Possible extension solution.   Position from Vocab Group would be helpful.

18Language Reference Sets in FHIR2All

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.

19SNOMED FHIR Implementation Guide1

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.
  • TerminologyCapabilities caching is overly aggressive.

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.

21Long 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.

22ICD-11 Rule based mappings
Peter Jordan


COVID-19 map small but perfectly formed.

Other maps appear to be placeholders only?

16 Nov likely to be an expanding topic next year.  Archive next time.

23Belgium 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.

24Any 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

  File Modified
Microsoft Word Document ClinicalStatusValuesDiscussion_v1.1.docx 2021-Nov-30 by Peter G. Williams
PNG File image2021-11-30_20-18-16.png 2021-Nov-30 by Peter G. Williams