Date
20:00 UTC on Tuesday 15 December 2020 - 90 minutes.
Objectives
- FHIR Terminology Services and Resources
Meeting Details
Online: https://snomed.zoom.us/j/2423486949?pwd=UCtmRkdHZ3pVNDB1MnJuZmg2b3hUZz09
Phone: See https://zoom.us/zoomconference for available phone numbers (meeting id 242-348-6949)
Chat: public-snomedintl.slack.com # snomed-hl7-fhir (ask for invite!)
Zulip Chat: https://chat.fhir.org/#narrow/stream/179202-terminology
Discussion items
Item | Description | Mins | Owner | Notes & Actions | |||||
---|---|---|---|---|---|---|---|---|---|
1 | Welcome and introductions | 2 | Recording, notes & attendance. | ||||||
2 | Summary of previous week and previous fortnight | 5 | |||||||
3 | Other Meetings | 5 | Upcoming events:FHIR Dev Day 17 -20 Nov - well attended 800ish. HL7 FHIR Connectathon Jan 13 - 15 (as will all meetings in 2021). From Peter Jordan Are any of the Group are likely to be attending the next HL7 FHIR Virtual Connectathon on Jan 13-15 and, if so, if they have any suggestions for SNOMED-related testing or break-out sessions? Track proposals are due in a fortnight! DK: Languages Extension - Context of use. DK should have bandwidth to progress, mindful of ML's comment that this is not as cross-terminology-cutting as we might have thought. 17 Nov - Suggestion that it might run in PT. 15 Dec Vocab Group Update R4B deadlines extended any items for ballot by the end of this week. Plan to add additional concepts to ValueSet and keep working on extension (although not an official part of R4B). What do we need to conclude to put the Designation Extension forward to be part of the core specification? | ||||||
4 | Topics for Terminology Binding Stream | Collecting topics for TB stream here, with a view to having a call when | 4 | 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? | ||||
5 | R4B Position | 2 | Rob Hausam | Update on in-flight work in HL7 groups including "R4B" release. See ongoing discussion. Initial Balloting - January for Q2 publication. R5 Initial ballot (for comment, scope confirmation) in May 2021. Note Concept Map has dropped in maturity due to ongoing changes. Further ballots September (Nov/Dec) with a view to publishing Q2 2022. 3 Nov: Push to use terminology "properly" (eg correct URLs / URIs) linked to UTG tooling + process. Still looking at changes for ConceptMap. | |||||
15 Dec 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).
| |||||||||
5 | R4B Position | 2 | Rob Hausam | Update on in-flight work in HL7 groups including "R4B" release. See ongoing discussion. Initial Balloting - January for Q2 publication. R5 Initial ballot (for comment, scope confirmation) in May 2021. Note Concept Map has dropped in maturity due to ongoing changes. Further ballots September (Nov/Dec) with a view to publishing Q2 2022. 3 Nov: Push to use terminology "properly" (eg correct URLs / URIs) linked to UTG tooling + process. Still looking at changes for ConceptMap. | |||||
6 | Use of POST in an $expand operation | 20 | We've had a question from someone who's using the Fhirly SDK ( .NET FhirClient for FHIR 4.0.1 ) and their call to $expand takes a ValueSet as an argument and then attempts to pass the whole thing to the $expand operation...actually that might not be wrong if it's part of a Parameters block curl --data '{"resourceType" : "Parameters", "parameter" : | 6 | Use of POST in an $expand operation | 20 | We've had a question from someone who's using the Fhirly SDK ( .NET FhirClient for FHIR 4.0.1 ) and their call to $expand takes a ValueSet as an argument and then attempts to pass the whole thing to the $expand operation...actually that might not be wrong if it's part of a Parameters block curl --data '{"resourceType" : "Parameters", "parameter" : [{"name":"valueSet","resource":{"resourceType":"ValueSet","id":"body-site"}},{ "name":"filter","valueString": "venom" }] }' -X POST https://r4.ontoserver.csiro.au/fhir/ValueSet/$expand --header "Content-Type:application/json" Snowstorm and Ontoserver (both using HAPI) are both rejecting this saying they're expecting a ValueSet object: [{"severity":"error","code":"processing","diagnostics":"Failed to parse request body as JSON resource. Error was: Incorrect resource type found, expected \"ValueSet\" but found \"Parameters\""} ...but this doesn't seem to align to the specification which says: https://www.hl7.org/fhir/operations.html The body of the invocation contains a special infrastructure resource called Parameters, which represents a collection of named parameters as <key,value> pairs, where the value may be any primitive or complex datatype or even a full Resource. It may also include strings formatted as search parameter types. Is HAPI doing the wrong thing here? We've not really looked at POST operations much since it's so simple with GET and the ID of the ValueSet.. 15 Dec ML: This works in OntoServer but with multiple parameters. See examples supplied by ML: https://gist.github.com/pgwilliams/1c46c57b173b84d44f66a92acf6cbe9a | ||
7 | $validate-code 'abstract' | The validate-code 'abstract' parameter is optional. Usually when a boolean is absent we consider the default to be false which - in this case - would suggest that any abstract concept passed in would be rejected. 17 Nov: Group conclusion to note "default = true" as not being ideal and that the parameter does not have much bearing on SNOMED CT as all concepts have varying levels of abstraction. No further action required. As SNOMED has no way to specify whether a concept is abstract or not, our recommendation is that this parameter is ignored in the context of a SNOMED code. | |||||||
8 | Inconsistency in values between $subsumes and $closure. | Discrepancy between result of subsumes (2 codes that don't subsume give "not subsumed" defined as meaning the codes are disjoint which doesn't allow for siblings which have a common ancestor and are therefore not disjoint despite ) and result of closure. Ticket - https://jira.hl7.org/browse/FHIR-29119 See http://build.fhir.org/valueset-concept-subsumption-outcome.html hopefully just word tweaking required although operation is normative. | |||||||
9 | Capability Statement | 8 Sept: Declaring operations in the capability statement eg Rest.Server Operations at resource level or system level (see OperationDefinition resource boolean System (set to false in general)) Snowstorm is inheriting the default HAPI behaviour - is HAPI getting it right? Is there a way to spot the differences between this and CapabilityStatement2 ? Oct 20: PWI having a problem with HAPI caching the statement even at the expense of ignoring mode=terminology flag (check annotation for cache timeout) | |||||||
10 | 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 | |||||||
11 | New parameters proposed for streamlining operation of expand and validate code | Grahame Grieve | 8 Sept Is there a Jira ticket ? Rob says Grahame implemented this. | ||||||
12 | Post Coordination | 30 | Michael Lawley | Post coordination - primitive <<< syntax, what does this mean in practice, in context of use. The problem is that, without FSNs, any two concepts with lexically identical structures must be assumed to be siblings because we can't detect equivalence. Eg two concepts both defined as <<< 64572001 |Disease (disorder)| How do these behave with $subsumes (answer: you say they're not related) and $closure (trickier, you want to indicate that they're distinct but there are no identifiers to make this apparent). Is this a case of - in practice - the client needing to check if an expression already exists and then making a decision if they can reuse that one, or need to create a new one. But given that we can't tell them apart without another identifier, how would that be useful. Upshot of this is that primitive PCEs are not terrible useful to use in an EHR. Use SD instead === the symbols here are optional and taken as the default when not present. Could we make use of the display field in this situation? The end user will have some idea in mind when they create the expression. PCEs are often advertised as a way to allow existing/new medical concepts to be entered into systems at runtime. TODO Discuss how should PCE Libraries be represented in FHIR? For example, do we include them in a ValueSet expansion? Surely yes, but possibly not by default. CodeSystem supplement? 8 Sept ML favours this approach (one CodeSystemSupplement per library). Although CodeSystem Supplements should not add new content, PCEs already exist in the CodeSystem. Why not Fragments? - might isolate content. 8 Sept: Discussion on what identifiers might be used. It really has to be the full expression as the identifier otherwise we cannot detect equivalence between any two PCE libraries eg in different countries (and even then when the <<< primitive indicator is used). See also GitHub Issue. Is it valid for a server to normalize the order of terms? Will we do close-to-user-form transformations eg to show the semantic equivalence between Left leg vs Leg + Left role grouped. Note that the order of operations described in the spec influences the result, which is a concern. Suggestion that you could detect close-to-user-form by doing the transformation and seeing if anything changes! However a syntactic marker might be helpful here. Best practice: "PCEs should always be authored from templates." 22 Sept: FHIR says that Post Coordination "Is supported" so that leaves something of a gap given that our implementations are not quite there yet. Page: SNOMED CT Post Coordination in FHIR 10 Oct: ML posted questions/responses on PCE as part of the Expo platform. RH suggests posting to the SNOMED Zulip stream to continue the discussion. Request for access to expression library capabilities. To be discussed on next languages call. | |||||
13 | 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?
| |||||||
14 | Use of effective time parameter in $lookup | 15 | Michael Lawley | Suggestion that effectiveTime be added as a SNOMED specific property in the specification, raised by Peter Jordan in https://jira.hl7.org/browse/FHIR-26555 The effective time of the concept (as represented in the concept file) does not necessarily capture when it came into its current state since relationships (inferred or stated) could change independently. Arguably we should use the most recent change to any of concept, relationships, descriptions. And what would we expect to happen in the case of filtering. ML: Ontoserver uses the date in the concept file because it's not possible to know what the enquirer's use case is. Update 14 July: Recommendation of this group is that that item is added as a SNOMED specific property. Use case: In general, all properties should be filter-able. More specifically users may be interested to know which concepts were created (not perfect) or retired in the current release. 8 Sept: Ticket currently in status "Triaged". ML would like clarity on the user of code vs coding. 10 Oct: Status unchanged. Discussion on priorities in general. RH to push forward for discussion. | |||||
15 | What module(s) to use for the Canadian Edition | 10 | Peter G. Williams | List of SNOMED CT Edition URIs replaced with 4.4.2 Edition URI Examples TODO: Check UK Modules in 4.4.1 National Editions | |||||
16 | Working with unversioned content | 15 | Proposed example: http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106/version/UNVERSIONED?fhir_vs=isa/27624003&designation=sv ML makes the case that unpublished content is not legitimate SNOMED and suggested using a not-SNOMED URI eg http://snomed.info/xsct/45991000052106 in this case the code system would still be http://snomed.info/xsct Outstanding question: our pre-release (alpha + beta) packages do have a version as a future date in them, and continue to exist (although unpublished) even after the official release has shipped. How would this look in a ValueSet expansion? Should we specify systemVersion or forceVersion in this case? Update 2 June: LOINC have a similar issue with "Pre-release" identifiers - current release 2.6.7. Version 2.6.8PRE will contain the pre-release content. "To be useful they need to be considered part of the code system" However in the case of SNOMED CT we would NOT condone unpublished identifiers being used in production systems. In the case of the COVID-19 concepts an interim release was done as an official release for 20200309. The use case here is for producers of SNOMED CT to reference concepts internally - as a work in progress. 11 Aug: Corrected the url listed above to the standard http://snomed.info/sct (not 'xsct'). Michael would still like to progress this. Needs further discussion in SNOMED Family of Languages group. Need for this is surfacing in Queensland Health. 10 Oct: TODO follow up if Languages group went down the road of modifying the URI. Also questions of composition where sibling packages are involved (eg both dependent, but separately, on the international edition). | ||||||
17 | 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. | ||||||
18 | Language Reference Sets in FHIR | 45 | All | Mechanisms for working with Languages 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 : 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-107Update 1 Dec: Latest build: -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/ig/IHTSDO/snomed-ig/branches/duc/StructureDefinition-designation-use-context.html Ticketlanguages.html##term | |||||
19 | SNOMED FHIR Implementation Guide | 60 | Implementation Guide for using SNOMED CT with FHIR. Update 10 Dec: DK - main problem is URI/Ls which publisher has fixed ideas about. Publisher does not examine all folders - looks in profiles but not subfolders and doesn't seem to look in ValueSet folder. Update 21 Jan: DK and RH have merged commits and these can be seen in the HL7 server build: http://build.fhir.org/ig/IHTSDO/snomed-ig/branches/new-template/ and build errors here: http://build.fhir.org/ig/IHTSDO/snomed-ig/branches/new-template/qa.html Update 11 Feb: Grahame said that he'd show us how to set the URI so that it doesn't have to follow the base URI. Next person to try that can we fire a Zulip off to ask about it? Update 16 June: DK wondered about moving everything to FSH (FHIR Short Hand) as it's so much easier to maintain. ML: Conversion available, but round trip problematic. DK page Re: snowstorm FHIR requirements, issues, etc. 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/
| ||||||
20 | 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 | API for FHIR Resource to SNOMED Expression
| ||
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 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? |
Meeting Files
Attachments |
---|