This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-draft-final:
Final
QA
Preview
for
R5
-
STU
see
ballot
notes
).
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
FHIR
Infrastructure
Work
Group
|
Maturity Level : N | Normative (from v4.0.0) | Security Category : N/A | Compartments : Not linked to any defined compartments |
This
resource
is
a
non-persisted
resource
used
to
pass
information
into
and
back
from
an
operation
.
(whether
invoked
directly
from
REST
or
within
a
messaging
environment).
It
has
no
other
use,
and
there
is
no
RESTful
endpoint
associated
with
it.
not
persisted
or
allowed
to
be
referenced
by
other
resources.
This
resource
is
a
non-persisted
resource
used
to
pass
information
into
and
back
from
an
operation
(whether
invoked
directly
from
REST
or
within
a
messaging
environment).
It
is
not
persisted
or
allowed
to
be
referenced
by
other
resources
except
as
described
below.
Because Parameters does not reflect a persistent healthcare-related entity but rather just a collection of data passed into or out of an operation, there is generally no need to have a RESTful endpoint at which such instances can be created, updated, queried, etc. However, there are a few limited cases where this can make sense:
Technically, Parameters is a specialization of Resource and as such could potentially appear anywhere that 'Resource' is permitted and could be referenced anywhere an element has an unconstrained type of Reference. For example, it could appear in FHIR documents, as contained resources, referenced by extensions, in elements like Observation.focus, etc. However, such use is prohibited unless the element containing the Resource or Reference type explicitly indicates that Parameters is permitted. If there is a requirement to exchange arbitrary collections of data elements, this need should typically be met using Basic .
This special resource has no other use than for operation parameters, and there is no RESTful end-point associated with it. For further information, see the operations page.
OperationDefinition defines constraints on the Parameters resource instances that are used to convey the inputs and outputs of the operation.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
N | Resource |
Operation
Request
or
Response
Elements defined in Ancestors: id , meta , implicitRules , language |
|
|
Σ
|
0..* | BackboneElement |
Operation
Parameter
+ Rule: A parameter must have one and only one of (value, resource, part) |
|
Σ | 1..1 | string |
Name
from
the
definition
|
|
Σ
|
0..1 | * |
If
parameter
is
a
data
type
|
|
Σ
|
0..1 | Resource |
If
parameter
is
a
whole
resource
|
|
Σ | 0..* | see parameter |
Named
part
of
a
multi-part
parameter
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<<Parameters xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <parameter> <!-- 0..* Operation Parameter --> <name value="[string]"/><!-- 1..1 Name from the definition -->
<| | | | | | </value[x]> <</resource><value[x]><!-- I 0..1 * If parameter is a data type --></value[x]> <resource><!-- I 0..1 Resource If parameter is a whole resource --></resource> <part><!-- 0..* Content as for Parameters.parameter Named part of a multi-part parameter --></part> </parameter> </Parameters>
JSON Template
{
"resourceType" : "",
"resourceType" : "Parameters",
// from Resource: id, meta, implicitRules, and language
"parameter" : [{ // Operation Parameter
"name" : "<string>", // R! Name from the definition
// value[x]: If parameter is a data type. One of these 54:
"valueBase64Binary" : "<base64Binary>",
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
" },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
"
"resource" : { Resource }, // I If parameter is a whole resource
"part" : [{ Content as for Parameters.parameter }] // Named part of a multi-part parameter
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Parameters; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .languagefhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: fhir: ], ...;fhir:parameter ( [ # 0..* Operation Parameter fhir:name [ string ] ; # 1..1 Name from the definition # value[x] : 0..1 I If parameter is a data type. One of these 54 fhir:value [ a fhir:base64Binary ; base64Binary ] fhir:value [ a fhir:boolean ; boolean ] fhir:value [ a fhir:canonical ; canonical ] fhir:value [ a fhir:code ; code ] fhir:value [ a fhir:date ; date ] fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:decimal ; decimal ] fhir:value [ a fhir:id ; id ] fhir:value [ a fhir:instant ; instant ] fhir:value [ a fhir:integer ; integer ] fhir:value [ a fhir:integer64 ; integer64 ] fhir:value [ a fhir:markdown ; markdown ] fhir:value [ a fhir:oid ; oid ] fhir:value [ a fhir:positiveInt ; positiveInt ] fhir:value [ a fhir:string ; string ] fhir:value [ a fhir:time ; time ] fhir:value [ a fhir:unsignedInt ; unsignedInt ] fhir:value [ a fhir:uri ; uri ] fhir:value [ a fhir:url ; url ] fhir:value [ a fhir:uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] fhir:resource [ Resource ] ; # 0..1 I If parameter is a whole resource fhir:part ( [ See Parameters.parameter ] ... ) ; # 0..* Named part of a multi-part parameter ] ... ) ; ]
Changes since R4
| Parameters | |
| Parameters.parameter.value[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
1
test
that
all
execute
ok.
1
fail
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
N | Resource |
Operation
Request
or
Response
Elements defined in Ancestors: id , meta , implicitRules , language |
|
|
Σ
|
0..* | BackboneElement |
Operation
Parameter
+ Rule: A parameter must have one and only one of (value, resource, part) |
|
Σ | 1..1 | string |
Name
from
the
definition
|
|
Σ
|
0..1 | * |
If
parameter
is
a
data
type
|
|
Σ
|
0..1 | Resource |
If
parameter
is
a
whole
resource
|
|
Σ | 0..* | see parameter |
Named
part
of
a
multi-part
parameter
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<<Parameters xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <parameter> <!-- 0..* Operation Parameter --> <name value="[string]"/><!-- 1..1 Name from the definition -->
<| | | | | | </value[x]> <</resource><value[x]><!-- I 0..1 * If parameter is a data type --></value[x]> <resource><!-- I 0..1 Resource If parameter is a whole resource --></resource> <part><!-- 0..* Content as for Parameters.parameter Named part of a multi-part parameter --></part> </parameter> </Parameters>
JSON Template
{
"resourceType" : "",
"resourceType" : "Parameters",
// from Resource: id, meta, implicitRules, and language
"parameter" : [{ // Operation Parameter
"name" : "<string>", // R! Name from the definition
// value[x]: If parameter is a data type. One of these 54:
"valueBase64Binary" : "<base64Binary>",
"valueBoolean" : <boolean>,
"valueCanonical" : "<canonical>",
"valueCode" : "<code>",
"valueDate" : "<date>",
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"valueId" : "<id>",
"valueInstant" : "<instant>",
"valueInteger" : <integer>,
"valueInteger64" : "<integer64>",
"valueMarkdown" : "<markdown>",
"valueOid" : "<oid>",
"valuePositiveInt" : "<positiveInt>",
"valueString" : "<string>",
"valueTime" : "<time>",
"valueUnsignedInt" : "<unsignedInt>",
"valueUri" : "<uri>",
"valueUrl" : "<url>",
"valueUuid" : "<uuid>",
"valueAddress" : { Address },
"valueAge" : { Age },
"valueAnnotation" : { Annotation },
"valueAttachment" : { Attachment },
"valueCodeableConcept" : { CodeableConcept },
"valueCodeableReference" : { CodeableReference },
"valueCoding" : { Coding },
"valueContactPoint" : { ContactPoint },
"valueCount" : { Count },
"valueDistance" : { Distance },
"valueDuration" : { Duration },
"valueHumanName" : { HumanName },
"valueIdentifier" : { Identifier },
"valueMoney" : { Money },
"valuePeriod" : { Period },
"valueQuantity" : { Quantity },
"valueRange" : { Range },
"valueRatio" : { Ratio },
"valueRatioRange" : { RatioRange },
"valueReference" : { Reference },
"valueSampledData" : { SampledData },
"valueSignature" : { Signature },
"valueTiming" : { Timing },
"valueContactDetail" : { ContactDetail },
" },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueAvailability" : { Availability },
"valueExtendedContactDetail" : { ExtendedContactDetail },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
"
"resource" : { Resource }, // I If parameter is a whole resource
"part" : [{ Content as for Parameters.parameter }] // Named part of a multi-part parameter
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:Parameters; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .languagefhir: fhir: # . One of these 50 fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: ] fhir: fhir: ], ...;fhir:parameter ( [ # 0..* Operation Parameter fhir:name [ string ] ; # 1..1 Name from the definition # value[x] : 0..1 I If parameter is a data type. One of these 54 fhir:value [ a fhir:base64Binary ; base64Binary ] fhir:value [ a fhir:boolean ; boolean ] fhir:value [ a fhir:canonical ; canonical ] fhir:value [ a fhir:code ; code ] fhir:value [ a fhir:date ; date ] fhir:value [ a fhir:dateTime ; dateTime ] fhir:value [ a fhir:decimal ; decimal ] fhir:value [ a fhir:id ; id ] fhir:value [ a fhir:instant ; instant ] fhir:value [ a fhir:integer ; integer ] fhir:value [ a fhir:integer64 ; integer64 ] fhir:value [ a fhir:markdown ; markdown ] fhir:value [ a fhir:oid ; oid ] fhir:value [ a fhir:positiveInt ; positiveInt ] fhir:value [ a fhir:string ; string ] fhir:value [ a fhir:time ; time ] fhir:value [ a fhir:unsignedInt ; unsignedInt ] fhir:value [ a fhir:uri ; uri ] fhir:value [ a fhir:url ; url ] fhir:value [ a fhir:uuid ; uuid ] fhir:value [ a fhir:Address ; Address ] fhir:value [ a fhir:Age ; Age ] fhir:value [ a fhir:Annotation ; Annotation ] fhir:value [ a fhir:Attachment ; Attachment ] fhir:value [ a fhir:CodeableConcept ; CodeableConcept ] fhir:value [ a fhir:CodeableReference ; CodeableReference ] fhir:value [ a fhir:Coding ; Coding ] fhir:value [ a fhir:ContactPoint ; ContactPoint ] fhir:value [ a fhir:Count ; Count ] fhir:value [ a fhir:Distance ; Distance ] fhir:value [ a fhir:Duration ; Duration ] fhir:value [ a fhir:HumanName ; HumanName ] fhir:value [ a fhir:Identifier ; Identifier ] fhir:value [ a fhir:Money ; Money ] fhir:value [ a fhir:Period ; Period ] fhir:value [ a fhir:Quantity ; Quantity ] fhir:value [ a fhir:Range ; Range ] fhir:value [ a fhir:Ratio ; Ratio ] fhir:value [ a fhir:RatioRange ; RatioRange ] fhir:value [ a fhir:Reference ; Reference ] fhir:value [ a fhir:SampledData ; SampledData ] fhir:value [ a fhir:Signature ; Signature ] fhir:value [ a fhir:Timing ; Timing ] fhir:value [ a fhir:ContactDetail ; ContactDetail ] fhir:value [ a fhir:DataRequirement ; DataRequirement ] fhir:value [ a fhir:Expression ; Expression ] fhir:value [ a fhir:ParameterDefinition ; ParameterDefinition ] fhir:value [ a fhir:RelatedArtifact ; RelatedArtifact ] fhir:value [ a fhir:TriggerDefinition ; TriggerDefinition ] fhir:value [ a fhir:UsageContext ; UsageContext ] fhir:value [ a fhir:Availability ; Availability ] fhir:value [ a fhir:ExtendedContactDetail ; ExtendedContactDetail ] fhir:value [ a fhir:Dosage ; Dosage ] fhir:value [ a fhir:Meta ; Meta ] fhir:resource [ Resource ] ; # 0..1 I If parameter is a whole resource fhir:part ( [ See Parameters.parameter ] ... ) ; # 0..* Named part of a multi-part parameter ] ... ) ; ]
Changes since Release 4
| Parameters | |
| Parameters.parameter.value[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
1
test
that
all
execute
ok.
1
fail
round-trip
testing
and
1
r3
resources
are
invalid
(0
errors).
)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
,
the
spreadsheet
version
&
the
dependency
analysis
|
|
Level | Location | Description | Expression |
inv-1
|
Rule | Parameters.parameter | A parameter must have one and only one of (value, resource, part) | (part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists())) |
Note: for technical compatibility reasons, the Parameters resource inherits from Resource , but since the parameter exchange format has no end-point and/or persistence, it never has an id, a versionId, or a lastUpdated. The other features of Resource (tags, profiles, security labels, language etc.) may have use when operations are executed.
The following rules apply to name and identifier uniqueness within a Parameters resource:
| Parameter Names | Parameter names can be repeated at any level. The meaning of duplicate parameter names - and whether it is valid to repeat any given parameter name - depends on the context. Typically, operation definitions define what parameters can be used, and whether they can repeat. The order of parameters with different names is not considered significant |
| Resources |
Resources
in
parameter.resource
do
not
need
to
be
unique,
though
the
interpretation
of
non-unique
resources,
or
different
versions
of
the
same
resource,
may
be
ambiguous
in
cases
where
the
parameter
names
do
not
clearly
differentiate
the
purpose
of
the
parameter.
For
additional
commentary,
see
the
notes
about
about
resource
uniqueness
in
Bundles
,
though
be
aware
that
those
rules
do
not
apply
to
the
Parameters
resource
unless
the
fullUrl
extension
is
present
on
parameters
with
resources.
|
| Internal References |
When
internal
references
are
resolved
in
a
resource
in
a
parameter.resource
,
the
resolution
stops
at
parameter.resource
.
This
allows
resources
to
appear
more
than
once
in
a
Parameters
resource,
and
also
means
that
resources
cannot
reference
content
in
another
resource
using
an
internal
reference
(except
for
references
inside
contained
resources
)
|
| References |
When
resolving
references
in
resources,
the
applicable
Operation
Definition
may
specify
how
references
may
be
resolved
between
parameters.
If
a
reference
cannot
be
resolved
between
the
parameters,
the
application
should
fall
back
to
|
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
(No search parameters for this resource)