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: R5R4BR4R3R2
Dec 27, 2018
4.0.1
Release 4 (1st Normative Content + Trial Use Developments)
Feb 21, 2017
3.0.1
Release 3 (STU - Standard for Trial Use)
Oct 24, 2015
1.0.2
DSTU2 (Second Draft Standard for Trial Use)
Sept 30, 2014
0.0.82
DSTU1 (First Draft Standard for Trial Use)
This is the B version of the 4th milestone release of FHIR. The only changes tracked here are
the changes made after the publication of the first DSTU release. For earlier changes,
see the DSTU #1 Version History .
Note that a full archive history of everything is available
through the HL7 GitHub archives .
See also the Known Issues that are not yet addressed.
VersionChanges
4.3.0
Release R4B: May 28, 2022:
Though the changes listed here seem quite extensive, they are limited to particular areas of the specification. See the explanation about R4B for further details
Change all code system OIDs to use the root 2.16.840.1.113883.4.642.4. instead of 2.16.840.1.113883.4.642.1.
due to reassigning OID leaf values without updating the root in the past. This was causing problems for OID based terminology systems [Source ]
Add new FHIRPath context variable %rootResource, and use it in ref-1 constraint - FHIRPath engines will need to support the new context variable [Task ]
Fix genomics canonical URLS: http://www.ncbi.nlm.nih.gov/refseq/ -> http://www.ncbi.nlm.nih.gov/refseq, http://www.ncbi.nlm.nih.gov/clinvar/ -> http://www.ncbi.nlm.nih.gov/clinvar, and http://varnomen.hgvs.org/ -> http://varnomen.hgvs.org
- these are now corrected back to what they had said in R3 [Task ]
Fix Binding for FamilyMemberHistory.sex - it had a reference to the administrative gender value set, but it wrongly referred to the one on http://build.fhir.org; corrected to reference the one in the specification [Task ]
Changes to Constraints and generated definitions (fixing problems in validation, no impact on implementations, except for code generators):
Fix the definition of the Mother's Maiden name search parameter from
extension(http://hl7.org/fhir/SearchParameter/patient-extensions-Patient-mothersMaidenName) to extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName') [Task ]
R4: Dec 27, 2018. First Normative content, with many significant changes
Note that between R3 and R4, nearly 3000 change proposals were applied to the specification,
including >1000 substantive changes, of which 339 were labeled 'non-compatible'. As
such, providing a comprehensive list of changes between specifications is not appropriate.
To help see and understand the differences between the specification releases, implementers can
review (or use) the R3/R4 transforms
To help implementers, the more significant changes are listed here:
Change the canonical URL for all v2 and v3 CodeSystems and ValueSets (and some FHIR ones too), to http://terminology.hl7.org (from the Unified Terminology Process) Breaking change! (no task: Vocab committee decision) todo
Clarify definition of is-modifier + impacts on modifier extensions. Note: this lead to breaking changes on a few extensions (changed from modifierExtension to normal extension) FHIR-I: GF#16188 Conformance RulesΔB, ExtensibilityΔB
Change ElementDefinition.binding.valueSet to only be of type canonical Breaking change! FHIR-I: GF#16055 Element DefinitionΔB
Remove restriction on Bundle containing multiple versions of the same resource Breaking change! FHIR-I: GF#17085 BundleΔB
Rename Binary.content to Binary.data and exclude it from summary (which makes it optional) Breaking change! FHIR-I: GF#16998 , GF#16898 Binary ResourceΔB
Normative / Conformance + Terminology
Remove ValueSet.$expand profile parameter, and add parameters from ExpansionProfile Breaking change! Vocab: GF#16337 & GF#16490 ValueSet.$expandΔB
Remove ValueSet.$expand.limitedExpansion parameter, and document how to use count instead Breaking change! Vocab: GF#16449 ValueSet $expand operationΔB
This is the full FHIR Release 3 (R3). R3 is a complete overhaul of the specification from R2, with over 2400 change proposals
process, and applied in R3. Of those changes, 380+ are labeled as a breaking change. Given this level of change, there is no
useful way to present a single change list. Users can use the R2/R3 difference comparison, the R2 <-> R3 transforms,
or the "Compare to R2" link at the foot of every page to help visualise the differences between R2 and R3.
Many of the changes made in this release (since 1.8.0) are in response to Quality Assurance processes in HL7,
with a goal of readying the specification for Normative processes in R4:
Reorder many resources and improve their definitions and bindings (Quality Assurance work)
These are only the more significant changes, there were many 100s of changes made in response to ballot comments and ongoing implementation experience.
These include breaking changes to may resources. Structural changes are summarized here, and Transforms between DSTU 2 and STU 3
are provided for many resources.
Change the FHIR mime type to application/fhir+xml|json instead of application/xml|json+fhir (breaking change, for conformance to W3C+IETF rules)
Add new uses for the Prefer header (return OperationOutcome, and manage behavior related to unknown / unsupported search parameters
Deprecate use of the OPTIONS command to retrieve the CapabilityStatement
Add support for conditional references to the transaction interaction
Add reverse chaining
Formats: No change to XML + JSON formats. Add Turtle Format, and related validation tools
For Data Types and Resources, there is formal difference analysis from DSTU2 (also found throughout the specification), and transforms between DSTU 2 and STU 3
are provided for many resources
1.5.0
FHIR Current Build Update, July 8 2016
Update current version to 1.5 to prevent confusion with implementations still running the May 2016 version.
There are many changes in this version from 1.4.0, but no formal list is provided. A formal list will be provided for 1.6 (as a diff to 1.4)
1.4.0
FHIR Connectathon 12 Snapshot, Mar 30 2016
Frozen base for Connectathon 12 & For Comment ballots:
Conformance resources with significant breaking changes and behavior:
StructureDefinition - Type Handling: Changes to how the structure definition types work: baseTypereplacesconstrainedType (now type) & baseDefinitionreplacesbase
CodeSystem now separated out from ValueSet: CodeSystem is now a first class resource type in order to support use throughout the FHIR eco-system, such as to support value set expansion and validation. It is intended to be used for distributing the smaller ad-hoc code systems that are ubiquitously encountered throughout the healthcare process.
Other resources with significant breaking changes and behavior:
Remove the Clinical Quality Improvement Framework (CQIF) from this published version
made fixes to generated schematrons
updated generated comformance resources (StructureDefinitions and SearchParameters) so they were consistent with the specification
Many spelling / grammar / broken link fixes
1.0.0
DSTU 2 QA Preview, Aug 31 2015
This version had extensive change as a result of the May 2015 DSTU ballot, ongoing testing, and the open change proposals (1317 tasks). The extent of the changes is best illustrated by the number of the
list of changes labeled 'breaking change' - 158 changes of 1317 total tasks. Below is a list of the most important changes:
changes to ElementDefinition: add base, make type.profile repeat, remove invariant.name and replace with invariant.requirements, remove binding.name, add min/max value
changed: almost all resources - too many to list (1317 tasks worth of changes) - add, remove elements, change types, references, definitions & value sets, re-order elements, provide much more documentation and new examples
This version had extensive change as a result of the January 2015 Draft ballot, ongoing testing, and the open change proposals (over 800 tasks). The list below is a summary of the major changes to resource content. It shows only a limited number of the overall changes.
ElementDefinition - add label, code, rename 'formal' to definition, rename synonym to alias, add language to mapping, remove conformance and isExtensible and replace with strength
ClinicalImpression - add status, replace careplan & referral with trigger, rename diagnosis to finding, make plan 0..*,
Composition - change .section.content to refer to List only, not any
ConceptMap - change identifier to url, add useContext, change telecom to contact,
Condition - rename subject to patient, rename status to clinicalStatus, change to bodySite = code or Reference(BodySite), rename .codeableConcept to .code
Conformance (now CapabilityStatement) - change identifier to url, add useContext, change telecom to contact, add requirements and copyright, add support for conditional operations,
DeviceMetric - rename operationalState to operationalStatus, add measurementMode, rename calibrationInfo to calibration, change color to an enumerations
DocumentReference - add format, remove policyManager, make content : Attachment, and remove several related attributes, remove service reference and add context.practiceSetting, sourcePatientInfo, and related
Encounter - add incomingReferralRequest, allow reason to repeat, rename diet to dietPreference
EpisodeOfCare - rename currentStatus to status, allow referralRequest to repeat,
Flag - rename subject to patient, change from note to code
Observation - change name to code, allow more types of value[x], change type of dataAbsentReason, change to bodySite = code or Reference(BodySite), allow identifier to repeat, add device,
OperationDefinition - change identifier to url, add useContext, change telecom to contact, change name to title, add reuqirements, idempotent,
Practitioner - change type of birthDate, allow multiple roles per practitioner
Procedure - add status and category, change to bodySite = code or Reference(BodySite), allow date to be period too, add location, change followUp to code 0..*, add device tracking
ServiceRequest - change to bodySite = code or Reference(BodySite)
Provenance - change integritySignature to signature & make it a type, allow reference by Reference as well as URI
Subscription - change type of tag, reanme url to endPoint,
ValueSet - change identifier to url, add useContext, change telecom to contact, replace purpose with useContext, add requirements, rename stableDate to lockedDate, change type of expansion.identifier, add expansion parameters
Profile: allow 0..* discriminator (3131 ), and change the way discriminators work across resource boundaries (3124 ) + generate multiple types properly (2856 )
remove _validate interaction, and replace with $validate operation (3686 )
Patient: separate birth time from birthDate (3731 ), Change Administrative Gender from a CodableConcept to a Code. Also fixed the values as male|female|other|unknown with mappings to v2 and v3 (3070 )
FamilyMemberHistory combined with List replaces FamilyHistory (with corresponding updates to related profiles)
Flag replaces Alert including improved clarification of how it is used and replacement of "note" with "code"
CarePlan significantly refactored including splitting Goal out as a distinct resource, moving elements between activity and detail, introduction of several new elements and supported relationship types
Conformance (now CapabilityStatement): Change Conformance.rest.operation to Conformance.rest.interaction and Conformance.rest.resource.operation to Conformance.rest.resource.interaction, and add Conformance.rest.operation to point to Operation Definition
Profile: add Profile.url, Profile.structure.snapshot and Profile.structure.differential, and remove query definition (now in OperationDefinition)
Temporarily added content for the Structured Data Capture implementation guide , including profiles on several resources, conformance instances, etc.
This content will be moved to an external specification once the necessary tooling is in place to support that form of publication.
0.2.1
Minor new optional elements on value set for metadata, new extensions for all the rest of the VSD project metadata, formal profile to express basic minimum metadata for value set
0.2.0
Namespace: adjustments based on Grahame's feedback