This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
FHIR Infrastructure Work Group | Maturity Level: N/A | Ballot Status: Informative |
Welcome to the second round of the FHIR Release 4 (R4) ballot, which is working toward our first release planned to include normative content. The R4 release of FHIR will have content with different ballot statuses:
The FHIR R4 ballot process is significantly more complex than previous ballots because of the introduction of content on the normative track.
Three ballot periods are anticipated:
Draft Ballot | Dec 2017 - Jan 2018 | This first ballot was mainly a development ballot for the FHIR team. It allowed for:
|
Full FHIR Ballot | Apr 2018 - May 2018 | The full R4 ballot. It included:
|
Follow up Ballot | Aug 2018 - Sep 2018 | A follow up ballot
|
The key driver of this complexity is the introduction of normative content. HL7's ballot rules for normative content require that if any substantiative changes are made as a result of ballot reconciliation, the content must be reballoted. (Note that 'substantiative changes' means any change that is likely to change implementations - a very low bar).
In the past, normative ballots have undergone many cycles of balloting, a process that can take years. The FHIR ballot will be different, in that there are 2 ballot cycles allowed; any normative content that cannot pass ballot with 2 cycles will fall back to Trial Use for R4, and HL7 will try again for FHIR R5. Note that the content on the normative track has already undergone extensive testing, production implementation, and previous ballots.
To facilitate this process, the ballot is broken up into multiple normative packages:
Infrastructure | Abstract base types, data types, formats, the RESTful API, and content and typing rules |
---|---|
Terminology and Conformance | The terminology infrastructure and the base resources that define FHIR implementations |
Patient | The Patient resource and related content |
Observation | The Observation resource and related content |
A full list of the pages that are in each normative package can be found below. Any content that is not in these packages is considered to be part of the general Trial Use Ballot.
In addition to these ballots of the core FHIR specification, several implementation guides are undergoing ballot as well.
Release 4 of the FHIR specification provides thousands of significant changes and enhancements from the third FHIR Standard for Trial Use specification HL7 published in May, 2017. These changes resulted from committee meetings, connectathons, over a thousand change proposals, and collaborations with other standards organizations. A summary of changes and a complete list of changes to resources and data types are available, along with transforms between R3 and R4 for many resources.
The FHIR specification is presented as a series of interlinked HTML pages. They can either be reviewed online or can be downloaded for exploration on your own device. (500MB zip, ~2.2GB unzipped). The scope of this FHIR Ballot is any page where the URL starts with http://hl7.org/fhir/2018Sep, though balloters must pay careful attention to which ballot package content is in (see below, or the Table of Contents).
A few notes to consider when balloting:
HL7 ballot rules require that participants sign up prior to opening of the ballot. If you did not sign up in advance, you can still submit comments using the Propose a Change link at the bottom of each page of the specification. Feedback from balloters will be given priority but all suggestions will be considered as much as time allows. (And be sure to sign up to the FHIR list-server and/or follow the #FHIR hash-tag so you don't miss the chance to vote in the next ballot cycle.)
If you are signed up to ballot, you can download the balloting spreadsheet from the Ballot Desktop . All ballot feedback must be provided using the spreadsheet template provided. (There's a help tab that explains the meaning of each of the columns.) For FHIR, you have the option of making your comments directly in the spreadsheet or submitting your comment using the FHIR Change Tracker tool. If you take the latter approach, you must include a reference to each tracker item in your ballot spreadsheet along with a vote (negative, affirmative typo, etc.). The other columns can (and should) be left blank. All spreadsheets must be submitted along with an overall vote by end of day Eastern time on the designated ballot closure date for the comments to be considered as part of ballot disposition.
IMPORTANT: We encourage balloters to capture their comments using the gForge tool and to use the spreadsheet only to list their tracker item numbers and votes. (If you include additional information beyond tracker item and vote, we need to cross-check to ensure the content is aligned, which eliminates any savings. So if you keep additional columns for internal review, please wipe them before submission.) Tracker-based comment submission dramatically reduces administrative overhead in managing the ballot. It also means that you can receive automatic notifications when your comment is scheduled for discussion, commented on, or resolved.
When submitting your ballot feedback, if you have a general comment on something that you see occurring multiple times, please include at least a couple of specific locations where you see the issue. As much as possible, capture each separate concern as a distinct row in the ballot sheet or separate tracker item . (If using tracker items for your submissions, you MUST still submit a ballot spreadsheet referencing the relevant tracker items.) It makes our job of reconciling much easier. Also, don't forget to fill in the section numbers (gray numbers to the left of each heading) and URLs. Only one URL should be placed in the "url" element or column. If you want to reference additional URLs, include them in the text of your ballot comment.
If you have questions that are interfering with the ability to review the specification or submit ballot comments, please contact one of the co-chairs of the FHIR Management Group: Lloyd McKenzie or David Hay.
Thanks for taking the time to review the FHIR specification. We appreciate any feedback you can provide.
This is the round 2 ballot for FHIR R4. As such, the scope of this second ballot for the R4 cycle is limited to the changes made from the 2018-May ballot cycle. Feedback not related to changes made will most likely be found "not related" and/or deferred to consideration as part of R5.
To assist balloters, for the Normative ballot, each substantitive change made is listed, along with links to the page and the task that prompted the change. Also, diff links are provided to assist with reviewing the non-substantitive changes.
For the Trial-Use ballot, the significant new content areas or changes are indicated.
The specification has been updated to include R3/R4 maps and difference analysis, but these have not been updated. This will be done proper to publication of the final specification In the mean time, balloters are welcome to comment on suggested improvements to the mappings and difference statements, but these cannot be the basis for negative votes. Contributions may also be made directly (join the conversation at chat.fhir.org ).
The lists below provide 2 "diff" links - these are links that ask a W3C differencing engine to compare the 2 pages of the specification. There are two different types of link:
The W3C differencing engine is the best free html diff engine that we know of, but does have issues. In particular, when reviewing differences for resources and types, the special presentation forms (tables, svg) which are rich in rendering metadata makes the difference analysis a little confusing or even unreliable in places. Reviewers will find it easier to looks the differences for the definitions rather that the tables structures - e.g. when reviewing based on the diffs, review the definitions page changes first.
Abstract base types, data types, formats, the RESTful API, and content and typing rules
Please consult the Round 2 ballot guide above before commenting on this ballot.
Substantive Changes since the first Normative ballot
Description | Committee + Tasks | Pages |
Scope Changes | ||
Mark Managing Resource Identity as trial-use, not normative (move normative parts to Resource) | FHIR-I: GF#16466 | Managing Resource Identity ΔB |
Base Documentation | ||
Make it explicit about canonical URLs with fragments | FHIR-I: GF#17357 | References ΔB |
Added reference.type | FHIR-I: GF#13543 | References between Resources ΔB |
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 |
Multiple language support on narratives | FHIR-I: GF#15759 | Narrative ΔB |
Rules around extensible bindings (intended to be clarifications, but may be substantiative for some) | Vocab: GF#17402 | Using Codes ΔB |
Enhance/extend rules around changes between versions | FHIR-I: GF#13089 | Version Management Policy ΔB |
Add note about namespaces in types in FHIRPath consequence to FHIRPath changes | FHIR-I: GF#15876 | FHIRPath ΔB |
Add draft Terminology Service API to FHIRPath | FHIR-I: GF#15777 | FHIRPath ΔB |
Fix missing code for 1.0.2 FHIR versions Code System | FHIR-I: GF#16318 | FHIR versions Code System ΔB |
RESTful API | ||
Add fhirVersion parameter to application/fhir mime type | FHIR-I: GF#16165 | RESTful API ΔB |
Fix HTTP response status codes for If-Match header Breaking change! | FHIR-I: GF#16096 | Search ΔB |
Clarify about 406 and 415 status codes Breaking change! | FHIR-I: GF#16329 | Restful API ΔB, Formats ΔB |
Rewrite intermediaries section, and refocus on custom headers | FHIR-I: GF#14162 | RESTful API ΔB |
Clarify version requirements in Location header | FHIR-I: GF#13915 | RESTful API ΔB |
Decribe use of :below on reference for searching canonicals | FHIR-I: GF#14195 | RESTful API ΔB |
Change rules around optionality of Bundle.entry.request and .response Breaking change! | FHIR-I: GF#14551 | RESTful API ΔB |
Add _list parameter to history interaction | FHIR-I: GF#16022 | RESTful API ΔB |
Add conformance language about errors and operation outcome | FHIR-I: GF#14495 | RESTful API ΔB |
Mark Conditional Create, Update, Patch, and Delete as Trail-use | FHIR-I: GF#16448 | RESTful API ΔB |
Add mode parameter to /metadata | FHIR-I: GF#14444 | RESTful API ΔB |
Search Page | ||
Rename the "recurse" modifier on _include to "iterate" Breaking change! | FHIR-I: GF#13602 | Search ΔB |
Add rule that search parameter names cannot differ only by case | FHIR-I: GF#14961 | Search ΔB |
Describe use of exponential form when searching numbers (+ clarifications for precision) | FHIR-I: GF#16369 | Search ΔB |
Describe use of :below on token for searching mime types | FHIR-I: GF#16970 | Search ΔB |
Introduce special search parameter type | FHIR-I: GF#17488 | Search ΔB |
Note about timezones (not substantive?) | FHIR-I: GF#16550 | Search ΔB |
Details about searching on versions | FHIR-I: GF#16361 | Search ΔB |
Operations | ||
Remove support for operations on historical resources Breaking change! | FHIR-I: GF#17258 | Operations ΔB |
Add the $versions operation | FHIR-I: GF#17009 | Capability Statement Operations ΔB |
Data Types | ||
Fix OID regex | FHIR-I: GF#16023 | OID Data type ΔB |
Allow exponential form for decimals (with corresponding consequences for precision) | FHIR-I: GF#16874 | Data Types ΔB, XML ΔB |
Change Money Type to make it simpler Breaking change! | FHIR-I: GF#16297 | Data Types ΔB |
Change Identifier.type codes to use v2 codes now that they are defined Breaking change! | FHIR-I: GF#9239 , GF#16898 | Identifier Type ValueSet ΔB |
Change Annotation.text to support markdown | FHIR-I: GF#16965 | Annotation Data type ΔB |
Add minutes to Duration value set | FHIR-I: GF#15868 | Duration Value Set ΔB |
Addition of expression in metadatatypes (not normative, but appears in multiple places) | FHIR-I: GF#17227 | Metadata Types ΔB |
ElementDefinition | ||
Make it clear and consistent that ElementDefinition specializes BackboneElement | FHIR-I: GF#17404 | ElementDefinition ΔB |
Clarify use of slicing entry | FHIR-I: GF#16309 | ElementDefinition ΔB |
Make ElementDefinition.constraint.expression optional, and ElementDefinition.constraint.xpath trial-use | FHIR-I: GF#16862 | ElementDefinition ΔB |
Add ElementDefinition.sliceIsConstraining (trial-use) | FHIR-I: GF#13545 | ElementDefinition ΔB |
Change ElementDefinition.binding.valueSet to only be of type Canonical Breaking change! | FHIR-I: GF#16055 | Element Definition ΔB |
Add a note restricting use of ElementDefinition.contentReference | FHIR-I: GF#14958 | ElementDefinition ΔB |
Make additional constraint on valid Element names | FHIR-I: GF#15678 | ElementDefinition ΔB |
Resources | ||
Make it clear that contained resources can't contain security labels | FHIR-I: GF#16622 | Resource ΔB |
Contained resources MAY contain narrative | FHIR-I: GF#13870 | Domain Resource ΔB |
Remove restriction on Bundle containing multiple versions of the same resource Breaking change! | FHIR-I: GF#17085 | Bundle ΔB |
Add deleted as an issue type | FHIR-I: GF#17327 | Issue Type ValueSet ΔB |
New codes, adjustments, and fixed definitions to codes for OperationOutcome.issue.code | FHIR-I: GF#16922 , GF#17329 | Issue Type Code System ΔB |
Deprecate OperationOutcome.location | FHIR-I: GF#17589 | OperationOutcome Δ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 |
The terminology infrastructure, and the base resources that specify content
Please consult the Round 2 ballot guide above before commenting on this ballot.
Substantive Changes since the first Normative ballot
Description | Committee + Tasks | Pages |
Scope Changes / General | ||
Remove ConceptMap from Normative package | Vocab: GF#16363 | ConceptMap ΔB |
Change the canonical url for all v2 and v3 CodeSystems and ValueSets to http://terminology.hl7.org (from the Unified Terminology Process) Breaking change! | (no task: Vocab committee decision) | todo |
CodeSystem | ||
Remove codesystem-deprecated extension | Vocab: GF#12312 | CodeSystem ΔB |
Rationalise ordinal value extensions (not normative) Breaking change! | FHIR-I: GF#17350 | extension-iso21090-CO-value.html Ordinal Value Extension ΔB |
Mark section "Code systems with detailed metadata" informative | Vocab: GF#16335 | CodeSystem ΔB |
ValueSet | ||
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 |
Document Valueset.expansion.parameters better, along with new requirements | Vocab: GF#16841 , GF#16484 , GF#16445 | ValueSet ΔB |
Move Valueset.extensible to an extension | Vocab: GF#16427 | ValueSet ΔB |
Add note about Supplements and future rules around expansions | Vocab: GF#16832 | ValueSet ΔB, CodeSystem ΔB |
Add datetime as a allowed type for ValueSet.expansion.parameter.value | Vocab: GF#17616 | ValueSet ΔB |
Add "Any Version" special value for ValueSet.compose.include.version | Vocab: GF#15998 | ValueSet ΔB |
Allow a value set to contain neither compose or expansion (metadata only) Breaking change? | Vocab: GF#17475 | ValueSet ΔB |
Add contextDirection as a parameter for $expand | Vocab: GF#17321 | ValueSet.#expand ΔB |
StructureDefinition | ||
Update StructureDefinition invariants | FHIR-I: GF#17185 | StructureDefinition.kind ΔB |
CapabilityStatement | ||
Mark many attributes in CapabilityStatement as trial-use | FHIR-I: GF#14444 | CapabilityStatement ΔB |
Fix minor errors in CapabilityStatement invariants | FHIR-I: GF#13551 | CapabilityStatement ΔB |
Make CapabilityStatement.rest.resource.searchParam.definition mandatory for search parameters defined in the FHIR Specification Breaking change! | FHIR-I: GF#16359 | CapabilityStatement ΔB |
Add CapabilityStatement.implementation.custodian | FHIR-I: GF#16342 | CapabilityStatement ΔB |
Change all documentation elements in CapabilityStatement to use markdown | FHIR-I: GF#14170 | CapabilityStatement ΔB |
Add CapabilityStatement.imports | FHIR-I: GF#14299 | CapabilityStatement ΔB |
Fix search parameter generation so that context related search parameters are defined | FHIR-I: GF#17215 | CapabilityStatement ΔB |
Revoke constraint cpb-8 on CapabilityStatement.rest cardinality | FHIR-I: GF#10205 | CapabilityStatement ΔB |
OperationDefinition | ||
Add OperationDefinition.title | FHIR-I: GF#15982 | OperationDefinition ΔB |
Add OperationDefinition.parameter.referencedFrom | FHIR-I: GF#17508 | OperationDefinition ΔB |
The Patient resource, and related content
Please consult the Round 2 ballot guide above before commenting on this ballot. Patient is being reballoted solely because of changes driven by terminology standardization, which means that the Coding.system values for Patient.maritalStatus and Patient.contact.relationship. There is no other change.
Resource |
Valuesets |
Codesystems |
Substantive Changes since the first ballot
Description | Committee + Tasks | Pages |
Change the canonical url for all v2 and v3 CodeSystems and ValueSets to http://terminology.hl7.org (from the Unified Terminology Process) | (no task: Vocab committee decision) | todo |
The Observation resource, and related content
Please consult the Round 2 ballot guide above before commenting on this ballot.
Resource |
Valuesets |
Codesystems |
Substantive Changes since the first ballot
Description | Committee + Tasks | Pages |
Change the canonical url for all v2 and v3 CodeSystems and ValueSets to http://terminology.hl7.org (from the Unified Terminology Process) | (no task: Vocab committee decision) | todo |
Updated the definition of subject and added a note to the FHIR safety page about not being surprised by the focus element. |
OO: GF#16136 | Observation ΔB |
Created a standard extension event-relatedArtifact to reference other knowledge resources used for citations and documentation of the Observation instance. | OO: GF#15824 | Observation ΔB |
Created a standard extension event-supportingInfo to reference other resources from the patient record that were used in creating the Observation instance. | OO: GF#16172 | Observation ΔB |
Created a standard extension observation-precondition to reference other observations that must be known to correctly interpret the observation. | OO: GF#17228 | Observation ΔB |
The code system for value set observation-interpretation is changed from HL7 Version 2 Table 0078 to v3-ObservationInterpretation as part of the HL7 Unified Terminology Governance Project . Added clarifying text to indicate that all use cases where interpretations are relevant might not be covered by the observation-interpretation value set. Breaking change! | OO: GF#16186 , UTG Process | Observation ΔB |
Changed cardinality of Observation.interpretation and Observation.component.interpretation from 0..1 to 0..* |
OO: GF#16231 | Observation ΔB |
Added guidance on how other observations or code translations provide additional context that may alter the semantics of the observation. | OO: GF#17578 | Observation ΔB |
Changed Observation.context to Observation.encounter and changed type from Reference(EncounterIEpisodeOfCare) to Reference(Encounter) . Update search parameter definition and add a standard extension event-episodeOfCare. Breaking change! |
OO: GF#17661 | Observation ΔB |
This ballot includes everything else not listed above, including draft, informative and externally derived content. Balloters are welcome to comment about these, though there is no difference between ballot comments on these content and normal content.
There have been many changes to the content; balloters should use the "Ballot Comparison" link at the bottom of page to compare the differences. For implementer convenience, some of the more signficant (not all) changes are listed here:
OrgnizationRole
to OrganizationAffiliation, EligibilityRequest
to CoverageEligibilityRequest,
EligibilityResponse
to CoverageEligibilityResponse, and ProductPlan
to InsurancePlanDeviceComponent
+ new resource DeviceDefinition