This
page
is
part
of
the
Continuous
Integration
Build
of
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
)
in
it's
permanent
home
(it
will
always
(will
be
available
incorrect/inconsistent
at
this
URL).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Responsible
Owner:
FHIR
Infrastructure
Work
Group
|
Standards Status : Normative |
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)
.
Additional
Bulk
Data
Formats
A
UML
Based
Object-Oriented
Definition
are
is
also
undergoing
exploration.
Other
representations
are
allowed,
but
are
not
described
by
this
provided.
This
specification
(though
defines
134
resources
as
part
of
this
specification.
Additional
resources
may
be
defined
in
other
specifications
-
see
link
below
.
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, 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
name
or
JSON
or
RDF
property
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. The description comes from ElementDefinition.short |
Here's an example:
| Name | Flags | Card. | Type | Description & Constraints |
|---|---|---|---|---|
|
Base Type | Definition | ||
|
Σ | 1..1 | TypeA | description of content |
|
?! Σ | 0..1 |
description
SHALL at least have a value |
|
|
0..1 |
|
||
|
I | 0..1 | typeC | |
|
1..* | BackboneElement | Definition | |
|
1..1 | TypeD | Relevant Records |
Key to Type Icons
value
attribute/property.
These
are
also
known
as
primitive
types.
All
primitive
type
names
start
with
a
lower
case
letter
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
data
type
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.
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,
datatypes,
or
is
a
Reference
these
are
represented
by
showing
the
common
type
(
Reference
or
Type
),
and
then
showing
the
applicable
data
type
datatype
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.
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"
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
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
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.
To
help
with
code
generation,
a
list
of
choice
elements
is
published.