This
page
is
part
of
the
FHIR
Specification
(v3.3.0:
(v3.5.0:
R4
Ballot
2).
#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
first
second
round
of
the
FHIR
Release
4
(R4)
ballot,
which
is
the
working
toward
our
first
FHIR
Ballot
that
includes
content
on
a
release
planned
to
include
normative
track.
Note
that
the
content.
The
R4
version
release
of
FHIR
will
have
content
with
different
ballot
status:
statuses:
The
FHIR
R4
ballot
process
is
significantly
more
complex
than
previous
ballots
because
of
the
introduction
of
content
on
the
normative
track.
3
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
|
| 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
by
the
same
ballot
pool.
reballoted.
(Note
that
'substantiative
changes'
means
any
change
that
will
affect
implementers
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
Draft
Standard
for
Trial
Use
specification
HL7
published
in
May,
2017.
These
changes
result
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.
(175MB
(500MB
zip,
~1GB
~2.2GB
unzipped).
The
scope
of
this
FHIR
Ballot
is
any
page
where
the
URL
starts
with
http://hl7.org/fhir/2018May,
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:
Because
of
the
volume
of
feedback
we
expect
this
ballot
cycle,
we
strongly
ask
(beg?)
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
eleminates
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
on,
or
resolved.
This
will
be
the
last
ballot
cycle
where
FHIR
will
permit
spreadsheet-based
ballot
submissions,
so
you
may
as
well
get
used
to
tracker-based
balloting
sooner
rather
than
later...
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.
|
Pages
|
Resources |
Operation
|
Valuesets
|
Codesystems
|
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
|
| 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
InsurancePlan
DeviceComponent
+
new
resource
DeviceDefinition