Details
-
Change Request
-
Resolution: Persuasive
-
Medium
-
US C-CDA on FHIR (FHIR)
-
1.2.0-ballot
-
Cross-Group Projects
-
Mapping General and Structural Guidance
-
-
Jay Lyle/Michelle Currie: 10-0-0
-
Clarification
-
Non-substantive
Description
From CDA:
The literal form for the UUID is defined according to the original specification of the UUID. However, because the HL7 UIDs are case sensitive, for use with HL7, the hexadecimal digits A-F in UUIDs must be converted to upper case.
...
The output of UUID related programs and functions may use all sorts of forms, upper case, lower case, and with or without the hyphens that group the digits. This variate output must be postprocessed to conform to the HL7 specification, i.e., the hyphens must be inserted for the 8-4-4-4-12 grouping and all hexadecimal digits must be converted to upper case.
From FHIR (where the type of Identifier.system = uri):
A Uniform Resource Identifier Reference (RFC 3986 icon). Note: URIs are case sensitive. For UUID (urn:uuid:53fefa32-fcbb-4ff8-8a92-55ee120877b7) use all lowercase
So interestingly, there's a difference between CDA and FHIR that should be taken into account when converting id to & from identifier.
For CDA > FHIR, when the `@root` is a UUID, it should be converted to lower-case before being stored in system. If there is no extension and the UUID will be stored in the .value, I'm not 100% sure it's required to be in lower-case in that instance, but it may be best to be consistent and convert it either way.
When going from FHIR > CDA: when converting a UUID from either the .system or the .value (when system = `urn:ietf:rfc:3986`), convert it to upper-case before setting the `@root` attribute.