In the CDA R2 CCD implementation guide, a ClinicalDocument
element (the root element of the document) is supposed to have an id
element.
This id
element is of the "II" datatype: http://wiki.hl7.no/index.php/R1:II
This states that the root
attribute is to have an OID value, to identify the type of identification used in the extension
attribute.
Now, when looking at the sample CCD document that HL7 provides we see:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="CDASchemas\cda\Schemas\CCD.xsl"?>
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd" >
...
<id root="db734647-fc99-424c-a864-7e3cda82e703"/>
...
</ClinicalDocument>
The root value db734647-fc99-424c-a864-7e3cda82e703 is not an OID. I'm not sure what it is, but it looks like a UUID perhaps? Anyway, is this a static value for all CCD documents, or will it differ from document to another? Why is the extension
attribute not used, isn't that what identifies the document?
Note that throughout that same sample document I also see things like
<id root="2.16.840.1.113883.19.5" />
which seem to be OIDs (in the root
attribute).
EDIT: The sample document I reference is from the HL7 CCD implementation guide, i.e it is from the official source, it is unlikely that they would have a glaring error in their sample file that nobody has noticed before.
Old question, I know, but I'm just learning about this stuff and I think I finally have my head wrapped around it.
The roots are basically like namespaces or domains in which the id will be valid and guaranteed to be unique. For example if your authority/organization is generating CDAs it will most likely have applied for a unique OID (the value you see in the root is an OID 2.16.840.1.113883.19.4).
So, for the example above,
<id root="2.16.840.1.113883.19.4" extension="abc266"/>
I'm going to guess that 2.16.840.1.113883.19 is the base OID for the authority sending out the CDA and the .4 is most likely the OID to indicate that this
<id>
is in fact the document's identifier (the authority defines these OID extensions under the base OID)
"extension" is the Unique Identifier value for this particular document.
In regards to your comment about the implementation guide not having glaring errors, I've found quite the opposite in trying to figure this stuff out...there are errors abound. I do believe the root is always to be an OID, the extensions are usually UUIDs or some other unique ID.
According to these two links:
http://tl7.intelliware.ca/public/messages/dataTypes/ii.faces and http://cdatools.com/infocenter/index.jsp?topic=/org.openhealthtools.mdht.uml.cda.consol.doc/classes/GeneralHeaderConstraints.html
the "II" datatype accepts both OID and UUID in its root
element.
Can someone direct me to the official documentation explaining this?
Sidenote: The lack of proper documentation and knowledge available online regarding HL7 is quite disappointing, given the fact that it is widely used.
You can download the CDA Release 2 documentation here: http://www.hl7.org/implement/standards/product_brief.cfm?product_id=7
Note: you will have to create an account, but not a paid account. Also, when I forgot my password, they emailed it in plain text to me. Don't use your secure password here.
In datatypes-base.xsd, you can see an explanation of II type. Root is a UID, and there are 2 types of UID. An OID and a UUID.
UUIDs are GUIDs (your example). OIDs are HL7 designated IDs. You can file for an organizational OID, and you have control over any leaf OIDs from that point. Following pattern "[0-2](\.(0|[1-9][0-9]*))*"
Between the root and extension (string), the II should be universally unique. An OID can be unique by itself. A couple examples.
OID "2.16.840.1.113883" is Hl7 (https://www.hl7.org/oid/index.cfm). Leaf ".10.20.22" is HL7 Health Story Templates. Leaf ".1.2" is a Continuity Of Care Document.
<id root="2.16.840.1.113883.10.20.22.1.2" /> is globally unique for a CCD template, extension unneeded
OID "2.16.840.1.113883.5" is HL7 V3 Code Systems. ".1" is Administrative Gender
<id root="2.16.840.1.113883.5.1" extension="M" /> is globally unique for Male
That gives you two options for generating an II for your clinical document. You can generate your own GUID. Or you can use any local identifier, if you have a meaningful ID within an OID/leaf that your organization controls. Pulling the top OID from the hl7 registry ("2.16.840.1.113883.5.3" is external users; ".1" is ProVation) as an example:
They could define leafs as needed; and each time they send a document, it would reference the same unique document. Theoretically: 100=documents; 100.2=clinical documents; extension=databaseIdentityColumn.
<id root="2.16.840.1.113883.5.3.1.100.2" extension="1" /> = first document they created
<id root="2.16.840.1.113883.5.3.1.100.2" extension="15" /> = 15th document they created
It's also perfectly valid to use OID only format, as long as it's globally unique.
<id root="2.16.840.1.113883.5.3.1.100.2.15" /> = 15th document they created
Similar to a globally unique SSN
<id root="2.16.840.1.113883.4.1" extension="111-11-1111" />
Then locally defined patient identifier could be .12=patient chart
<id root="2.16.840.1.113883.5.3.1.12" extension="ZZ1234-111111" />
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With