This page was published as part of FHIR v1.8.0: FHIR STU3 Candidate + Connectathon 14 (San Antonio). It has been superceded by R4. For a full list of available versions, see the Directory of published versions .. Page versions: R5 R4B R4 R3 R2
This is the developmental version 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 gForge SVN archives .
There is a single development version of FHIR. This undergoes cycles of development as
managed by HL7. Each major cycle of development is concluded by a formal ballot, and then
a new specification is published. In version control terms, each published specification is a
branch off the development trunk, which may then itself undergo further change as
HL7 maintains the published specification (though such changes are usually extremely
minimal).
Note that the following are, by definition, considered non-breaking changes, even though some implementations (including the reference implementations) may not be able to handle some consequences of these changes without error:
Also, the examples are never substantive. Every effort is made to ensure that FHIR examples are correct, but changes to the examples in the specification are not considered substantive.
Each FHIR version is identified by a string composed from 4 parts: publication.major.minor.revision.
Version |
Changes |
1.8.0 |
FHIR QA Release, Dec 6, 2016
STU 3 Candidate, and also the basis for several implementation guide ballots and the San Antonio Jan 2017 Connectathon
Breaking Changes Summary:
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 summarised here.
|
1.6.0 |
FHIR STU3 ballot, Aug 11, 2016
STU 3 ballot version, and also the basis for the Baltimore Sept 2016 Connectathon
Publication Changes:
- Move the US Realm implementation guides out of the specification (see http://www.fhir.org/guides/registry )
- Rework the home page, and introduce modules as a way to navigate the specification + add significant new implementer advice (e.g. "Getting Started")
- Change the Navigation menu to focus on indexes to the content in the specification
- Move FluentPath expression language to it's long term home
Technical Changes:
- RESTful API
- 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)
|
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:
-
FHIR API and Wire Format Enhancment
- The _sort parameter has been reworked
- New or extended search parameters for read, search or history: _type, _at, _summary, _elements
- Change RDF representation - now ready for trial
-
Conformance resources with significant breaking changes and behavior:
- StructureDefinition - Type Handling: Changes to how the structure definition types work: baseType replaces constrainedType & baseDefinition replaces base
- 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 ubiqutiously encountered through out the healthcare process.
-
Other resources with significant breaking changes and behavior:
-
Add new draft resources:
|
1.2.0 |
FHIR Connectathon 11 Snapshot, Dec 11 2015
Frozen base for Connectathon 11:
- Remove GuidanceRequest
- Add new draft resources: Sequence, ExpansionProfile
- Modifications to Financial Resource & TestScript resource
Note: this version is temporary, and will be removed after Connectathon 11 is complete
|
1.1.0 |
GAO Ballot + technical corrections, Dec 2 2015
A ballot publication for the GAO Ballot that also includes:
- Various technical corrections to the generated snapshots
- Populate FHIRPath expressions in extensions for all search parameters and invariants
- Add new draft resources:
GuidanceRequest , GuidanceResponse, ModuleMetadata , ModuleDefinition , Library, DecisionSupportServiceModule , DecisionSupportRule , OrderSet , Measure
- Major restructure of Questionnaire
|
1.0.2 |
Technical Correction 1, Oct 24 2015
A series of technical corrections to the specification following extensive review:
- Corrections to Extension cardinalities in implementation guides
- Corrections in the conformance resources that support the specifications
- Correct several erroneous invariants
- Various typos, broken links, and fixes in examples
- For a comprehensive list of corrections, see the Task list for FHIR DSTU2 Technical Correction 1
|
1.0.1 |
DSTU 2, Sept 23 2015
Changes of significance during the QA process:
- 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 gForge tasks). The extent of the changes is best illustrated by the number of the
list of changes labelled 'breaking change' - 158 changes of 1317 total tasks. Below is a list of the most important changes:
- General: introduced the maturity framework
- RESTful API: add batch, several clarifications around versioning & transactional integrity, changed Bundle URL resolution rules
- Search: changed the way <> etc.works, added _list parameter, changed rules around contained and included resources
- Formats: added a note about whitespace in XML, added code generation schemas
- Data Types:
- New data types: markdown, Annotation,
- changed data types: Coding, Quantity, Signature, Timing, Address, ContactPoint
- changes to ElementDefinition: add base, make type.profile repeat, remove invariant.name and replace with invariant.requirements, remove binding.name, add min/max value
- Resources:
- New resources: Account, ImplementationGuide, TestScript
- renamed: Contraindication -> DetectedIssue, MedicationPrescription -> MedicationRequest, QuestionnaireAnswers -> QuestionnaireResponse
- removed: Supply
- 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
- Implementation Guide:
|
0.5.0 |
DSTU Ballot, May 2015
This version had extensive change as a result of the January 2015 Draft ballot, ongoing testing, and the open change proposals (over 800 gForge tasks). The list below is a summary of the major changes to resource content. It shows only a limited number of the overall changes.
Enumerations
- All spaces removed
- Extensive content changes not noted here
New Data Types
Changed Data Types
- Coding - remove valueSet property
- Attachment - add creation
- Identifier - replace label with type
- Timing - major rework of content
- ElementDefinition - add label, code, rename 'formal' to definition, rename synonym to alias, add language to mapping, remove conformance and isExtensible and replace with strength
New Resources
Removed Resources
- CarePlan2 -> collapsed into CarePlan
- FamilyHistory -> broken up into FamilyMemberHistory
- InstitutionalClaim, OralHealthClaim, PharmacyClaim, ProfessionalClaim, VisionClaim -> collapsed into Claim
- Other - use Basic instead
- PendedRequest,Readjudicate, Reversal, StatusRequest, StatusResponse - use ProcessRequest/Response instead
- SupportingDocumentation - use DocumentManifest instead
Renamed Resources
- Alert -> Flag: 'alert' made people think it was an action like an alarm
- SecurityEvent -> AuditEvent: it wasn't just for security purposes
- ClinicalAssessment -> ClinicalImpression: people got confused with 'assessment' tools like APGAR score
- Profile -> StructureDefinition: 'Profile' is the process, a package of statements
Changes Inside Resources
- Parameters - allow parameter.part to contain a resource
- AllergyIntolerance - rename subject to patient
- Appointment - remove lastModifiedBy/lastModified, add location
- AppointmentResponse - remove lastModifiedBy/lastModified, add rename individual to actor
- AuditEvent - add .event.purposeOfEvent, participant.location, .policy, and .purposeOfUse
- Bundle - major reorganization
- CarePlan - pull goal out + other reorganization
- 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,
- Contract - extensive rewrite
- Coverage - add bin, subscriberId
- DataElement - total rewrite to use ElementDefinition
- Device - add status, manufactureDate
- DeviceMetric - rename operationalState to operationalStatus, add measurementMode, rename calibrationInfo to calibration, change color to an enumerations
- DeviceUseRequest/DeviceUseStatement - change to bodySite = code or Reference(BodySite)
- DiagnosticRequest - change to bodySite = code or Reference(BodySite)
- DiagnosticReport - add encounter
- DocumentManifest - add options for how content is referred to
- 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
- Goal - add targetDate, statusDate, author, priority
- HealthcareService - extensive rewrite
ImagingObjectSelection - remove retrieveAETitle, rename retrieveUrl to url, add frames
- ImagingStudy - add laterality, change url to attachment
- Immunization - add encounter, rename subject to patient, rename refusedIndicator to wasNotGiven, rename refusalReason to reasonNotGiven
- ImmunizationRecommendation - rename subject to patient
- List - add title, status, change ordered to orderedBy, add note
- Location - remove status
- Media - remove created (-> Attachment)
- Medication - add batch
- MedicationAdministration - add reasonGiven, note, text. remove timing & maxDosePerPeriod
- MedicationDispense - collapse to a single dispense, add daysSupply, note and substitution, change quantity to allow range
- MedicationRequest - add note, change quantity to allow range,
- MedicationStatement - add informationSource, status, dateAsserted, replace whenGiven with effective[x], remove device, add dosage.text
- NamingSystem - add date, publisher,
- NutritionRequest - extensive rewrite
- 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,
- OperationOutcome - change type of .issue.type
OrderResponse - rename code to orderStatus
- Organization - remove location and contact.gender
- Patient - communication to allow 'preferred'
- Person - rename other to target
- 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
- ProcedureRequest - change to bodySite = code or Reference(BodySite)
- Provenance - change integritySignature to signature & make it a type, allow reference by Reference as well as URI
- Questionnaire - add telecom
- Schedule - move lastModified
- SearchParameter - change telecom to contact, add status, experimental, date,
- Slot - move lastModified
- Specimen - change source to parent, change to bodySite = code or Reference(BodySite)
- StructureDefinition - complete rewrite
- 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
|
0.4.0 |
Draft For Comment, January 2015 Ballot
Breaking Changes (full list):
- Replace atom and taglist with a native Bundle format (3728 , 3558 , 2889 ) (and also Binary)
- JSON: change how extensions are represented (3471 )
- RESTful API: change how version specific upgrades work (3451 )
- DataTypes:
- Rename Schedule to Timing (3536 , 3236 )
- Rename Contact to ContactPoint (3533 ) and swap order of elements (3108 ))
- Address - change zip to postCode (2888 )
- Quantity: Correct schema spelling for "QuantityCompararator" (3531 )
- Change allowable values for the id type to include capital letters, and allow up to 64 chars (3750 )
- Restructure Profile - only one structure, and pull ExtensionDefinition out of Profile (3647, 3498), and pull SearchParameter out (3626 )
- 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 )
- DocumentReference: change encoding of Hash to Base64 (3291 )
- Group: rename header to title (3126 )
- Condition: split relatedItem into two (3111 )
- Questionnaire: drop questionnaire.group.question.remarks (3255 ) and move omitReason from extension to base resource (3260 )
- QuestionnaireResponse: allow multiple answers (3146 )
- ValueSet: replace ValueSet.compose.include.code with ValueSet.compose.include.concept (3258 ), added new rules about expansion content (3138 )
- Media: Rename element 'dateTime' to 'created' (3174 ) and length to duration (2866 )
- Remove DeviceObservationReport and Query
- Collapse AdverseReaction into AllergyIntolerance
- Appointment changes - individual field renamed to actor, and added mappings to HL7 v2 and HL7 v3
- 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
New Resources:
New Implementation Guides (see discussion of status )
|
0.3.0 |
- Renamed Namespace to NamingSystem
- Split QuestionnaireResponse from Questionnaire and significantly revamped the
Questionnaire in response to feedback from the Connectathon.
- Added DataElement resource (has been previously discussed as ObservationDefinition)
- Defined Subscription resource for evaluation
- Add time data type
- Define RPC-type operations on the RESTful interface, and add Operation Definition
- Defined operations on several resources including ConceptMap, Questionnaire and ValueSet
- 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)
- Add pages for LOINC, RxNorm, and SNOMED CT
- Significant rework for ConceptMap so it can be used to map between structures as well as value sets
- Add Contraindication and Risk Assessment and added examples to other resources in support of these
- Add Referral Request
- Add supportingInformation to DiagnosticRequest
- Add fulfills to Encounter
- Add date and age[x] to FamilyHistory
- Change cardinality of Location.identifier to 0..*
- Change cardinality of Practitioner.address to 0..*
- Add Observation.encounter to 0..*
- 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
|
0.1.0 |
|