This
page
is
part
of
the
FHIR
Specification
(v3.3.0:
(v4.0.1:
R4
Ballot
2).
-
Mixed
Normative
and
STU
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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:
R5
R4B
R4
R3
R2
This
page
is
candidate
normative
content
for
R4
in
has
been
approved
as
part
of
an
ANSI
standard.
See
the
Infrastructure
Package
.
Once
normative,
it
will
lose
it's
Maturity
Level,
and
breaking
changes
will
no
longer
be
made.
for
further
details.
This
page
documents
how
the
content
of
the
resources
are
described.
In
actual
exchange,
resources
can
be
represented
in
the
following
formats:
XML
,
JSON
and
Turtle
.
Additional
Bulk
Data
Formats
are
also
undergoing
exploration.
Other
representations
are
allowed,
but
are
not
described
by
this
specification.
specification
(though
see
link
below
.
2.6.0.1
Resource
Definition
The
resources
are
described
in
several
different
ways:
a
hierarchical
table
that
presents
a
logical
view
of
the
content
a
UML
diagram
that
summarizes
the
content
graphically
a
pseudo-XML
syntax
that
provides
a
visual
sense
of
what
the
end
resource
instances
will
look
like
in
XML
a
pseudo-JSON
syntax
that
provides
a
visual
sense
of
what
the
end
resource
instances
will
look
like
in
JSON
a
pseudo-Turtle
syntax
that
provides
a
visual
sense
of
what
the
end
resource
instances
will
look
like
in
Turtle
In
addition
to
this
descriptive
syntax,
other
definitional
forms
are
available,
including
W3C
schema
and
schema,
Schematron,
JSON
Schema,
and
the
StructureDefinition
syntax
defined
internally.
2.6.0.1.1
Logical
table
The
Logical
View
shows
the
resources
as
a
tree
structure
with
the
following
columns:
Column
Content
Name
The
name
of
the
element
in
the
resource
(manifests
as
XML
element
name,
name
or
JSON
or
RDF
property
name.
name).
Some
names
finish
with
[x]
-
the
meaning
of
this
is
discussed
below.
In
addition,
this
column
contains
an
icon
that
denotes
the
underlying
type
of
the
content.
The
icons
are
described
below
Flags
A
set
of
information
about
the
element
that
impacts
how
implementers
handle
them.
The
flags
are
described
below
Card.
Cardinality:
the
lower
and
upper
bounds
on
how
many
times
this
element
is
allowed
to
appear
in
the
resource
Type
The
type
of
the
element
(hyperlinked
to
the
definition
of
the
type).
Note
that
the
type
of
the
element
has
one
of
two
meanings,
depending
on
whether
the
element
has
defined
children.
If
the
element
has
children,
then
the
element
has
an
anonymous
type
that
specializes
the
given
type.
If
the
element
has
no
children,
then
the
element
has
properties
and
children
as
specified
by
the
nominated
type
Description
&
Constraints
A
description
of
the
element,
and
details
about
constraints
that
are
applied
to
it.
Particularly,
for
coded
elements,
information
about
which
codes
can
be
used
used.
The
description
comes
from
ElementDefinition.short
:
The
base
element
for
a
resource
(see
Resources
)
:
An
element
that
is
part
of
the
resource
and
has
elements
within
it
defined
in
the
same
resource
or
profile
:
An
element
which
can
have
one
of
several
different
types
(see
below)
:
An
element
of
a
data
type
which
describes
an
element
that
has
a
value
attribute/property
attribute/property.
These
are
also
known
as
primitive
types.
All
primitive
type
names
start
with
a
lower
case
letter
:
An
element
of
a
data
type
which
describes
an
element
that
has
other
elements
elements.
These
are
known
as
complex
types.
All
complex
type
names
defined
in
this
specification
start
with
an
uppwer
case
letter
:
An
element
that
contains
a
reference
to
another
resource
(see
references
)
:
This
element
has
the
same
content
as
another
element
defined
within
this
resource
or
profile
Resource
and
Element
names
are
case-sensitive
(though
duplicates
that
differ
only
in
case
are
never
defined)
Any
elements
that
have
a
primitive
type
will
have
a
value
attribute/property
to
contain
the
actual
value
of
the
element
This
value
attribute/property
can
never
be
empty.
Either
it
is
absent,
or
it
is
present
with
at
least
one
character
of
non-whitespace
content
Elements
are
assigned
a
cardinality
that
specifies
how
many
times
the
element
may
or
must
appear.
Unless
elements
have
children
defined
directly
(as
nameC
does
above)
they
are
assigned
one
or
more
types
(see
the
data
types
).
All
the
type
names
are
hyperlinked
to
the
source
definition
Element
reuse:
Some
data
types
that
have
children
have
the
same
set
of
children
as
some
other
element
defined
in
the
resource.
In
that
case,
the
type
of
that
element
has
a
"see
[name]"
where
[name]
is
the
name
of
the
element
that
has
the
defined
children
Each
element
name
is
also
a
hyperlink
to
the
formal
definition
of
the
element
in
the
data
dictionary
that
underlies
the
exchange
formats.
Any
of
the
elements
may
have
an
id
attribute
to
serve
as
the
target
of
an
internal
reference
.
The
id
attribute
is
not
shown
in
this
format.
Extensions
are
not
always
shown,
but
may
appear
except
where
the
flag
NE
appears
FHIR
elements
can
never
be
empty.
If
an
element
is
present
in
the
resource,
it
SHALL
have
either
a
value,
child
elements
as
defined
for
its
type,
or
1
or
more
extensions
Infrastructural
elements
that
are
common
to
all
resources
are
not
shown
in
the
logical
representation.
These
are
described
in
the
common
base
classes
Resource
,
and
DomainResource
The
data
type
for
a
particular
element
is
typically
expressed
as
the
name
of
the
specified
type
with
a
hyperlink
to
its
definition.
However,
there
are
two
exceptions:
If
the
element
supports
multiple
types
(name
ends
with
[x]),
then
the
type
will
be
a
list
of
data
type
options,
each
separated
by
"|"
If
one
of
the
types
is
Reference
or
canonical
,
the
data
type
might
be
followed
by
a
list
of
allowed
targets
the
reference
is
allowed
to
be.
These
might
be
resource
names,
data
type
names,
or
profile
URLs,
depending
on
the
context.
As
well,
the
following
symbols
may
appear
that
represent
expectations
of
where
the
referenced
resource
is
located:
c
:
Resource
must
be
sent
as
a
contained
resource;
r
:
Resource
is
a
non-contained
reference
-
i.e.
to
a
resource
within
the
same
Bundle
or
to
an
external
resource
In
profiles,
references
to
types
may
be
profiled
-
i.e.
Instances
of
the
element
must
comply
with
a
specified
profile
or
one
of
a
list
of
profiles.
The
canonical
URLs
of
any
applicable
profiles
are
listed
inside
{}.
Where
an
element
can
have
a
choice
of
data
types,
or
is
a
Reference
these
are
represented
by
showing
the
common
type
(
Reference
or
Type
),
and
then
showing
the
applicable
data
type
names
or
resource
types
in
a
stereotype,
separated
by
the
|
character.
Type
is
not
formally
otherwise
defined
by
this
specification,
but
is
a
super
type
of
all
the
data
types.
2.6.0.1.2
Choice
of
Data
Types
A
few
elements
have
a
choice
of
more
than
one
data
type
for
their
content.
All
such
elements
have
a
name
that
takes
the
form
nnn[x]
.
The
"nnn"
part
of
the
name
is
constant,
and
the
"[x]"
is
replaced
with
the
title-cased
name
of
the
type
that
is
actually
used.
The
table
view
shows
each
of
these
names
explicitly.
Elements
that
have
a
choice
of
data
type
cannot
repeat
-
they
must
have
a
maximum
cardinality
of
1.
When
constructing
an
instance
of
an
element
with
a
choice
of
types,
the
authoring
system
must
create
a
single
element
with
a
data
type
chosen
from
among
the
list
of
permitted
data
types.
The
UML
diagrams
represent
the
same
content
as
a
series
of
classes
that
represent
the
elements
of
a
resource.
The
elements
and
the
data
types
are
hyperlinks
to
the
formal
definitions
of
the
parts.
The
UML
diagrams
also
show
the
vocabulary
bindings.
These
are
hyperlinks
to
the
value
set
details.
Where
an
element
can
have
a
choice
of
data
types,
or
is
a
Reference
these
are
represented
by
showing
the
common
type
(
Reference
or
Type
),
and
then
showing
the
applicable
data
type
names
or
resource
types
in
a
stereotype,
separated
by
the
|
character.
Type
is
not
formally
otherwise
defined
by
this
specification,
but
is
a
super
type
of
all
the
data
types.
The
actual
order
of
the
elements
in
XML
cannot
be
determined
from
the
diagram,
nor
whether
a
UML
property
becomes
an
element
or
an
attribute
in
the
XML
representation.
Bindings
to
value
sets
are
indicated
by
a
stereotype
on
the
element.
The
stereotype
has
2
parts:
the
value
set
name,
and
a
symbol
that
denotes
the
strength
of
the
binding:
Systems
SHALL
declare
which
format(s)
they
support
in
their
Capability
Statement
.
If
a
server
receives
a
request
for
its
Capability
Statement
in
a
format
it
does
not
otherwise
support,
it
SHALL
return
a
415
406
Not
Acceptable
.
Note:
406
is
the
appropriate
response
when
the
Accept
header
requests
a
format
that
the
server
does
not
support,
and
415
Unsupported
Media
Type.
Type
when
the
client
posts
a
format
that
is
not
supported
to
the
server.
Clients
and
servers
can
choose
what
syntax(s)
to
implement.
In
the
interests
of
interoperability,
servers
SHOULD
support
both
the
XML
and
JSON
formats,
which
have
the
same
functionality,
for
different
technical
stacks.
The
RDF
format
has
quite
different
benefits
-
primarily
around
data
analysis
rather
than
exchange.
2.6.0.1.4.1
Bulk
Data
Formats
Unlike
this
rest
of
this
page,
the
bulk
use
formats
are
draft
until
further
experience
is
gained
with
their
use.
Their
status
will
be
reviewed
in
a
future
version
of
FHIR.
The
XML
and
JSON
formats
are
designed
to
support
typical
system
process
based
process-based
data
exchange
uses.
FHIR
is
also
used
to
exchange
large
amounts
of
data-
1000s
of
records,
or
more
(up
to
billions).
The
formats
above
can
be
used
for
this,
but
more
suitable
formats
exist.
This
specification
documents
(or
is
exploring
documenting)
the
following
formats: