IHTSDO / snowstorm

Scalable SNOMED CT Terminology Server using Elasticsearch
Other
207 stars 83 forks source link

Preferred or acceptable synonym in the FHIR-api #199

Open Tannjorn opened 3 years ago

Tannjorn commented 3 years ago

Using the lookup function, I am able to retrieve both no and en terms for concepts, and they are defined as FSN or synonym. But I can not see how I could retrieve the acceptability status for each synonym.

There are two issues here, actually. One is to see the PT or AT for a language, where there are only one "dialect". The other is to differentiate between PTs for different "dialects" - like US or GB English.

I have tried to run this query in Postman https://test.terminologi.ehelse.no/fhir/ValueSet/SafestTestVSO4/$expand?designation=en

This will retrieve PTs for both US (acetaminophen) and GB (paracetamol), but there is no immediate way to tell which is which.

Any ideas?

Kind regards, Jørn

pgwilliams commented 3 years ago

Hi Jørn

Yes, with FHIR being terminology agnostic, it does not know about such SNOMED CT specific things such as acceptability.

We have a SNOMED on FHIR working group who have discussed this problem at great length, and we're proposing - to HL7 - a FHIR Extension that would allow such properties to be requested and recovered. See item "Language Reference Sets in FHIR" here: https://confluence.ihtsdotools.org/pages/viewpage.action?pageId=115884698

The preferred term is the one that is used for the 'display' element eg in https://test.terminologi.ehelse.no/fhir/ValueSet/SafestTestVSO4/$expand?filter=paracetamol&includeDesignations=true we did work in the CodeSystem endpoints to allow a dialect to be specified for language so I'll raise a ticket to ensure this gets applied to the displayLanguage parameter in the $expand operation also. I tried it just now and it caused the language look up to fail.

ulsa123 commented 3 years ago

Hi Jørn Andre

There are ways to at least filter by adding an Accept-Language in the Header. image Best regards

Ulrich

PS. the codes for bokmål and/or nynorsk are: 61000202103 |Norwegian Bokmål language reference set| ie. no-X-61000202103 in the above example two hits 91000202106 |Norwegian Nynorsk language reference set| ie. no-X-91000202106 in the above example zero hits

pgwilliams commented 3 years ago

Tracking internally as MAINT-1567 - "Allow dialect to be specified in displayLanguage and designation parameters"

Tannjorn commented 3 years ago

Hi @ulsa123 Great! But it only sorts the issue half-way.

Using the $expand function the PT of the specified lang refset will be displayed, but only when adding designation=no. I have not tried to post several descriptions in Norwegian - yet. I will try if using both designation and accept language will work with several NO-terms.

But using both designation no and en, and adding accept-language no/bokmål seems to set no/bokmål term as display value, and at the same time providing all descriptions. But there is still no way to separate PTs from ATs.

Moving on, descriptions will retrieved using CodeSystem Lookup, using this function, I can not see that either designation or accept-language makes any difference to the output.

(For information. The use-case is to first expand a value set to "load" all relevant concepts into a table, then perform a lookup to retrieve Norwegian and English PT, and NormalForm for each concept. Using the display-term from the initial expand would ensure that the no-term used is the PT, and then the lookup would provide the US-en PT. But further descriptions would be difficult to differentiate).

Kind regards, Jørn