Stream: implementers
Topic: FHIR Namespace registry
Igor Sirkovich (Mar 17 2016 at 14:07):
Hello, I'm wondering what is the current status of the FHIR Namespace registry http://wiki.hl7.org/index.php?title=FHIR_Registry_Requirements#Namespace_registry. The project I'm working on would eventually need to identify patients by their health card numbers, driver licenses and other identifiers issued by various jurisdiction in Canada & US and to identify licensed practitioners by their license numbers issued by various regulating bodies in various jurisdictions. Many of these namespaces have OIDs assigned, but our direction is to avoid using OIDs. If we define URLs or URNs for these napespaces internally, we would be able to ensure uniquenss, but not interoperability with other applications, who might define the same namespaces differently in absence of a registry. There is some limited registry at http://hl7-fhir.github.io/identifier-registry.html, but I’m not sure if it’s intended to be used by various parties or it's there just for illustration/use of FHIR core team.
René Spronk (Mar 17 2016 at 14:16):
Ah, I hear a volunteer who's willing to populate such a registry...
René Spronk (Mar 17 2016 at 14:18):
Kidding aside, maintaining such a registry will be a horrendous task. I guess it won't be high on the list of any volunteer. So at best any such registries will be 'examples'.
Igor Sirkovich (Mar 17 2016 at 14:43):
I do relize this. I asusme this is the reason HL7 had started charging $100 for each OID they assign. But maybe we can have some common space for projects willing to share their namespaces using wiki, github, google sheets or any other free tool, kind of crowdsourcing the registry. This wouldn't be perfect, might have duplicates (even if we get volunteer-moderators) and omissions, but probably still better than nothing.
Igor Sirkovich (Mar 17 2016 at 18:04):
I’m also wondering if there is a recommended approach to define namespaces for FHIR projects. We are considering leveraging the way NHS defines their URIs (urn:fhir.nhs.uk:id/NHSNumber), for example for physician and nurse licenses from Ontario and Quebec, we might define urn:fir.ontario.ca:id/PhysicianLicenseOntario, urn:fir.ontario.ca:id/PharmacistLicenseOntario, urn:fhir.ontario.ca:id/PhysicianLicenseQuebec, urn:fhir.ontario.ca:id/PharmacistLicenseQuebec. An alternative, more generic, approach would be to use website URLs of the regulating bodies (whenever possible) , e.g. http://www.cpso.on.ca/fhir/PhysicianLicenseOntario, http://ocpinfo.com/fhir/PharmacistLicenseOntario, http://www.cmq.org/fhir/PhysicianLicenseQuebec and http://www.opq.org/fhir/PharmacistLicenseQuebec. The second approach might better serve interoperability (it’s not intuitive to search for Quebec’s license under ontario.ca), but is much harder to implement. Also, website URLs of organizations are not under our control and might change over time. This is why our preferred approach is the first (NHS) one.
Richard Kavanagh (Mar 17 2016 at 18:18):
@Igor Sirkovich Just to let you know that we (the NHS) moved away from using urn style URIs and instead went towards using canonical URLs
Grahame Grieve (Mar 17 2016 at 18:19):
we are hoping to make the registry available in the next few weeks (will be based on DSTU2)
Igor Sirkovich (Mar 17 2016 at 18:20):
Thank you for sharing this info Richard! I'm wondering how are you dealing with namespaces that are not in your area: do you define all canonical URLs under your root URL?
Igor Sirkovich (Mar 17 2016 at 18:20):
Thank you Grahame, this would be very helpful.
Richard Kavanagh (Mar 17 2016 at 18:21):
Our initial thoughts using urn:fhir.nhs.uk was actually an invalid urn construct
Igor Sirkovich (Mar 17 2016 at 18:22):
Did you change from, for example, "urn:fhir.nhs.uk:id/NHSNumber" to "http://fhir.nhs.uk/id/NHSNumber"?
Richard Kavanagh (Mar 17 2016 at 18:22):
Close - we went to : http://fhir.nhs.net/Id/nhs-number
Igor Sirkovich (Mar 17 2016 at 18:23):
Do you have any identifiers that are under responsibility of external organizations rather than nhs, e.g. regulating body for phsyicians or nurses?
Richard Kavanagh (Mar 17 2016 at 18:24):
Not yet we dont - though I suspect the time will come
Igor Sirkovich (Mar 17 2016 at 18:26):
Do you know what would be your strategy for these? Would you still define them under http://fhir.nhs.net/Id or you woud prefer to define these indentifiers under URL roots of each responsible organization?
Lloyd McKenzie (Mar 17 2016 at 18:47):
Another possibility would be http://hl7.org/fhir/NamingSystem/ca-ab-whatever. That would actually resolve to the naming system having the alternate ids and could also point to any relevant website - and updated when/if the website moved
Igor Sirkovich (Mar 17 2016 at 18:58):
Yes Lloyd, this would be great and this is why I stated with a question about the registry. If we take this route, we should be able to register and publish all shared naming systems with HL7 to avoid duplicates/collisions.
Igor Sirkovich (Mar 17 2016 at 19:00):
This would be similar to the OIDs registry, but this brings back the questions of maintanence: will everyone be allowed to register naming systems, who will moderate, etc.
Robert McClure (Mar 17 2016 at 19:54):
Interesting how this problem is derived from the need for human readable characters in the identifiers that I suspect will become problematic for even more reasons including lack of "readability". How about using......OIDs! @Lloyd McKenzie we could use th same approach you are describing to provide alternative naming (human readable) and this would result in all the urls would not collide. I admit I _do_ like urls that I can read (hey, I'm human after all!) but can we somehow take some of the benefits of OIDs to the solution?
Lloyd McKenzie (Mar 18 2016 at 03:05):
What benefits do OIDs provide that URLs don't? The need here is for a registry to discover the "official" namespace label for a particular identifier type. That exists whether we're talking OIDs or URIs. The benefit of the URI is that if you see it in an instance, you know what it means - you don't have to go back to the registry to find out.
Patrick Werner (Mar 18 2016 at 10:26):
URIs also can point you to information about the namespace..
Grahame Grieve (Mar 18 2016 at 10:39):
But Te rarely
Grahame Grieve (Mar 18 2016 at 10:40):
but the really cool thing about Oids is that you can look them up. And then you get information about who registered them. That's much more useful than actual information ;-) and if you get any actual information, it's a reference to the namespace!
Ewout Kramer (Mar 18 2016 at 13:05):
Yes Lloyd, this would be great and this is why I stated with a question about the registry. If we take this route, we should be able to register and publish all shared naming systems with HL7 to avoid duplicates/collisions.
We will make sure that all NamingSystem resources that are part of materials put on http://simplifier.net will be searcheable, and also you'll be able to browse lists of these systems across all projects and realms.
Igor Sirkovich (Mar 18 2016 at 14:49):
Thank you Ewout! This woud be great.
Robert McClure (Mar 18 2016 at 14:52):
The advantage of OIDs is they don't collide. The original issue was concerns about creating lovely URIs that contain the same "meaningful name" that actually don't mean the same thing. I'm not pushing that OIDs are the answer, I like words... But they have disadvantages. And yes, if you create a registry that everyone uses, you can solve the technical problem.
Eric Haas (Mar 19 2016 at 00:35):
(deleted)
Lloyd McKenzie (Mar 19 2016 at 21:17):
URIs are no more likely to collide than OIDs. Both rely on the organization who's responsible for some particular "node" making sure they don't assign child levels to something else. They also rely on organizations not using "base" identifiers they don't control.
John Moehrke (Mar 21 2016 at 15:51):
The difference is that in URI there are 'indirections'. That is domain-name-system (DNS), and web-server-root. All that can redefine a URI very dynamically. OIDS have no indirection mechanisms. You can see this as a positive or negative. The hard part is that all I need to do to figure out if two OIDs are the same is string compare; not as clear if URI.
Grahame Grieve (Mar 21 2016 at 20:12):
That's not true. String compare also for URIs.
Grahame Grieve (Mar 21 2016 at 20:13):
if you want to talk about URLs and resolution, yes, that's complex. but URIs for namespaces (technically, I suppose we should use the acronym IRI in a few places) are not like that
Last updated: Apr 12 2022 at 19:14 UTC