CDA R2 mapping to CDA R3
Back to CDA_R3_Project
Introduction
This page contains information on how CDA R2 maps to CDA R3. The mapping is supported by an XSLT 2.0 transformation. Initial formal presentation of this mapping has been on Friday Q1 during the HL7 WGM 2013 in Phoenix.
Purpose
At first glance CDA R3 could look overwhelming because of the introduction of building blocks (CMETs) that expose the full RIM for participants and the level 3 entries. While it is true that CDA R3 allows for a lot of functionality out of the box, it should be relatively easy to reuse any CDA R2 implementation. It might be expected that by the time CDA R3 hits the market, a lot of vendors have investments in CDA R2. A mapping that leverages this investment should be helpful in making the transition.
Mapping
Most things can be copied as-is. Specials are listed below:
- Datatypes conversion needed from R1 to R2
- CDA R2 POCD_MT000040.AssignedAuthor.assignedAuthoringDevice is CDA R3 assignedDevice
- CDA R2 POCD_MT000040.Birthplace.place is CDA R3 birthplace
- CDA R2 POCD_MT000040.ClinicalDocument.participant is CDA R3 participation1
- CDA R2 POCD_MT000040.Component2.nonXMLBody is CDA R3 nonStructuredBody
- CDA R2 POCD_MT000040.Component4.organizer is CDA R3 observation
- CDA R2 POCD_MT000040.Consumable.manufacturedProduct is CDA R3 role
- CDA R2 POCD_MT000040.Entry.organizer is CDA R3 observation
- CDA R2 POCD_MT000040.EntryRelationship.organizer is CDA R3 observation
- CDA R2 POCD_MT000040.Organizer.component is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Act.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Act.author is CDA R3 participation
- CDA R2 POCD_MT000040.Act.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Act.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Act.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Act.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Act.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Act.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Act.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Encounter.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Encounter.author is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Encounter.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Encounter.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.HealthCareFacility.location is CDA R3 playingPlace
- CDA R2 POCD_MT000040.HealthCareFacility.serviceProviderOrganization is CDA R3 scopingOrganization
- CDA R2 POCD_MT000040.ManufacturedProduct.manufacturedLabeledDrug is CDA R3 playingManufacturedMaterial
- CDA R2 POCD_MT000040.ManufacturedProduct.manufacturedMaterial is CDA R3 playingManufacturedMaterial
- CDA R2 POCD_MT000040.ManufacturedProduct.manufacturerOrganization is CDA R3 scopingOrganization
- CDA R2 POCD_MT000040.Organizer.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Organizer.author is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Organizer.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Organizer.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Observation.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Observation.author is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Observation.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Observation.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Observation.referenceRange is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.ObservationMedia.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.ObservationMedia.author is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.informant is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.participant is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.performer is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.subject is CDA R3 participation
- CDA R2 POCD_MT000040.ObservationMedia.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.ObservationMedia.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Participant2.participantRole is CDA R3 role
- CDA R2 POCD_MT000040.Performer2.assignedEntity is CDA R3 role
- CDA R2 POCD_MT000040.Precondition.criterion is CDA R3 observation
- CDA R2 POCD_MT000040.Procedure.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Procedure.author is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Procedure.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Procedure.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Product.manufacturedProduct is CDA R3 role
- CDA R2 POCD_MT000040.Reference.externalAct is CDA R3 act
- CDA R2 POCD_MT000040.Reference.externalDocument is CDA R3 document
- CDA R2 POCD_MT000040.Reference.externalObservation is CDA R3 observation
- CDA R2 POCD_MT000040.Reference.externalProcedure is CDA R3 procedure
- CDA R2 POCD_MT000040.ReferenceRange.observationRange is CDA R3 observation
- CDA R2 POCD_MT000040.RegionOfInterest.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.RegionOfInterest.author is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.informant is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.participant is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.performer is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.subject is CDA R3 participation
- CDA R2 POCD_MT000040.RegionOfInterest.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.RegionOfInterest.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Specimen.specimenRole is CDA R3 role
- CDA R2 POCD_MT000040.SpecimenRole.specimenPlayingEntity is CDA R3 playingEntity
- CDA R2 POCD_MT000040.SubstanceAdministration.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.SubstanceAdministration.author is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.informant is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.participant is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.performer is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.subject is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.consumable is CDA R3 participation
- CDA R2 POCD_MT000040.SubstanceAdministration.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.SubstanceAdministration.reference is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Supply.entryRelationship is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Supply.author is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.informant is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.participant is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.performer is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.subject is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.precondition is CDA R3 outboundRelationship
- CDA R2 POCD_MT000040.Supply.product is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.specimen is CDA R3 participation
- CDA R2 POCD_MT000040.Supply.reference is CDA R3 outboundRelationship
Known issues
- CDA R2 allows for extensions. It is not possible for a generic mapping to do the necessary datatype conversion as it doesn't know what input datatype is used and if the extension is still applicable in CDA R3. The mapping should be extended to include mapping of these extensions.
- CDA R2 contains the abstract datatype ANY in a number of places, most notably in level 3 Observation and ObservationRange. If a document is instantiated then the mapping reads @xsi:type to determine the actual datatype. This mapping will fail and terminate if the actual datatype is not in use somewhere else in CDA already, e.g. SXCM_PQ.
- (Solved) CDA R2 contains datatype CS in a number of cases where CDA R3 has datatype CD, e.g. ClinicalDocument.languageCode. Mapping currently does not yet add the appropriate @codeSystem.
Download mapping
Download File:Cdar2-to-cdar3-mapping.zip (last edited May 20, 2013) containing, among other things:
- cda2_to_cdar3.xsl - the transformation
- cdar2xsd_to_cdar3xsl.xsl (generates by cdar2_to_cdar3.xsl)
- Sample1.CDAr2.xml / Sample1.CDAr3.xml - standard CCD example and conversion result
- Sample2.CDAr2.xml / Sample2.CDAr3.xml - Dutch lab exmple with extensions and conversion result