FHIR Chat · Mapping Identifying URLs to resolvable URLs · implementers

Stream: implementers

Topic: Mapping Identifying URLs to resolvable URLs


view this post on Zulip Colin E. (Jul 14 2021 at 14:26):

I'm sure this is a topic that will have been covered before, In fact I know it came up in a discussion about the well-known URL for UCUM (www.unitsofmeasure.org) which no longer points at a real site (it redirects), but the search function in Zulip has defeated me and I can't find that thread any more.

Currently most of our UK published examples for FHIR codeableconceptitems, where they refer to SNOMED codes, are using the generic coding.system value of "http://snomed.info/sct". That value basically just indicates "this code is SNOMED". SNOMED allows for a tree-structured hierarchy of code sets (Modules) to be defined. Sending the URL of the common root of SNOMED won't help you find the specific coded concept being sent if (as is very likely) that concept is defined out in one of the dependent modules (sub branches) such as a local country extension.

The obvious thing to do would be to put a local extension module URL in coding.system, in our case that would be http://snomed.info/sct/83821000000107 however that address while resolvable (kind of) just ignores the numeric part of the path and redirects the user to the home page of snomed.org. It doesn't direct the user towards our UK terminology server where they might be able to get some useful info on the code.

I can understand we don't want to keep changing the documented identifying URLs of codesystems used in FHIR every time someone moves a domain name or spins up a new terminology server in the real world.

This seems to imply there needs to be a mapping service, a sort of "dynamic DNS for codesystems" that would resolve a unique codesystem ID into the best available resource or service for that codesystem.

Has this been discussed, and if so where there any conclusions?

view this post on Zulip Kevin Mayfield (Jul 14 2021 at 14:43):

I'm not sure how that would work. For example if I'm in the uk and I see http://snomed.info/sct

One user is going to want to go to https://termbrowser.nhs.uk/
another https://snomedbrowser.com/
Others Shrimp or snapper
or one of the terminology servers
I would go here in postman https://ontology.nhs.uk/authoring/fhir

view this post on Zulip Lloyd McKenzie (Jul 14 2021 at 15:45):

SNOMED is complicated :smile:. SNOMED is a single code system that is managed as a set of independent editionswhere there's no single publication of the complete set of codes across all editions. However, it still a single code system - every code is unique and has a single meaning, even though there isn't a single place to look them all up. (With a bit of work and some knowledge of the code system, you can look at the code and figure out where to look up the meaning.) Because it's a single code system, there's a single Coding.system uri. This URI must be used for all SNOMED codes - using anything else is non-conformant. If you want to convey what edition of SNOMED a code comes from, you can use Coding.version - recognizing that lots of systems will ignore/throw this away. Details are covered here: http://build.fhir.org/snomedct.html

view this post on Zulip Colin E. (Jul 26 2021 at 17:40):

Details are covered here: http://build.fhir.org/snomedct.html

That was the starting point for me when I looked into this. The chain of references goes something like-

http://build.fhir.org/snomedct.html -refers to- SNOMED CT URI Specification [http://snomed.org/uristandard]
http://snomed.org/uristandard -refers to- 2.1 URIs for Editions and Versions [https://confluence.ihtsdotools.org/display/DOCURI/2.1+URIs+for+Editions+and+Versions]
https://confluence.ihtsdotools.org/display/DOCURI/2.1+URIs+for+Editions+and+Versions - refers to- 4.4.2 Edition URI Examples [https://confluence.ihtsdotools.org/display/DOCEXTPG/4.4.2+Edition+URI+Examples]

which as it happens includes http://snomed.info/sct/999000041000000102 as the "most dependent module" (thus appropriate search starting point for UK codes) of the UK edition.

view this post on Zulip Colin E. (Jul 26 2021 at 17:44):

@Kevin Mayfield makes a good point. Perhaps the ideal "landing page" for a resolvable URL is either a human-readable table of appropriate resources, by type, which for the UK would includes the services Kevin mentions, or with the appropriate "Accept" header or query option, returns a machine-readable resource list.


Last updated: Apr 12 2022 at 19:14 UTC