This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "CDA R2 mapping to CDA R3"

From HL7Wiki
Jump to navigation Jump to search
(Mapping update)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
Back to [[CDA_R3_Project]]
 
Back to [[CDA_R3_Project]]
 
<p style="font-weight: bold;color: red;">This page is work in progress and is not yet suitable for general consumption. Intended to be finished by Friday Jan 25, 2013</p>
 
  
 
==Introduction==
 
==Introduction==
Line 20: Line 18:
 
#CDA R2 ''POCD_MT000040.ClinicalDocument.participant'' is CDA R3 ''participation1''
 
#CDA R2 ''POCD_MT000040.ClinicalDocument.participant'' is CDA R3 ''participation1''
 
#CDA R2 ''POCD_MT000040.Component2.nonXMLBody'' is CDA R3 ''nonStructuredBody''
 
#CDA R2 ''POCD_MT000040.Component2.nonXMLBody'' is CDA R3 ''nonStructuredBody''
#CDA R2 ''POCD_MT000040.Component4.organizer'' is CDA R3 ''composition''
+
#CDA R2 ''POCD_MT000040.Component4.organizer'' is CDA R3 ''observation''
 
#CDA R2 ''POCD_MT000040.Consumable.manufacturedProduct'' is CDA R3 ''role''
 
#CDA R2 ''POCD_MT000040.Consumable.manufacturedProduct'' is CDA R3 ''role''
 
#CDA R2 ''POCD_MT000040.Entry.organizer'' is CDA R3 ''observation''
 
#CDA R2 ''POCD_MT000040.Entry.organizer'' is CDA R3 ''observation''
Line 130: Line 128:
 
*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 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.
 
*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.
*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.
+
*(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 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

Latest revision as of 13:11, 20 May 2013

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:

  1. Datatypes conversion needed from R1 to R2
  2. CDA R2 POCD_MT000040.AssignedAuthor.assignedAuthoringDevice is CDA R3 assignedDevice
  3. CDA R2 POCD_MT000040.Birthplace.place is CDA R3 birthplace
  4. CDA R2 POCD_MT000040.ClinicalDocument.participant is CDA R3 participation1
  5. CDA R2 POCD_MT000040.Component2.nonXMLBody is CDA R3 nonStructuredBody
  6. CDA R2 POCD_MT000040.Component4.organizer is CDA R3 observation
  7. CDA R2 POCD_MT000040.Consumable.manufacturedProduct is CDA R3 role
  8. CDA R2 POCD_MT000040.Entry.organizer is CDA R3 observation
  9. CDA R2 POCD_MT000040.EntryRelationship.organizer is CDA R3 observation
  10. CDA R2 POCD_MT000040.Organizer.component is CDA R3 outboundRelationship
  11. CDA R2 POCD_MT000040.Act.entryRelationship is CDA R3 outboundRelationship
  12. CDA R2 POCD_MT000040.Act.author is CDA R3 participation
  13. CDA R2 POCD_MT000040.Act.informant is CDA R3 participation
  14. CDA R2 POCD_MT000040.Act.participant is CDA R3 participation
  15. CDA R2 POCD_MT000040.Act.performer is CDA R3 participation
  16. CDA R2 POCD_MT000040.Act.specimen is CDA R3 participation
  17. CDA R2 POCD_MT000040.Act.subject is CDA R3 participation
  18. CDA R2 POCD_MT000040.Act.precondition is CDA R3 outboundRelationship
  19. CDA R2 POCD_MT000040.Act.reference is CDA R3 outboundRelationship
  20. CDA R2 POCD_MT000040.Encounter.entryRelationship is CDA R3 outboundRelationship
  21. CDA R2 POCD_MT000040.Encounter.author is CDA R3 participation
  22. CDA R2 POCD_MT000040.Encounter.informant is CDA R3 participation
  23. CDA R2 POCD_MT000040.Encounter.participant is CDA R3 participation
  24. CDA R2 POCD_MT000040.Encounter.performer is CDA R3 participation
  25. CDA R2 POCD_MT000040.Encounter.specimen is CDA R3 participation
  26. CDA R2 POCD_MT000040.Encounter.subject is CDA R3 participation
  27. CDA R2 POCD_MT000040.Encounter.precondition is CDA R3 outboundRelationship
  28. CDA R2 POCD_MT000040.Encounter.reference is CDA R3 outboundRelationship
  29. CDA R2 POCD_MT000040.HealthCareFacility.location is CDA R3 playingPlace
  30. CDA R2 POCD_MT000040.HealthCareFacility.serviceProviderOrganization is CDA R3 scopingOrganization
  31. CDA R2 POCD_MT000040.ManufacturedProduct.manufacturedLabeledDrug is CDA R3 playingManufacturedMaterial
  32. CDA R2 POCD_MT000040.ManufacturedProduct.manufacturedMaterial is CDA R3 playingManufacturedMaterial
  33. CDA R2 POCD_MT000040.ManufacturedProduct.manufacturerOrganization is CDA R3 scopingOrganization
  34. CDA R2 POCD_MT000040.Organizer.entryRelationship is CDA R3 outboundRelationship
  35. CDA R2 POCD_MT000040.Organizer.author is CDA R3 participation
  36. CDA R2 POCD_MT000040.Organizer.informant is CDA R3 participation
  37. CDA R2 POCD_MT000040.Organizer.participant is CDA R3 participation
  38. CDA R2 POCD_MT000040.Organizer.performer is CDA R3 participation
  39. CDA R2 POCD_MT000040.Organizer.specimen is CDA R3 participation
  40. CDA R2 POCD_MT000040.Organizer.subject is CDA R3 participation
  41. CDA R2 POCD_MT000040.Organizer.precondition is CDA R3 outboundRelationship
  42. CDA R2 POCD_MT000040.Organizer.reference is CDA R3 outboundRelationship
  43. CDA R2 POCD_MT000040.Observation.entryRelationship is CDA R3 outboundRelationship
  44. CDA R2 POCD_MT000040.Observation.author is CDA R3 participation
  45. CDA R2 POCD_MT000040.Observation.informant is CDA R3 participation
  46. CDA R2 POCD_MT000040.Observation.participant is CDA R3 participation
  47. CDA R2 POCD_MT000040.Observation.performer is CDA R3 participation
  48. CDA R2 POCD_MT000040.Observation.specimen is CDA R3 participation
  49. CDA R2 POCD_MT000040.Observation.subject is CDA R3 participation
  50. CDA R2 POCD_MT000040.Observation.precondition is CDA R3 outboundRelationship
  51. CDA R2 POCD_MT000040.Observation.reference is CDA R3 outboundRelationship
  52. CDA R2 POCD_MT000040.Observation.referenceRange is CDA R3 outboundRelationship
  53. CDA R2 POCD_MT000040.ObservationMedia.entryRelationship is CDA R3 outboundRelationship
  54. CDA R2 POCD_MT000040.ObservationMedia.author is CDA R3 participation
  55. CDA R2 POCD_MT000040.ObservationMedia.informant is CDA R3 participation
  56. CDA R2 POCD_MT000040.ObservationMedia.participant is CDA R3 participation
  57. CDA R2 POCD_MT000040.ObservationMedia.performer is CDA R3 participation
  58. CDA R2 POCD_MT000040.ObservationMedia.specimen is CDA R3 participation
  59. CDA R2 POCD_MT000040.ObservationMedia.subject is CDA R3 participation
  60. CDA R2 POCD_MT000040.ObservationMedia.precondition is CDA R3 outboundRelationship
  61. CDA R2 POCD_MT000040.ObservationMedia.reference is CDA R3 outboundRelationship
  62. CDA R2 POCD_MT000040.Participant2.participantRole is CDA R3 role
  63. CDA R2 POCD_MT000040.Performer2.assignedEntity is CDA R3 role
  64. CDA R2 POCD_MT000040.Precondition.criterion is CDA R3 observation
  65. CDA R2 POCD_MT000040.Procedure.entryRelationship is CDA R3 outboundRelationship
  66. CDA R2 POCD_MT000040.Procedure.author is CDA R3 participation
  67. CDA R2 POCD_MT000040.Procedure.informant is CDA R3 participation
  68. CDA R2 POCD_MT000040.Procedure.participant is CDA R3 participation
  69. CDA R2 POCD_MT000040.Procedure.performer is CDA R3 participation
  70. CDA R2 POCD_MT000040.Procedure.specimen is CDA R3 participation
  71. CDA R2 POCD_MT000040.Procedure.subject is CDA R3 participation
  72. CDA R2 POCD_MT000040.Procedure.precondition is CDA R3 outboundRelationship
  73. CDA R2 POCD_MT000040.Procedure.reference is CDA R3 outboundRelationship
  74. CDA R2 POCD_MT000040.Product.manufacturedProduct is CDA R3 role
  75. CDA R2 POCD_MT000040.Reference.externalAct is CDA R3 act
  76. CDA R2 POCD_MT000040.Reference.externalDocument is CDA R3 document
  77. CDA R2 POCD_MT000040.Reference.externalObservation is CDA R3 observation
  78. CDA R2 POCD_MT000040.Reference.externalProcedure is CDA R3 procedure
  79. CDA R2 POCD_MT000040.ReferenceRange.observationRange is CDA R3 observation
  80. CDA R2 POCD_MT000040.RegionOfInterest.entryRelationship is CDA R3 outboundRelationship
  81. CDA R2 POCD_MT000040.RegionOfInterest.author is CDA R3 participation
  82. CDA R2 POCD_MT000040.RegionOfInterest.informant is CDA R3 participation
  83. CDA R2 POCD_MT000040.RegionOfInterest.participant is CDA R3 participation
  84. CDA R2 POCD_MT000040.RegionOfInterest.performer is CDA R3 participation
  85. CDA R2 POCD_MT000040.RegionOfInterest.specimen is CDA R3 participation
  86. CDA R2 POCD_MT000040.RegionOfInterest.subject is CDA R3 participation
  87. CDA R2 POCD_MT000040.RegionOfInterest.precondition is CDA R3 outboundRelationship
  88. CDA R2 POCD_MT000040.RegionOfInterest.reference is CDA R3 outboundRelationship
  89. CDA R2 POCD_MT000040.Specimen.specimenRole is CDA R3 role
  90. CDA R2 POCD_MT000040.SpecimenRole.specimenPlayingEntity is CDA R3 playingEntity
  91. CDA R2 POCD_MT000040.SubstanceAdministration.entryRelationship is CDA R3 outboundRelationship
  92. CDA R2 POCD_MT000040.SubstanceAdministration.author is CDA R3 participation
  93. CDA R2 POCD_MT000040.SubstanceAdministration.informant is CDA R3 participation
  94. CDA R2 POCD_MT000040.SubstanceAdministration.participant is CDA R3 participation
  95. CDA R2 POCD_MT000040.SubstanceAdministration.performer is CDA R3 participation
  96. CDA R2 POCD_MT000040.SubstanceAdministration.specimen is CDA R3 participation
  97. CDA R2 POCD_MT000040.SubstanceAdministration.subject is CDA R3 participation
  98. CDA R2 POCD_MT000040.SubstanceAdministration.consumable is CDA R3 participation
  99. CDA R2 POCD_MT000040.SubstanceAdministration.precondition is CDA R3 outboundRelationship
  100. CDA R2 POCD_MT000040.SubstanceAdministration.reference is CDA R3 outboundRelationship
  101. CDA R2 POCD_MT000040.Supply.entryRelationship is CDA R3 outboundRelationship
  102. CDA R2 POCD_MT000040.Supply.author is CDA R3 participation
  103. CDA R2 POCD_MT000040.Supply.informant is CDA R3 participation
  104. CDA R2 POCD_MT000040.Supply.participant is CDA R3 participation
  105. CDA R2 POCD_MT000040.Supply.performer is CDA R3 participation
  106. CDA R2 POCD_MT000040.Supply.subject is CDA R3 participation
  107. CDA R2 POCD_MT000040.Supply.precondition is CDA R3 outboundRelationship
  108. CDA R2 POCD_MT000040.Supply.product is CDA R3 participation
  109. CDA R2 POCD_MT000040.Supply.specimen is CDA R3 participation
  110. 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