openehr_terminology.xml - support for Arbitrary units


Silje has nicely elaborated the topic of Arbitrary units, which would require to update openehr_terminology.xml and further PropertyUnitData.xml file.


I've quickly looked into this now. Arbitrary units is a bit of a difficult topic.

1. Amylase is a bad example because it (usually) is expressed using the enzymatic activity unit ‘U’, as ‘U/L’. This is also a valid UCUM code.
2. Lots of other analyses, and some medications and other substances, uses arbitrary units that don’t have their own UCUM symbol. Examples of these are “p.d.u.” and “SQ-U”. These could be represented using either just ‘[arb’U]’ or for example ‘[arb’U]{p.d.u.}’ or ‘[arb’U]{SQ-U}’ to both let the computer know it can’t do conversions involving the unit, and to humans which kind of arbitrary unit we’re talking about.
3. To be able to represent these in the PropertyUnitData.xml file, we need to have an “Arbitrary” property, which isn’t currently in the openehr_terminology.xml. If this was added, we could easily add the following to the units xml:

<Property id="XX" Text="Arbitrary" openEHR="YYY" />
<Unit property_id="XX" Text="U" name="enzyme unit" conversion="1" primary="true" UCUM="U"/>
<Unit property_id="XX" Text="arb. unit" name="arbitrary unit" conversion="1" primary="true" UCUM="[arb’U]"/>
<Unit property_id="XX" Text="p.d.u." name="procedure defined unit" conversion="1" primary="true" UCUM="[arb’U]{p.d.u.}"/>
<Unit property_id="XX" Text="SQ-U" name="standardized quality unit" conversion="1" primary="true" UCUM="[arb’U]{SQ-U}"/>
<Unit property_id="59" Text="{YYY/129}" name="{ARB. UNIT/VOLUME}" conversion="0" primary="false" />





Borut Fabjan