This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Responsible
Owner:
FHIR
Infrastructure
Work
Group
|
|
This
page
documents
how
the
content
of
the
resources
defined
by
the
FHIR
specification
are
described.
In
actual
exchange,
resources
can
be
represented
in
the
following
formats:
XML
,
JSON
and
Turtle
RDF
(Turtle)
.
Other
representations
are
allowed,
but
are
not
described
by
A
UML
Based
Object-Oriented
Definition
is
also
provided.
This specification defines 134 resources as part of this specification. Additional resources may be defined in other specifications - see the discussion on Resource .
The resources are described in several different ways:
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.
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
[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
|
Here's an example:
| Name | Flags | Card. | Type | Description & Constraints |
|---|---|---|---|---|
|
Base Type | Definition | ||
|
Σ | 1..1 |
|
description of content |
|
?! Σ | 0..1 |
description
SHALL at least have a value |
|
|
0..1 |
|
||
|
I | 0..1 |
|
|
|
1..* |
|
Definition | |
|
1..1 |
|
Relevant Records |
Key
to
Type
Icons
and
Flags
value
Key to Flags
?!
:
This
element
is
a
modifying
element
-
see
Modifier
Elements
S
:
This
element
is
an
element
that
Σ
:
This
element
is
an
element
that
is
part
of
the
summary
set
-
see
Summary
Searches
I
:
This
element
defines
or
is
affected
by
constraints
-
see
Constraints
NE
T
:
This
element
«A»
:
This
Type
is
an
Abstract
Type
«I»
:
This
Resource
is
an
Interface
Definition
Notes:
value
attribute/property
to
contain
the
actual
value
of
the
element
value
attribute/property
can
never
be
empty.
Either
it
is
absent,
or
it
is
present
with
at
least
one
character
of
non-whitespace
content
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
The datatype 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:
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
datatypes,
or
is
a
Reference
these
are
represented
by
showing
the
common
type
(
Reference
or
Type
),
and
then
showing
the
applicable
datatype
names
or
resource
types
in
a
stereotype,
separated
by
the
|
character.
A
few
elements
have
a
choice
of
more
than
one
data
type
datatype
for
their
content.
All
such
elements
have
a
name
that
takes
the
form
nnn[x]
.
The
"nnn"
"nnn"
part
of
the
name
is
constant,
and
the
"[x]"
"[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
datatype
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
datatype
chosen
from
among
the
list
of
permitted
data
types.
datatypes.
Note:
In
object-orientated
based
object-oriented
implementations,
this
is
naturally
represented
as
a
polymorphic
property.
property
(see
Object
Representation
of
FHIR
).
However
this
is
not
necessary
and
the
correct
implementation
varies
according
to
the
particular
features
of
the
language.
In
XML
schema,
these
become
an
xs:choice
of
element.
2.6.0.1.3
UML
The
UML
diagrams
represent
the
same
content
as
a
series
of
classes
that
represent
the
elements
of
To
help
with
code
generation,
a
resource.
NameA
Documentation
element
:
[type]
[0..*]
Documentation
nameB
:
CodeableConcept
[0..1]
«
Value
Set
Description
(Strength=Preferred)
Value
Set
Name
?
»
NameC
Documentation
value[x]
:
Type
[0..1]
«
Type1
|
Type2
|
Type3
»
Docuementation
reference
:
Reference
[0..1]
«
Resource1
|
Resource2
»
Documentation
nameC
[0..1]
The
elements
and
the
data
types
are
hyperlinks
to
the
formal
definitions
list
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:
??:
Example
Binding
?:
Preferred
Binding
+:
Extensible
Binding
!:
Required
Binding
2.6.0.1.4
Serialization
Format
Representations
This
specification
defines
the
following
ways
to
represent
resources
when
they
are
exchanged:
XML
JSON
RDF
(Turtle)
Clients
and
servers
can
choose
what
syntax(s)
to
implement.
In
the
interests
of
interoperability,
servers
SHOULD
support
all
formats
(though
support
for
RDF
should
best
wait
until
it
is
more
fully
developed).
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
Unsupported
Media
Type.
published.