Page tree

Date 20:00 UTC on Tuesday 13 July 2021 - 90 minutes.   

Objectives

  • FHIR Terminology Services and Resources

Discussion items

ItemDescription

Mins

OwnerNotes & Actions
1Welcome and introductions2

Recording, notes & attendance.


2Previous Meetings5

2021-06-29 - SNOMED on FHIR Meeting (TS)

3Other Meetings5

Recent events:

Upcoming events:

HL7 13 - 15 Connectathon (EST) + Meetings 20 - 24 September - tracks being prepared shortly

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

4Inactive concepts in the FHIR Spec10Sander Mertens

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

https://github.com/mertenssander/fhirSpec_sctid_scraper

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

PWI Noted:   Could you check 162023004 |No problem swallowing (situation)| ?   It looks active here:  http://snomed.info/id/162023004   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)

5GPS Inactivations10Peter G. Williams

I checked this with Andrew Atkinson our release manager and he confirmed that the "active" flag in the GPS corresponds to the active state in the equivalent RF2 refset, so it can be considered to be refset membership active.   However, we always inactive refset membership when a concept becomes inactive so 99% of the time it's the same thing.    There are apparently rare cases where we realise that a concept's inclusion in the GPS is inappropriate, so active concepts can also be removed.

I'll follow up with Suzy Roy to get confirmation about the licence implications of removing a concept from the GPS eg all the animal breeds that were part of the DICOM set.

Update 13 July: confirmation that inactivation in the GPS is inactivation of the membership.  BUT, we always inactivate membership when the concept itself becomes inactive so 99% of the time this means the same thing.   HOWEVER, this does not indicate that the concept stops being free to use.

6AND / OR  in ValueSet Filter10Peter 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 http://build.fhir.org/valueset-definitions.html#ValueSet.compose.include.filter)  However  http://hl7.org/fhir/R4/valueset-substance-code.json.html  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: http://build.fhir.org/valueset.html#compositions

SideNote:   Wildcard for versions in $expand, see https://jira.hl7.org/browse/FHIR-15998   Note that "version" here would mean multiple editions.

7Mapping Tool Question

Question on population of Code System title eg "Belgian Edition SNOMED CT release 2018-03-15"

Note that Date field is taking YYYYMMDD and adding a timestamp PLUS timezone offset to it.   Seems to be HAPI behaviour.

Update 13 JulyCoded into develop branch of Snowstorm in MAINT-1686 

Server available with prior arrangement (auto-shutoff at 1800 UTC): eg https://dev-browser.ihtsdotools.org/fhir/CodeSystem?_sort=publisher,-date&date:contains=2021

8PCE 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. 

$subsumes

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:   https://postco.test-nictiz.nl/#/     (source:  https://github.com/mertenssander/postco

9Refset / IN documentation clarification30Philip Chuang

Note conflict with http://build.fhir.org/snomedct.html#4.3.1.0.8.2 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 http://build.fhir.org/valueset-filter-operator.html (actually in the CodeSystem that defines the filter operators) also https://www.hl7.org/fhir/valueset-filter-operator.html#expansionDK 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 4.3.1.0.8.2 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.

10Topics 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?

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.

11R5 Position2

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.   http://hl7.org/fhir/2021Mar/ballot-intro.html   "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.

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. 

13Working with unversioned content15

Page to go through further discussion:  URI Proposal: Addition of xsct

14Description 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:  https://hl7.org/fhir/extension-coding-sctdescid.html  ML would prefer being able to add the id to a designation (which would meet use case 2)

15Use of "R"

Sander Mertens has used R with the native Snowstorm API and ML mentioned that GG has done some work in this space.

https://www.google.com/search?q=%22using+r+with+fhir%22&oq=%22using+r+with+fhir%22

16Language Reference Sets in FHIR45All

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 https://jira.hl7.org/browse/UP-107

Update 1 Dec: Latest build: http://build.fhir.org/ig/IHTSDO/snomed-ig/branches/duc/StructureDefinition-designation-use-context.html   Ticket: https://jira.hl7.org/browse/UP-155 being replaced by https://jira.hl7.org/browse/FHIR-29821   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 http://build.fhir.org/languages.html##term

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 MLhttps://gist.github.com/pgwilliams/8c742d68878b1fda0638a798668e42f2    also http://build.fhir.org/ig/IHTSDO/snomed-ig/branches/lawley-patch-1/CodeSystem-CodeSystemDesignationUseExample1.html 
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 https://jira.hl7.org/browse/UP-107) 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:  http://build.fhir.org/ig/IHTSDO/snomed-ig/branches/duc/ValueSet-DrugValueSetExample1.json.html

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 application.properties is a separate solution which could also be improved: https://github.com/IHTSDO/snowstorm/blob/master/src/main/resources/application.properties#L217 ).  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

17SNOMED FHIR Implementation Guide60

Implementation Guide for using SNOMED CT with FHIR.

IG Documentation: http://build.fhir.org/ig/FHIR/ig-guidance/index.html

Also look at the sample IG https://github.com/fhir/sample-ig see build http://build.fhir.org/ig/FHIR/sample-ig/

TODOS 

  • Check build issues http://build.fhir.org/ig/IHTSDO/snomed-ig/qa.html
  • 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 connectathon.ihtsdotools.org
  • Clean up other branches
  • Check templates are up to date - should now be self updating, see https://github.com/FHIR/sample-ig (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 http://build.fhir.org/snomedct.html and discuss further socializing.
18

Any other business



Next time:      Separate discussion on * version wildcard.


Potential Items for Discussion

Description
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. https://github.com/FHIR/sushi/issues/473
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://snomed.info/sct&code=12345678&_elements=version

GPS

See Discussion on Global Patient Set (GPS)
FHIR Shorthand

https://github.com/HL7/fhir-shorthand/wiki

https://build.fhir.org/ig/HL7/fhir-shorthand/FSHQuickReference.pdf

Tooling: https://github.com/FHIR/sushi

$lookup operation - properties returned

Using http://ontoserver.csiro.au/vstool/  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 http://hl7.org/fhir/snomedct.html. Should we create a Jira TIcket to add this?

Completed - https://jira.hl7.org/browse/FHIR-26555

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 = http://snomed.info/sct?fhir_vs= allows for the version URI to be used as stated in https://build.fhir.org/snomedct.html The base URL is either http://snomed.info/sct , 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): https://build.fhir.org/snomedct.html

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

Description
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

See https://chat.fhir.org/#narrow/stream/179202-terminology/topic/tx.2Efhir.2Eorg.20New.20parameters.20for.20.24expand.20.26.20.24validate-code

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.

2 Comments

  1. Regarding discussion item #10, VSAC has implemented “in” operator as a common filter (all concepts in the specified concept list) for all code systems hosted by VSAC. In addition, many extensional value set definitions (including value sets with SNOMED CT codes) in VSAC have been converted by the authors into intensional definitions containing the “in” filter. It will confuse value set users if “in” operator might have different meaning or interpretation in different code systems. It will be ambiguous as well how the same value set definition with “in” filters are expanded by various servers implementing the FHIR specification.

    Can a new operator (such as “of”) be used for the “refset” filter? In other words, the “in” operator is for codes IN the specified code list separated by comma, and “of” operator is for codes OF a reference set in SNOMED CT. The “of” filter can also be used on other code systems that provide their own reference sets or subsets.

    1. Thank you for that Philip Chuang.   Of course, these are Normative Resources we're discussing, so a change at this point will break existing implementations.   Have you brought up this question in Zulip and if so, what response did you receive?   Best Wishes, Peter