This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
(v5.0.0:
R5
-
Mixed
Normative
and
STU
)
).
This
is
the
current
published
version
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
Base
The
following
list
provides
general
guidelines
that
apply
when
FHIR
resources
are
defined.
Most
of
these
items
are
not
enforced
programmatically
requiring
human
due
diligence
In
addition,
this
type
is
used
in
many
different
business
transactions
Resources
should
not
be
specific
Logical
Models
that
don't
have
or
detailed
enough
want
id
/
extension
.
Note:
implementations
often
use
this
type
to
preclude
support
introduce
the
navigation
features
defined
in
the
FHIRPath
specification
.
The
base
definition
for
all
elements
contained
inside
a
wide
range
resource.
All
elements,
whether
defined
as
a
Datatype
(including
primitives)
or
as
part
of
business
transactions
Resources
should
be
mutually
exclusive
[this
is
a
very
important
consideration
that
helps
to
reduce
redundancy
and
ambiguity]
resource
structure,
have
this
base
content:
Resources
should
use
other
resources,
but
they
should
be
more
than
just
compositions
of
other
resources;
each
resource
should
introduce
novel
content
An
internal
id
There
are
3
kinds
of
descendant
types
that
specialize
Element
:
Resources
should
be
organized
into
Primitive
datatypes
,
that
add
a
logical
framework
based
on
the
commonality
primitive
value
property
of
the
resource
and
what
it
links
to
(see
resource
framework
below)
specified
type
Resources
should
be
large
enough
to
provide
meaningful
context;
resources
Complex
datatypes
,
that
contain
only
a
few
attributes
add
their
own
children
(all
of
which
are
likely
too
small
to
provide
meaningful
business
value
also
elements)
Resources
should
reflect
general
usage:
if
most
systems
treat
something
as
a
single
concept,
that
suggests
BackboneElement
,
a
single
resource;
if
most
systems
treat
something
as
distinct
concepts,
then
specialization
that
suggests
multiple
resources
if
two
different
uses
adds
modifierExtension,
which
is
the
super-type
of
a
"resource"
would
result
all
the
element
types
defined
in
wildly
different
interpretations
of
what
constitutes
"core"
then
resource
definitions
(e.g.
Patient.contact
)
Note
that
suggests
two
resources
might
be
appropriate.
themselves
all
specialize
the
base
type
Resource
.
Base
for
infrastructural
tasks.
Although
not
prohibited,
they
are
not
always
referenced
all
elements
+
Rule:
All
FHIR
elements
must
have
a
@value
or
children
See
the
resources
that
are
clinical
in
nature
but
are
also
very
common
across
many
use
cases.
This
includes
resources
Full
Difference
for
clinical
observations,
clinical
treatment,
care
provision,
and
medications.
These
resources
can
be
used
by
themselves,
but
typically
build
on
further
information
As
the
resources
base
type
for
all
elements
included
in
layer
two.
For
example,
a
resource,
Element
is
an
observation
resource
will
reference
important
structural
element
of
FHIR.
Even
the
patient
resource
from
layer
two.
These
resources
are
also
frequently
contextualized
when
they
are
referenced
by
resources
in
layers
three,
four
primitive
types
inherit
the
base
features
and
five.
representation
rules
that
apply
to
the
Element
type.
Financial
Resources
:
Layer
four
is
dedicated
to
financial
resources.
Logically,
financial
resources
build
on
clinical
and
base
resources.
For
example,
Constraints
All
FHIR
elements
must
have
a
billing
@value
or
children
hasValue()
or
(children().count()
>
id.count())
This
constraint
exists
to
reduce
syntactical
variation
in
resource
will
reference
clinical
events
and
activities
as
well
contents.
If
an
element
has
no
children,
then
it
is
always
omitted
from
the
resource,
as
base
resources
like
a
patient.
opposed
to
optionally
present
without
any
content.
The
id
property
of
the
element
is
defined
to
allow
implementers
to
build
implementation
functionality
that
FHIR
places
priority
on
satisfying
makes
use
of
internal
references
inside
the
most
common
resource.
This
specification
does
not
define
any
general
use
cases,
there
are
fewer
for
the
internal
id,
though
some
resources
in
(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
layer.
means:
The
id
SHALL
be
unique
within
a
given
resource
Resource
Contextualization
:
Layer
6
does
not
contain
The
uniqueness
boundary
extends
into
contained
resources.
However,
it
does
extend
i.e.
a
contained
resource
cannot
have
the
composition
framework
made
up
by
same
id
as
any
element
in
the
first
five
layers
of
resources.
Layer
6
includes
profiles
and
graphs.
Profiles
are
used
to
extend,
constrain,
resource
that
contains
it
or
otherwise
contextualize
resources
for
a
given
purpose.
Graphs
any
other
contained
resource
The
uniqueness
boundary
is
broken
at
Bundle.entry.resource
and
Parameters.parameter.resource,
since
these
are
compositions
of
resources,
or
webs
of
resource,
elements
that
contain
attributes
of
their
own.
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.
The
complete
set
base
definition
for
complex
elements
defined
as
part
of
FHIR
resources
organized
against
a
resource
definition
-
that
is,
elements
that
have
children
that
are
defined
in
the
resource.
Datatype
elements
do
not
use
this
framework
type.
For
instance,
Patient.contact
is
found
on
an
element
that
is
defined
as
part
of
the
Resources
page
.
patient
resource,
so
it
automatically
has
the
type
BackboneElement
.
The
framework
serves
three
primary
purposes:
Note
that
the
descendant
types
of
BackboneElement
are
all
declared
implicitly
as
part
of
the
definitions
of
the
resources.
Organize
resource
for
navigation
and
identification
Structure
Classify
resources
into
categories
based
on
common
sense
groupings
or
patterns
describing
expected
structures
and/or
behaviors
amongst
resources
in
the
same
category
UML
Disseminate
resources
across
layers
to
stratify
relative
common-ness
with
the
most
common
resources
in
the
top
layers
R4
Diff
Changes
from
the
less
common
areas
FHIR
resources
prioritization
-
the
framework
provides
a
structure
for
determining
priorities
both
R4
and
delegating
work
R4B
Tiered
governance
levels
-
the
framework
separates
the
areas
needing
the
most
stringent
and
universal
governance
from
those
that
require
more
context-specific
governance
No
Changes
The
framework
is
further
elaborated
in
See
the
FHIR
Resource
Considerations
page
.
Full
Difference
for
further
information
Another
useful
tool
for
visualizing
how
FHIR
resources
are
organized
relative
to
each
other
can
be
found
using
the
Resource
Reference
Visualization
tool
on
clinFHIR
.
The
diagram
below
describes
base
definition
for
the
useable
types
defined
by
the
FHIR
interface
definitions.
The
methods
are
classified
as:
Specification.
the
EMR
implements
the
necessary
authentication
and
authorization
mechanisms
Dosage
the
patient
is
successfully
authenticated
and
authorized
to
access
FHIR
resources
ElementDefinition
The
basic
flow
of
the
use
case
is
that
the
patient
registers
(if
required),
logs
in,
enters
search
criteria
to
identify
a
patient
or
patients
of
interest
(the
patient
is
most
like
themselves
in
this
use
case),
retrieves
clinical
documents
for
the
patient
and
retrieves
clinical
resources
for
the
patient.
The
use
cases
utilize
the
GET
methods
on
the
iServeInstance
interface
and
works
with
the
following
types
of
FHIR
resources:
Although
this
example
use
case
is
very
simple,
more
complex
transactions
using
a
combination
of
GETs,
PUTs
and
DELETEs
against
resources
and
metadata
can
be
envisioned.
However,
the
exact
details
of
these
use
cases
including
which
methods
are
used,
the
orchestration
of
methods
and
the
specific
resources
involved
are
outside
the
scope
of
the
FHIR
specification.
Structure
Base
for
achieving
complete
consistency
of
both
content
and
granularity
amongst
resources
are
neither
completely
datatypes
that
can
carry
modifier
extensions
Elements
defined
nor
completely
enforced.
Considering
in
Ancestors:
id
,
extension
Extensions
that
FHIR
is
still
a
new
and
emerging
standard,
an
over-abundance
of
constraint
and
rigor
has
been
avoided
cannot
be
ignored
even
if
unrecognized
The
Linkage
resource
base
type
for
all
re-useable
types
defined
that
have
a
simple
property.
See
Primitive
Types
can
be
used
to
help
with
this
problem,
but
additional
capabilities
may
be
considered
in
for
the
future
to
allow
systems
to
address
referential
integrity.
list
of
defined
primitives
types.
This
complex-type
did
not
exist
in
a
given
instance
of
a
resource.
For
example,
if
the
instance
of
an
Intolerance
Resource
has
Release
R4
See
the
“intolerance
type”
data
element
populated
with
“food
intolerance”,
then
“causative
agent”
should
be
constrained
to
only
valid
values
Full
Difference
for
this
value
set
(e.g.,
valid
foods
instead
of
medications
or
environmental
agents).
Tools
further
information
Business
Rule
Enforcement
and
Validation
UML
Diagram
–
As
governance
increases
and
more
resource
rules
are
defined,
it
may
be
advantageous
to
have
a
resource
validation
tool
that
checks
for
things
like
resource
consistency,
duplication,
referential
integrity,
circular
or
nonsensical
references,
and
other
defined
(
Legend
)
Changes
since
Release
3
Changes
from
both
R4
and
approved
validation
rules.
Once
rules
are
agreed
to,
this
level
of
automation
can
help
address
R4B
This
complex-type
did
not
exist
in
Release
R4
See
the
other
issues
outlined
above.
These
kinds
of
facilities
are
planned
Full
Difference
for
the
future.
further
information