|
Attachment
|
|
Definition
|
For
referring
to
data
content
defined
in
other
formats.
For referring to data content defined in other formats.
|
|
Control
|
1..1
|
|
Requirements
|
Many
models
need
to
include
data
defined
in
other
specifications
that
is
complex
and
opaque
to
the
healthcare
model.
This
includes
documents,
media
recordings,
structured
data,
etc.
Summary
true
Many models need to include data defined in other specifications that is complex and opaque to the healthcare model. This includes documents, media recordings, structured data, etc.
|
|
Comments
|
When
providing
a
summary
view
(for
example
with
Observation.value[x])
Attachment
should
be
represented
with
a
brief
display
text
such
as
"Attachment".
When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Attachment".
|
|
Invariants
|
Defined
on
this
element
Defined on this element
att-1
:
It
the
Attachment
has
data,
it
SHALL
have
a
contentType
(xpath:
not(exists(f:data))
or
exists(f:contentType))
: It the Attachment has data, it SHALL have a contentType (
expression
: data.empty() or contentType.exists(), xpath: not(exists(f:data)) or exists(f:contentType))
|
|
Attachment.contentType
|
|
Definition
|
Identifies
the
type
of
the
data
in
the
attachment
and
allows
a
method
to
be
chosen
to
interpret
or
render
the
data.
Includes
mime
type
parameters
such
as
charset
where
appropriate.
Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.
|
|
Control
|
0..1
|
|
Binding
|
MimeType
MimeType
:
:
Required
:
BCP
13
(RFCs
2045,
2046,
2047,
4288,
4289
and
2049)
:
BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
(The
mime
type
of
an
attachment.
Any
valid
mime
type
is
allowed.)
(The mime type of an attachment. Any valid mime type is allowed.)
|
|
Type
|
code
|
|
Requirements
|
Processors
of
the
data
need
to
be
able
to
know
how
to
interpret
the
data.
Processors of the data need to be able to know how to interpret the data.
|
|
Summary
|
true
|
|
Attachment.language
|
|
Definition
|
The
human
language
of
the
content.
The
value
can
be
any
valid
value
according
to
BCP
47.
The human language of the content. The value can be any valid value according to BCP 47.
|
|
Control
|
0..1
|
|
Binding
|
Language
:
Required
:
IETF
language
tag
(A
human
language.)
Common Languages:
A human language.
(
Extensible
but limited to ??)
|
|
Type
|
code
|
|
Requirements
|
Users
need
to
be
able
to
choose
between
the
languages
in
a
set
of
attachments.
Users need to be able to choose between the languages in a set of attachments.
|
|
Summary
|
true
|
|
Attachment.data
|
|
Definition
|
The
actual
data
of
the
attachment
-
a
sequence
of
bytes.
In
XML,
represented
using
base64.
The actual data of the attachment - a sequence of bytes. In XML, represented using base64.
|
|
Control
|
0..1
|
|
Type
|
base64Binary
|
|
Requirements
|
The
data
needs
to
able
to
be
transmitted
inline.
Summary
true
The data needs to able to be transmitted inline.
|
|
Comments
|
The
base64-encoded
data
SHALL
be
expressed
in
the
same
character
set
as
the
base
resource
XML
or
JSON.
The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.
|
|
Attachment.url
|
|
Definition
|
An
alternative
location
where
the
data
can
be
accessed.
An alternative location where the data can be accessed.
|
|
Control
|
0..1
|
|
Type
|
uri
|
|
Requirements
|
The
data
needs
to
be
transmitted
by
reference.
The data needs to be transmitted by reference.
|
|
Summary
|
true
|
|
Comments
|
If
both
data
and
url
are
provided,
the
url
SHALL
point
to
the
same
content
as
the
data
contains.
Urls
may
be
relative
references
or
may
reference
transient
locations
such
as
a
wrapping
envelope
using
cid:
though
this
has
ramifications
for
using
signatures.
Relative
URLs
are
interpreted
relative
to
the
service
url,
like
a
resource
reference,
rather
than
relative
to
the
resource
itself.
If
a
URL
is
provided,
it
SHALL
resolve
to
actual
data.
If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.
|
|
Attachment.size
|
|
Definition
|
The
number
of
bytes
of
data
that
make
up
this
attachment.
The number of bytes of data that make up this attachment.
|
|
Control
|
0..1
|
|
Type
|
unsignedInt
|
|
Requirements
|
Representing
the
size
allows
applications
to
determine
whether
they
should
fetch
the
content
automatically
in
advance,
or
refuse
to
fetch
it
at
all.
Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all.
|
|
Summary
|
true
|
|
Comments
|
The
number
of
bytes
is
redundant
if
the
data
is
provided
as
a
base64binary,
but
is
useful
if
the
data
is
provided
as
a
url
reference.
The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference.
|
|
Attachment.hash
|
|
Definition
|
The
calculated
hash
of
the
data
using
SHA-1.
Represented
using
base64.
The calculated hash of the data using SHA-1. Represented using base64.
|
|
Control
|
0..1
|
|
Type
|
base64Binary
|
|
Requirements
|
Included
so
that
applications
can
verify
that
the
contents
of
a
location
have
not
changed
and
so
that
a
signature
of
the
content
can
implicitly
sign
the
content
of
an
image
without
having
to
include
the
data
in
the
instance
or
reference
the
url
in
the
signature.
Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature.
|
|
Summary
|
true
|
|
Attachment.title
|
|
Definition
|
A
label
or
set
of
text
to
display
in
place
of
the
data.
A label or set of text to display in place of the data.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Applications
need
a
label
to
display
to
a
human
user
in
place
of
the
actual
data
if
the
data
cannot
be
rendered
or
perceived
by
the
viewer.
Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.
|
|
Summary
|
true
|
|
Attachment.creation
|
|
Definition
|
The
date
that
the
attachment
was
first
created.
The date that the attachment was first created.
|
|
Control
|
0..1
|
|
Type
|
dateTime
|
|
Requirements
|
This
is
often
tracked
as
an
integrity
issue
for
use
of
the
attachment.
This is often tracked as an integrity issue for use of the attachment.
|
|
Summary
|
true
|
|
Identifier
|
|
Definition
|
A
technical
identifier
-
identifies
some
entity
uniquely
and
unambiguously.
A technical identifier - identifies some entity uniquely and unambiguously.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
be
able
to
identify
things
with
confidence
and
be
sure
that
the
identification
is
not
subject
to
misinterpretation.
Need to be able to identify things with confidence and be sure that the identification is not subject to misinterpretation.
|
|
Summary
|
true
|
|
Identifier.use
|
|
Definition
|
The
purpose
of
this
identifier.
The purpose of this identifier.
|
|
Control
|
0..1
|
|
Binding
|
IdentifierUse:
Identifies
the
purpose
for
this
identifier,
if
known
.
(
IdentifierUse:
Identifies the purpose for this identifier, if known .
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Allows
the
appropriate
identifier
for
a
particular
context
of
use
to
be
selected
from
among
a
set
of
identifiers.
Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
|
|
Summary
|
true
|
|
Comments
|
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
mistake
a
temporary
id
for
a
permanent
one.
Applications
can
assume
that
an
identifier
is
permanent
unless
it
explicitly
says
that
it
is
temporary.
This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
|
|
Identifier.type
|
|
Definition
|
A
coded
type
for
the
identifier
that
can
be
used
to
determine
which
identifier
to
use
for
a
specific
purpose.
A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
|
|
Control
|
0..1
|
|
Binding
|
Identifier
Type
Codes:
A
coded
type
for
an
identifier
that
can
be
used
to
determine
which
identifier
to
use
for
a
specific
purpose.
(
Identifier Type Codes:
A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
(
Extensible
)
|
|
Type
|
CodeableConcept
|
|
Requirements
|
Allows
users
to
make
use
of
identifiers
when
the
identifier
system
is
not
known.
Allows users to make use of identifiers when the identifier system is not known.
|
|
Summary
|
true
|
|
Comments
|
This
element
deals
only
with
general
categories
of
identifiers.
It
SHOULD
not
be
used
for
codes
that
correspond
1..1
with
the
Identifier.system.
Some
identifiers
may
fall
into
multiple
categories
due
to
common
usage.
Where
the
system
is
known,
a
type
is
unnecessary
because
the
type
is
always
part
of
the
system
definition.
However
systems
often
need
to
handle
identifiers
where
the
system
is
not
known.
There
is
not
a
1:1
relationship
between
type
and
system,
since
many
different
systems
have
the
same
type.
This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.
Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
|
|
Identifier.system
|
|
Definition
|
Establishes
the
namespace
in
which
set
of
possible
id
values
is
unique.
Establishes the namespace in which set of possible id values is unique.
|
|
Control
|
0..1
|
|
Type
|
uri
|
|
Requirements
|
There
are
many
sequences
of
identifiers.
To
perform
matching,
we
need
to
know
what
sequence
we're
dealing
with.
The
system
identifies
a
particular
sequence
or
set
of
unique
identifiers.
There are many sequences of identifiers. To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.
|
|
Summary
|
true
|
|
Identifier.value
|
|
Definition
|
The
portion
of
the
identifier
typically
displayed
to
the
user
and
which
is
unique
within
the
context
of
the
system.
The portion of the identifier typically relevant to the user and which is unique within the context of the system.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
If
the
value
is
a
full
URI,
then
the
system
SHALL
be
urn:ietf:rfc:3986.
If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the
Rendered Value extension
. |
|
Identifier.period
|
|
Definition
|
Time
period
during
which
identifier
is/was
valid
for
use.
Time period during which identifier is/was valid for use.
|
|
Control
|
0..1
|
|
Type
|
Period
|
|
Summary
|
true
|
|
Identifier.assigner
|
|
Definition
|
Organization
that
issued/manages
the
identifier.
Organization that issued/manages the identifier.
|
|
Control
|
0..1
|
|
Type
|
Reference
(
Organization
)
|
|
Summary
|
true
|
|
Comments
|
The
reference
may
be
just
a
text
description
of
the
assigner.
The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
|
|
Coding
|
|
Definition
|
A
reference
to
a
code
defined
by
a
terminology
system.
A reference to a code defined by a terminology system.
|
|
Control
|
1..1
|
|
Requirements
|
References
to
codes
are
very
common
in
healthcare
models.
References to codes are very common in healthcare models.
|
|
Summary
|
true
|
|
Comments
|
Codes
may
be
defined
very
casually
in
enumerations
or
code
lists,
up
to
very
formal
definitions
such
as
SNOMED
CT
-
see
the
HL7
v3
Core
Principles
for
more
information.
Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.
|
|
Coding.system
|
|
Definition
|
The
identification
of
the
code
system
that
defines
the
meaning
of
the
symbol
in
the
code.
The identification of the code system that defines the meaning of the symbol in the code.
|
|
Control
|
0..1
|
|
Type
|
uri
|
|
Requirements
|
Need
to
be
unambiguous
about
the
source
of
the
definition
of
the
symbol.
Need to be unambiguous about the source of the definition of the symbol.
|
|
Summary
|
true
|
|
Comments
|
The
URI
may
be
an
OID
(urn:oid:...)
or
a
UUID
(urn:uuid:...).
OIDs
and
UUIDs
SHALL
be
references
to
the
HL7
OID
registry.
Otherwise,
the
URI
should
come
from
HL7's
list
of
FHIR
defined
special
URIs
or
it
should
de-reference
to
some
definition
that
establish
the
system
clearly
and
unambiguously.
The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.
|
|
Coding.version
|
|
Definition
|
The
version
of
the
code
system
which
was
used
when
choosing
this
code.
Note
that
a
well-maintained
code
system
does
not
need
the
version
reported,
because
the
meaning
of
codes
is
consistent
across
versions.
However
this
cannot
consistently
be
assured.
and
when
the
meaning
is
not
guaranteed
to
be
consistent,
the
version
SHOULD
be
exchanged.
The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
|
|
Note
|
This
is
a
business
versionId,
not
a
resource
identifier
(see
This is a business versionId, not a resource version id (see
discussion
)
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
Where
the
terminology
does
not
clearly
define
what
string
should
be
used
to
identify
code
system
versions,
the
recommendation
is
to
use
the
date
(expressed
in
FHIR
date
format)
on
which
that
version
was
officially
published
as
the
version
date.
Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.
|
|
Coding.code
|
|
Definition
|
A
symbol
in
syntax
defined
by
the
system.
The
symbol
may
be
a
predefined
code
or
an
expression
in
a
syntax
defined
by
the
coding
system
(e.g.
post-coordination).
A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
|
|
Control
|
0..1
|
|
Type
|
code
|
|
Requirements
|
Need
to
refer
to
a
particular
code
in
the
system.
Need to refer to a particular code in the system.
|
|
Summary
|
true
|
|
Coding.display
|
|
Definition
|
A
representation
of
the
meaning
of
the
code
in
the
system,
following
the
rules
of
the
system.
A representation of the meaning of the code in the system, following the rules of the system.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Need
to
be
able
to
carry
a
human-readable
meaning
of
the
code
for
readers
that
do
not
know
the
system.
Need to be able to carry a human-readable meaning of the code for readers that do not know the system.
|
|
Summary
|
true
|
|
Coding.userSelected
|
|
Definition
|
Indicates
that
this
coding
was
chosen
by
a
user
directly
-
i.e.
off
a
pick
list
of
available
items
(codes
or
displays).
Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).
|
|
Control
|
0..1
|
|
Type
|
boolean
|
|
Requirements
|
This
has
been
identified
as
a
clinical
safety
criterium
-
that
this
exact
system/code
pair
was
chosen
explicitly,
rather
than
inferred
by
the
system
based
on
some
rules
or
language
processing.
This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.
|
|
Summary
|
true
|
|
Comments
|
Amongst
a
set
of
alternatives,
a
directly
chosen
code
is
the
most
appropriate
starting
point
for
new
translations.
There
is
some
ambiguity
about
what
exactly
'directly
chosen'
implies,
and
trading
partner
agreement
may
be
needed
to
clarify
the
use
of
this
element
and
its
consequences
more
completely.
Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.
|
|
CodeableConcept
|
|
Definition
|
A
concept
that
may
be
defined
by
a
formal
reference
to
a
terminology
or
ontology
or
may
be
provided
by
text.
A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
|
|
Control
|
1..1
|
|
Requirements
|
This
is
a
common
pattern
in
healthcare
-
a
concept
that
may
be
defined
by
one
or
more
codes
from
formal
definitions
including
LOINC
and
SNOMED
CT,
and/or
defined
by
the
provision
of
text
that
captures
a
human
sense
of
the
concept.
This is a common pattern in healthcare - a concept that may be defined by one or more codes from formal definitions including LOINC and SNOMED CT, and/or defined by the provision of text that captures a human sense of the concept.
|
|
Summary
|
true
|
|
Comments
|
Not
all
terminology
uses
fit
this
general
pattern.
In
some
cases,
models
should
not
use
CodeableConcept
and
use
Coding
directly
and
provide
their
own
structure
for
managing
text,
codings,
translations
and
the
relationship
between
elements
and
pre-
and
post-coordination.
Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.
|
|
CodeableConcept.coding
|
|
Definition
|
A
reference
to
a
code
defined
by
a
terminology
system.
A reference to a code defined by a terminology system.
|
|
Control
|
0..*
|
|
Type
|
Coding
|
|
Requirements
|
Allows
for
translations
and
alternate
encodings
within
a
code
system.
Also
supports
communication
of
the
same
instance
to
systems
requiring
different
encodings.
Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.
|
|
Summary
|
true
|
|
Comments
|
Codes
may
be
defined
very
casually
in
enumerations,
or
code
lists,
up
to
very
formal
definitions
such
as
SNOMED
CT
-
see
the
HL7
v3
Core
Principles
for
more
information.
Ordering
of
codings
is
undefined
and
SHALL
NOT
be
used
to
infer
meaning.
Generally,
at
most
only
one
of
the
coding
values
will
be
labelled
as
UserSelected
=
true.
Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.
|
|
CodeableConcept.text
|
|
Definition
|
A
human
language
representation
of
the
concept
as
seen/selected/uttered
by
the
user
who
entered
the
data
and/or
which
represents
the
intended
meaning
of
the
user.
A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
The
codes
from
the
terminologies
do
not
always
capture
the
correct
meaning
with
all
the
nuances
of
the
human
using
them,
or
sometimes
there
is
no
appropriate
code
at
all.
In
these
cases,
the
text
is
used
to
capture
the
full
meaning
of
the
source.
The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
|
|
Summary
|
true
|
|
Comments
|
Very
often
the
text
is
the
same
as
a
displayName
of
one
of
the
codings.
Very often the text is the same as a displayName of one of the codings.
|
|
Quantity
|
|
Definition
|
A
measured
amount
(or
an
amount
that
can
potentially
be
measured).
Note
that
measured
amounts
include
amounts
that
are
not
precisely
quantified,
including
amounts
involving
arbitrary
units
and
floating
currencies.
A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
able
to
capture
all
sorts
of
measured
values,
even
if
the
measured
value
are
not
precisely
quantified.
Values
include
exact
measures
such
as
3.51g,
customary
units
such
as
3
tablets,
and
currencies
such
as
$100.32USD.
Need to able to capture all sorts of measured values, even if the measured value are not precisely quantified. Values include exact measures such as 3.51g, customary units such as 3 tablets, and currencies such as $100.32USD.
|
|
Summary
|
true
|
|
Comments
|
The
context
of
use
may
frequently
define
what
kind
of
quantity
this
is
and
therefore
what
kind
of
units
can
be
used.
The
context
of
use
may
also
restrict
the
values
for
the
comparator.
The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
qty-3
:
If
a
code
for
the
unit
is
present,
the
system
SHALL
also
be
present
(xpath:
not(exists(f:code))
or
exists(f:system))
: If a code for the unit is present, the system SHALL also be present (
expression
: code.empty() or system.exists(), xpath: not(exists(f:code)) or exists(f:system))
|
|
Quantity.value
|
|
Definition
|
The
value
of
the
measured
amount.
The
value
includes
an
implicit
precision
in
the
presentation
of
the
value.
The value of the measured amount. The value includes an implicit precision in the presentation of the value.
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Requirements
|
Precision
is
handled
implicitly
in
almost
all
cases
of
measurement.
Precision is handled implicitly in almost all cases of measurement.
|
|
Summary
|
true
|
|
Comments
|
The
implicit
precision
in
the
value
should
always
be
honored.
Monetary
values
have
their
own
rules
for
handling
precision
(refer
to
standard
accounting
text
books).
The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).
|
|
Quantity.comparator
|
|
Definition
|
How
the
value
should
be
understood
and
represented
-
whether
the
actual
value
is
greater
or
less
than
the
stated
value
due
to
measurement
issues;
e.g.
if
the
comparator
is
"<"
,
then
the
real
value
is
<
stated
value.
How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.
|
|
Control
|
0..1
|
|
Binding
|
QuantityComparator:
How
the
Quantity
should
be
understood
and
represented.
(
QuantityComparator:
How the Quantity should be understood and represented.
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
Meaning
if
Missing
Meaning if Missing
|
If
there
is
no
comparator,
then
there
is
no
modification
of
the
value
If there is no comparator, then there is no modification of the value
|
|
Requirements
|
Need
a
framework
for
handling
measures
where
the
value
is
<5ug/L
or
>400mg/L
due
to
the
limitations
of
measuring
methodology.
Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.
|
|
Summary
|
true
|
|
Comments
|
This
is
labeled
as
"Is
Modifier"
because
the
comparator
modifies
the
interpretation
of
the
value
significantly.
If
there
is
no
comparator,
then
there
is
no
modification
of
the
value.
This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value.
|
|
Quantity.unit
|
|
Definition
|
A
human-readable
form
of
the
unit.
A human-readable form of the unit.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
There
are
many
representations
for
units
of
measure
and
in
many
contexts,
particular
representations
are
fixed
and
required.
I.e.
mcg
for
micrograms.
There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.
|
|
Summary
|
true
|
|
Quantity.system
|
|
Definition
|
The
identification
of
the
system
that
provides
the
coded
form
of
the
unit.
The identification of the system that provides the coded form of the unit.
|
|
Control
|
0..1
|
|
Type
|
uri
|
|
Requirements
|
Need
to
know
the
system
that
defines
the
coded
form
of
the
unit.
Need to know the system that defines the coded form of the unit.
|
|
Summary
|
true
|
|
Invariants
|
Affect
this
element
Affect this element
qty-3
:
If
a
code
for
the
unit
is
present,
the
system
SHALL
also
be
present
(xpath:
not(exists(f:code))
or
exists(f:system))
: If a code for the unit is present, the system SHALL also be present (
expression
: code.empty() or system.exists(), xpath: not(exists(f:code)) or exists(f:system))
|
|
Quantity.code
|
|
Definition
|
A
computer
processable
form
of
the
unit
in
some
unit
representation
system.
A computer processable form of the unit in some unit representation system.
|
|
Control
|
0..1
|
|
Type
|
code
|
|
Requirements
|
Need
a
computable
form
of
the
unit
that
is
fixed
across
all
forms.
UCUM
provides
this
for
quantities,
but
SNOMED
CT
provides
many
units
of
interest.
Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.
|
|
Summary
|
true
|
|
Comments
|
The
preferred
system
is
UCUM,
but
SNOMED
CT
can
also
be
used
(for
customary
units)
or
ISO
4217
for
currency.
The
context
of
use
may
additionally
require
a
code
from
a
particular
system.
The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.
|
|
Range
|
|
Definition
|
A
set
of
ordered
Quantities
defined
by
a
low
and
high
limit.
A set of ordered Quantities defined by a low and high limit.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
be
able
to
specify
ranges
of
values.
Need to be able to specify ranges of values.
|
|
Summary
|
true
|
|
Comments
|
The
stated
low
and
high
value
are
assumed
to
have
arbitrarily
high
precision
when
it
comes
to
determining
which
values
are
in
the
range.
I.e.
1.99
is
not
in
the
range
2
->
3.
The stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. I.e. 1.99 is not in the range 2 -> 3.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
rng-2
:
If
present,
low
SHALL
have
a
lower
value
than
high
(xpath:
not(exists(f:low/f:value/@value))
or
not(exists(f:high/f:value/@value))
or
(number(f:low/f:value/@value)
<=
number(f:high/f:value/@value)))
: If present, low SHALL have a lower value than high (
expression
: low.empty() or high.empty() or (low <= high), xpath: not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) <= number(f:high/f:value/@value)))
|
|
Range.low
|
|
Definition
|
The
low
limit.
The
boundary
is
inclusive.
The low limit. The boundary is inclusive.
|
|
Control
|
0..1
|
|
Type
|
SimpleQuantity
|
|
Summary
|
true
|
|
Comments
|
If
the
low
element
is
missing,
the
low
boundary
is
not
known.
If the low element is missing, the low boundary is not known.
|
|
Invariants
|
Affect
this
element
Affect this element
rng-2
:
If
present,
low
SHALL
have
a
lower
value
than
high
(xpath:
not(exists(f:low/f:value/@value))
or
not(exists(f:high/f:value/@value))
or
(number(f:low/f:value/@value)
<=
number(f:high/f:value/@value)))
: If present, low SHALL have a lower value than high (
expression
: low.empty() or high.empty() or (low <= high), xpath: not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) <= number(f:high/f:value/@value)))
|
|
Range.high
|
|
Definition
|
The
high
limit.
The
boundary
is
inclusive.
The high limit. The boundary is inclusive.
|
|
Control
|
0..1
|
|
Type
|
SimpleQuantity
|
|
Summary
|
true
|
|
Comments
|
If
the
high
element
is
missing,
the
high
boundary
is
not
known.
If the high element is missing, the high boundary is not known.
|
|
Invariants
|
Affect
this
element
Affect this element
rng-2
:
If
present,
low
SHALL
have
a
lower
value
than
high
(xpath:
not(exists(f:low/f:value/@value))
or
not(exists(f:high/f:value/@value))
or
(number(f:low/f:value/@value)
<=
number(f:high/f:value/@value)))
: If present, low SHALL have a lower value than high (
expression
: low.empty() or high.empty() or (low <= high), xpath: not(exists(f:low/f:value/@value)) or not(exists(f:high/f:value/@value)) or (number(f:low/f:value/@value) <= number(f:high/f:value/@value)))
|
|
Period
|
|
Definition
|
A
time
period
defined
by
a
start
and
end
date
and
optionally
time.
A time period defined by a start and end date and optionally time.
|
|
Control
|
1..1
|
|
Summary
|
true
|
|
Comments
|
This
is
not
a
duration
-
that's
a
measure
of
time
(a
separate
type),
but
a
duration
that
occurs
at
a
fixed
value
of
time.
A
Period
specifies
a
range
of
time;
the
context
of
use
will
specify
whether
the
entire
range
applies
(e.g.
"the
patient
was
an
inpatient
of
the
hospital
for
this
time
range")
or
one
value
from
the
range
applies
(e.g.
"give
to
the
patient
between
these
two
times").
If
duration
is
required,
specify
the
type
as
Interval|Duration.
This is not a duration - that's a measure of time (a separate type), but a duration that occurs at a fixed value of time. A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). If duration is required, specify the type as Interval|Duration.
|
|
Invariants
|
Defined
on
this
element
Defined on this element
per-1
:
If
present,
start
SHALL
have
a
lower
value
than
end
(xpath:
not(exists(f:start))
or
not(exists(f:end))
or
(f:start/@value
<=
f:end/@value))
: If present, start SHALL have a lower value than end (
expression
: start.empty() or end.empty() or (start <= end), xpath: not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value))
|
|
Period.start
|
|
Definition
|
The
start
of
the
period.
The
boundary
is
inclusive.
The start of the period. The boundary is inclusive.
|
|
Control
|
0..1
|
|
Type
|
dateTime
|
|
Summary
|
true
|
|
Comments
|
If
the
low
element
is
missing,
the
meaning
is
that
the
low
boundary
is
not
known.
If the low element is missing, the meaning is that the low boundary is not known.
|
|
Invariants
|
Affect
this
element
Affect this element
per-1
:
If
present,
start
SHALL
have
a
lower
value
than
end
(xpath:
not(exists(f:start))
or
not(exists(f:end))
or
(f:start/@value
<=
f:end/@value))
: If present, start SHALL have a lower value than end (
expression
: start.empty() or end.empty() or (start <= end), xpath: not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value))
|
|
Period.end
|
|
Definition
|
The
end
of
the
period.
If
the
end
of
the
period
is
missing,
it
means
that
the
period
is
ongoing.
The
start
may
be
in
the
past,
and
the
end
date
in
the
future,
which
means
that
period
is
expected/planned
to
end
at
that
time.
The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.
|
|
Control
|
0..1
|
|
Type
|
dateTime
|
Meaning
if
Missing
Meaning if Missing
|
If
the
end
of
the
period
is
missing,
it
means
that
the
period
is
ongoing
If the end of the period is missing, it means that the period is ongoing
|
|
Summary
|
true
|
|
Comments
|
The
high
value
includes
any
matching
date/time.
i.e.
2012-02-03T10:00:00
is
in
a
period
that
has
a
end
value
of
2012-02-03.
The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.
|
|
Invariants
|
Affect
this
element
Affect this element
per-1
:
If
present,
start
SHALL
have
a
lower
value
than
end
(xpath:
not(exists(f:start))
or
not(exists(f:end))
or
(f:start/@value
<=
f:end/@value))
: If present, start SHALL have a lower value than end (
expression
: start.empty() or end.empty() or (start <= end), xpath: not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value))
|
|
SampledData
|
|
Definition
|
A
series
of
measurements
taken
by
a
device,
with
upper
and
lower
limits.
There
may
be
more
than
one
dimension
in
the
data.
A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
|
|
Control
|
1..1
|
|
Requirements
|
There
is
a
need
for
a
concise
way
to
handle
the
data
produced
by
devices
that
sample
a
physical
state
at
a
high
frequency.
Summary
true
There is a need for a concise way to handle the data produced by devices that sample a physical state at a high frequency.
|
|
Comments
|
The
data
is
not
interpretable
without
at
least
origin,
period,
and
dimensions,
but
these
are
optional
to
allow
a
separation
between
the
template
of
measurement
and
the
actual
measurement,
such
as
between
DeviceCapabilities
and
DeviceLog.
When
providing
a
summary
view
(for
example
with
Observation.value[x])
SampledData
should
be
represented
with
a
brief
display
text
such
as
"Sampled
Data".
The data is not interpretable without at least origin, period, and dimensions, but these are optional to allow a separation between the template of measurement and the actual measurement, such as between DeviceCapabilities and DeviceLog. When providing a summary view (for example with Observation.value[x]) SampledData should be represented with a brief display text such as "Sampled Data".
|
|
SampledData.origin
|
|
Definition
|
The
base
quantity
that
a
measured
value
of
zero
represents.
In
addition,
this
provides
the
units
of
the
entire
measurement
series.
The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.
|
|
Control
|
1..1
|
|
Type
|
SimpleQuantity
|
|
Summary
|
true
|
|
SampledData.period
|
|
Definition
|
The
length
of
time
between
sampling
times,
measured
in
milliseconds.
The length of time between sampling times, measured in milliseconds.
|
|
Control
|
1..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
|
Comments
|
This
is
usually
a
whole
number.
This is usually a whole number.
|
|
SampledData.factor
|
|
Definition
|
A
correction
factor
that
is
applied
to
the
sampled
data
points
before
they
are
added
to
the
origin.
A correction factor that is applied to the sampled data points before they are added to the origin.
|
|
Control
|
0..1
|
|
Type
|
decimal
|
Default
Value
Default Value
|
1
|
|
Summary
|
true
|
|
SampledData.lowerLimit
|
|
Definition
|
The
lower
limit
of
detection
of
the
measured
points.
This
is
needed
if
any
of
the
data
points
have
the
value
"L"
(lower
than
detection
limit).
The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit).
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
|
SampledData.upperLimit
|
|
Definition
|
The
upper
limit
of
detection
of
the
measured
points.
This
is
needed
if
any
of
the
data
points
have
the
value
"U"
(higher
than
detection
limit).
The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit).
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
|
SampledData.dimensions
|
|
Definition
|
The
number
of
sample
points
at
each
time
point.
If
this
value
is
greater
than
one,
then
the
dimensions
will
be
interlaced
-
all
the
sample
points
for
a
point
in
time
will
be
recorded
at
once.
The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once.
|
|
Control
|
1..1
|
|
Type
|
positiveInt
|
|
Summary
|
true
|
|
Comments
|
If
there
is
more
than
one
dimension,
the
code
for
the
type
of
data
will
define
the
meaning
of
the
dimensions
(typically
ECG
data).
If there is more than one dimension, the code for the type of data will define the meaning of the dimensions (typically ECG data).
|
|
SampledData.data
|
|
Definition
|
A
series
of
data
points
which
are
decimal
values
separated
by
a
single
space
(character
u20).
The
special
values
"E"
(error),
"L"
(below
detection
limit)
and
"U"
(above
detection
limit)
can
also
be
used
in
place
of
a
decimal
value.
A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal value.
|
|
Control
|
1..1
|
|
Type
|
string
|
Summary
true
|
HumanName
|
|
Definition
|
A
human's
name
with
the
ability
to
identify
parts
and
usage.
A human's name with the ability to identify parts and usage.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
be
able
to
record
names,
along
with
notes
about
their
use.
Need to be able to record names, along with notes about their use.
|
|
Summary
|
true
|
|
Comments
|
Names
may
be
changed,
or
repudiated,
or
people
may
have
different
names
in
different
contexts.
Names
may
be
divided
into
parts
of
different
type
that
have
variable
significance
depending
on
context,
though
the
division
into
parts
does
not
always
matter.
With
personal
names,
the
different
parts
may
or
may
not
be
imbued
with
some
implicit
meaning;
various
cultures
associate
different
importance
with
the
name
parts
and
the
degree
to
which
systems
must
care
about
name
parts
around
the
world
varies
widely.
Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.
|
|
HumanName.use
|
|
Definition
|
Identifies
the
purpose
for
this
name.
Identifies the purpose for this name.
|
|
Control
|
0..1
|
|
Binding
|
NameUse:
The
use
of
a
human
name
(
NameUse:
The use of a human name
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Allows
the
appropriate
name
for
a
particular
context
of
use
to
be
selected
from
among
a
set
of
names.
Allows the appropriate name for a particular context of use to be selected from among a set of names.
|
|
Summary
|
true
|
|
Comments
|
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
mistake
a
temporary
or
old
name
etc.for
a
current/permanent
one.
Applications
can
assume
that
a
name
is
current
unless
it
explicitly
says
that
it
is
temporary
or
old.
This is labeled as "Is Modifier" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.
|
|
HumanName.text
|
|
Definition
|
A
full
text
representation
of
the
name.
A full text representation of the name.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
A
renderable,
unencoded
form.
A renderable, unencoded form.
|
|
Summary
|
true
|
|
Comments
|
Can
provide
both
a
text
representation
and
structured
parts.
Can provide both a text representation and structured parts.
|
|
HumanName.family
|
|
Definition
|
The
part
of
a
name
that
links
to
the
genealogy.
In
some
cultures
(e.g.
Eritrea)
the
family
name
of
a
son
is
the
first
name
of
his
father.
The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.
|
|
Control
|
0..*
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
surname
|
|
Summary
|
true
|
|
Comments
|
For
family
name,
hyphenated
names
such
as
"Smith-Jones"
are
a
single
name,
but
names
with
spaces
such
as
"Smith
Jones"
are
broken
into
multiple
parts.
For family name, hyphenated names such as "Smith-Jones" are a single name, but names with spaces such as "Smith Jones" are broken into multiple parts.
|
|
HumanName.given
|
|
Definition
|
Given
name.
Given name.
|
|
Control
|
0..*
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
first
name;
middle
name
first name; middle name
|
|
Summary
|
true
|
|
Comments
|
If
only
initials
are
recorded,
they
may
be
used
in
place
of
the
full
name.
Not
called
"first
name"
since
given
names
do
not
always
come
first.
If only initials are recorded, they may be used in place of the full name. Not called "first name" since given names do not always come first.
|
|
HumanName.prefix
|
|
Definition
|
Part
of
the
name
that
is
acquired
as
a
title
due
to
academic,
legal,
employment
or
nobility
status,
etc.
and
that
appears
at
the
start
of
the
name.
Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.
|
|
Control
|
0..*
|
|
Type
|
string
|
|
Summary
|
true
|
|
HumanName.suffix
|
|
Definition
|
Part
of
the
name
that
is
acquired
as
a
title
due
to
academic,
legal,
employment
or
nobility
status,
etc.
and
that
appears
at
the
end
of
the
name.
Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.
|
|
Control
|
0..*
|
|
Type
|
string
|
|
Summary
|
true
|
|
HumanName.period
|
|
Definition
|
Indicates
the
period
of
time
when
this
name
was
valid
for
the
named
person.
Indicates the period of time when this name was valid for the named person.
|
|
Control
|
0..1
|
|
Type
|
Period
|
|
Requirements
|
Allows
names
to
be
placed
in
historical
context.
Allows names to be placed in historical context.
|
|
Summary
|
true
|
|
Address
|
|
Definition
|
There
is
a
variety
of
postal
address
formats
defined
around
the
world.
This
format
defines
a
superset
that
is
the
basis
for
all
addresses
around
the
world.
An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations and which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
be
able
to
record
postal
addresses,
along
with
notes
about
their
use.
Need to be able to record postal addresses, along with notes about their use.
|
|
Summary
|
true
|
|
Comments
|
Note:
address
is
for
postal
addresses,
not
physical
locations.
Note: address is for postal addresses, not physical locations.
|
|
Address.use
|
|
Definition
|
The
purpose
of
this
address.
The purpose of this address.
|
|
Control
|
0..1
|
|
Binding
|
AddressUse:
The
use
of
an
address
(
AddressUse:
The use of an address
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Allows
an
appropriate
address
to
be
chosen
from
a
list
of
many.
Allows an appropriate address to be chosen from a list of many.
|
|
Summary
|
true
|
|
Comments
|
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
mistake
a
temporary
or
old
address
etc.for
a
current/permanent
one.
Applications
can
assume
that
an
address
is
current
unless
it
explicitly
says
that
it
is
temporary
or
old.
This is labeled as "Is Modifier" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.
|
|
Address.type
|
|
Definition
|
Distinguishes
between
physical
addresses
(those
you
can
visit)
and
mailing
addresses
(e.g.
PO
Boxes
and
care-of
addresses).
Most
addresses
are
both.
Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.
|
|
Control
|
0..1
|
|
Binding
|
AddressType:
The
type
of
an
address
(physical
/
postal)
(
AddressType:
The type of an address (physical / postal)
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Address.text
|
|
Definition
|
A
full
text
representation
of
the
address.
A full text representation of the address.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
A
renderable,
unencoded
form.
A renderable, unencoded form.
|
|
Summary
|
true
|
|
Comments
|
Can
provide
both
a
text
representation
and
parts.
Can provide both a text representation and parts.
|
|
Address.line
|
|
Definition
|
This
component
contains
the
house
number,
apartment
number,
street
name,
street
direction,
P.O.
Box
number,
delivery
hints,
and
similar
address
information.
This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.
|
|
Control
|
0..*
|
|
Type
|
string
|
|
Requirements
|
home
|
work
|
temp
|
old
-
purpose
of
this
address.
home | work | temp | old - purpose of this address.
|
|
Summary
|
true
|
|
Address.city
|
|
Definition
|
The
name
of
the
city,
town,
village
or
other
community
or
delivery
center.
The name of the city, town, village or other community or delivery center.
|
|
Control
|
0..1
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
Municpality
|
|
Summary
|
true
|
|
Address.district
|
|
Definition
|
The
name
of
the
administrative
area
(county).
The name of the administrative area (county).
|
|
Control
|
0..1
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
County
|
|
Summary
|
true
|
|
Comments
|
District
is
sometimes
known
as
county,
but
in
some
regions
'county'
in
used
in
place
of
city
(municipality),
so
county
name
should
be
conveyed
in
city
instead.
District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.
|
|
Address.state
|
|
Definition
|
Sub-unit
of
a
country
with
limited
sovereignty
in
a
federally
organized
country.
A
code
may
be
used
if
codes
are
in
common
use
(i.e.
US
2
letter
state
codes).
Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).
|
|
Control
|
0..1
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
Province;
Territory
Province; Territory
|
|
Summary
|
true
|
|
Address.postalCode
|
|
Definition
|
A
postal
code
designating
a
region
defined
by
the
postal
service.
A postal code designating a region defined by the postal service.
|
|
Control
|
0..1
|
|
Type
|
string
|
Alternate
Names
Alternate Names
|
Zip
|
|
Summary
|
true
|
|
Address.country
|
|
Definition
|
Country
-
a
nation
as
commonly
understood
or
generally
accepted.
Country - a nation as commonly understood or generally accepted.
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
ISO
3166
3
letter
codes
can
be
used
in
place
of
a
full
country
name.
ISO 3166 3 letter codes can be used in place of a full country name.
|
|
Address.period
|
|
Definition
|
Time
period
when
address
was/is
in
use.
Time period when address was/is in use.
|
|
Control
|
0..1
|
|
Type
|
Period
|
|
Requirements
|
Allows
addresses
to
be
placed
in
historical
context.
Allows addresses to be placed in historical context.
|
|
Summary
|
true
|
|
ContactPoint
|
|
Definition
|
Details
for
all
kinds
of
technology
mediated
contact
points
for
a
person
or
organization,
including
telephone,
email,
etc.
Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
track
phone,
fax,
mobile,
sms
numbers,
email
addresses,
twitter
tags,
etc.
Need to track phone, fax, mobile, sms numbers, email addresses, twitter tags, etc.
|
|
Summary
|
true
|
|
Invariants
|
Defined
on
this
element
Defined on this element
cpt-2
:
A
system
is
required
if
a
value
is
provided.
(xpath:
not(exists(f:value))
or
exists(f:system))
: A system is required if a value is provided. (
expression
: value.empty() or system.exists(), xpath: not(exists(f:value)) or exists(f:system))
|
|
ContactPoint.system
|
|
Definition
|
Telecommunications
form
for
contact
point
-
what
communications
system
is
required
to
make
use
of
the
contact.
Telecommunications form for contact point - what communications system is required to make use of the contact.
|
|
Control
|
0..1
|
|
Binding
|
ContactPointSystem:
Telecommunications
form
for
contact
point
(
ContactPointSystem:
Telecommunications form for contact point
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Invariants
|
Affect
this
element
Affect this element
cpt-2
:
A
system
is
required
if
a
value
is
provided.
(xpath:
not(exists(f:value))
or
exists(f:system))
: A system is required if a value is provided. (
expression
: value.empty() or system.exists(), xpath: not(exists(f:value)) or exists(f:system))
|
|
ContactPoint.value
|
|
Definition
|
The
actual
contact
point
details,
in
a
form
that
is
meaningful
to
the
designated
communication
system
(i.e.
phone
number
or
email
address).
The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).
|
|
Control
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Need
to
support
legacy
numbers
that
are
not
in
a
tightly
controlled
format.
Need to support legacy numbers that are not in a tightly controlled format.
|
|
Summary
|
true
|
|
Comments
|
Additional
text
data
such
as
phone
extension
numbers,
or
notes
about
use
of
the
contact
are
sometimes
included
in
the
value.
Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.
|
|
ContactPoint.use
|
|
Definition
|
Identifies
the
purpose
for
the
contact
point.
Identifies the purpose for the contact point.
|
|
Control
|
0..1
|
|
Binding
|
ContactPointUse:
Use
of
contact
point
(
ContactPointUse:
Use of contact point
(
Required
)
|
|
Type
|
code
|
Is
Modifier
Is Modifier
|
true
|
|
Requirements
|
Need
to
track
the
way
a
person
uses
this
contact,
so
a
user
can
choose
which
is
appropriate
for
their
purpose.
Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.
|
|
Summary
|
true
|
|
Comments
|
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
mistake
a
temporary
or
old
contact
etc.for
a
current/permanent
one.
Applications
can
assume
that
a
contact
is
current
unless
it
explicitly
says
that
it
is
temporary
or
old.
This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old.
|
|
ContactPoint.rank
|
|
Definition
|
Specifies
a
preferred
order
in
which
to
use
a
set
of
contacts.
Contacts
are
ranked
with
lower
values
coming
before
higher
values.
Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.
|
|
Control
|
0..1
|
|
Type
|
positiveInt
|
|
Summary
|
true
|
|
Comments
|
Note
that
rank
does
not
necessarily
follow
the
order
in
which
the
contacts
are
represented
in
the
instance.
Note that rank does not necessarily follow the order in which the contacts are represented in the instance.
|
|
ContactPoint.period
|
|
Definition
|
Time
period
when
the
contact
point
was/is
in
use.
Time period when the contact point was/is in use.
|
|
Control
|
0..1
|
|
Type
|
Period
|
|
Summary
|
true
|
|
Timing
|
|
Definition
|
Specifies
an
event
that
may
occur
multiple
times.
Timing
schedules
are
used
to
record
when
things
are
expected
or
requested
to
occur.
The
most
common
usage
is
in
dosage
instructions
for
medications.
They
are
also
used
when
planning
care
of
various
kinds.
Specifies an event that may occur multiple times. Timing schedules are used to record when things are expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds.
|
|
Control
|
1..1
|
|
Requirements
|
Need
to
able
to
track
proposed
timing
schedules.
There
are
several
different
ways
to
do
this:
one
or
more
specified
times,
a
simple
rules
like
three
times
a
day,
or
before/after
meals.
Need to able to track proposed timing schedules. There are several different ways to do this: one or more specified times, a simple rules like three times a day, or before/after meals.
|
|
Summary
|
true
|
|
Comments
|
A
timing
schedule
can
be
either
a
list
of
events
-
intervals
on
which
the
event
occurs,
or
a
single
event
with
repeating
criteria
or
just
repeating
criteria
with
no
actual
event.
When
both
event
and
a
repeating
specification
are
provided,
the
list
of
events
should
be
understood
as
an
interpretation
of
the
information
in
the
repeat
structure.
A timing schedule can be either a list of events - intervals on which the event occurs, or a single event with repeating criteria or just repeating criteria with no actual event. When both event and a repeating specification are provided, the list of events should be understood as an interpretation of the information in the repeat structure.
|
|
Timing.event
|
|
Definition
|
Identifies
specific
times
when
the
event
occurs.
Identifies specific times when the event occurs.
|
|
Control
|
0..*
|
|
Type
|
dateTime
|
|
Requirements
|
In
an
MAR,
for
instance,
you
need
to
take
a
general
specification,
and
turn
it
into
a
precise
specification.
In an MAR, for instance, you need to take a general specification, and turn it into a precise specification.
|
|
Summary
|
true
|
|
Timing.repeat
|
|
Definition
|
A
set
of
rules
that
describe
when
the
event
should
occur.
A set of rules that describe when the event should occur.
|
|
Control
|
0..1
|
|
Requirements
|
Many
timing
schedules
are
determined
by
regular
repetitions.
Many timing schedules are determined by regular repetitions.
|
|
Summary
|
true
|
|
Invariants
|
Defined
on
this
element
Defined on this element
tim-1
:
if
there's
a
duration,
there
needs
to
be
duration
units
(xpath:
not(exists(f:duration))
or
exists(f:durationUnits))
: if there's a duration, there needs to be duration units (
expression
: duration.empty() or durationUnit.exists(), xpath: not(exists(f:duration)) or exists(f:durationUnit))
tim-2
:
if
there's
a
period,
there
needs
to
be
period
units
(xpath:
not(exists(f:period))
or
exists(f:periodUnits))
: if there's a period, there needs to be period units (
expression
: period.empty() or periodUnit.exists(), xpath: not(exists(f:period)) or exists(f:periodUnit))
tim-3
:
Either
frequency
or
when
can
exist,
not
both
(xpath:
not((f:period
or
f:frequency)
and
f:when))
: Either frequency or when can exist, not both (
expression
: ((period or frequency) and when).not(), xpath: not((f:period or f:frequency) and f:when))
tim-4
: duration SHALL be a non-negative value (
expression
: duration.exists() implies duration >= 0, xpath: f:duration/@value >= 0 or not(f:duration/@value))
tim-5
: period SHALL be a non-negative value (
expression
: period.exists() implies period >= 0, xpath: f:period/@value >= 0 or not(f:period/@value))
tim-6
:
If
there's
a
periodMax,
there
must
be
a
period
(xpath:
not(exists(f:periodMax))
or
exists(f:period))
: If there's a periodMax, there must be a period (
expression
: periodMax.empty() or period.exists(), xpath: not(exists(f:periodMax)) or exists(f:period))
tim-7
:
If
there's
a
durationMax,
there
must
be
a
duration
(xpath:
not(exists(f:durationMax))
or
exists(f:duration))
: If there's a durationMax, there must be a duration (
expression
: durationMax.empty() or duration.exists(), xpath: not(exists(f:durationMax)) or exists(f:duration))
tim-8
: If there's a countMax, there must be a count (
expression
: countMax.empty() or count.exists(), xpath: not(exists(f:countMax)) or exists(f:count))
tim-9
: If there's an offset, there must be a when (
expression
: offset.empty() or when.exists(), xpath: not(exists(f:offset)) or exists(f:when))
|
|
Timing.repeat.bounds[x]
|
|
Definition
|
Either
a
duration
for
the
length
of
the
timing
schedule,
a
range
of
possible
length,
or
outer
bounds
for
start
and/or
end
limits
of
the
timing
schedule.
Either a duration for the length of the timing schedule, a range of possible length, or outer bounds for start and/or end limits of the timing schedule.
|
|
Control
|
0..1
|
|
Type
|
Duration
|
Range
|
Period
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Summary
|
true
|
|
Timing.repeat.count
|
|
Definition
|
A
total
count
of
the
desired
number
of
repetitions.
A total count of the desired number of repetitions.
|
|
Control
|
0..1
|
|
Type
|
integer
|
|
Requirements
|
Repetitions
may
be
limited
by
end
time
or
total
occurrences.
Repetitions may be limited by end time or total occurrences.
|
|
Summary
|
true
|
|
Comments
|
If
you
have
both
bounds
and
count,
then
this
should
be
understood
as
within
the
bounds
period,
until
count
times
happens.
If you have both bounds and count, then this should be understood as within the bounds period, until count times happens.
|
Timing.repeat.duration
Timing.repeat.countMax
|
|
Definition
|
How
long
this
thing
happens
for
when
it
happens.
A maximum value for the count of the desired repetitions (e.g. do something 6-8 times).
|
|
Control
|
0..1
|
|
Type
|
decimal
integer
|
Requirements
Summary
|
true
|
|
Timing.repeat.duration
|
|
Definition
|
Some
activities
are
not
instantaneous
and
need
to
be
maintained
for
a
period
of
time.
How long this thing happens for when it happens.
|
|
Control
|
0..1
|
Summary
Type
|
true
decimal
|
Comments
Requirements
|
For
some
events
the
duration
is
part
of
the
definition
of
the
event
(e.g.
IV
infusions,
where
the
duration
is
implicit
in
the
specified
quantity
and
rate).
For
others,
it's
part
of
the
timing
specification
(e.g.
exercise).
Some activities are not instantaneous and need to be maintained for a period of time.
|
Invariants
Summary
|
true
|
Defined
on
this
element
tim-4
:
duration
SHALL
be
a
non-negative
value
(xpath:
@value
>=
0
or
not(@value))
Comments
|
For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).
|
|
Timing.repeat.durationMax
|
|
Definition
|
The
upper
limit
of
how
long
this
thing
happens
for
when
it
happens.
The upper limit of how long this thing happens for when it happens.
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Requirements
|
Some
activities
are
not
instantaneous
and
need
to
be
maintained
for
a
period
of
time.
Some activities are not instantaneous and need to be maintained for a period of time.
|
|
Summary
|
true
|
|
Comments
|
For
some
events
the
duration
is
part
of
the
definition
of
the
event
(e.g.
IV
infusions,
where
the
duration
is
implicit
in
the
specified
quantity
and
rate).
For
others,
it's
part
of
the
timing
specification
(e.g.
exercise).
For some events the duration is part of the definition of the event (e.g. IV infusions, where the duration is implicit in the specified quantity and rate). For others, it's part of the timing specification (e.g. exercise).
|
Timing.repeat.durationUnits
Timing.repeat.durationUnit
|
|
Definition
|
The
units
of
time
for
the
duration,
in
UCUM
units.
The units of time for the duration, in UCUM units.
|
|
Control
|
0..1
|
|
Binding
|
UnitsOfTime:
A
unit
of
time
(units
from
UCUM).
(
UnitsOfTime:
A unit of time (units from UCUM).
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Timing.repeat.frequency
|
|
Definition
|
The
number
of
times
to
repeat
the
action
within
the
specified
period
/
period
range
(i.e.
both
period
and
periodMax
provided).
The number of times to repeat the action within the specified period / period range (i.e. both period and periodMax provided).
|
|
Control
|
0..1
|
|
Type
|
integer
|
Default
Value
Default Value
|
1
|
|
Summary
|
true
|
|
Timing.repeat.frequencyMax
|
|
Definition
|
If
present,
indicates
that
the
frequency
is
a
range
-
so
repeat
between
[frequency]
and
[frequencyMax]
times
within
the
period
or
period
range.
If present, indicates that the frequency is a range - so repeat between [frequency] and [frequencyMax] times within the period or period range.
|
|
Control
|
0..1
|
|
Type
|
integer
|
|
Summary
|
true
|
|
Timing.repeat.period
|
|
Definition
|
Indicates
the
duration
of
time
over
which
repetitions
are
to
occur;
e.g.
to
express
"3
times
per
day",
3
would
be
the
frequency
and
"1
day"
would
be
the
period.
Indicates the duration of time over which repetitions are to occur; e.g. to express "3 times per day", 3 would be the frequency and "1 day" would be the period.
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
Invariants
Defined
on
this
element
tim-5
:
period
SHALL
be
a
non-negative
value
(xpath:
@value
>=
0
or
not(@value))
|
Timing.repeat.periodMax
|
|
Definition
|
If
present,
indicates
that
the
period
is
a
range
from
[period]
to
[periodMax],
allowing
expressing
concepts
such
as
"do
this
once
every
3-5
days.
If present, indicates that the period is a range from [period] to [periodMax], allowing expressing concepts such as "do this once every 3-5 days.
|
|
Control
|
0..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
Timing.repeat.periodUnits
Timing.repeat.periodUnit
|
|
Definition
|
The
units
of
time
for
the
period
in
UCUM
units.
The units of time for the period in UCUM units.
|
|
Control
|
0..1
|
|
Binding
|
UnitsOfTime:
A
unit
of
time
(units
from
UCUM).
(
UnitsOfTime:
A unit of time (units from UCUM).
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Timing.repeat.when
|
|
Definition
|
A
real
world
event
that
the
occurrence
of
the
event
should
be
tied
to.
A real world event that the occurrence of the event should be tied to.
|
|
Control
|
0..1
|
|
Binding
|
EventTiming:
Real
world
event
that
the
relating
to
the
schedule.
(
EventTiming:
Real world event that the relating to the schedule.
(
Required
)
|
|
Type
|
code
|
|
Requirements
|
Timings
are
frequently
determined
by
occurrences
such
as
waking,
eating
and
sleep.
Timings are frequently determined by occurrences such as waking, eating and sleep.
|
|
Summary
|
true
|
|
Timing.repeat.offset
|
|
Definition
|
The number of minutes from the event. If the event code does not indicate whether the minutes is before or after the event, then the offset is assumed to be after the event.
|
|
Control
|
0..1
|
|
Type
|
unsignedInt
|
|
Summary
|
true
|
|
Timing.code
|
|
Definition
|
A
code
for
the
timing
pattern.
Some
codes
such
as
BID
are
ubiquitous,
but
many
institutions
define
their
own
additional
codes.
A code for the timing pattern. Some codes such as BID are ubiquitous, but many institutions define their own additional codes. If a code is provided, the code is understood to be a complete statement of whatever is specified in the structured timing data, and either the code or the data may be used to interpret the Timing.
|
|
Control
|
0..1
|
|
Binding
|
TimingAbbreviation:
Code
for
a
known
/
defined
timing
pattern.
(
TimingAbbreviation:
Code for a known / defined timing pattern.
(
Preferred
)
|
|
Type
|
CodeableConcept
|
|
Summary
|
true
|
|
Comments
|
A
repeat
should
always
be
defined
except
for
the
common
codes
BID,
TID,
QID,
AM
and
PM,
which
all
systems
are
required
to
understand.
BID etc are defined as 'at institutionally specified times'. For example, an institution may choose that BID is "always at 7am and 6pm". If it is inappropriate for this choice to be made, the code BID should not be used. Instead, a distinct organization-specific code should be used in place of the HL7-defined BID code and/or the a structured representation should be used (in this case, specifying the two event times).
|
|
Signature
|
|
Definition
|
A
digital
signature
along
with
supporting
context.
The
signature
may
be
electronic/cryptographic
in
nature,
or
a
graphical
image
representing
a
hand-written
signature,
or
a
signature
process.
Different
Signature
approaches
have
different
utilities.
A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different Signature approaches have different utilities.
|
|
Control
|
1..1
|
|
Requirements
|
There
are
a
number
of
places
where
content
must
be
signed
in
healthcare.
Summary
true
There are a number of places where content must be signed in healthcare.
|
|
Comments
|
The
elements
of
the
Signature
Resource
are
for
ease
of
access
of
these
elements.
Foro
digital
signatures
(Xml
DigSig,
JWT),
the
non-repudiation
proof
comes
from
the
Signature
validation,
which
includes
validation
of
the
referenced
objects
(e.g.
Resources)
(a.k.a.,
Content)
in
the
XML-Signature
Detached
form.
To
Do
application/signature+xml.
The elements of the Signature Resource are for ease of access of these elements. Foro digital signatures (Xml DigSig, JWT), the non-repudiation proof comes from the Signature validation, which includes validation of the referenced objects (e.g. Resources) (a.k.a., Content) in the XML-Signature Detached form.
|
|
Signature.type
|
|
Definition
|
An
indication
of
the
reason
that
the
entity
signed
this
document.
This
may
be
explicitly
included
as
part
of
the
signature
information
and
can
be
used
when
determining
accountability
for
various
actions
concerning
the
document.
An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document.
|
|
Control
|
1..*
|
|
Binding
|
Signature
Type
Codes:
An
indication
of
the
reason
that
an
entity
signed
the
object
(
Signature Type Codes:
An indication of the reason that an entity signed the object
(
Preferred
)
|
|
Type
|
Coding
|
|
Summary
|
true
|
|
Comments
|
Examples
include
attesting
to:
authorship,
correct
transcription,
and
witness
of
specific
event.
Also
known
as
a
"Commitment
Type
Indication".
Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a "Commitment Type Indication".
|
|
Signature.when
|
|
Definition
|
When
the
digital
signature
was
signed.
When the digital signature was signed.
|
|
Control
|
1..1
|
|
Type
|
instant
|
|
Summary
|
true
|
|
Comments
|
This
should
agree
with
the
information
in
the
signature.
This should agree with the information in the signature.
|
|
Signature.who[x]
|
|
Definition
|
A
reference
to
an
application-usable
description
of
the
person
that
signed
the
certificate
(e.g.
the
signature
used
their
private
key).
A reference to an application-usable description of the identity that signed (e.g. the signature used their private key).
|
|
Control
|
1..1
|
|
Type
|
uri
|
Reference
(
Practitioner
|
|
RelatedPerson
|
|
Patient
|
|
Device
|
Organization
)
|
|
[x] Note
|
See
Choice of Data Types
for further information about how to use [x] |
|
Summary
|
true
|
|
Comments
|
This should agree with the information in the signature.
|
|
Signature.onBehalfOf[x]
|
|
Definition
|
A reference to an application-usable description of the identity that is represented by the signature.
|
|
Control
|
0..1
|
|
Type
|
uri
|
Reference
(
Practitioner
|
RelatedPerson
|
Patient
|
Device
|
Organization
)
|
[x]
Note
[x] Note
|
See
Choice
of
Data
Types
for
further
information
about
how
to
use
[x]
See
Choice of Data Types
for further information about how to use [x]
|
|
Requirements
|
used when the signature is on behalf of a non-signer.
|
|
Summary
|
true
|
|
Comments
|
This
should
agree
with
the
information
in
the
signature.
The party that can't sign. For example a child.
|
|
Signature.contentType
|
|
Definition
|
A
mime
type
that
indicates
the
technical
format
of
the
signature.
Important
mime
types
are
application/signature+xml
for
X
ML
DigSig,
application/jwt
for
JWT,
and
image/*
for
a
graphical
image
of
a
signature.
A mime type that indicates the technical format of the signature. Important mime types are application/signature+xml for X ML DigSig, application/jwt for JWT, and image/* for a graphical image of a signature, etc.
|
|
Control
|
1..1
0..1
|
|
Binding
|
MimeType
MimeType
:
:
Required
:
BCP
13
(RFCs
2045,
2046,
2047,
4288,
4289
and
2049)
:
BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
(The
mime
type
of
an
attachment.
Any
valid
mime
type
is
allowed.)
(The mime type of an attachment. Any valid mime type is allowed.)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Signature.blob
|
|
Definition
|
The
base64
encoding
of
the
Signature
content.
The base64 encoding of the Signature content. When signature is not recorded electronically this element would be empty.
|
|
Control
|
1..1
0..1
|
|
Type
|
base64Binary
|
Summary
true
|
Comments
|
Where
the
signature
type
is
an
XML
DigSig,
the
signed
content
is
a
FHIR
Resource(s),
the
signature
is
of
the
XML
form
of
the
Resource(s)
using
XML-Signature
(XMLDIG)
"Detached
Signature"
form.
Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using XML-Signature (XMLDIG) "Detached Signature" form.
|