Current Build
FHIR Infrastructure Work GroupMaturity Level: N/ABallot Status: Informative

In addition to a list of all differences between DSTU 2 and STU 3, this specification also provides transforms between DSTU and STU 3 for most resources that were in DSTU 2. These transforms are expressed using the FHIR Mapping Language, and both serve as formal documentation of the relationship between the resource structures in R2 and R3, and can also be used to convert between the formats automatically.

The following table summarizes the state of the R2:R3 maps for each resource type.

Note the following:

  • Transforms are tested using the following method:
    1. For each example resource in the R2 release of the FHIR specification that has a transform to R3
    2. apply the transform to R3
    3. validate against the R3 specification
    4. apply the reverse transform back to R2
    5. compare the outcome with the original resource - ideally, it should be identical
  • All transforms should execute - that is, they should be able to take any R2 resource, represent the content in R3, and then generate an R2 representation for the same content. Note, though, that in a few cases, the differences between R2 and R3 designs are so significant that not all examples can be successfully transformed at all.
  • For some resources, the differences in design between R2 and R3 are sufficiently great that the R2 examples cannot reproduce the same output after conversion to R3 and then back to R2. For example, the R3 resource may have a different set of status codes with imperfect maps
  • For some resources, the information available in the R2 examples is not enough to generate valid R3 resources, and so the resources generate R3 validation errors. (e.g. R2 resources missing an element that is required in R3)
  • The transform scripts are only tested to the degree that R2 provided example data
  • The Bundle tests include the large distribution files (all valuesets, structure definitions, etc) and so generate large numbers of validation errors
  • For all these reasons, the maps provided in the specification are not authoritative; they are provided to help implementers who need to convert between the R2 and R3 format, but additional revision may be required in an implementation specific context. The FHIR Wiki tracks ongoing work to provide improved transforms, and other transformation options
Resource # Tests % Execute OK % RoundTrip Ok % R3 Valid R3 Error Count
Account1100100100
ActivityDefinitionNo r2:r3 maps available
AdverseEventNo r2:r3 maps available
AllergyIntolerance510060206
Appointment3100100100
AppointmentResponse2100100100
AuditEvent8100100100
Basic4100100753
Binary2100100100
BodyStructureNo r2:r3 maps available
Bundle239550503836
CapabilityStatement19100036453
CarePlan1010020033
CareTeamNo r2:r3 maps available
CatalogEntryNo r2:r3 maps available
ChargeItemNo r2:r3 maps available
ClaimNo r2:r3 maps available
ClaimResponseNo r2:r3 maps available
ClinicalImpression11000100
CodeSystemNo r2:r3 maps available
Communication2100100100
CommunicationRequest210050501
CompartmentDefinitionNo r2:r3 maps available
Composition1100100100
ConceptMap2100100501
Condition1410021014
ConsentNo r2:r3 maps available
Contract1100100100
CoverageNo r2:r3 maps available
DetectedIssue410010004
Device510060100
DeviceComponent2100100100
DeviceMetric1100100100
DeviceRequestNo r2:r3 maps available
DeviceUseStatement110010001
DiagnosticReport117206222
DocumentManifest11000100
DocumentReference11000100
EligibilityRequestNo r2:r3 maps available
EligibilityResponseNo r2:r3 maps available
Encounter1010090802
EndpointNo r2:r3 maps available
EnrollmentRequest11000100
EnrollmentResponse11000100
EpisodeOfCare1100100100
EventDefinitionNo r2:r3 maps available
ExampleScenarioNo r2:r3 maps available
ExpansionProfileNo r2:r3 maps available
ExplanationOfBenefitNo r2:r3 maps available
FamilyMemberHistory3100100100
Flag3100100100
Goal210010002
GraphDefinitionNo r2:r3 maps available
Group2100100100
GuidanceResponseNo r2:r3 maps available
HealthcareService11000100
ImagingManifestNo r2:r3 maps available
ImagingStudy21000502
Immunization2100002
ImmunizationRecommendation1100100100
ImplementationGuide1100100100
LibraryNo r2:r3 maps available
LinkageNo r2:r3 maps available
ListNo r2:r3 maps available
Location6100100100
MeasureNo r2:r3 maps available
MeasureReportNo r2:r3 maps available
Media3100100100
Medication2310030951
MedicationAdministration3100100100
MedicationDispense71000852
MedicationRequest1894100706
MedicationStatement7100100851
MessageDefinitionNo r2:r3 maps available
MessageHeader1100100100
NamingSystem3100100100
NutritionOrderNo r2:r3 maps available
Observation341001005558
OperationDefinition1810094100
OperationOutcome6100100100
Organization14100100852
Patient181001006612
PaymentNoticeNo r2:r3 maps available
PaymentReconciliationNo r2:r3 maps available
Person5100100100
PlanDefinitionNo r2:r3 maps available
Practitioner1810016100
PractitionerRoleNo r2:r3 maps available
Procedure9100100100
ProcedureRequest61001609
ProcessRequestNo r2:r3 maps available
ProcessResponseNo r2:r3 maps available
Provenance210050501
Questionnaire61003316109
QuestionnaireResponse610083019
RelatedPerson4100100751
RequestGroupNo r2:r3 maps available
ResearchStudyNo r2:r3 maps available
ResearchSubjectNo r2:r3 maps available
RiskAssessment410010004
Schedule1100100100
SearchParameter2100100100
SequenceNo r2:r3 maps available
ServiceDefinitionNo r2:r3 maps available
Slot4100100100
Specimen6100100831
SpecimenDefinitionNo r2:r3 maps available
StructureDefinition2481007541441
StructureMapNo r2:r3 maps available
Subscription2100100100
Substance6100100100
SupplyDelivery1100100100
SupplyRequest1100100100
TaskNo r2:r3 maps available
TestReportNo r2:r3 maps available
TestScript61000011
ValueSet1110054634
VisionPrescription21000100