This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot1:
Release
6
Ballot
(1st
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
FHIR
Infrastructure
Work
Group
|
Maturity Level : Normative | Standards Status : Normative |
Types Framework Cross Reference: Base Types | Datatypes | Resources | Patterns
The FHIR specification defines types in the following general categories:
This page defines the base abstract types that provide the foundation for all those types:
Legend: see Standards Status Colors
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The Base type that all other types specialize. This type has no properties or constraints.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N |
Base
for
all
types
and
resources
|
||
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N |
Base
for
all
types
and
resources
|
||
Documentation
for
this
format
|
||||
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
Specializations:
In
addition,
this
type
is
used
in
Logical
Models
that
don't
have
or
want
id
/
extension
.
Note:
implementations
often
use
this
type
to
introduce
the
navigation
features
defined
in
the
FHIRPath
specification
.
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The base definition for all elements contained inside a resource. All elements, whether defined as a Datatype (including primitives) or as part of a resource structure, have this base content:
There
are
3
kinds
of
descendant
types
that
specialize
Element
:
Note that resources themselves all specialize the base type Resource .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Base |
Base
for
all
elements
+ Rule: All FHIR elements must have a @value or children Elements defined in Ancestors: |
|
|
C | 0..1 | string |
Unique
id
for
inter-element
referencing
|
|
0..* | Extension |
Additional
content
defined
by
implementations
|
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
Changes since Release 3
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Base |
Base
for
all
elements
+ Rule: All FHIR elements must have a @value or children Elements defined in Ancestors: |
|
|
C | 0..1 | string |
Unique
id
for
inter-element
referencing
|
|
0..* | Extension |
Additional
content
defined
by
implementations
|
|
Documentation
for
this
format
|
||||
As
the
base
type
for
all
elements
included
in
a
resource,
Element
is
an
important
structural
element
of
FHIR.
Even
the
primitive
types
inherit
the
base
features
and
representation
rules
that
apply
to
the
Element
type.
Constraints
| id | Level | Location | Description | Expression |
ele-1
|
Rule | (base) | All FHIR elements must have a @value or children | hasValue() or (children().count() > id.count()) |
This constraint exists to reduce syntactical variation in resource contents. If an element has no children, then it is always omitted from the resource, as opposed to optionally present without any content.
The
id
property
of
the
element
is
defined
to
allow
implementers
to
build
implementation
functionality
that
makes
use
of
internal
references
inside
the
resource.
This
specification
does
not
define
any
general
use
for
the
internal
id,
though
some
resources
(e.g.
StructureDefinition
)
and
extensions
(e.g.
originalText
,
narrativeLink
)
make
use
of
it.
The internal id is unique within the scope of the resource that contains it. Specifically, this means:
id
element
does
not
have
extensions
itself
These rules ensure that there is no need to change internal identifiers while exchanging resources.
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The
base
definition
for
complex
elements
defined
as
part
of
a
resource
definition
-
that
is,
elements
that
have
children
that
are
defined
in
the
resource.
Datatype
elements
do
not
use
this
type.
For
instance,
Patient.contact
is
an
element
that
is
defined
as
part
of
the
patient
resource,
so
it
automatically
has
the
type
BackboneElement
.
Note
that
the
descendant
types
of
BackboneElement
are
all
declared
implicitly
as
part
of
the
definitions
of
the
resources.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Element |
Base
for
elements
defined
inside
a
resource
Elements defined in Ancestors: id , extension |
|
|
?! Σ | 0..* | Extension |
Extensions
that
cannot
be
ignored
even
if
unrecognized
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
Changes since Release 3
Changes from both R4 and R4B
| BackboneElement |
|
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Element |
Base
for
elements
defined
inside
a
resource
Elements defined in Ancestors: id , extension |
|
|
?! Σ | 0..* | Extension |
Extensions
that
cannot
be
ignored
even
if
unrecognized
|
Documentation
for
this
format
|
||||
Changes since Release 3
Changes from both R4 and R4B
| BackboneElement |
|
See the Full Difference for further information
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The base definition for the useable types defined by the FHIR Specification.
See FHIR Datatypes for specialization of this type.
UML Diagram ( Legend )
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The base definition for the few datatypes that allow modifier extensions:
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Element |
Base
for
datatypes
that
can
carry
modifier
extensions
Elements defined in Ancestors: id , extension |
|
|
?! Σ | 0..* | Extension |
Extensions
that
cannot
be
ignored
even
if
unrecognized
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | Element |
Base
for
datatypes
that
can
carry
modifier
extensions
Elements defined in Ancestors: id , extension |
|
|
?! Σ | 0..* | Extension |
Extensions
that
cannot
be
ignored
even
if
unrecognized
|
Documentation
for
this
format
|
||||
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
FHIR
Infrastructure
Work
Group
|
Maturity Level : 5 | Standards Status : Normative |
See also Detailed Descriptions , Mappings , Profiles , Extensions and R4 Conversions
The base type for all re-useable types defined that have a simple property. See Primitive Types for the list of defined primitives types.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | DataType |
Parent
type
for
DataTypes
with
a
simple
value
Elements defined in Ancestors: id , extension |
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
«A» N | DataType |
Parent
type
for
DataTypes
with
a
simple
value
Elements defined in Ancestors: id , extension |
|
Documentation
for
this
format
|
||||
Changes since Release 3
Changes from both R4 and R4B
This complex-type did not exist in Release R4
See the Full Difference for further information