Stream: terminology
Topic: 'canonical' vs. 'uri' for code system references
Rob Hausam (Mar 07 2018 at 05:29):
Lloyd and I have been having a chat about this, and it seems time for some broader input. Basically, according to Lloyd's explanation and my understanding, the new 'canonical' data type is intended for cases where the reference is specifically to a FHIR resource (e.g. CodeSystem or ValueSet in the terminology space), whereas 'uri' is intended for cases where the reference can be more general (may or may not be to a resolvable url) and a FHIR resource instance isn't being assumed (there may be better ways to say some of that, but I think it's reasonably accurate). So for Coding.system we're using 'uri', as a CodeSystem resource may not be present for the code system that is being referenced. But for CodeSystem.valueSet, CodeSystem.supplements and ValueSet.compose.include.valueSet we're now using 'canonical'. I'm not totally convinced that is consistent with what we will need and want, but we can leave that for now. Another thing that I discovered, though, in ExpansionProfile seems to me definitely inconsistent:
ExpansionProfile.fixedVersion.system
Element Id ExpansionProfile.fixedVersion.system
Definition The specific system for which to fix the version.
Control 1..1
Type canonical(CodeSystem)
Summary true
Comments See ''Coding.system'' for further documentation.
This says that Coding.system has further documentation, which I think carries the underlying assumption that it's doing the same thing as ExpansionProfile.fixedVersion.system. But for Coding.system we're using 'uri' and for ExpansionProfile.fixedVersion.system we've changed to using 'canonical'. So I think that something needs to be changed here - at least in the Comments, if nothing else. It would be good to get some further thoughts on how we expect this to work, and when for sure we need to use 'uri' vs. 'canonical' in the terminology resources and operations and how to make the expectations around that clear.
Grahame Grieve (Mar 07 2018 at 10:49):
yes I think that this should be consisten, and I think that it should be a uri, not a canonical. My mistake there.
Rob Hausam (Mar 07 2018 at 16:00):
GF#15724 - pre-applied
Michael Lawley (Mar 07 2018 at 23:43):
Agree @Rob Hausam , I would like to better understand the use cases where CodeSystem.valueSet etc need to support resolvable references. That is, where it isn't sufficient to use URIs instead
Last updated: Apr 12 2022 at 19:14 UTC