Page tree

Date 20:00 UTC on Tuesday 19 April 2022 - 90 minutes.   


  • FHIR Terminology Services and Resources

Discussion items



OwnerNotes & Actions
1Welcome and introductions2

Recording, notes & attendance.

2Previous Meetings

3Other Meetings

Recent events:

April 2 -7 SNOMED International Business Meeting (London / Hybrid) 

Upcoming events:

HL7 Connectathon May 2 - 4 (running in Eastern Time) 2022 Dallas  Virtual .  9 - 13 Working Group Meetings

Dev Days US Edition in 6 - 9 June 2022 (Cleveland / Hybrid)

New HL7 Group TSMG (meeting Wed PM ET every other week) - Terminology Service Management Group (HTA Thursday AM is now a subgroup of the TSMG)

2022-02-22:  Registration for April Business meetings open, as is call for abstracts for the SNOMED Expo fall 2022.

HL7 17 - 23 September Baltimore

4Cardinality on Designation.use "Updated cardinality of designation.use"

Expected to be part of R5.

RH - can we look at combining this with the Designation Context of Use Extension?

2022-02-22  Add HL7 Jira ticket about designation use context and designation.additionalUse. For discussion on HL7 Vocab call March 3.

2022-03-08 See also "Add designation context to designation.additionalUse"

Feedback from this group:   relying on the order of elements in the additionalUse array could be tightened up.   If a new element is being proposed, perhaps we could add some structure/hierarchy so that the relationship between refset and acceptability could be more explicit.

From ticket "After discussion, it is concluded that the vast majority of use cases would be supported by use of BCP 47 extension mechanism and existing (R5) designation.use ValueSet, at the cost of some duplication of designations when they exist in multiple contexts." so Rob Hausamwe can close FHIR-36231

2022-04-19 DK See Use of BCP-47 + designation.use as a possible way forward.   New values of "consumer" and "preferred-for-language" in the process of being added to see  (may also be relevant: ) is marked as "waiting for input", but we may have moved passed it since Feb 2021. points to UP-107.   Muddying the water is

Note that NL is keen to make more use of Text Definitions which would be an obvious candidate to add to the designation use.   There is already a "definition" element for CodeSystem.concept but there's only 0..1 of those.

ML suggests use the definition code as the use type.  "Display and preferredForLanguage are synonymous"

DK A metadata item that a server could declare is what default language reference set it might be using.

5Post-coordination on FHIR

2022-02-22:  Presentation:

Proposal might include using side-effects which some might be sensitive to.

Runtime maintenance is required. Is it possible to reuse the existing API in order to standardize the approach?

A Code System Supplement may be used to hold a set of postcoordinated expressions as FHIR concepts

  • This approach used by Ontoserver so that they are "known" to the Terminology Server so that $expand can be used without considering all possible PCEs.  Not that some clients may not be able to process PCEs so the CS Supplement allows these to be kept separate.  Michael Lawley will raise ticket to "Add parameter to ValueSet $expand to specify Code System Supplements to be included" (would need to be compatible with code system that the ValueSet is being expanded against)
  • "No requirement for a designation"

CodeSystem/$validate-code operation could be used to validate the expression

  • Yes (doesn't need previous knowledge of the PCE, similarly for $lookup

Could calling CodeSystem/$lookup automatically create expression concepts in the supplement, to be returned in ECL queries for analytics? Or use PATCH?

  • Probably not, see use of Supplement above.   Yes use of PATCH seems reasonable (PUT a whole new version more common, but PATCH might allow for finer grained updates ie not having to re-submit the entire cohort of expressions).   ML: Custom operation might be useful here to add to the codeSystem and update the ConceptMap in one go.

ConceptMap/$translate could translate an expression to a single identifier to support more limited clinical record systems.  Could this work in real time, automatically creating entries as required?

  • ML: Use a local CodeSystem for the expression identifiers and a concept map to link them together.
6Upcoming R5 changes

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

8 Feb RH: Next ballot confirmed May (deadline March 6, since extended 2 - 3 months)

8 March RH Community being polled on preferred approach to next release from three options: 1. R5 Release with additional Normative content (ie in 2023) 2. Hold R5 3. New content, but not new normative content (looking most popular option).   See

22 March RH Expecting September Ballot


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

8New change proposals for $validate-code

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.

9AND / 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.

8 March - Additional comments added to ticket.

10Definition 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.

11Topics for Terminology Binding Stream

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?

Oct 5 2021 Request for input from nutrition CRG.

8 Feb 2022 MAL Patient Care group proposing the use of an extension (specified by Daniel) to represent Allergy Type to add non-allergic hypersensitivity.  MAL wondered about allowing a Codeable Concept there rather than a Code to allow for greater expressivity.   Resource not planning on being Norminative in R5.

12Publishing SNOMED codes in IGs and licencing conditions.

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. 

8 Feb 2022 This was discussed at a CSRM meeting - Peter G. Williamsfollow up with Suzy RoyDK Also do we specify boilerplate copyright statement?  This should also be specified in our IG (or referenced).

2022-04-19 Beta release of the IPS sub-ontology (which will include relationships but not axioms)  see due for Tues 3 May.    ML concerned that having the codes in a different CodeSystem breaks interoperability - further discussion required on this point internally Kai Kewley Alejandro Lopez Osornio Suzy Roy

13Language Reference Sets in FHIR

Mechanisms for working with Languages

Designation extension

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.

Next Steps:   How to promote - could we present at a Vocab call?   (1530 ET Thursdays - may clash with SI Languages call)

8 Feb 2022 DK  added Designation Extension into the SNOMED on FHIR IG see

14SNOMED FHIR Implementation Guide

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.

25 Jan 2022: Snowstorm will already look across all Editions loaded when a codesystem version is not specified, eg:$validate-code?coding=|443971000124108 only exists in the US Edition.

(See also the History proposals for ECL)

16Long 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 2021 - General agreement that that page can be removed.  Is out of date and not serving useful purpose.

Update 25 Jan 2022 - HL7 intend to make The THO a home for all terminologies and valuesets.

Next Time: Move to archived discussion, make note in IG

17Any Other Business

Quick Questions:  

Next time:  Need some way of identifying which language reference sets are "patient friendly" aka "consumer"  (eg make those specific reference sets have an additional parent that indicates their use CS "Explanatory Terms".   Alternative solutions: annotations/metadata )

Check in with IPS / GPS progress.

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 wo (ld 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
File jerry_ipu.tsv 2022-Apr-19 by Peter G. Williams
Microsoft Word Document Allergy Guide v20220111.docx 2022-Apr-19 by Peter G. Williams
Microsoft Word Document ClinicalStatusValuesDiscussion_v1.1.docx 2022-Apr-19 by Peter G. Williams
PNG File image2021-11-30_20-18-16.png 2022-Apr-19 by Peter G. Williams