FHIR Chat · CodeSystem for UCUM? · implementers

Stream: implementers

Topic: CodeSystem for UCUM?


view this post on Zulip Paul Lynch (Jun 03 2019 at 21:11):

Does a CodeSystem resource for UCUM (https://unitsofmeasure.org) exist somewhere? I am curious to see what happens for a code system that cannot be fully enumerated.

view this post on Zulip nicola (RIO/SS) (Jun 03 2019 at 22:00):

Probably UCUM is not code system at all. We discussed with @Grahame Grieve a long time ago FHIR UCUM service :)

view this post on Zulip nicola (RIO/SS) (Jun 03 2019 at 22:01):

There are already operations for it - $cannonize, $translate :)

view this post on Zulip Peter Jordan (Jun 03 2019 at 22:04):

http://hl7.org/fhir/ucum.html - note the ValueSet for common UCUM codes.

view this post on Zulip Rob Hausam (Jun 03 2019 at 22:05):

It is a compositional code system, with an expression syntax and a potentially infinite set of codes (see here).

view this post on Zulip Rob Hausam (Jun 03 2019 at 22:07):

@nicola (RIO/SS) What is "$cannonize" supposed to represent?

view this post on Zulip nicola (RIO/SS) (Jun 03 2019 at 22:12):

translate to SI :)

view this post on Zulip Grahame Grieve (Jun 04 2019 at 00:46):

there is no code system resource. Server implementations can only exist in code. But that doesn't matter to a client - it's just another code system to them

view this post on Zulip Paul Lynch (Jun 04 2019 at 20:39):

UCUM defines a number of properties for its units (in ucum-essence.xml) including a short definition, and isMetric flag, and a "class". It would be useful to be able to access that information in FHIR, and the logical place would be in a CodeSystem resource. The problem is that is not fully enumerable, but perhaps that could be solved setting CodeSystem.content to "fragment"?

view this post on Zulip Lloyd McKenzie (Jun 04 2019 at 20:45):

You could also get it using $lookup

view this post on Zulip Brian Postlethwaite (Jun 04 2019 at 20:47):

I don't know that it's a fragment, as it contains the know ucum codes. However the extended properties aren't all there. But should be accessible through lookup. Just no extensions

view this post on Zulip Rob Hausam (Jun 04 2019 at 20:56):

I don't see any reason that we can't or shouldn't create a CodeSystem resource to describe the UCUM code system and its properties. As was mentioned, you could optionally also include a fragment of the content (i.e. the "known" set of UCUM codes) - but we don't do that for SNOMED CT, LOINC, etc. and for a number of other external code systems, and it may not be necessary/useful for us to do that in this case.

view this post on Zulip Paul Lynch (Jun 04 2019 at 21:11):

@Lloyd McKenzie How would I know what the names of the properties are that I could request via $lookup, without a CodeSystem resource to look at?

view this post on Zulip Lloyd McKenzie (Jun 04 2019 at 21:54):

We certainly should have a no- content CodeSystem instance.

view this post on Zulip Peter Jordan (Jun 04 2019 at 23:37):

...which would allow us to reference the CodeSystem properties in a TerminologyCapabilities resource.

view this post on Zulip Brian Postlethwaite (Jun 05 2019 at 00:51):

I always thought that existed, due to the existence of the common ucum valueset with its expansion
http://hl7.org/fhir/valueset-ucum-common.html
But I guess not :smile:

view this post on Zulip Grahame Grieve (Jun 05 2019 at 10:03):

we can define a complete code system for UCUM - just like we could with other code systems. But it has compositional = true, indicating that there's more to say....

view this post on Zulip Brian Reinhold (Jun 05 2019 at 12:48):

Speaking of UCUM, can anyone tell me what the UCUM code is for dimensionless? Is it {unitless} 1? Note the space.

view this post on Zulip nicola (RIO/SS) (Jun 05 2019 at 16:01):

Still not sure that UCUM is semantically CodeSystem (base units of UCUM is a CodeSystem) , because of internal translations, generative nature, algebras etc - it's a Units System - something special :).

view this post on Zulip Lloyd McKenzie (Jun 05 2019 at 17:47):

It has defined codes. They have meanings. Therefore it's a code system. Generative nature/post-coordination capability isn't a barrier to it being a CodeSystem. It's just an ugly one to fully represent.

view this post on Zulip Grahame Grieve (Jun 07 2019 at 04:27):

@Brian Reinhold yes

view this post on Zulip Paul Lynch (Jun 07 2019 at 20:05):

Speaking of UCUM, can anyone tell me what the UCUM code is for dimensionless? Is it {unitless} 1? Note the space.

@Brian Reinhold & @Grahame Grieve The UCUM specification says, "White space is not recognized in a a unit term and should generally not occur. UCUM implementations may flag whitespace as an error rather than ignore it. Whitespace is not used as a separator of otherwise ambiguous parts of a unit term. "

I did not reply earlier because I was not sure what to suggest. There are many possible dimensionless UCUM units. "{unitless}" by itself is fine. Incidentally, we have an on-line validator at https://ucum.nlm.nih.gov/ucum-lhc/demo.html. That one says "{unitless} 1" is not valid, as does as a validation API written by Jozef Aerts: https://ucum.nlm.nih.gov/ucum-service/v1/isValidUCUM/%7Bunitless%7D%201. Of course, both of those could be wrong, which I why I am citing the spec above.


Last updated: Apr 12 2022 at 19:14 UTC