Stream: implementers
Topic: ConceptMap.source[x] URI vs Canonical
James Agnew (Mar 12 2018 at 13:24):
I am trying to wrap my head around the scope of the new Canonical datatype as it relates to the ConceptMap.source[x]
field (and others like it).
Essentially I'm wondering under what circumstances one would use .sourceUri
, since I can now put non-URL URIs into the canonical datatype.
Bryn Rhodes (Mar 12 2018 at 14:24):
If the source is an actual FHIR ValueSet resource, you would use sourceCanonical, but if the source is a ValueSet, but not a FHIR resource (as in a valueset in the VSAC, identified by an OID), then you would use sourceUri.
Bryn Rhodes (Mar 12 2018 at 14:25):
My understanding is canonical is always and only used to reference FHIR resources that have a canonical identifier (i.e. a url element).
Rob Hausam (Mar 12 2018 at 14:44):
That's my understanding of the intent as well - that 'canonical' should always point (and should normally resolve) to a FHIR resource. But I'm also noting that we don't actually say that in the documentation for the 'canonical' data type (http://build.fhir.org/datatypes.html#canonical) or on the 'Canonical URLs' page (http://build.fhir.org/references.html#canonical).
Yunwei Wang (Mar 12 2018 at 16:25):
What does it mean a "FHIR ValueSet resource"? Is that a ValueSet registered with FHIR or any ValueSet which can be return via FHIR ValueSet endpoint?
Yunwei Wang (Mar 12 2018 at 16:27):
If a terminology server returns a VSAC value value from ValueSet endpoint, should that be referenced as sourceUri or sourceCanonical?
Lloyd McKenzie (Mar 12 2018 at 17:05):
Anything experessed in FHIR form.
Yunwei Wang (Mar 12 2018 at 17:46):
Can it be generalized as using canonical for resource identified by url, using uri for resource identified by OID/UUID?
James Agnew (Mar 12 2018 at 17:56):
Sounds like necessarily that wouldn't be correct, since technically a non-FHIR valueset could be identified by a URL and a FHIR ValueSet could have an OID as an identifier.
James Agnew (Mar 12 2018 at 17:57):
We should definitely clarify this usage in the canonical definition though, assuming that's the intent.
Yunwei Wang (Mar 12 2018 at 18:05):
But you cannot use OID in canonical. Right?
What I mean is identify a ValueSet using OID.
John Moehrke (Mar 12 2018 at 18:16):
URI encoded OID --> urn:oid:1.1.1.1.1.1 See https://healthcaresecprivacy.blogspot.com/2011/02/creating-and-using-unique-id-uuid-oid.html
Yunwei Wang (Mar 12 2018 at 18:17):
@John Moehrke I know that can be used for uri. Can it also be used for canonical?
Grahame Grieve (Mar 12 2018 at 19:37):
yes
Grahame Grieve (Mar 12 2018 at 19:39):
I'm not entirely sure when you'd use sourceCanonical either - we allow a bdining to a non-FHIR value set, for some special cases where there value set is a slippery beast but I don't see how you could concept map them... also, I was working on this on the plane.... we don't really need to allow a choice of URI anymore... we can just require a value set and gin up a value set resource now
Rob Hausam (Mar 12 2018 at 19:43):
Yeah, I've been wondering about some of that. We should make it as clear and simple as we can. Do you have some plans?
Grahame Grieve (Mar 12 2018 at 19:46):
don't know. it's too late for the draft - so I guess it will be a ballot item that causes substantiative changes
Yunwei Wang (Mar 12 2018 at 19:51):
The newly introduced canonical is confusing. But as a non-profiler, I feel there is not much to worry about. I can continue to use urls on where I used before. Then I don't know why there is need for this new data type. Maybe I should re-read the whole thread about canonical.
Eric Haas (Mar 12 2018 at 20:10):
Can you clarify....does "we don't really need to allow a choice of URI anymore...." mean source[x]
becomes [source] with type 'Reference' or just back to 'uri'?
Grahame Grieve (Mar 12 2018 at 20:17):
nah would be just source : canonical
Eric Haas (Mar 12 2018 at 20:18):
OK that was a bit confusing because you started your comment with "I'm not entirely sure when you'd use sourceCanonical either ..."
Grahame Grieve (Mar 12 2018 at 20:19):
duh, should have been sourceUri
Michael Lawley (Mar 14 2018 at 00:52):
I'm not really sure why you'd ever want to us a URL rather than a URI to reference a ValueSet from ConceptMap.source
I also worry about a URI like urn:foo|a with a version = x|y and thus a canonical looking like urn:foo|a|x|y and then the need to try every possible split on the | to resolve it.
Last updated: Apr 12 2022 at 19:14 UTC