UCUMUnified Code for Units of Measure
In short
UCUM is a code for writing units of measure, such as milligrams per decilitre or millimetres of mercury, so that a computer interprets them without ambiguity. Its purpose is the unambiguous electronic communication of quantities with their units, and it lets software validate and convert units automatically. It is maintained by the Regenstrief Institute and is free to use.
- Type
- Terminology
- Steward
- Regenstrief Institute
- Current version
- 2.2
- Reviewed
- October 25, 2026
Explanation
What it is
The Unified Code for Units of Measure (UCUM) is a code system intended to include all units of measure used today in science, engineering and business. Its purpose is the unambiguous electronic communication of quantities with their units, between systems rather than between people. It was created by Gunther Schadow and Clem McDonald in 1999, and it is now managed by the Regenstrief Institute, which also maintains LOINC. As of October 2026, the current version of the specification is 2.2, dated June 2024.
How it works
UCUM is based on a semantic model of dimensional analysis. A small table defines the prefixes and atomic units, and other units are built by combining them. That is why a program can validate an expression and convert it to another equivalent unit without huge conversion tables.
| Unit | UCUM code |
|---|---|
| millimetre of mercury | mm[Hg] |
| degree Celsius | Cel |
| millimetre | mm |
Licence
The UCUM licence grants, without charge or royalties, the right to reproduce and distribute the specification and to use it to develop and commercialize software that implements it. It forbids using it to develop or promote a different standard for units of measure.
Common misconceptions
- The code is not what is displayed. The degree Celsius is displayed as "°C", but its code is
Cel. - Case matters. UCUM defines a case-sensitive and a case-insensitive form, and the two are not compatible with each other.
- Annotations in curly braces, such as
{RBC}, carry no meaning: a conformant parser must discard them. They cannot be used to tell two measurements apart. - A text field that "looks like" UCUM is not guaranteed to be UCUM. FHIR warns that the unit text may not be a valid UCUM code; validate the code.
Usage examples
The FHIR vital signs profile requires every numeric measurement to carry a standard UCUM unit; blood pressure is expressed in mm[Hg].
The FHIR Age, Duration and Distance data types require that, if the unit system is given, it is UCUM; the general Quantity type recommends UCUM whenever the unit can be coded that way.
The openEHR DV_QUANTITY type expresses units by default in the case-sensitive UCUM syntax.
DICOM registers UCUM among the coding schemes in its Part 16, with the designator "UCUM".
The US National Library of Medicine (NLM) provides web services to validate and convert UCUM units and the ucum-lhc JavaScript library.
Relation to other terms
Relies on0
This term does not rely on other glossary terms.
Depend on this one2
Sources
- UCUM — The Unified Code for Units of Measure (especificación 2.2)ucum.org
- UCUM — Unified Code for Units of Measureucum.org
- UCUM — Historyucum.org
- UCUM — Licenseucum.org
- NLM — UCUM resources (Lister Hill National Center)ucum.nlm.nih.gov
- HL7 FHIR — Data Types (Quantity, Age, Duration, Distance)hl7.org
- HL7 FHIR — Vital Signs profilehl7.org
- openEHR — Data Types Information Model (DV_QUANTITY)specifications.openehr.org
- DICOM PS3.16 — Coding Schemesdicom.nema.org
- LOINC — About LOINC (Regenstrief, responsable de LOINC y UCUM)loinc.org

