This page is part of the FHIR Specification (v4.3.0: R4B - STU). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4BR4
In addition to a list of all differences between Release 4 and 4B,
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.
R4B Note: These transforms are between R3 and R4, not R4 and R4B. None of the resources that changed in R4B
existed in R3, so they are not relevant here. Conversions are not offered from R4 to R4B
because:
The resources that have changed in R4B have been changed extensively, and it's not clear that conversion is even possible
The resources that were changed had very little use, if any, due to their maturity status (low FMM)
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:
For each example resource in the R3 release of the FHIR specification that has a transform to R4
apply the transform to R4
validate against the R4 specification
apply the reverse transform back to R3
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 R3 and R4 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