Detailed
Descriptions
for
the
elements
in
the
Bundle
resource.
|
Bundle
|
|
Element
Id
|
Bundle
|
|
Definition
|
A
container
for
a
collection
of
resources.
|
Short
Display
Contains
a
collection
of
resources
Cardinality
|
0..*
|
|
Type
|
Resource
|
|
Summary
|
false
true
|
|
Invariants
|
|
Defined
on
this
element
|
|
bdl-1
|
Rule
|
total
only
when
a
search
or
history
|
total.empty()
or
(type
=
'searchset')
or
(type
=
'history')
|
|
bdl-2
|
Rule
|
entry.search
only
when
a
search
|
entry.search.empty()
or
(type
=
'searchset')
or
entry.search.empty()
|
bdl-7
bdl-3
|
Rule
|
FullUrl
must
be
unique
in
a
bundle,
or
else
entries
with
the
same
fullUrl
must
have
different
meta.versionId
(except
in
history
bundles)
entry.request
mandatory
for
batch/transaction/history,
otherwise
prohibited
|
(type
entry.all(request.exists()
=
'history')
(%resource.type
=
'batch'
or
entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(),
resource.meta.versionId,
'')).isDistinct()
%resource.type
=
'transaction'
or
%resource.type
=
'history'))
|
bdl-9
bdl-4
|
Rule
|
A
document
must
have
an
identifier
with
a
system
and
a
value
entry.response
mandatory
for
batch-response/transaction-response/history,
otherwise
prohibited
|
type
entry.all(response.exists()
=
'document'
implies
(identifier.system.exists()
and
identifier.value.exists())
(%resource.type
=
'batch-response'
or
%resource.type
=
'transaction-response'
or
%resource.type
=
'history'))
|
bdl-10
bdl-7
|
Rule
|
A
document
FullUrl
must
have
be
unique
in
a
date
bundle,
or
else
entries
with
the
same
fullUrl
must
have
different
meta.versionId
(except
in
history
bundles)
|
type
(type
=
'document'
implies
(timestamp.hasValue())
'history')
or
entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
|
bdl-11
bdl-9
|
Rule
|
A
document
must
have
an
identifier
with
a
Composition
as
the
first
resource
system
and
a
value
|
type
=
'document'
implies
entry.first().resource.is(Composition)
(identifier.system.exists()
and
identifier.value.exists())
|
bdl-12
bdl-10
|
Rule
|
A
message
document
must
have
a
MessageHeader
as
the
first
resource
date
|
type
=
'message'
'document'
implies
entry.first().resource.is(MessageHeader)
(timestamp.hasValue())
|
bdl-13
bdl-11
|
Rule
|
A
subscription-notification
document
must
have
a
SubscriptionStatus
Composition
as
the
first
resource
|
type
=
'subscription-notification'
implies
entry.first().resource.is(SubscriptionStatus)
bdl-14
Rule
entry.request.method
PATCH
not
allowed
for
history
type
=
'history'
implies
entry.request.method
!=
'PATCH'
bdl-15
Rule
Bundle
resources
where
type
is
not
transaction,
transaction-response,
batch,
or
batch-response
or
when
the
request
is
a
POST
SHALL
have
Bundle.entry.fullUrl
populated
type='transaction'
or
type='transaction-response'
or
type='batch'
or
type='batch-response'
or
entry.all(fullUrl.exists()
or
request.method='POST')
bdl-16
Rule
Issue.severity
for
all
issues
within
the
OperationOutcome
must
be
either
'information'
or
'warning'.
issues.exists()
implies
(issues.issue.severity
=
'information'
or
issues.issue.severity
=
'warning')
bdl-17
Rule
Use
and
meaning
of
issues
for
documents
has
not
been
validated
because
the
content
will
not
be
rendered
in
the
document.
type
=
'document'
implies
issues.empty()
bdl-18
Rule
Self
link
is
required
for
searchsets.
type
=
'searchset'
implies
link.where(relation
=
'self'
and
url.exists()).exists()
entry.first().resource.is(Composition)
|
bdl-3a
bdl-12
|
Rule
|
For
collections
of
type
document,
message,
searchset
or
collection,
all
entries
A
message
must
contain
resources,
and
not
have
request
or
response
elements
type
in
('document'
|
'message'
|
'searchset'
|
'collection')
implies
entry.all(resource.exists()
and
request.empty()
and
response.empty())
bdl-3b
Rule
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3c
Rule
For
collections
of
type
transaction
or
batch,
all
entries
must
contain
request
elements,
and
resources
if
a
MessageHeader
as
the
method
is
POST,
PUT
or
PATCH
first
resource
|
type
in
('transaction'
|
'batch')
implies
entry.all(request.method.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3d
Rule
For
collections
of
type
transaction-response
or
batch-response,
all
entries
must
contain
response
elements
type
in
('transaction-response'
|
'batch-response')
'message'
implies
entry.all(response.exists())
entry.first().resource.is(MessageHeader)
|
|
|
Bundle.identifier
|
|
Element
Id
|
Bundle.identifier
|
|
Definition
|
A
persistent
identifier
for
the
bundle
that
won't
change
as
a
bundle
is
copied
from
server
to
server.
|
Short
Display
Persistent
identifier
for
the
bundle
Note
|
This
is
a
business
identifier,
not
a
resource
identifier
(see
discussion
)
|
|
Cardinality
|
0..1
|
|
Type
|
Identifier
|
|
Summary
|
true
|
|
Comments
|
Persistent
identity
generally
only
matters
for
batches
of
type
Document,
Message,
and
Collection.
It
would
not
normally
be
populated
for
search
and
history
results
and
servers
ignore
Bundle.identifier
when
processing
batches
and
transactions.
For
Documents
the
.identifier
SHALL
be
populated
such
that
the
.identifier
is
globally
unique.
|
Invariants
Affect
this
element
bdl-9
Rule
A
document
must
have
an
identifier
with
a
system
and
a
value
type
=
'document'
implies
(identifier.system.exists()
and
identifier.value.exists())
Bundle.type
|
|
Element
Id
|
Bundle.type
|
|
Definition
|
Indicates
the
purpose
of
this
bundle
-
how
it
is
intended
to
be
used.
|
Short
Display
document
|
message
|
transaction
|
transaction-response
|
batch
|
batch-response
|
history
|
searchset
|
collection
|
subscription-notification
Cardinality
|
1..1
|
|
Terminology
Binding
|
Bundle
Type
BundleType
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Comments
|
It's
possible
to
use
a
bundle
for
other
purposes
(e.g.
a
document
can
be
accepted
as
a
transaction).
This
is
primarily
defined
so
that
there
can
be
specific
rules
for
some
of
the
bundle
types.
|
Invariants
Affect
this
element
bdl-1
Rule
total
only
when
a
search
or
history
total.empty()
or
(type
=
'searchset')
or
(type
=
'history')
bdl-2
Rule
entry.search
only
when
a
search
(type
=
'searchset')
or
entry.search.empty()
bdl-3a
Rule
For
collections
of
type
document,
message,
searchset
or
collection,
all
entries
must
contain
resources,
and
not
have
request
or
response
elements
type
in
('document'
|
'message'
|
'searchset'
|
'collection')
implies
entry.all(resource.exists()
and
request.empty()
and
response.empty())
bdl-3b
Rule
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3c
Rule
For
collections
of
type
transaction
or
batch,
all
entries
must
contain
request
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
in
('transaction'
|
'batch')
implies
entry.all(request.method.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3d
Rule
For
collections
of
type
transaction-response
or
batch-response,
all
entries
must
contain
response
elements
type
in
('transaction-response'
|
'batch-response')
implies
entry.all(response.exists())
bdl-7
Rule
FullUrl
must
be
unique
in
a
bundle,
or
else
entries
with
the
same
fullUrl
must
have
different
meta.versionId
(except
in
history
bundles)
(type
=
'history')
or
entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(),
resource.meta.versionId,
'')).isDistinct()
bdl-9
Rule
A
document
must
have
an
identifier
with
a
system
and
a
value
type
=
'document'
implies
(identifier.system.exists()
and
identifier.value.exists())
bdl-10
Rule
A
document
must
have
a
date
type
=
'document'
implies
(timestamp.hasValue())
bdl-11
Rule
A
document
must
have
a
Composition
as
the
first
resource
type
=
'document'
implies
entry.first().resource.is(Composition)
bdl-12
Rule
A
message
must
have
a
MessageHeader
as
the
first
resource
type
=
'message'
implies
entry.first().resource.is(MessageHeader)
bdl-13
Rule
A
subscription-notification
must
have
a
SubscriptionStatus
as
the
first
resource
type
=
'subscription-notification'
implies
entry.first().resource.is(SubscriptionStatus)
bdl-14
Rule
entry.request.method
PATCH
not
allowed
for
history
type
=
'history'
implies
entry.request.method
!=
'PATCH'
bdl-15
Rule
Bundle
resources
where
type
is
not
transaction,
transaction-response,
batch,
or
batch-response
or
when
the
request
is
a
POST
SHALL
have
Bundle.entry.fullUrl
populated
type='transaction'
or
type='transaction-response'
or
type='batch'
or
type='batch-response'
or
entry.all(fullUrl.exists()
or
request.method='POST')
bdl-17
Rule
Use
and
meaning
of
issues
for
documents
has
not
been
validated
because
the
content
will
not
be
rendered
in
the
document.
type
=
'document'
implies
issues.empty()
bdl-18
Rule
Self
link
is
required
for
searchsets.
type
=
'searchset'
implies
link.where(relation
=
'self'
and
url.exists()).exists()
Bundle.timestamp
|
|
Element
Id
|
Bundle.timestamp
|
|
Definition
|
The
date/time
that
the
bundle
was
assembled
-
i.e.
when
the
resources
were
placed
in
the
bundle.
|
Short
Display
When
the
bundle
was
assembled
Cardinality
|
0..1
|
|
Type
|
instant
|
|
Summary
|
true
|
|
Comments
|
For
many
bundles,
the
timestamp
is
equal
to
.meta.lastUpdated,
because
they
are
not
stored
(e.g.
search
results).
When
a
bundle
is
placed
in
a
persistent
store,
.meta.lastUpdated
will
be
usually
be
changed
by
the
server.
When
the
bundle
is
a
message,
a
middleware
agent
altering
the
message
(even
if
not
stored)
SHOULD
update
.meta.lastUpdated.
.timestamp
is
used
to
track
the
original
time
of
the
Bundle,
and
SHOULD
be
populated.
Usage:
-
document
:
the
date
the
document
was
created.
Note:
the
composition
may
predate
the
document,
or
be
associated
with
multiple
documents.
The
date
of
the
composition
-
the
authoring
time
-
may
be
earlier
than
the
document
assembly
time
-
message
:
the
date
that
the
content
of
the
message
was
assembled.
This
date
is
not
changed
by
middleware
engines
unless
they
add
additional
data
that
changes
the
meaning
of
the
time
of
the
message
-
history
:
the
date
that
the
history
was
assembled.
This
time
would
be
used
as
the
_since
time
to
ask
for
subsequent
updates
-
searchset
:
the
time
that
the
search
set
was
assembled.
Note
that
different
pages
MAY
have
different
timestamps
but
need
not.
Having
different
timestamps
does
not
imply
that
subsequent
pages
will
represent
or
include
changes
made
since
the
initial
query
-
transaction
|
transaction-response
|
batch
|
batch-response
|
collection
:
no
particular
assigned
meaning
The
timestamp
value
should
be
greater
than
the
lastUpdated
and
other
timestamps
in
the
resources
in
the
bundle,
and
it
should
be
equal
or
earlier
than
the
.meta.lastUpdated
on
the
Bundle
itself.
|
Invariants
Affect
this
element
bdl-10
Rule
A
document
must
have
a
date
type
=
'document'
implies
(timestamp.hasValue())
Bundle.total
|
|
Element
Id
|
Bundle.total
|
|
Definition
|
If
a
set
of
search
matches,
this
is
the
(potentially
estimated)
total
number
of
entries
of
type
'match'
across
all
pages
in
the
search.
It
does
not
include
search.mode
=
'include'
or
'outcome'
entries
and
it
does
not
provide
a
count
of
the
number
of
entries
in
the
Bundle.
|
Short
Display
If
search,
the
total
number
of
matches
Cardinality
|
0..1
|
|
Type
|
unsignedInt
|
|
Summary
|
true
|
|
Comments
|
Only
used
if
the
bundle
is
a
search
result
set.
The
total
does
not
include
resources
such
as
OperationOutcome
and
included
resources,
only
the
total
number
of
matching
resources.
|
|
Invariants
|
|
Affect
this
element
|
|
bdl-1
|
Rule
|
total
only
when
a
search
or
history
|
total.empty()
or
(type
=
'searchset')
or
(type
=
'history')
|
|
|
Bundle.link
|
|
Element
Id
|
Bundle.link
|
|
Definition
|
A
series
of
links
that
provide
context
to
this
bundle.
|
Short
Display
Links
related
to
this
Bundle
Cardinality
|
0..*
|
|
Summary
|
true
|
|
Comments
|
Both
Bundle.link
and
Bundle.entry.link
are
defined
to
support
providing
additional
context
when
Bundles
are
used
(e.g.
HATEOAS
).
Bundle.entry.link
corresponds
to
links
found
in
the
HTTP
header
if
the
resource
in
the
entry
was
read
directly.
This
specification
defines
some
specific
uses
of
Bundle.link
for
searching
and
paging
,
but
no
specific
uses
for
Bundle.entry.link,
and
no
defined
function
in
a
transaction
-
the
meaning
is
implementation
specific.
The
behavior
of
navigation
link
types
(next/prev/first/last)
are
well
defined
for
searchset
and
history
Bundles
but
are
not
currently
defined
for
other
types.
Implementers
who
choose
to
use
such
link
relationships
for
other
bundle
types
will
need
to
negotiate
behavior
with
their
interoperability
partners.
|
Invariants
Affect
this
element
bdl-18
Rule
Self
link
is
required
for
searchsets.
type
=
'searchset'
implies
link.where(relation
=
'self'
and
url.exists()).exists()
Bundle.link.relation
|
|
Element
Id
|
Bundle.link.relation
|
|
Definition
|
A
name
which
details
the
functional
use
for
this
link
-
see
http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.
|
Short
Display
See
http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Cardinality
|
1..1
|
Terminology
Binding
Link
Relation
Types
(
Required
)
Type
|
code
string
|
|
Summary
|
true
|
Invariants
Affect
this
element
bdl-18
Rule
Self
link
is
required
for
searchsets.
type
=
'searchset'
implies
link.where(relation
=
'self'
and
url.exists()).exists()
Bundle.link.url
|
|
Element
Id
|
Bundle.link.url
|
|
Definition
|
The
reference
details
for
the
link.
|
Short
Display
Reference
details
for
the
link
Cardinality
|
1..1
|
|
Type
|
uri
|
|
Summary
|
true
|
Invariants
Affect
this
element
bdl-18
Rule
Self
link
is
required
for
searchsets.
type
=
'searchset'
implies
link.where(relation
=
'self'
and
url.exists()).exists()
Bundle.entry
|
|
Element
Id
|
Bundle.entry
|
|
Definition
|
An
entry
in
a
bundle
resource
-
will
either
contain
a
resource
or
information
about
a
resource
(transactions
and
history
only).
|
Short
Display
Entry
in
the
bundle
-
will
have
a
resource
or
information
Cardinality
|
0..*
|
|
Element
Order
Meaning
|
For
bundles
of
type
'document'
and
'message',
the
first
resource
is
special
(must
be
Composition
or
MessageHeader
respectively).
For
all
bundles,
the
meaning
of
the
order
of
entries
depends
on
the
bundle
type
|
|
Summary
|
true
|
|
Invariants
|
|
Defined
on
this
element
|
|
bdl-5
|
Rule
|
must
be
a
resource
unless
there's
a
request
or
response
|
resource.exists()
or
request.exists()
or
response.exists()
|
|
bdl-8
|
Rule
|
fullUrl
cannot
be
a
version
specific
reference
|
fullUrl.exists()
implies
fullUrl.contains('/_history/').not()
|
|
|
Bundle.entry.link
|
|
Element
Id
|
Bundle.entry.link
|
|
Definition
|
A
series
of
links
that
provide
context
to
this
entry.
|
Short
Display
Links
related
to
this
entry
Cardinality
|
0..*
|
|
Type
|
See
Bundle.link
|
|
Summary
|
true
|
|
Bundle.entry.fullUrl
|
|
Element
Id
|
Bundle.entry.fullUrl
|
|
Definition
|
The
Absolute
URL
for
the
resource.
Except
for
transactions
and
batches,
each
entry
in
a
Bundle
must
have
a
fullUrl.
The
fullUrl
SHALL
NOT
disagree
with
the
id
in
the
resource
-
i.e.
if
the
fullUrl
is
not
a
urn:uuid,
the
URL
shall
be
version-independent
URL
consistent
with
the
Resource.id.
The
fullUrl
is
a
version
independent
reference
to
the
resource.
Even
when
not
required,
fullUrl
MAY
be
set
to
a
urn:uuid
to
allow
referencing
entries
in
a
transaction.
The
fullUrl
can
be
an
arbitrary
URI
and
is
not
limited
to
urn:uuid,
urn:oid,
http,
and
https.
The
fullUrl
element
SHALL
have
a
value
except
when:
that:
-
invoking
fullUrl
can
be
empty
on
a
create
invoking
or
responding
to
an
operation
where
the
body
is
POST
(although
it
does
not
need
to
when
specifying
a
single
identified
resource
temporary
id
for
reference
in
the
bundle)
-
invoking
or
returning
the
results
of
a
search
or
history
operation.
Results
from
operations
might
involve
resources
that
are
not
identified.
|
Short
Display
URI
for
resource
(e.g.
the
absolute
URL
server
address,
URI
for
UUID/OID,
etc.)
Cardinality
|
0..1
|
|
Type
|
uri
|
|
Summary
|
true
|
|
Comments
|
fullUrl
might
not
be
unique
in
the
context
of
a
resource
.
Note
that
since
FHIR
resources
do
not
need
to
be
served
through
the
FHIR
API
,
the
fullURL
might
be
a
URN
or
an
absolute
URL
that
does
not
end
with
the
logical
id
of
the
resource
(Resource.id).
However,
but
if
the
fullUrl
does
look
like
a
RESTful
server
URL
(e.g.
meets
the
regex
,
then
the
'id'
portion
of
the
fullUrl
SHALL
end
with
the
Resource.id.
Note
that
the
fullUrl
is
not
the
same
as
the
canonical
URL
-
it's
an
absolute
url
for
an
endpoint
serving
the
resource
(these
will
happen
to
have
the
same
value
on
the
canonical
server
for
the
resource
with
the
canonical
URL).
|
Invariants
Affect
this
element
bdl-7
Rule
FullUrl
must
be
unique
in
a
bundle,
or
else
entries
with
the
same
fullUrl
must
have
different
meta.versionId
(except
in
history
bundles)
(type
=
'history')
or
entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(),
resource.meta.versionId,
'')).isDistinct()
bdl-15
Rule
Bundle
resources
where
type
is
not
transaction,
transaction-response,
batch,
or
batch-response
or
when
the
request
is
a
POST
SHALL
have
Bundle.entry.fullUrl
populated
type='transaction'
or
type='transaction-response'
or
type='batch'
or
type='batch-response'
or
entry.all(fullUrl.exists()
or
request.method='POST')
bdl-8
Rule
fullUrl
cannot
be
a
version
specific
reference
fullUrl.exists()
implies
fullUrl.contains('/_history/').not()
Bundle.entry.resource
|
|
Element
Id
|
Bundle.entry.resource
|
|
Definition
|
The
Resource
for
the
entry.
The
purpose/meaning
of
the
resource
is
determined
by
the
Bundle.type.
This
is
allowed
to
be
a
Parameters
resource
if
and
only
if
it
is
referenced
by
something
else
within
the
Bundle
that
provides
context/meaning.
|
Short
Display
A
resource
in
the
bundle
Cardinality
|
0..1
|
|
Type
|
Resource
|
|
Summary
|
true
|
Invariants
Affect
this
element
bdl-3a
Rule
For
collections
of
type
document,
message,
searchset
or
collection,
all
entries
must
contain
resources,
and
not
have
request
or
response
elements
type
in
('document'
|
'message'
|
'searchset'
|
'collection')
implies
entry.all(resource.exists()
and
request.empty()
and
response.empty())
bdl-3b
Rule
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3c
Rule
For
collections
of
type
transaction
or
batch,
all
entries
must
contain
request
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
in
('transaction'
|
'batch')
implies
entry.all(request.method.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-7
Rule
FullUrl
must
be
unique
in
a
bundle,
or
else
entries
with
the
same
fullUrl
must
have
different
meta.versionId
(except
in
history
bundles)
(type
=
'history')
or
entry.where(fullUrl.exists()).select(fullUrl&iif(resource.meta.versionId.exists(),
resource.meta.versionId,
'')).isDistinct()
bdl-11
Rule
A
document
must
have
a
Composition
as
the
first
resource
type
=
'document'
implies
entry.first().resource.is(Composition)
bdl-12
Rule
A
message
must
have
a
MessageHeader
as
the
first
resource
type
=
'message'
implies
entry.first().resource.is(MessageHeader)
bdl-13
Rule
A
subscription-notification
must
have
a
SubscriptionStatus
as
the
first
resource
type
=
'subscription-notification'
implies
entry.first().resource.is(SubscriptionStatus)
bdl-5
Rule
must
be
a
resource
unless
there's
a
request
or
response
resource.exists()
or
request.exists()
or
response.exists()
Bundle.entry.search
|
|
Element
Id
|
Bundle.entry.search
|
|
Definition
|
Information
about
the
search
process
that
lead
to
the
creation
of
this
entry.
|
Short
Display
Search
related
information
Cardinality
|
0..1
|
|
Summary
|
true
|
|
Invariants
|
|
Affect
this
element
|
|
bdl-2
|
Rule
|
entry.search
only
when
a
search
|
entry.search.empty()
or
(type
=
'searchset')
or
entry.search.empty()
|
|
|
Bundle.entry.search.mode
|
|
Element
Id
|
Bundle.entry.search.mode
|
|
Definition
|
Why
this
entry
is
in
the
result
set
-
whether
it's
included
as
a
match
or
because
of
an
_include
requirement,
or
to
convey
information
or
warning
information
about
the
search
process.
|
Short
Display
match
|
include
-
why
this
is
in
the
result
set
Cardinality
|
0..1
|
|
Terminology
Binding
|
Search
Entry
Mode
SearchEntryMode
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
|
Comments
|
There
is
only
one
mode.
In
some
corner
cases,
a
resource
may
be
included
because
it
is
both
a
match
and
an
include.
In
these
circumstances,
'match'
takes
precedence.
|
|
Bundle.entry.search.score
|
|
Element
Id
|
Bundle.entry.search.score
|
|
Definition
|
When
searching,
the
server's
search
ranking
score
for
the
entry.
|
Short
Display
Search
ranking
(between
0
and
1)
Cardinality
|
0..1
|
|
Type
|
decimal
|
|
Summary
|
true
|
|
Comments
|
Servers
are
not
required
to
return
a
ranking
score.
1
is
most
relevant,
and
0
is
least
relevant.
Often,
search
results
are
sorted
by
score,
but
the
client
may
specify
a
different
sort
order.
See
Patient
Match
for
the
EMPI
search
which
relates
to
this
element.
|
|
Bundle.entry.request
|
|
Element
Id
|
Bundle.entry.request
|
|
Definition
|
Additional
information
about
how
this
entry
should
be
processed
as
part
of
a
transaction
or
batch.
For
history,
it
shows
how
the
entry
was
processed
to
create
the
version
contained
in
the
entry.
|
Short
Display
Additional
execution
information
(transaction/batch/history)
Cardinality
|
0..1
|
|
Summary
|
true
|
|
Invariants
|
|
Affect
this
element
|
bdl-3a
Rule
For
collections
of
type
document,
message,
searchset
or
collection,
all
entries
must
contain
resources,
and
not
have
request
or
response
elements
type
in
('document'
|
'message'
|
'searchset'
|
'collection')
implies
entry.all(resource.exists()
and
request.empty()
and
response.empty())
bdl-3b
bdl-3
|
Rule
|
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
entry.request
mandatory
for
batch/transaction/history,
otherwise
prohibited
|
type
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-5
Rule
must
be
a
resource
unless
there's
a
request
or
response
resource.exists()
(%resource.type
=
'batch'
or
request.exists()
%resource.type
=
'transaction'
or
response.exists()
%resource.type
=
'history'))
|
|
|
Bundle.entry.request.method
|
|
Element
Id
|
Bundle.entry.request.method
|
|
Definition
|
In
a
transaction
or
batch,
this
is
the
HTTP
action
to
be
executed
for
this
entry.
In
a
history
bundle,
this
indicates
the
HTTP
action
that
occurred.
|
Short
Display
GET
|
HEAD
|
POST
|
PUT
|
DELETE
|
PATCH
Cardinality
|
1..1
|
|
Terminology
Binding
|
H
T
T
P
Verb
HTTPVerb
(
Required
)
|
|
Type
|
code
|
|
Summary
|
true
|
Invariants
Affect
this
element
bdl-3b
Rule
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-3c
Rule
For
collections
of
type
transaction
or
batch,
all
entries
must
contain
request
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
type
in
('transaction'
|
'batch')
implies
entry.all(request.method.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
=
resource.exists()))
bdl-14
Rule
entry.request.method
PATCH
not
allowed
for
history
type
=
'history'
implies
entry.request.method
!=
'PATCH'
bdl-15
Rule
Bundle
resources
where
type
is
not
transaction,
transaction-response,
batch,
or
batch-response
or
when
the
request
is
a
POST
SHALL
have
Bundle.entry.fullUrl
populated
type='transaction'
or
type='transaction-response'
or
type='batch'
or
type='batch-response'
or
entry.all(fullUrl.exists()
or
request.method='POST')
Bundle.entry.request.url
|
|
Element
Id
|
Bundle.entry.request.url
|
|
Definition
|
The
URL
for
this
entry,
relative
to
the
root
(the
address
to
which
the
request
is
posted).
|
Short
Display
URL
for
HTTP
equivalent
of
this
entry
Cardinality
|
1..1
|
|
Type
|
uri
|
|
Summary
|
true
|
|
Comments
|
E.g.
for
a
Patient
Create,
the
method
would
be
"POST"
and
the
URL
would
be
"Patient".
For
a
Patient
Update,
the
method
would
be
PUT
and
the
URL
would
be
"Patient/[id]".
|
|
Bundle.entry.request.ifNoneMatch
|
|
Element
Id
|
Bundle.entry.request.ifNoneMatch
|
|
Definition
|
If
the
ETag
values
match,
return
a
304
Not
Modified
status.
See
the
API
documentation
for
"Conditional
Read"
.
|
Short
Display
For
managing
cache
validation
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Bundle.entry.request.ifModifiedSince
|
|
Element
Id
|
Bundle.entry.request.ifModifiedSince
|
|
Definition
|
Only
perform
the
operation
if
the
last
updated
date
matches.
See
the
API
documentation
for
"Conditional
Read"
.
|
Short
Display
For
managing
cache
currency
Cardinality
|
0..1
|
|
Type
|
instant
|
|
Summary
|
true
|
|
Bundle.entry.request.ifMatch
|
|
Element
Id
|
Bundle.entry.request.ifMatch
|
|
Definition
|
Only
perform
the
operation
if
the
Etag
value
matches.
For
more
information,
see
the
API
section
"Managing
Resource
Contention"
.
|
Short
Display
For
managing
update
contention
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Bundle.entry.request.ifNoneExist
|
|
Element
Id
|
Bundle.entry.request.ifNoneExist
|
|
Definition
|
Instruct
the
server
not
to
perform
the
create
if
a
specified
resource
already
exists.
For
further
information,
see
the
API
documentation
for
"Conditional
Create"
.
This
is
just
the
query
portion
of
the
URL
-
what
follows
the
"?"
(not
including
the
"?").
|
Short
Display
For
conditional
creates
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Bundle.entry.response
|
|
Element
Id
|
Bundle.entry.response
|
|
Definition
|
Indicates
the
results
of
processing
the
corresponding
'request'
entry
in
the
batch
or
transaction
being
responded
to
or
what
the
results
of
an
operation
where
when
returning
history.
|
Short
Display
Results
of
execution
(transaction/batch/history)
Cardinality
|
0..1
|
|
Summary
|
true
|
|
Invariants
|
|
Affect
this
element
|
bdl-3a
Rule
For
collections
of
type
document,
message,
searchset
or
collection,
all
entries
must
contain
resources,
and
not
have
request
or
response
elements
type
in
('document'
|
'message'
|
'searchset'
|
'collection')
implies
entry.all(resource.exists()
and
request.empty()
and
response.empty())
bdl-3b
bdl-4
|
Rule
|
For
collections
of
type
history,
all
entries
must
contain
request
or
response
elements,
and
resources
if
the
method
is
POST,
PUT
or
PATCH
entry.response
mandatory
for
batch-response/transaction-response/history,
otherwise
prohibited
|
type
entry.all(response.exists()
=
'history'
implies
entry.all(request.exists()
and
response.exists()
and
((request.method
in
('POST'
|
'PATCH'
|
'PUT'))
(%resource.type
=
resource.exists()))
bdl-3d
Rule
For
collections
of
type
transaction-response
or
batch-response,
all
entries
must
contain
response
elements
type
in
('transaction-response'
|
'batch-response')
implies
entry.all(response.exists())
bdl-5
Rule
must
be
a
resource
unless
there's
a
request
or
response
resource.exists()
'batch-response'
or
request.exists()
%resource.type
=
'transaction-response'
or
response.exists()
%resource.type
=
'history'))
|
|
|
Bundle.entry.response.status
|
|
Element
Id
|
Bundle.entry.response.status
|
|
Definition
|
The
status
code
returned
by
processing
this
entry.
The
status
SHALL
start
with
a
3
digit
HTTP
code
(e.g.
404)
and
may
contain
the
standard
HTTP
description
associated
with
the
status
code.
|
Short
Display
Status
response
code
(text
optional)
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Bundle.entry.response.location
|
|
Element
Id
|
Bundle.entry.response.location
|
|
Definition
|
The
location
header
created
by
processing
this
operation,
populated
if
the
operation
returns
a
location.
|
Short
Display
The
location
(if
the
operation
returns
a
location)
Cardinality
|
0..1
|
|
Type
|
uri
|
|
Summary
|
true
|
|
Bundle.entry.response.etag
|
|
Element
Id
|
Bundle.entry.response.etag
|
|
Definition
|
The
Etag
for
the
resource,
if
the
operation
for
the
entry
produced
a
versioned
resource
(see
Resource
Metadata
and
Versioning
and
Managing
Resource
Contention
).
|
Short
Display
The
Etag
for
the
resource
(if
relevant)
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
Etags
match
the
Resource.meta.versionId.
The
ETag
has
to
match
the
version
id
in
the
header
if
a
resource
is
included.
|
|
Bundle.entry.response.lastModified
|
|
Element
Id
|
Bundle.entry.response.lastModified
|
|
Definition
|
The
date/time
that
the
resource
was
modified
on
the
server.
|
Short
Display
Server's
date
time
modified
Cardinality
|
0..1
|
|
Type
|
instant
|
|
Summary
|
true
|
|
Comments
|
This
has
to
match
the
same
time
in
the
meta
header
(meta.lastUpdated)
if
a
resource
is
included.
|
|
Bundle.entry.response.outcome
|
|
Element
Id
|
Bundle.entry.response.outcome
|
|
Definition
|
An
OperationOutcome
containing
hints
and
warnings
produced
as
part
of
processing
this
entry
in
a
batch
or
transaction.
|
Short
Display
OperationOutcome
with
hints
and
warnings
(for
batch/transaction)
Cardinality
|
0..1
|
|
Type
|
Resource
|
|
Summary
|
true
|
|
Comments
|
For
a
POST/PUT
operation,
this
is
the
equivalent
outcome
that
would
be
returned
for
prefer
=
operationoutcome
-
except
that
the
resource
is
always
returned
whether
or
not
the
outcome
is
returned.
This
outcome
is
not
used
for
error
responses
in
batch/transaction,
only
for
hints
and
warnings.
In
a
batch
operation,
the
error
will
be
in
Bundle.entry.response,
and
for
transaction,
there
will
be
a
single
OperationOutcome
instead
of
a
bundle
in
the
case
of
an
error.
|
|
Bundle.signature
|
|
Element
Id
|
Bundle.signature
|
|
Definition
|
Digital
Signature
-
base64
encoded.
XML-DSig
or
a
JWS.
JWT.
|
Short
Display
Digital
Signature
Cardinality
|
0..1
|
|
Type
|
Signature
|
|
Requirements
|
A
Signature
holds
an
electronic
representation
of
a
signature
and
its
supporting
context
in
a
FHIR
accessible
form.
The
signature
may
either
be
a
cryptographic
type
(XML
DigSig
or
a
JWS),
which
is
able
to
provide
non-repudiation
proof,
or
it
may
be
a
graphical
image
that
represents
a
signature
or
a
signature
process.
This
element
allows
capturing
signatures
on
documents,
messages,
transactions
or
even
search
responses,
to
support
content-authentication,
non-repudiation
or
other
business
cases.
This
is
primarily
relevant
where
the
bundle
may
travel
through
multiple
hops
or
via
other
mechanisms
where
HTTPS
non-repudiation
is
insufficient.
|
|
Summary
|
true
|
|
Comments
|
The
signature
could
be
created
by
the
"author"
of
the
bundle
or
by
the
originating
device.
Requirements
around
inclusion
of
a
signature,
verification
of
signatures
and
treatment
of
signed/non-signed
bundles
is
implementation-environment
specific.
|
Bundle.issues
Element
Id
Bundle.issues
Definition
Captures
issues
and
warnings
that
relate
to
the
construction
of
the
Bundle
and
the
content
within
it.
Short
Display
Issues
with
the
Bundle
Cardinality
0..1
Type
Resource
Summary
true
Comments
Usage
notes:
These
issues
and
warnings
must
apply
to
the
Bundle
as
a
whole,
not
to
individual
entries.Messages
relating
to
the
processing
of
individual
entries
(e.g.
in
a
batch
or
transaction)
SHALL
be
reported
in
the
entry.response.outcome
for
that
entry.
If
there
are
errors
that
arise
in
the
creation
of
the
Bundle,
then
that
should
be
handled
by
an
OperationOutcome
being
returned
instead
of
the
Bundle.
Invariants
Affect
this
element
bdl-16
Rule
Issue.severity
for
all
issues
within
the
OperationOutcome
must
be
either
'information'
or
'warning'.
issues.exists()
implies
(issues.issue.severity
=
'information'
or
issues.issue.severity
=
'warning')
bdl-17
Rule
Use
and
meaning
of
issues
for
documents
has
not
been
validated
because
the
content
will
not
be
rendered
in
the
document.
type
=
'document'
implies
issues.empty()