Date 20:00 UTC on Tuesday 24 August 2021 - 90 minutes.
- FHIR Terminology Services and Resources
Chat: public-snomedintl.slack.com # snomed-hl7-fhir (ask for invite!)
|Owner||Notes & Actions|
|1||Welcome and introductions||2|
Recording, notes & attendance.
2021-08-10 - Cancelled
HL7 13 - 15 Connectathon (EST) + Meetings 20 - 24 September - tracks being prepared shortly
SI October Expo (Fully Virtual) 25 - 27 Meetings, 28 + 29 Expo
27/07/2021 - PJ and RH still working on tracks. May need to scale down or up. Looking for track leadership for terminology services.
SR FHIR North Conf ( https://fhirnorth.mohawkcollege.ca/ ). October 13th & 14th. IHTSDO have been asked for speakers. Registration for SI Expo is open.
PJ 24 Aug No Nov Dev Days 2021. Next will be US Edition in June 2022 (Cleveland)
|4||Inactive concepts in the FHIR Spec||10||Sander Mertens|
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)
27/07/2021:- RH not had a chance yet. Vocabulary HL7 workgroup may be interested. Rob will also bring to Orders & Observation workgroup.
We can try our best to update what is in the specification, or propose a more useful definition that HL7 can adopt.
ML There is a flag on ValueSets showing whether inactive codes are allowed in an expansion, i.e. perfectly fine depending on use case of ValueSet.
RH keeping terminology in specification can be painful. There's a tracker for moving forward with this. Potentially moving to terminology repository rather than a specification.
|5||AND / OR in ValueSet Filter||10||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 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.
|6||Mapping 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 July; Coded 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
27/07/2021:- ML We will construct label ourselves.
|7||PCE implications for FHIR Operations||10|
$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?
|8||Refset / IN documentation clarification||30||Philip Chuang|
Note conflict with http://build.fhir.org/snomedct.html#22.214.171.124.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#expansion. DK 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 126.96.36.199.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.
|9||Topics 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).
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.
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.
Update 27 July Next biggest batch to complete is ConceptMap for R5. Dependant on a terminology server supporting the changes on R5. May not be testable in September.
|11||Publishing 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.
|12||Working with unversioned content||15|
Page to go through further discussion: URI Proposal: Addition of xsct
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.
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)
27/07/2021:- ML has logged ticket for broadening scope of extension. Ticket: https://jira.hl7.org/browse/FHIR-33058
|14||Language Reference Sets in FHIR||45||All|
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
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
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 https://r4.ontoserver.csiro.au/fhir/ValueSet/$expand?displayLanguage=*-x-sctlang-20581000-087109&_format=json&url=http://snomed.info/sct/20611000087101?fhir_vs=ecl/160303001&includeDesignations=true
|15||SNOMED FHIR Implementation Guide||60|
IG Documentation: http://build.fhir.org/ig/FHIR/ig-guidance/index.html
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 http://snomed.info/sct/* (ie not specifying the version) or http://snomed.info/sct/*/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.
|17||Long Term Home for Terminology Information|
Rob Hausam (primarily Vocab WG)
Long Term Home for Terminology Information that can be maintained independently of FHIR versions.
|18||Any Other Business||Next time:|
Potential Items for Discussion
|Description||Owner||Notes & 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.
|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|
|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.
|GPS||See Discussion on Global Patient Set (GPS)|
|$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 parameter||15|
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 Extension||10|
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 Lookup||10|
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?
|Description||Owner||Notes & Actions|
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 Federation||10|
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.