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

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

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

Note the following:

  • Transforms are tested using the following method:
    1. For each example resource in the R3 release of the FHIR specification that has a transform to R4
    2. apply the transform to R4
    3. validate against the R4 specification
    4. apply the reverse transform back to R3
    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 R3 resource, represent the content in R4, and then generate an R3 representation for the same content. Note, though, that in a few cases, the differences between R3 and R4 designs are so significant that not all examples can be successfully transformed at all.
  • For some resources, the differences in design between R3 and R4 are sufficiently great that the R3 examples cannot reproduce the same output after conversion to R4 and then back to R3. For example, the R4 resource may have a different set of status codes with imperfect maps
  • For some resources, the information available in the R3 examples is not enough to generate valid R4 resources, and so the resources generate R4 validation errors. (e.g. R3 resources missing an element that is required in R4)
  • The transform scripts are only tested to the degree that R3 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
  • These maps are not yet updated to use the version specific extensions
Resource # Tests % Execute OK % RoundTrip Ok % R4 Valid R4 Error Count
Account21000100
ActivityDefinition9000
AdverseEvent1000
AllergyIntolerance31000100
Appointment3000
AppointmentResponse2100100100
AuditEvent810000
Basic3100100100
Binary2100100100
BiologicallyDerivedProductNo r2:r3 maps available
BodyStructureNo r2:r3 maps available
Bundle28851612
CapabilityStatement910000
CarePlan11631414
CareTeam11001000
CatalogEntryNo r2:r3 maps available
ChargeItem11000100
ChargeItemDefinitionNo r2:r3 maps available
Claim1681092
ClaimResponse1000
ClinicalImpression1000
CodeSystem410010025
Communication3330100
CommunicationRequest250100100
CompartmentDefinition610010016
Composition1000
ConceptMap41001000
Condition12000
Consent1210000
Contract714100-400
Coverage410050100
CoverageEligibilityRequestNo r2:r3 maps available
CoverageEligibilityResponseNo r2:r3 maps available
DetectedIssue4000
Device9000
DeviceDefinitionNo r2:r3 maps available
DeviceMetric1000
DeviceRequest2000
DeviceUseStatement1100100100
DiagnosticReport1435020
DocumentManifest2000
DocumentReference1000
EffectEvidenceSynthesisNo r2:r3 maps available
Encounter10906666
Endpoint310000
EnrollmentRequest11000100
EnrollmentResponse1000
EpisodeOfCare11000100
EventDefinitionNo r2:r3 maps available
EvidenceNo r2:r3 maps available
EvidenceVariableNo r2:r3 maps available
ExampleScenarioNo r2:r3 maps available
ExplanationOfBenefit1000
FamilyMemberHistory250100100
Flag2000
Goal2100100100
GraphDefinition110000
Group2100100100
GuidanceResponse1000
HealthcareService1000
ImagingStudy2000
Immunization310000
ImmunizationEvaluationNo r2:r3 maps available
ImmunizationRecommendation110000
ImplementationGuide1000
InsurancePlanNo r2:r3 maps available
InvoiceNo r2:r3 maps available
ItemInstanceNo r2:r3 maps available
Library11000
Linkage1100100100
List95510080
Location6000
Measure6000
MeasureReport3000
Media4000
Medication23100430
MedicationAdministration1492023
MedicationDispense31000
MedicationKnowledgeNo r2:r3 maps available
MedicationRequest368066
MedicationStatement771060
MedicinalProductNo r2:r3 maps available
MedicinalProductAuthorizationNo r2:r3 maps available
MedicinalProductContraindicationNo r2:r3 maps available
MedicinalProductIndicationNo r2:r3 maps available
MedicinalProductIngredientNo r2:r3 maps available
MedicinalProductInteractionNo r2:r3 maps available
MedicinalProductManufacturedNo r2:r3 maps available
MedicinalProductPackagedNo r2:r3 maps available
MedicinalProductPharmaceuticalNo r2:r3 maps available
MedicinalProductUndesirableEffectNo r2:r3 maps available
MessageDefinition3000
MessageHeader1000
NamingSystem3100660
NutritionOrder132300
Observation48000
ObservationDefinitionNo r2:r3 maps available
OperationDefinition371001008
OperationOutcome6100100100
Organization1110010090
OrganizationAffiliationNo r2:r3 maps available
Patient1610068100
PaymentNotice11000100
PaymentReconciliation1000
Person5100100100
PlanDefinition11000
Practitioner14100100100
PractitionerRole11000100
Procedure159350100
ProcessRequest910011100
ProcessResponse3000
Provenance5000
Questionnaire65000
QuestionnaireResponse5000
RelatedPerson410050100
RequestGroup2000
ResearchDefinitionNo r2:r3 maps available
ResearchElementDefinitionNo r2:r3 maps available
ResearchStudy1000
ResearchSubject1100100100
RiskAssessment4000
RiskEvidenceSynthesisNo r2:r3 maps available
Schedule3000
SearchParameter3100330
Sequence1610000
ServiceRequestNo r2:r3 maps available
Slot4000
Specimen410010050
SpecimenDefinitionNo r2:r3 maps available
StructureDefinition20699640
StructureMap2000
Subscription2000
Substance610010083
SubstanceNucleicAcidNo r2:r3 maps available
SubstancePolymerNo r2:r3 maps available
SubstanceProteinNo r2:r3 maps available
SubstanceReferenceInformationNo r2:r3 maps available
SubstanceSourceMaterialNo r2:r3 maps available
SubstanceSpecificationNo r2:r3 maps available
SupplyDelivery2000
SupplyRequest1000
Task6000
TerminologyCapabilitiesNo r2:r3 maps available
TestReport110000
TestScript7000
UserSessionNo r2:r3 maps available
ValueSet81001000
VerificationResultNo r2:r3 maps available
VisionPrescription210050100