Current Build
FHIR Infrastructure Work GroupMaturity Level: N/AStandards 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
  • 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 maps are subject to ongoing maintenance using the FHIR NPM Package "fhir.versions.r3r4" which is maintained on GitHub . See also FHIR Wiki for other ongoing work to support R3/R4 transformations
Resource # Tests % Execute OK % RoundTrip Ok % R4 Valid R4 Error Count
Account21000100
ActivityDefinition9100770
AdverseEvent110000
AllergyIntolerance3100100100
Appointment3100100100
AppointmentResponse2100100100
AuditEvent8100100100
Basic3100100100
Binary2100100100
BiologicallyDerivedProductNo r2:r3 maps available
BodyStructure3100100100
Bundle28898836
CapabilityStatement9100880
CarePlan111001009
CareTeam11001000
CatalogEntryNo r2:r3 maps available
ChargeItem1100100100
ChargeItemDefinitionNo r2:r3 maps available
Claim1681076
ClaimResponse110000
ClinicalImpression1100100100
CodeSystem410010025
Communication310010033
CommunicationRequest210010050
CompartmentDefinition61008316
Composition1100100100
ConceptMap41001000
Condition1210010091
Consent121001000
Contract72850-150
Coverage410075100
CoverageEligibilityRequestNo r2:r3 maps available
CoverageEligibilityResponseNo r2:r3 maps available
DetectedIssue4100100100
Device910010088
DeviceDefinitionNo r2:r3 maps available
DeviceMetric1100100100
DeviceRequest2100050
DeviceUseStatement1100100100
DiagnosticReport1410010035
DocumentManifest2000
DocumentReference1000
EffectEvidenceSynthesisNo r2:r3 maps available
Encounter1010010070
Endpoint3100100100
EnrollmentRequest11000100
EnrollmentResponse1100100100
EpisodeOfCare1100100100
EventDefinitionNo r2:r3 maps available
EvidenceNo r2:r3 maps available
EvidenceVariableNo r2:r3 maps available
ExampleScenarioNo r2:r3 maps available
ExplanationOfBenefit110000
FamilyMemberHistory210010050
Flag2100100100
Goal2100100100
GraphDefinition11001000
Group2100100100
GuidanceResponse1100100100
HealthcareService11001000
ImagingStudy2100500
Immunization31001000
ImmunizationEvaluationNo r2:r3 maps available
ImmunizationRecommendation1100100100
ImplementationGuide11001000
InsurancePlanNo r2:r3 maps available
InvoiceNo r2:r3 maps available
Library111001000
Linkage1100100100
List910010044
Location610010083
Measure61001000
MeasureReport31001000
Media41001000
Medication2310044
MedicationAdministration14100710
MedicationDispense31100800
MedicationKnowledgeNo r2:r3 maps available
MedicationRequest36100770
MedicationStatement7100570
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
MessageDefinition310010033
MessageHeader11001000
MolecularSequence14100100100
NamingSystem3100660
NutritionOrder131001000
Observation4810010052
ObservationDefinitionNo r2:r3 maps available
OperationDefinition371001008
OperationOutcome6100100100
Organization1110010090
OrganizationAffiliationNo r2:r3 maps available
Patient16100100100
PaymentNotice110000
PaymentReconciliation110000
Person5100100100
PlanDefinition11451000
Practitioner14100100100
PractitionerRole1100100100
Procedure151008093
Provenance510010060
Questionnaire610010016
QuestionnaireResponse5100800
RelatedPerson4100100100
RequestGroup21001000
ResearchDefinitionNo r2:r3 maps available
ResearchElementDefinitionNo r2:r3 maps available
ResearchStudy1100100100
ResearchSubject1100100100
RiskAssessment410010025
RiskEvidenceSynthesisNo r2:r3 maps available
Schedule3100100100
SearchParameter31001000
ServiceRequestNo r2:r3 maps available
Slot4100100100
Specimen410010050
SpecimenDefinitionNo r2:r3 maps available
StructureDefinition206100980
StructureMap210010050
Subscription21000100
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
SupplyDelivery2100100100
SupplyRequest11001000
Task61005083
TerminologyCapabilitiesNo r2:r3 maps available
TestReport1100100100
TestScript7100850
ValueSet81001000
VerificationResultNo r2:r3 maps available
VisionPrescription2100500