CDA R3 avoid xsi:type
Return to SDTC page; Return to CDA R3 Formal Proposals page.
See CDA R3 Formal Proposals for instructions on using this form. Failure to adhere to these instructions may result in delays. Editing of formal proposals is restricted to the submitter and SDTC co-chairs. Other changes will be undone. Comments can be captured in the associated discussion page.
(An announcement of this proposal must be submitted to the Structured Documents list to be formally submitted.)
Submitted by: Rick Geimer | Revision date: August 31, 2009 |
Submitted date: August 31, 2009 | Change request ID: <<Change Request ID>> |
Issue
Requiring the use of the xsi:type attribute is problematic. First, it binds CDA to the XML Schema language (other schema languages, like RelaxNG, do not support xsi:type), and also many XML tools to not support this XML Schema specific attribute.
Recommendation
- Create clones of the <value/> element (inside an observation) that are pre-bound to specific datatypes, i.e. <physicalQuantity/> would be pre-defined as a PQ.
Rationale
Creating named clones for each datatype allowed in CDA would limit our dependence on the XML Schema language, and also improve tool compatibility.
For example, In the following observation:
<observation classCode="OBS" moodCode="EVN">
<statusCode code="completed"/>
<effectiveTime value="200004071430"/>
<value xsi:type="PQ" value="1.77" unit="m"/>
</observation>
you could replace
<value xsi:type="PQ" value="1.77" unit="m"/>
with
<physicalQuantity value="1.77" unit="m"/>
For more reasons why the use of xsi:type is often frowned upon, refer to Norm's blog entry on the subject: http://norman.walsh.name/2004/01/29/trainwreck.
Discussion
Recommended Action Items
Resolution
March 23, 2010: This is an ITS and data types issue. Opposed: 0; Abstain: 0; In favor: 6.