This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
Mixed
Normative
and
STU
see
ballot
notes
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
Content
Examples
Detailed
Descriptions
Mappings
Profiles
&
Extensions
R3
Conversions
5.5
Resource
SearchParameter
-
Content
|
|
Maturity
Level
:
|
|
Compartments
:
|
Structure
Name
Flags
Card.
Type
Description
&
Constraints
SearchParameter
I
TU
DomainResource
Search
parameter
for
a
resource
+
Warning:
Name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
+
Rule:
If
an
xpath
is
present,
there
SHALL
be
an
xpathUsage
+
Rule:
Search
parameters
can
only
have
chain
names
when
the
search
parameter
type
is
'reference'
Elements
defined
in
Ancestors:
id
,
meta
,
implicitRules
,
language
,
text
,
contained
,
extension
,
modifierExtension
url
Σ
1..1
uri
Canonical
identifier
for
this
search
parameter,
represented
as
a
URI
(globally
unique)
version
Σ
0..1
string
Business
version
of
the
search
parameter
name
Σ
I
1..1
string
Name
for
this
search
parameter
(computer
friendly)
derivedFrom
0..1
canonical
(
SearchParameter
)
Original
definition
for
the
search
parameter
status
?!
Σ
1..1
code
draft
|
active
|
retired
|
unknown
PublicationStatus
(
Required
)
experimental
Σ
0..1
boolean
For
testing
purposes,
not
real
usage
date
Σ
0..1
dateTime
Date
last
changed
publisher
Σ
0..1
string
Name
of
the
publisher
(organization
or
individual)
contact
Σ
0..*
ContactDetail
Contact
details
for
the
publisher
description
Σ
1..1
markdown
Natural
language
description
of
the
search
parameter
useContext
Σ
0..*
UsageContext
The
context
that
the
content
is
intended
to
support
jurisdiction
Σ
0..*
CodeableConcept
Intended
jurisdiction
for
search
parameter
(if
applicable)
Jurisdiction
(
Extensible
)
purpose
0..1
markdown
Why
this
search
parameter
is
defined
code
Σ
1..1
code
Code
used
in
URL
base
Σ
1..*
code
The
resource
type(s)
this
search
parameter
applies
to
ResourceType
(
Required
)
type
Σ
1..1
code
number
|
date
|
string
|
token
|
reference
|
composite
|
quantity
|
uri
|
special
SearchParamType
(
Required
)
expression
I
0..1
string
FHIRPath
expression
that
extracts
the
values
xpath
I
0..1
string
XPath
that
extracts
the
values
xpathUsage
I
0..1
code
normal
|
phonetic
|
nearby
|
distance
|
other
XPathUsageType
(
Required
)
target
0..*
code
Types
of
resource
(if
a
resource
reference)
ResourceType
(
Required
)
multipleOr
0..1
boolean
Allow
multiple
values
per
parameter
(or)
multipleAnd
0..1
boolean
Allow
multiple
parameters
(and)
comparator
0..*
code
eq
|
ne
|
gt
|
lt
|
ge
|
le
|
sa
|
eb
|
ap
SearchComparator
(
Required
)
modifier
0..*
code
missing
|
exact
|
contains
|
not
|
text
|
in
|
not-in
|
below
|
above
|
type
|
identifier
|
ofType
SearchModifierCode
Raw
JSON
(
Required
)
chain
0..*
string
Chained
names
supported
component
0..*
BackboneElement
For
Composite
resources
to
define
the
parts
definition
1..1
canonical
form
(
SearchParameter
)
Defines
how
the
part
works
expression
1..1
string
Subexpression
relative
to
main
expression
Documentation
for
this
format
UML
Diagram
(
Legend
+
also
see
JSON
Format
Specification
)
Dr
Adam
Careful's
role
at
which
an
authoritative
instance
of
this
search
parameter
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
search
parameter
is
stored
on
different
servers
url
:
uri
[1..1]
The
identifier
that
is
used
to
identify
this
version
of
the
search
parameter
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
search
parameter
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence
version
:
string
[0..1]
A
natural
language
name
identifying
the
search
parameter.
This
name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
name
:
string
[1..1]
Where
this
search
parameter
is
originally
defined.
If
a
derivedFrom
is
provided,
then
the
details
in
the
search
parameter
must
be
consistent
with
the
definition
from
which
it
is
defined.
i.e.
the
parameter
should
have
the
same
meaning,
and
(usually)
the
functionality
should
be
a
proper
subset
of
the
underlying
search
parameter
derivedFrom
:
canonical
[0..1]
«
SearchParameter
»
The
status
of
this
search
parameter.
Enables
tracking
the
life-cycle
of
the
content
(this
element
modifies
the
meaning
of
other
elements)
status
:
code
[1..1]
«
The
lifecycle
status
of
an
artifact.
(Strength=Required)
PublicationStatus
!
»
A
Boolean
value
to
indicate
that
this
search
parameter
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
intended
to
be
used
for
genuine
usage
experimental
:
boolean
[0..1]
The
date
(and
optionally
time)
when
the
search
parameter
was
published.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
search
parameter
changes
date
:
dateTime
[0..1]
The
name
of
the
organization
or
individual
that
published
the
search
parameter
publisher
:
string
[0..1]
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher
contact
:
ContactDetail
[0..*]
And
how
it
used
description
:
markdown
[1..1]
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
search
parameter
instances
useContext
:
UsageContext
[0..*]
A
legal
or
geographic
region
in
which
the
search
parameter
is
intended
to
be
used
jurisdiction
:
CodeableConcept
[0..*]
«
Countries
and
regions
within
which
this
artifact
is
targeted
for
use.
(Strength=Extensible)
Jurisdiction
ValueSet
+
»
Explanation
of
why
this
search
parameter
is
needed
and
why
it
has
been
designed
as
it
has
purpose
:
markdown
[0..1]
The
code
used
in
the
URL
or
the
parameter
name
in
a
parameters
resource
for
this
search
parameter
code
:
code
[1..1]
The
base
resource
type(s)
that
this
search
parameter
can
be
used
against
base
:
code
[1..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
The
type
of
value
that
a
search
parameter
may
contain,
and
how
the
content
is
interpreted
type
:
code
[1..1]
«
Data
types
allowed
to
be
used
for
search
parameters.
(Strength=Required)
SearchParamType
!
»
A
FHIRPath
expression
that
returns
a
set
of
elements
for
the
search
parameter
expression
:
string
[0..1]
An
XPath
expression
that
returns
a
set
of
elements
for
the
search
parameter
xpath
:
string
[0..1]
How
the
search
parameter
relates
to
the
set
of
elements
returned
by
evaluating
the
xpath
query
xpathUsage
:
code
[0..1]
«
How
a
search
parameter
relates
to
the
set
of
elements
returned
by
evaluating
its
xpath
query.
(Strength=Required)
XPathUsageType
!
»
Types
of
resource
(if
a
resource
is
referenced)
target
:
code
[0..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
Whether
multiple
values
are
allowed
for
each
time
the
parameter
exists.
Values
are
separated
by
commas,
and
the
parameter
matches
if
any
of
the
values
match
multipleOr
:
boolean
[0..1]
Whether
multiple
parameters
are
allowed
-
e.g.
more
than
one
parameter
with
the
same
name.
The
search
matches
if
all
the
parameters
match
multipleAnd
:
boolean
[0..1]
Comparators
supported
for
the
search
parameter
comparator
:
code
[0..*]
«
What
Search
Comparator
Codes
are
supported
in
search.
(Strength=Required)
SearchComparator
!
»
A
modifier
supported
for
the
search
parameter
modifier
:
code
[0..*]
«
A
supported
modifier
for
a
search
parameter.
(Strength=Required)
SearchModifierCode
!
»
Contains
the
names
of
any
search
parameters
which
may
be
chained
to
the
containing
search
parameter.
Chained
parameters
may
be
added
to
search
parameters
of
type
reference
and
specify
that
resources
will
only
be
returned
if
they
contain
a
reference
to
a
resource
which
matches
the
chained
parameter
value.
Values
for
this
field
should
be
drawn
from
SearchParameter.code
for
a
parameter
on
the
target
resource
type
chain
:
string
[0..*]
Component
The
definition
of
the
search
parameter
that
describes
this
part
definition
:
canonical
[1..1]
«
SearchParameter
»
A
sub-expression
that
defines
how
to
extract
values
for
this
component
from
the
output
of
the
main
SearchParameter.expression
expression
:
string
[1..1]
Used
to
define
the
parts
of
a
composite
search
parameter
component
[0..*]
XML
Template
<
<!-- from -->
<!-- from -->
<
<
<
<</derivedFrom>
<
<
<
<
<</contact>
<
<</useContext>
<</jurisdiction>
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<</definition>
<
</component>
</SearchParameter>
JSON
Template
Acme
Hospital
UML
Diagram
(
Legend
)
SearchParameter
(
DomainResource
)
An
absolute
URI
that
is
used
to
identify
this
search
parameter
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance;
also
called
its
canonical
identifier.
This
SHOULD
be
globally
unique
and
SHOULD
be
a
literal
address
at
which
at
which
an
authoritative
instance
of
this
search
parameter
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
search
parameter
is
stored
on
different
servers
url
:
uri
[1..1]
The
identifier
that
is
used
to
identify
this
version
of
the
search
parameter
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
search
parameter
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence
version
:
string
[0..1]
A
natural
language
name
identifying
the
search
parameter.
This
name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
name
:
string
[1..1]
Where
this
search
parameter
is
originally
defined.
If
a
derivedFrom
is
provided,
then
the
details
in
the
search
parameter
must
be
consistent
with
the
definition
from
which
it
is
defined.
i.e.
the
parameter
should
have
the
same
meaning,
and
(usually)
the
functionality
should
be
a
proper
subset
of
the
underlying
search
parameter
derivedFrom
:
canonical
[0..1]
«
SearchParameter
»
The
status
of
this
search
parameter.
Enables
tracking
the
life-cycle
of
the
content
(this
element
modifies
the
meaning
of
other
elements)
status
:
code
[1..1]
«
The
lifecycle
status
of
an
artifact.
(Strength=Required)
PublicationStatus
!
»
A
Boolean
value
to
indicate
that
this
search
parameter
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
intended
to
be
used
for
genuine
usage
experimental
:
boolean
[0..1]
The
date
(and
optionally
time)
when
the
search
parameter
was
published.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
search
parameter
changes
date
:
dateTime
[0..1]
The
name
of
the
organization
or
individual
that
published
the
search
parameter
publisher
:
string
[0..1]
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher
contact
:
ContactDetail
[0..*]
And
how
it
used
description
:
markdown
[1..1]
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
search
parameter
instances
useContext
:
UsageContext
[0..*]
A
legal
or
geographic
region
in
which
the
search
parameter
is
intended
to
be
used
jurisdiction
:
CodeableConcept
[0..*]
«
Countries
and
regions
within
which
this
artifact
is
targeted
for
use.
(Strength=Extensible)
Jurisdiction
ValueSet
+
»
Explanation
of
why
this
search
parameter
is
needed
and
why
it
Usage
note:
every
effort
has
been
designed
as
it
has
purpose
:
markdown
[0..1]
The
code
used
in
the
URL
or
the
parameter
name
in
a
parameters
resource
for
this
search
parameter
code
:
code
[1..1]
The
base
resource
type(s)
that
this
search
parameter
can
be
used
against
base
:
code
[1..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
The
type
of
value
that
a
search
parameter
may
contain,
and
how
the
content
is
interpreted
type
:
code
[1..1]
«
Data
types
allowed
made
to
be
used
for
search
parameters.
(Strength=Required)
SearchParamType
!
»
A
FHIRPath
expression
that
returns
a
set
of
elements
for
the
search
parameter
expression
:
string
[0..1]
An
XPath
expression
ensure
that
returns
a
set
of
elements
for
the
search
parameter
xpath
:
string
[0..1]
How
the
search
parameter
relates
to
the
set
of
elements
returned
by
evaluating
the
xpath
query
xpathUsage
:
code
[0..1]
«
How
a
search
parameter
relates
to
the
set
of
elements
returned
by
evaluating
its
xpath
query.
(Strength=Required)
XPathUsageType
!
»
Types
of
resource
(if
a
resource
is
referenced)
target
:
code
[0..*]
«
One
of
the
resource
types
defined
as
part
of
this
version
of
FHIR.
(Strength=Required)
ResourceType
!
»
Whether
multiple
values
are
allowed
for
each
time
the
parameter
exists.
Values
are
separated
by
commas,
and
the
parameter
matches
if
any
of
the
values
match
multipleOr
:
boolean
[0..1]
Whether
multiple
parameters
are
allowed
-
e.g.
more
than
one
parameter
with
the
same
name.
The
search
matches
if
all
the
parameters
match
multipleAnd
:
boolean
[0..1]
Comparators
supported
for
the
search
parameter
comparator
:
code
[0..*]
«
What
Search
Comparator
Codes
examples
are
supported
in
search.
(Strength=Required)
SearchComparator
!
»
A
modifier
supported
for
the
search
parameter
modifier
:
code
[0..*]
«
A
supported
modifier
for
a
search
parameter.
(Strength=Required)
SearchModifierCode
!
»
Contains
the
names
of
any
search
parameters
which
may
be
chained
to
the
containing
search
parameter.
Chained
parameters
may
be
added
to
search
parameters
of
type
reference
correct
and
specify
that
resources
will
only
be
returned
if
useful,
but
they
contain
a
reference
to
a
resource
which
matches
the
chained
parameter
value.
Values
for
this
field
should
be
drawn
from
SearchParameter.code
for
are
not
a
parameter
on
the
target
resource
type
chain
:
string
[0..*]
Component
The
definition
of
the
search
parameter
that
describes
this
normative
part
definition
:
canonical
[1..1]
«
SearchParameter
»
A
sub-expression
that
defines
how
to
extract
values
for
this
component
from
the
output
of
the
main
SearchParameter.expression
expression
:
string
[1..1]
Used
to
define
the
parts
of
a
composite
search
parameter
component
[0..*]
XML
Template
<
<!-- from -->
<!-- from -->
<
<
<
<</derivedFrom>
<
<
<
<
<</contact>
<
<</useContext>
<</jurisdiction>
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<</definition>
<
</component>
</SearchParameter>
JSON
Template
{
"resourceType" : "",
// from
// from
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
}]
}
Turtle
Template
specification.