Page tree

Date 20:00 UTC on Tuesday 19 March 2024 - 60 minutes.   


  • FHIR Terminology Services and Resources
  • FHIR Profiles & Terminology Binding

Discussion items



OwnerNotes & Actions
1Welcome and introductions2

Recording, notes & attendance.

Check questions in Zulip and SNOMED International #snomed-hl7-fhir

2Previous Meetings2
3Other Meetings10

Recent Events:

Future Events:

HL7 NZ 20-22 March 2024 Auckland HL7 NZ FHIR WG and Connectathon (focus on NZ Patient Summary, slow transition from Read codes to SNOMED)

HL7 AU 20-22 March 2024 Sydney HL7 AU FHIR Work Group and Connectathon (focus on AU Core + e-Requesting)

SNOMED International April Business Meetings 14 - 17 April See April 2024 - SNOMED International Business Meetings (DK, ML, probably RH, Samuel, maybe MAL)

HL7 May 18 - 24 2024 Dallas Working Group Meeting and HL7 FHIR Connectathon

FHIR Dev Days :  June 10-13, 2024 Minneapolis -

CDA & FHIR Translation Meetings: Jay Lyle Going well, there is an implementation guide and the group is doin connecthatons. May in Dallas and Minneapolis.

Other Regular Meetings:

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-05-17 RH Joint session with Vocab at last business meeting.  2022-06-14 Group has approved minimum capabilities for terminology servers.  Now looking at bigger/better HL7 Terminology Server 


New Slimline Agenda 


See discussion pages for links to archived discussion:  Discussions



SNOMED Concept Model & Resources elements mapping

Information on Mapping SNOMED Concept Model to FHIR Resource properties

Andrew Perry There is info in the FHIR home page: Bindings to FHIR Clinical Resources There discussions in termInfo about semantic overlaps but they were not exhaustive. UK has specific advice about what attributes to avoid.


Round table updates


Belgium Update + TX IG Support Update - authorities looking for independence from HL7 servers, partially due to performance considerations.   RH Suggested self hosted server code (needs built locally unless Windows install, see ) available (or Ontoserver of course - as of v6.15).

ML suggested:  See and for alternative terminology server support

MAL: Is every FHIR message validated, and if so, against a separate server?  RH Having the same discussion with US implementation - unsure of consensus.   Group discussion on: if a message fails validation, what are you going to do with it?  Quarantine (can then get stuck)?    Bounce back (not implemented?).   ML Usually systems are not synchronously coupled, so a message rejection is not possible. Watch out for CodeSystem updates eg change to display text for a code suddenly causing large volumes of rejections.  Also watch out for text in ValueSet definitions as it can also go out of date. PWI SNOMED-CT has the option to be more forgiving for inactive descriptions.   

Belgium (via Translation User Group) would like to inactivate descriptions of inactive concepts to help avoid apparent duplications.  ML Ontoserver will detect this and use "best case" instead eg most recently inactivated descriptions.

See also (unchanged since R4) collects together a set of temporally linked encounters.


Valueset Version Validation issue in IPS

RH: IPS Guide has bindings to value sets expressed with the International Edition version. Validation of content with the Canadian edition fails, even if it refers to concepts in the international edition.

PJ: sharing version in the codeable concept is complex for validation

ML: using the international edition in the valueset definition is limiting in this setting

RH: Version is overloaded to represent edition + release 

Plan: Not using the version in the value set definition. Verify if the validator is firing appropriately. it should be a warning in some cases. What would be the guideline on wether to include version or not when sharing a codeable concept? Share both your national concept + the closest concept in the international edition?


How to package content IGs with Terminology IGs

ML: The challenge of keeping them aligned

DK: we include valuesets but not coded systems in our IGs


FHIR Questionnaires and SNOMED Demo


URI Resolution Update


Requirement to resolve URIs representing post-coordinated expressions.


ML Suggests resolving to a page that displayed information about that expression - formatted nicely, diagram? - and perhaps further capabilities, but not go as far as attempting to classify in the first instance.

ECL would return implicit valuesets

"Post Coordination is modeling and shouldn't be taken lightly" - DK


Incomplete Expansions


Potential for marking the expansion of certain  valuesets as incomplete because theoretically, all possible Post Coordinated Expressions exist but are not included in the expansion.  See

DK - flag excludePostCoordinated to include or not include post coordinated values would affect this.


Snowstorm Development Question

Question on the future direction for Snowstorm

PWI : Potentially looking at horizontal scaling by separating out country instances on number of services.   Considering test suites eg Touchstone.   Also support for use with IG Tooling.  PJ suggests could look at Inferno (wrapper for FHIR Validator).

ALO : Snowstorm-lite would allow for quicker scaling with much reduced memory footprint, with a small number of limitations such as reduced ECL capability and restriction to single Snapshots.  See


Update of the Implementation Course - Terminology Services Module

30Jon Zammit 

Regarding Using SNOMED CT with HL7 Standards

  • "Simple Map Reference Sets" link is now dead - replace with one of the directional maps?
  • Since we can do this with any maps (eg Complex/Extended), could the language in this section be made more general. 
  • "Where [sctid] is a value from the table above" need not be limited to the table above, could be any map reference set SCTID.
  • In Snowstorm, check how the correlation id is being translated into the 'equivalence' ICD-10 coming back as 'unmatched' due to the values in the ICD-10 map.   In the case of the historical associations, we could populate the equivalence based on the association type
  • How is the CTV3 map working?  In that map the target is a SNOMED CT code.  However, might be better use of our time to remove the CTV3 map rather than get it working.  Note that NHS UK were generating CTV3 codes until 2016 (mapping until 2020) so if SI codes are out of step with UK codes, then that's dangerously misaligned.
  • Do we want to include the attribute value reference sets here, as the reason  for inactivation gives an indication of which historical association is going to be used.
  • Check the implicit maps returned eg

DK: How do we express equivalence now?  Should that be done with two complementing simple directional maps, or would we use a complex map with a correlation type of equivalence?

  • Peter G. Williams Create HL7 Style tickets / SI Internal tickets for the required changes.

Alt Identifier File

15Peter G. Williams 

Using the Alternate Identifier File in implicit maps.

No refset is available.  Can we use the scheme id?

On non receipt of a scheme id, we discussed that all 'mapped' values could be returned?


So here for example, is the scheme &url=<scheme sctid> needed? It would cause issues by being looked up as a refset first, and code would have to be ready to fall back to also check scheme ids.

ML suggest we need the URL parameter to indicate that the alternate identifier file should be used.  Is there a URI for the Alternate Identifier File itself?  No.

The scheme id is more specific.  It is redundant because we already have the targetSystem URI.   Could it be used for anything else or confused with anything else if we tried to use it?  

URI suggestion:


This will return all scheme known in the alternate identifier map.   ^ requires that we have the target system URI as an annotation (or additional relationship) on the SNOMED schema concept.

So here fhir_alt follows the HL7 defined pattern as per fhir_cm

The targetSystem would need to mapped to the URI (annotation/additional relationship) which gives the URI for that scheme.  705114005 |LOINC Code System|.   The additional relationship file will need to be parsed for this metadata which is needed for the FHIR server to perform these mappings between URIs and Scheme SCTIDs.

Another Question:  the source and target imply a direction and the alt identifier file can be considered to be an equivalence (Equal in R4)

R4 (also  has Product that could be used to specify the Scheme as a return value, see

2024-02-20 ML Is FHIR clear itself on how alternate codes should work?  Not a problem at the CodeableConcept level (where multiple codes are expressed), but at the CodeSystem level so how would we see it in a $lookup (presumably as a property).  PJ Subsumption would need to work in the orginal codesystem.   PWI doesn't want to reference things like LOINC codes (NNNNN-N) in the SNOMED CodeSystem because at that point (if we were to add multiple external codeSystems) then we can't tell which alternate CodeSystem it originated in.  DK Languages Group defined ECL solution  for alternate identifiers including the schema eg LOINC#12345-6, see 6.1 Simple Expression Constraints PWI so that does seem like it could exist in the SNOMED CT namespace.  ML So if we looked up that code in SNOMED CodeSystem we'd get back the relevant SNOMED code (with a property of "AlternateIdentifier" as a Coding where the system would be "", and the code 12345-6).   DK At this point we've removed the need to do a $translate operation at all (or do we support both?)

16General discussion on work being done in EU


2023-09-19 ML CSCT now has official "Not for Profit" status as an entity.

17IG Tooling Compatibility20

Requirements for making a Terminology Server compatible with IG Tooling

See Zulip discussion here:


  • Michael Lawley is implementing the requirements in Ontoserver
  • Graeme is preparing the Terminology Server registry, probably a JSON document, that would make available different terminology servers, listing the capabilities, including which code systems on each server


  • Michael Lawley the scope has expanded, advancing on the implementation. The registry will document which terminology server meet requirements, it is a centralized resource, maintained by HL7. There is document that describes this. An implementation guide developer would use this information to choose a compatible terminology server as the backend of the IG valuesets. There is a test suite that servers can apply to demonstrate compatibility, Graeme will be the curator of the list, the submission process for a new server is under development.

2023-10-03 ML Ontoserver still a work in progress in this area.

18Observables model
Michael Lawley 

Question on the Observables Model - was discussed in both the MAG and the EAG.   Yongsheng Gao currently looking at proposals and next discussion will be at all staff meeting in June.

There was an inconsistent role grouping pattern in the observables, and the question was trying to find the reason for this. This is being evaluated.

Peter G. Williams There is a decision to move to the grouped pattern

Andrew Perry looking for opportunities to contribute to the observables and LOINC modeling decisions

2023-09-19 Update:  Direction of travel here suggests moving to have all attributes in a single role group, but preparatory hierarchy movements will be required first - Evaluation Procedures moving to Observables.  Discussion expected at October MAG meeting, followed by a briefing note if no major objections raised.   AP UK have concerns about problems caused with existing counterparts between the two subhierarchies.  UK did respond to RFC last week.

2023-10-03 SI responding to briefing note feedback (including encouragement from UK to engage as a matter of priority).  Discussion expected in both MAG and EAG at October Business Meetings. Two Schools of Thought:  LOINC style single observable hierarchy (order / result) vs. procedure + observable pairs for expressing ordering and results.

19Post R5 Concept Map - support for SNOMED Map features.

Concept maps and SNOMED Maps  - how to materialize as both R4 and R5.

Metadata needed:  target CodeSystem URI,  source and target ValueSets.

Do we assume that a simple map is an equivalence.

For complex maps, how are the additional fields represented?   Eg in property, dependsOn and product (these are typed).   See Complex and Extended Map from SNOMED CT Reference Sets  

CC Kai Kewley 

Update 2023-06-13 Now working in confluence Concept Map in R5

2023-07-11 Work being done (ML) around clarity and specification for the parameters used in implicit Concept Maps.

2023-07-25 Michael Lawley and Dion had a discussion on metadata and put together a proposal of a JSON based metadata, presumably to be presented to the MAG (clarified 2023-10-03)

  • Peter G. Williams Add to FHIR Agenda for October meeting and floating topic for MAG also.

2024-02-14 DK Enquired on status here.  KK has coded some support in R4 but uses comma delimited messaging.   ML Using extension to allow properties in R4 (fully available in R5).  See extension:

See example 1 and example 2 shows multiple groups matching.

Demos showing machine processing of ICD-10 rules:

Discussion on whether or not the Terminology Server should have responsibility for applying the values to the rules to fully identify the correct target of the $translate operation. DK would like to see choice for client to calculate the rules.

2024-02-20 DK Sweden looking for FHIR based SNOMED to ICD-10 map.  Vendor had decided against FHIR Concept map and implemented a proprietary solution (although if standard existed, they might have gone that way, and would have been an R5 solution if so)

20Expand Alliance20

XpanDH - Expand Alliance European Project.  Interoperability in Europe, targeting providing 6 x 40 hours of medical interoperability training to 40 students to fill gaps in existing offerings.  HL7 Europe (consisting of all HL7 European country affiliates) also participating.   

2023-05-30 Submission made (SNOMED International is a co-partner).  Response expected by the end of the Summer.

2023-10-03 ML News update on course proposals expected for November.  See

21Language behaviour compliance in Snowstorm10

BCP-47 requires a dash every 8 digits so SCTIDs need to be broken up to be compliant.

Also the "x-sctlang" is required. 

Also discussed GG's request to Kai Kewley in the behaviour around language headers and how they interact with the displayLanguage in the HTTP GET request.

22R5 changes suggested around specifying language using BCP-47 10

See Tuesday meeting item #6

Changes for R5  and check on use of dialect in x form in ECL Specification Appendix C:  Appendix C - Dialect Aliases

Note that where a language reference set pulls from more than one language, the BCP-47  tag could potentially missing out the <lang> element and start directly with "x-".  Options for referring to multiple languages: could be done either with a * (see ) or with a comma separated list to indicate a priority order (although this isn't supported by the FHIR parameter (unless the server went out of it's way to allow for this), or use the accept-language header).  Use case is in the displayLanguage input parameter to a ValueSet $expand operation

2022-08-31 ML CSIRO attempting to get R5 compliant Ontoserver ready in time for HL7 Connectathon.

2022-10-04 With this page moving to it is no longer subject to the ballot process.  Instead a "TSMG" ticket should be created.  Daniel Karlsson and Rob Hausam will progress this. 

Also tracking R5 changes to concept map - see   Peter G. Williams to check SI intention for R5 compliance.

2022-10-18 DK EHealth Working Group on Semantics - discussion on cross border infrastructure based on CDA.  Suggestion that it could move to FHIR for new specifications/developments eg Lab Reports.

2022-11-02 RH Rob will check the status and how we can help it move

2023-02-07 RH R5 Ballot is complete.   Deadline to complete resolutions is Feb 24th.   Expectation to publish late April / early May.

2023-03-07: RH R5 going through QA currently. Some last-minute changes in ConceptMap: RH change in relationship types, new ValueSet to remove ambiguity. Directions of maps (very) explicit. No-map situation simplification. Element name changes. Choice datatypes in more places. ML property, dependsOn and product clarification. E.g. property is used in implicit ConceptMaps based on SNOMED complex maps. 

2023-07-11 ML Added UP ticket - (Unified Terminology Governance Project)

23Language 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



Machine Readable Concept Model (applies to both pre and post coordinated content)

MRCM is needed for writing good ECL and also for writing 'good' Post coordinated expressions.

Going forward:  suggestion that PJ and RH expose both the MRCM and the capabilities of ECL 2.0 with the wider HL7 and FHIR Communities.  See slides on ECL 2.0 hereML more generally this is a refinement axis which is represented as two things - the attribute and the range of values that that attribute can take.

2022-11-1 ECL 2.0 can retrieve MRCM refsets content, the question is how to return them as FHIR resources (structure map?)

Using implicit concept maps may be an option to add operations such as get acceptable attributes or get range

(note SNOMED is the only CodeSystem that uses implicit concept maps, wording around that is changing, see )

25SNOMED FHIR Implementation Guide

Implementation Guide for using SNOMED CT with FHIR.

IG Documentation:

Also look at the sample IG see build


2022-11-1: No news, check in the next call.

2022-11-15  Suggestion to set page per meeting list to work through.  Setting up one or two HTML style pages that could then be copied and modified and then use meetings to tackle more difficult content and review.  Finding best publishing location, cross referenced between

Pairings - Kai, Peter, Marie, Daniel, Rob

Top Topics

  • What are the various Resources in terms of how they relate to SNOMED CT (Link to Follow the yellow brick code presentation).  
  • ECL in FHIR (intensional ValueSets being less brittle)
  • Languages
  • Terminology Binding (General Approaches)
  • IPS (GPS)
  • FAQs eg how to recover historical assertions using Map
  • Post Coordination & Transformation
  • Relevant changes in R5 eg Concept Map (correlation changes)


Example markdown page that could be copied and modified:

Work to be presented for 13 December (payment will be made in Glorytm)

Peter & Kai - ECL in FHIR  (Update:   Used  for collaborative markdown editing. )

Daniel & Marie - Allergy & Intolerance : (Update: Menu item added for extensions, confirmed examples are useful and appropriate for the Allergy Guide. )

Rob - IPS

  • Peter G. Williams contact Ole Vage & Feijke re Translation Group and contributing to IG relating to use of languages in FHIR (complete 2023-10-16)

2022-12-13 ECL Page reviewed - MarkDown not displaying the same as it did the IDE, revisit.

Looking for some more structure that could be applied to the apparently unordered list of ValueSets (which is machine generated).  Any documentation on how to do that would be appreciated.   Other IG's we could compare to are : &  ( also )

2023-02-07 MAL work for Allergy Implementation Guide (which the SNOMED IG will link to) see SNOMED CT Implementation Guide for Allergy, Hypersensitivity and Intolerance

2023-02-21 DK Work done for languages -  Discussion about overloading of parameter for both display language and search language.   Checking behaviour around fall-back on displayed terms (eg context specific → national language → English).   For example, display parameter being a comma separated list (which has a defined order, unlike repeating the same parameter multiple times (also not allowed in the spec)).

2023-10-16 PWI Update:  We had a note to follow up on as these have mostly been inactivated and moved to the Veterinary Extension.   In following up, it was determind that this valueset is no longer present in the FHIR core as of R5.


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)

2022-05-17 ML Ontoserver supports ValueSets that draw from more than one version, so you could use that to compute the difference between one version and another.

2022-11-1: DK: Snowstorm does not yet support multiple include elements in different versions for the SNOMED code system. ML: The semantic is not yet clear, how to decide in which versions you check properties, parents, etc. Run separately for all inclusions and join the results. May need to understand better the use cases.

Michael Chu - let's discuss.

27Any Other Business

2023-10-03 ML working on registration of congenital abnormalities - is there a way to group disorders (eg as part of a syndrome), specifically in the Condition Resource to (See Condition Related Extension in R4 / )   See  also condition-dueto.  JC Syndrome is just a grouper name, it doesn't "cause" the manifestations as such.

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

No files shared here yet.