type: docsource: source/r3maps.html
[%settitle Differences from DSTU Release 3%] [%file newheader%] [%file newnavbar%]
| Responsible Owner: [[%wgt fhir%]]([%wg fhir%]) Work Group | Standards Status:Informative |
|---|
Transforms between DSTU 3 and STU 4
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:
- 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 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
[%r3maps-summary%]
| Resource | # Tests | % Execute OK | % RoundTrip Ok | % R4 Valid | R4 Error Count |
|---|
[%file newfooter%]