FHIR Chat · Coding.system · implementers

Stream: implementers

Topic: Coding.system


view this post on Zulip Josh Mandel (Apr 25 2016 at 18:23):

https://www.hl7.org/fhir/datatypes-definitions.html#coding says:

Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.

Is the expectation that this "some definition" has some particular format? Developer have been a bit confused by this language. There's no intended requirement of pointing to a https://www.hl7.org/fhir/namingsystem.html, I hope.

view this post on Zulip Grahame Grieve (Apr 25 2016 at 18:49):

Should point to a CodeSystem now. Agree that language needs updating now that we have formal definitions

view this post on Zulip Josh Mandel (Apr 25 2016 at 19:34):

So is the following still true?

Represents a "System" used within the Identifier and Coding data types.

From http://hl7-fhir.github.io/namingsystem

view this post on Zulip Grahame Grieve (Apr 26 2016 at 00:32):

yes

view this post on Zulip Josh Mandel (Apr 26 2016 at 02:54):

Wait, so how is this different than CodeSystem? I don't see any mention of CodeSystem on the NamingSystem page (or vice versa).

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:55):

The relationship between codeSystem and NamingSystem is not simple, and needs to be described.

view this post on Zulip Josh Mandel (Apr 26 2016 at 02:56):

OK. Do we have a clear recommendation for which (if either) a Coding.systemought to dereference to, in an ideal world?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:56):

generally, though, the documentation has not been updated for the introduction of CodeSystem. It's purely a time limitation - the technical consequences of the CodeSystem change were all I had time to deal with before the Montreal freeze

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:56):

(8 weeks solid labour)

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:56):

well, either and/or both.

view this post on Zulip Josh Mandel (Apr 26 2016 at 02:57):

Fine (I'll count that as a"no" for now, and will try to educate myself in the meantime.)

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:57):

It references a 'code system' - which may be described by either a naming system or a code system

view this post on Zulip Josh Mandel (Apr 26 2016 at 02:57):

Do we anticipate that both will stick around?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 02:58):

I thought NamingSystem might be narrowed in scope to exclude code systems, for simplicitly, but Lloyd showed that this is not the case. I don't expect that there's an easy resolution that sees NamingSystem go away or refocus

view this post on Zulip Josh Mandel (Apr 26 2016 at 02:59):

Thanks. I'll read the docs and see if I still feel like this is crazy :-)

view this post on Zulip Grahame Grieve (Apr 26 2016 at 03:00):

they serve different purposes. But the purposes overlap, which is a problem. It's certainly wroth talking about, and there may be some resolution - we haven't looked at deeply.

view this post on Zulip Rob Hausam (Apr 26 2016 at 03:02):

Yes, having them overlap, without any clear way to decide which to use, would be a problem.

view this post on Zulip Rob Hausam (Apr 26 2016 at 03:02):

What was it that Lloyd showed?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 03:03):

don't remember and my mind is fried. @Lloyd McKenzie can dig it up

view this post on Zulip Josh Mandel (Apr 26 2016 at 03:16):

Yes, I'll look forward to this too when Lloyd's around.

view this post on Zulip Lloyd McKenzie (Apr 26 2016 at 15:50):

NamingSystem allows linkage of a given CodeSystem to all the identifiers that might be used for it - URIs, OIDs, etc. And also indicates which of those should be used in which circumstances. It may also provide basic advice about how codes or identifiers should be sent over the wire (e.g. removing separators, case, etc.) We *could* put all of that into CodeSystem, but it's really a separate function. Plus, when you're looking for NamingSystem type information, you really don't want to bring down all the codes.

view this post on Zulip Lloyd McKenzie (Apr 26 2016 at 15:50):

(That's what I remember of the reasons, anyhow. Possible I've also forgotten something :))

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:04):

+1 to @Lloyd McKenzie 's description. I _think_ it's the intention that a system with a NamingSystem defined could be queried by its aliases. @Grahame Grieve @James Agnew @Ewout Kramer - do your servers handle identifier/code system aliases in search?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:24):

our servers do what's in the spec. What do you mean specifically?

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:27):

If there's a NamingSystem resource for LOINC that lists http://loinc.org and urn:oid:2.16.840.1.113883.6.1 as aliases, are these equivalent searches?

[base]/Observation?code=http://loinc.org|123
and
[base]/Observation?code=urn:oid:2.16.840.1.113883.6.1|123

view this post on Zulip Lloyd McKenzie (Apr 26 2016 at 16:27):

Do you mean searching for a match on a LOINC code using an alternate URI? That's not required as part of the spec and I don't know anyone who does this. Technically someone searching by anything other than the "approved" URI is non-conformant. However, that doesn't mean you couldn't choose to support it anyhow.

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:27):

Yep - exactly what I'm asking...

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:28):

Is there any conversion to the "canoncial URI" as in ucum units for Quantities?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:29):

I don't support that, though it's possible that I could

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:29):

though it would have some interesting challenges....

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:29):

Seems to make sense if we're going to provide a place to document aliases...

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:30):

Especially in the enterprise use cases where terminologies may or may not be quite so well defined and identifiers may...um...evolve.

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:31):

well, there's 2 different things here:
- an operation on naming system to return possible equivalent URIs
- the server just doing the switch internally

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:31):

the second is less obviously useful to me - I search for loinc, and get back some resource with no LOINC code in it...

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:32):

Currently we implement this in search handling by adding an OR block to the systems using the aliases.

view this post on Zulip Grahame Grieve (Apr 26 2016 at 16:36):

well, I would too - it would be less efficient but not much. But I'm more interested in the surprise factor here

view this post on Zulip Chris Grenz (Apr 26 2016 at 16:40):

Use case (that I currently have): I've got converted v2/v3 data with OIDs and am combining that with native FHIR data with URIs. I don't control either data set. As a result, I'm going to have both naming systems in my instance data...would be nice to not make all the clients deal with this. Also, the clients may not know when I add another source with yet another system alias...

view this post on Zulip Ewout Kramer (Apr 26 2016 at 18:17):

So, is a CodeSystem one concrete manifestation out of a more abstract "set" of systems representing a single "NamingSystem"?

view this post on Zulip Chris Grenz (Apr 26 2016 at 18:17):

Don't think so... a CodeSystem is-a NamingSystem, no?

view this post on Zulip Grahame Grieve (Apr 26 2016 at 19:08):

I think it's true at some level, but not true at the object level

view this post on Zulip Chris Grenz (Apr 26 2016 at 19:09):

Right...from a instance granularity though, 1 CodeSystem = 1 NamingSystem

view this post on Zulip Grahame Grieve (Apr 26 2016 at 19:10):

well, that should be the case, but there are cases for >1 on ether side

view this post on Zulip Chris Grenz (Apr 26 2016 at 19:10):

That makes me nervous...I'll wait and watch I guess

view this post on Zulip Grahame Grieve (Apr 26 2016 at 19:18):

yeah I don't know that I like it either. most of them arise from degnerate processes, but you can't stop that from happenin

view this post on Zulip Rob Hausam (Apr 26 2016 at 19:57):

I think that Lloyd's explanation makes sense. But I want to see how the ramifications play out - particularly with search (as Chris described).


Last updated: Apr 12 2022 at 19:14 UTC