This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
(v5.0.0-snapshot1:
R5
Snapshot
#1).
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) | Compartments : Not linked to any defined compartments |
|
|
This
page
has
been
approved
as
part
of
an
ANSI
standard.
See
the
Infrastructure
Package
for
further
details.
|
This resource is a non-persisted resource used to pass information into and back from an operation . It has no other use, and there is no RESTful endpoint associated with it.
This resource is a non-persisted resource used to pass information into and back from an operation .
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.
This resource is referenced by GuidanceResponse .
This resource does not implement any patterns.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
Resource |
Operation
Request
or
Response
Elements defined in Ancestors: id , meta , implicitRules , language |
|
|
Σ I | 0..* | BackboneElement |
Operation
Parameter
+ Rule: A parameter must have one and only one of (value, resource, part) |
|
Σ | 1..1 | string | Name from the definition |
|
Σ I | 0..1 | * | If parameter is a data type |
|
Σ I | 0..1 | Resource | If parameter is a whole resource |
|
Σ | 0..* | see parameter |
Named
part
of
a
multi-part
parameter
|
Documentation
for
this
format
|
||||
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]><!--0..1 * If parameter is a data type --></value[x]> <resource><!--
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" : "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 53:
"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 },
"valueContributor" : { Contributor },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
"resource" : { Resource }, // C? 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:Parameters; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language fhir:Parameters.parameter [ # 0..* Operation Parameter fhir:Parameters.parameter.name [ string ]; # 1..1 Name from the definition
# . 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:# Parameters.parameter.value[x] : 0..1 If parameter is a data type. One of these 53 fhir:Parameters.parameter.valueBase64Binary [ base64Binary ] fhir:Parameters.parameter.valueBoolean [ boolean ] fhir:Parameters.parameter.valueCanonical [ canonical ] fhir:Parameters.parameter.valueCode [ code ] fhir:Parameters.parameter.valueDate [ date ] fhir:Parameters.parameter.valueDateTime [ dateTime ] fhir:Parameters.parameter.valueDecimal [ decimal ] fhir:Parameters.parameter.valueId [ id ] fhir:Parameters.parameter.valueInstant [ instant ] fhir:Parameters.parameter.valueInteger [ integer ] fhir:Parameters.parameter.valueInteger64 [ integer64 ] fhir:Parameters.parameter.valueMarkdown [ markdown ] fhir:Parameters.parameter.valueOid [ oid ] fhir:Parameters.parameter.valuePositiveInt [ positiveInt ] fhir:Parameters.parameter.valueString [ string ] fhir:Parameters.parameter.valueTime [ time ] fhir:Parameters.parameter.valueUnsignedInt [ unsignedInt ] fhir:Parameters.parameter.valueUri [ uri ] fhir:Parameters.parameter.valueUrl [ url ] fhir:Parameters.parameter.valueUuid [ uuid ] fhir:Parameters.parameter.valueAddress [ Address ] fhir:Parameters.parameter.valueAge [ Age ] fhir:Parameters.parameter.valueAnnotation [ Annotation ] fhir:Parameters.parameter.valueAttachment [ Attachment ] fhir:Parameters.parameter.valueCodeableConcept [ CodeableConcept ] fhir:Parameters.parameter.valueCodeableReference [ CodeableReference ] fhir:Parameters.parameter.valueCoding [ Coding ] fhir:Parameters.parameter.valueContactPoint [ ContactPoint ] fhir:Parameters.parameter.valueCount [ Count ] fhir:Parameters.parameter.valueDistance [ Distance ] fhir:Parameters.parameter.valueDuration [ Duration ] fhir:Parameters.parameter.valueHumanName [ HumanName ] fhir:Parameters.parameter.valueIdentifier [ Identifier ] fhir:Parameters.parameter.valueMoney [ Money ] fhir:Parameters.parameter.valuePeriod [ Period ] fhir:Parameters.parameter.valueQuantity [ Quantity ] fhir:Parameters.parameter.valueRange [ Range ] fhir:Parameters.parameter.valueRatio [ Ratio ] fhir:Parameters.parameter.valueRatioRange [ RatioRange ] fhir:Parameters.parameter.valueReference [ Reference ] fhir:Parameters.parameter.valueSampledData [ SampledData ] fhir:Parameters.parameter.valueSignature [ Signature ] fhir:Parameters.parameter.valueTiming [ Timing ] fhir:Parameters.parameter.valueContactDetail [ ContactDetail ] fhir:Parameters.parameter.valueContributor [ Contributor ] fhir:Parameters.parameter.valueDataRequirement [ DataRequirement ] fhir:Parameters.parameter.valueExpression [ Expression ] fhir:Parameters.parameter.valueParameterDefinition [ ParameterDefinition ] fhir:Parameters.parameter.valueRelatedArtifact [ RelatedArtifact ] fhir:Parameters.parameter.valueTriggerDefinition [ TriggerDefinition ] fhir:Parameters.parameter.valueUsageContext [ UsageContext ] fhir:Parameters.parameter.valueDosage [ Dosage ] fhir:Parameters.parameter.valueMeta [ Meta ] fhir:Parameters.parameter.resource [ Resource ]; # 0..1 If parameter is a whole resource fhir:Parameters.parameter.part [ See Parameters.parameter ], ... ; # 0..* Named part of a multi-part parameter ], ...; ]
Changes since R3
| Parameters | |
| Parameters.parameter.value[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
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
|
|---|---|---|---|---|
|
|
Resource |
Operation
Request
or
Response
Elements defined in Ancestors: id , meta , implicitRules , language |
|
|
Σ I | 0..* | BackboneElement |
Operation
Parameter
+ Rule: A parameter must have one and only one of (value, resource, part) |
|
Σ | 1..1 | string | Name from the definition |
|
Σ I | 0..1 | * | If parameter is a data type |
|
Σ I | 0..1 | Resource | If parameter is a whole resource |
|
Σ | 0..* | see parameter |
Named
part
of
a
multi-part
parameter
|
Documentation
for
this
format
|
||||
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]><!--0..1 * If parameter is a data type --></value[x]> <resource><!--
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" : "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 53:
"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 },
"valueContributor" : { Contributor },
"valueDataRequirement" : { DataRequirement },
"valueExpression" : { Expression },
"valueParameterDefinition" : { ParameterDefinition },
"valueRelatedArtifact" : { RelatedArtifact },
"valueTriggerDefinition" : { TriggerDefinition },
"valueUsageContext" : { UsageContext },
"valueDosage" : { Dosage },
"valueMeta" : { Meta },
"resource" : { Resource }, // C? 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:Parameters; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language fhir:Parameters.parameter [ # 0..* Operation Parameter fhir:Parameters.parameter.name [ string ]; # 1..1 Name from the definition
# . 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:# Parameters.parameter.value[x] : 0..1 If parameter is a data type. One of these 53 fhir:Parameters.parameter.valueBase64Binary [ base64Binary ] fhir:Parameters.parameter.valueBoolean [ boolean ] fhir:Parameters.parameter.valueCanonical [ canonical ] fhir:Parameters.parameter.valueCode [ code ] fhir:Parameters.parameter.valueDate [ date ] fhir:Parameters.parameter.valueDateTime [ dateTime ] fhir:Parameters.parameter.valueDecimal [ decimal ] fhir:Parameters.parameter.valueId [ id ] fhir:Parameters.parameter.valueInstant [ instant ] fhir:Parameters.parameter.valueInteger [ integer ] fhir:Parameters.parameter.valueInteger64 [ integer64 ] fhir:Parameters.parameter.valueMarkdown [ markdown ] fhir:Parameters.parameter.valueOid [ oid ] fhir:Parameters.parameter.valuePositiveInt [ positiveInt ] fhir:Parameters.parameter.valueString [ string ] fhir:Parameters.parameter.valueTime [ time ] fhir:Parameters.parameter.valueUnsignedInt [ unsignedInt ] fhir:Parameters.parameter.valueUri [ uri ] fhir:Parameters.parameter.valueUrl [ url ] fhir:Parameters.parameter.valueUuid [ uuid ] fhir:Parameters.parameter.valueAddress [ Address ] fhir:Parameters.parameter.valueAge [ Age ] fhir:Parameters.parameter.valueAnnotation [ Annotation ] fhir:Parameters.parameter.valueAttachment [ Attachment ] fhir:Parameters.parameter.valueCodeableConcept [ CodeableConcept ] fhir:Parameters.parameter.valueCodeableReference [ CodeableReference ] fhir:Parameters.parameter.valueCoding [ Coding ] fhir:Parameters.parameter.valueContactPoint [ ContactPoint ] fhir:Parameters.parameter.valueCount [ Count ] fhir:Parameters.parameter.valueDistance [ Distance ] fhir:Parameters.parameter.valueDuration [ Duration ] fhir:Parameters.parameter.valueHumanName [ HumanName ] fhir:Parameters.parameter.valueIdentifier [ Identifier ] fhir:Parameters.parameter.valueMoney [ Money ] fhir:Parameters.parameter.valuePeriod [ Period ] fhir:Parameters.parameter.valueQuantity [ Quantity ] fhir:Parameters.parameter.valueRange [ Range ] fhir:Parameters.parameter.valueRatio [ Ratio ] fhir:Parameters.parameter.valueRatioRange [ RatioRange ] fhir:Parameters.parameter.valueReference [ Reference ] fhir:Parameters.parameter.valueSampledData [ SampledData ] fhir:Parameters.parameter.valueSignature [ Signature ] fhir:Parameters.parameter.valueTiming [ Timing ] fhir:Parameters.parameter.valueContactDetail [ ContactDetail ] fhir:Parameters.parameter.valueContributor [ Contributor ] fhir:Parameters.parameter.valueDataRequirement [ DataRequirement ] fhir:Parameters.parameter.valueExpression [ Expression ] fhir:Parameters.parameter.valueParameterDefinition [ ParameterDefinition ] fhir:Parameters.parameter.valueRelatedArtifact [ RelatedArtifact ] fhir:Parameters.parameter.valueTriggerDefinition [ TriggerDefinition ] fhir:Parameters.parameter.valueUsageContext [ UsageContext ] fhir:Parameters.parameter.valueDosage [ Dosage ] fhir:Parameters.parameter.valueMeta [ Meta ] fhir:Parameters.parameter.resource [ Resource ]; # 0..1 If parameter is a whole resource fhir:Parameters.parameter.part [ See Parameters.parameter ], ... ; # 0..* Named part of a multi-part parameter ], ...; ]
Changes since Release 3
| Parameters | |
| Parameters.parameter.value[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
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 definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis a
| id | 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 it's general resource resolution methods |