This
page
is
part
of
the
Continuous
Integration
Build
of
FHIR
Specification
(v5.0.0:
R5
-
STU
).
This
is
the
current
published
version
in
it's
permanent
home
(it
will
always
(will
be
available
incorrect/inconsistent
at
this
URL).
For
a
full
list
of
available
versions,
see
times).
See
the
Directory
of
published
versions
2.1.27.0
2.1.26.0
FHIR
Type
Framework
Types
Framework
Cross
Reference:
Base
Types
|
Datatypes
|
Resources
|
Patterns
The
FHIR
specification
defines
types
in
the
following
general
categories:
Datatypes
Resources
Logical
Models
This
page
defines
the
base
abstract
types
that
provide
the
foundation
for
all
those
types:
Base
Element
Unique
id
for
the
element
within
a
resource
(for
internal
references).
This
may
be
any
string
value
that
does
not
contain
spaces
id
:
string
[0..1]
«
This
element
has
or
is
affected
by
some
invariants
C
»
May
be
used
to
represent
additional
information
that
is
not
part
of
the
basic
definition
of
the
element.
To
make
the
use
of
extensions
safe
and
managable,
there
is
a
strict
set
of
governance
applied
to
the
definition
and
use
of
extensions.
Though
any
implementer
can
define
an
extension,
there
is
a
set
of
requirements
that
SHALL
be
met
as
part
of
the
definition
of
the
extension
extension
:
Extension
[0..*]
BackboneElement
May
be
used
to
represent
additional
information
that
is
not
part
of
the
basic
definition
of
the
element
and
that
modifies
the
understanding
of
the
element
in
which
it
is
contained
and/or
the
understanding
of
the
containing
element's
descendants.
Usually
modifier
elements
provide
negation
or
qualification.
To
make
the
use
of
extensions
safe
and
managable,
there
is
a
strict
set
of
governance
applied
to
the
definition
and
use
of
extensions.
Though
any
implementer
can
define
an
extension,
there
is
a
set
of
requirements
that
SHALL
be
met
as
part
of
the
definition
of
the
extension.
Applications
processing
a
resource
are
required
to
check
for
modifier
extensions.
Modifier
extensions
SHALL
NOT
change
the
meaning
of
any
elements
on
Resource
or
DomainResource
(including
cannot
change
the
meaning
of
modifierExtension
itself)
(this
element
modifies
the
meaning
of
other
elements)
modifierExtension
:
Extension
[0..*]
DataType
Resource
The
logical
id
of
the
resource,
as
used
in
the
URL
for
the
resource.
Once
assigned,
this
value
never
changes
id
:
id
[0..1]
The
metadata
about
the
resource.
This
is
content
that
is
maintained
by
the
infrastructure.
Changes
to
the
content
might
not
always
be
associated
with
version
changes
to
the
resource
meta
:
Meta
[0..1]
A
reference
to
a
set
of
rules
that
were
followed
when
the
resource
was
constructed,
and
which
must
be
understood
when
processing
the
content.
Often,
this
is
a
reference
to
an
implementation
guide
that
defines
the
special
rules
along
with
other
profiles
etc
etc.
For
DomainResources,
if
more
than
one
implicitRules
policy
applies,
additional
policies
may
be
conveyed
using
the
[additionalImplicitRules](https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-additionalImplicitRules.html)
extension
(this
element
modifies
the
meaning
of
other
elements)
implicitRules
:
uri
[0..1]
The
base
language
in
which
the
resource
is
written
language
:
code
[0..1]
«
null
(Strength=Required)
AllLanguages
!
»
DomainResource
A
human-readable
narrative
that
contains
a
summary
of
the
resource
and
can
be
used
to
represent
the
content
of
the
resource
to
a
human.
The
narrative
need
not
encode
all
the
structured
data,
but
is
required
to
contain
sufficient
detail
to
make
it
"clinically
safe"
for
a
human
to
just
read
the
narrative.
Resource
definitions
may
define
what
content
should
be
represented
in
the
narrative
to
ensure
clinical
safety
text
:
Narrative
[0..1]
«
This
element
has
or
is
affected
by
some
invariants
C
»
These
resources
do
not
have
an
independent
existence
apart
from
the
resource
that
contains
them
-
they
cannot
be
identified
independently,
nor
can
they
have
their
own
independent
transaction
scope.
This
is
allowed
to
be
a
Parameters
resource
if
and
only
if
it
is
referenced
by
a
resource
that
provides
context/meaning
contained
:
Resource
[0..*]
«
This
element
has
or
is
affected
by
some
invariants
C
»
May
be
used
to
represent
additional
information
that
is
not
part
of
the
basic
definition
of
the
resource.
To
make
the
use
of
extensions
safe
and
managable,
there
is
a
strict
set
of
governance
applied
to
the
definition
and
use
of
extensions.
Though
any
implementer
can
define
an
extension,
there
is
a
set
of
requirements
that
SHALL
be
met
as
part
of
the
definition
of
the
extension
extension
:
Extension
[0..*]
May
be
used
to
represent
additional
information
that
is
not
part
of
the
basic
definition
of
the
resource
and
that
modifies
the
understanding
of
the
element
that
contains
it
and/or
the
understanding
of
the
containing
element's
descendants.
Usually
modifier
elements
provide
negation
or
qualification.
To
make
the
use
of
extensions
safe
and
managable,
there
is
a
strict
set
of
governance
applied
to
the
definition
and
use
of
extensions.
Though
any
implementer
is
allowed
to
define
an
extension,
there
is
a
set
of
requirements
that
SHALL
be
met
as
part
of
the
definition
of
the
extension.
Applications
processing
a
resource
are
required
to
check
for
modifier
extensions.
Modifier
extensions
SHALL
NOT
change
the
meaning
of
any
elements
on
Resource
or
DomainResource
(including
cannot
change
the
meaning
of
modifierExtension
itself)
(this
element
modifies
the
meaning
of
other
elements)
modifierExtension
:
Extension
[0..*]
PrimitiveType
BackboneType
May
be
used
to
represent
additional
information
that
is
not
part
of
the
basic
definition
of
the
element
and
that
modifies
the
understanding
of
the
element
in
which
it
is
contained
and/or
the
understanding
of
the
containing
element's
descendants.
Usually
modifier
elements
provide
negation
or
qualification.
To
make
the
use
of
extensions
safe
and
managable,
there
is
a
strict
set
of
governance
applied
to
the
definition
and
use
of
extensions.
Though
any
implementer
can
define
an
extension,
there
is
a
set
of
requirements
that
SHALL
be
met
as
part
of
the
definition
of
the
extension.
Applications
processing
a
resource
are
required
to
check
for
modifier
extensions.
Modifier
extensions
SHALL
NOT
change
the
meaning
of
any
elements
on
Resource
or
DomainResource
(including
cannot
change
the
meaning
of
modifierExtension
itself)
(this
element
modifies
the
meaning
of
other
elements)
modifierExtension
:
Extension
[0..*]
CanonicalResource
«Interface»
An
absolute
URI
that
is
used
to
identify
this
{{title}}
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance;
also
called
its
canonical
identifier.
This
SHOULD
be
globally
unique
and
SHOULD
be
a
literal
address
at
which
an
authoritative
instance
of
this
{{title}}
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
{{title}}
is
stored
on
different
servers
url
:
uri
[0..1]
A
formal
identifier
that
is
used
to
identify
this
{{title}}
when
it
is
represented
in
other
formats,
or
referenced
in
a
specification,
model,
design
or
an
instance
identifier
:
Identifier
[0..*]
The
identifier
that
is
used
to
identify
this
version
of
the
{{title}}
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
{{title}}
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
SemVer
version,
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
yyyymmdd),
or
incrementing
number.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence
without
additional
knowledge.
(See
the
versionAlgorithm
element.)
version
:
string
[0..1]
Indicates
the
mechanism
used
to
compare
canonical
versions
to
determine
which
is
more
current
versionAlgorithm[x]
:
DataType
[0..1]
«
string
|
Coding
;
null
(Strength=Extensible)
VersionAlgorithm
+
»
A
natural
language
name
identifying
the
{{title}}.
This
name
should
be
usable
as
an
identifier
for
the
resource
by
machine
processing
applications
such
as
code
generation
name
:
string
[0..1]
«
This
element
has
or
is
affected
by
some
invariants
C
»
A
short,
descriptive,
user-friendly
title
for
the
{{title}}
title
:
string
[0..1]
The
current
state
of
this
{{title}}.
(this
element
modifies
the
meaning
of
other
elements)
status
:
code
[1..1]
«
null
(Strength=Required)
PublicationStatus
!
»
A
Boolean
value
to
indicate
that
this
{{title}}
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
no
version
of
this
resource
will
ever
be
intended
for
genuine
usage
experimental
:
boolean
[0..1]
The
date
(and
optionally
time)
when
the
{{title}}
was
last
significantly
changed.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
{{title}}
changes
date
:
dateTime
[0..1]
The
name
of
the
organization
or
individual
responsible
for
the
release
and
ongoing
maintenance
of
the
{{title}}
publisher
:
string
[0..1]
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher
contact
:
ContactDetail
[0..*]
A
free
text
natural
language
description
of
the
{{title}}
from
a
consumer's
perspective
description
:
markdown
[0..1]
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
{{title}}s
useContext
:
UsageContext
[0..*]
A
legal
or
geographic
region
in
which
the
{{title}}
authority
that
maintains
the
resource
is
intended
to
be
used
operating.
In
general,
the
jurisdiction
is
also
found
in
the
useContext.
The
useContext
may
reference
additional
jurisdictions
because
the
defining
jurisdiction
does
not
necessarily
limit
the
jurisdictions
of
use
jurisdiction
:
CodeableConcept
[0..*]
«
null
(Strength=Extensible)
JurisdictionValueSet
+
»
Explanation
of
why
this
{{title}}
is
needed
and
why
it
has
been
designed
as
it
has
purpose
:
markdown
[0..1]
A
copyright
statement
relating
to
the
{{title}}
and/or
its
contents.
Copyright
statements
are
generally
legal
notices
of
intellectual
property
ownership
and
can
include
restrictions
on
the
use
and
publishing
of
the
{{title}}
copyright
:
markdown
[0..1]
A
short
string
(<50
characters),
suitable
for
inclusion
in
a
page
footer
that
identifies
the
copyright
holder,
effective
period,
and
optionally
whether
rights
are
resctricted.
restricted.
(e.g.
'All
rights
reserved',
'Some
rights
reserved')
copyrightLabel
:
string
[0..1]
MetadataResource
«Interface»
A
detailed
description
of
how
the
{{title}}
is
used
from
a
clinical/user
perspective
usage
:
markdown
[0..1]
The
date
on
which
the
resource
content
was
approved
by
the
publisher.
Approval
happens
once
when
the
content
is
officially
approved
for
usage
approvalDate
:
date
[0..1]
The
date
on
which
the
resource
content
was
last
reviewed.
Review
happens
periodically
after
approval
but
does
not
change
the
original
approval
date
lastReviewDate
:
date
[0..1]
The
period
during
which
the
{{title}}
content
was
or
is
planned
to
be
in
active
use
effectivePeriod
:
Period
[0..1]
Descriptive
topics
related
to
the
content
of
the
{{title}}.
Topics
provide
a
high-level
categorization
as
well
as
keywords
for
the
{{title}}
that
can
be
useful
for
filtering
and
searching
topic
:
CodeableConcept
[0..*]
«
null
(Strength=Example)
DefinitionTopic
??
»
An
individiual
or
organization
primarily
involved
in
the
creation
and
maintenance
of
the
{{title}}
author
:
ContactDetail
[0..*]
An
individual
or
organization
primarily
responsible
for
internal
coherence
of
the
{{title}}
editor
:
ContactDetail
[0..*]
An
individual
or
organization
asserted
by
the
publisher
to
be
primarily
responsible
for
review
of
some
aspect
of
the
{{title}}
reviewer
:
ContactDetail
[0..*]
An
individual
or
organization
asserted
by
the
publisher
to
be
responsible
for
officially
endorsing
the
{{title}}
for
use
in
some
setting
endorser
:
ContactDetail
[0..*]
Related
artifacts
such
as
additional
documentation,
justification,
dependencies,
bibliographic
references,
and
predecessor
and
successor
artifacts
relatedArtifact
:
RelatedArtifact
[0..*]
Legend:
see
Standards
Status
Colors
2.1.27.0.1
2.1.26.0.1
Base
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
The
Base
type
that
all
other
types
specialize.
This
type
has
no
properties
or
constraints.
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
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
.
2.1.27.0.2
2.1.26.0.2
Element
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
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
:
Primitive
datatypes
,
that
add
a
primitive
value
property
of
the
specified
type
Complex
datatypes
,
that
add
their
own
children
(all
of
which
are
also
elements)
BackboneElement
,
a
specialization
that
adds
modifierExtension,
which
is
the
super-type
of
all
the
element
types
defined
in
resource
definitions
(e.g.
(e.g.,
Patient.contact
)
Note
that
resources
themselves
all
specialize
the
base
type
Resource
.
Changes
since
Release
3
Changes
from
both
R4
and
R4B
See
the
Full
Difference
for
further
information
Changes
since
Release
3
Changes
from
both
R4
and
R4B
See
the
Full
Difference
for
further
information
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
or
both
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.
2.1.27.0.2.1
2.1.26.0.2.1
Internal
Id
Scope
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.
(e.g.,
StructureDefinition
)
and
extensions
(e.g.
(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:
The
id
SHALL
be
unique
within
a
given
resource
The
uniqueness
boundary
extends
into
contained
resources.
i.e.
i.e.,
a
contained
resource
cannot
have
the
same
id
as
any
element
in
the
resource
that
contains
it
or
any
other
contained
resource
The
uniqueness
boundary
is
broken
at
Bundle.entry.resource
and
Parameters.parameter.resource,
since
these
are
elements
that
aggregate
different
resources
The
id
element
does
not
have
extensions
itself
These
rules
ensure
that
there
is
no
need
to
change
internal
identifiers
while
exchanging
resources.
2.1.27.0.3
2.1.26.0.3
BackboneElement
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
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.
Changes
since
Release
3
Changes
from
both
R4
and
R4B
See
the
Full
Difference
for
further
information
Changes
since
Release
3
Changes
from
both
R4
and
R4B
See
the
Full
Difference
for
further
information
2.1.27.0.4
2.1.26.0.4
DataType
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
The
base
definition
for
the
useable
types
defined
by
the
FHIR
Specification.
See
FHIR
Datatypes
for
specialization
of
this
type.
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
2.1.27.0.5
2.1.26.0.5
BackboneType
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
The
base
definition
for
the
few
datatypes
that
allow
modifier
extensions:
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
2.1.27.0.6
2.1.26.0.6
PrimitiveType
FHIR
Infrastructure
Work
Group
Maturity
Level
:
5
Standards
Status
:
Normative
See
also
Detailed
Descriptions
,
Mappings
,
Profiles
,
Extensions
and
R4
Conversions
Extensions
The
base
type
for
all
re-useable
types
defined
that
have
a
simple
property.
See
Primitive
Types
for
the
list
of
defined
primitives
types.
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