Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

2.11 Resource Parameters - Content

FHIR Infrastructure icon Work Group Maturity Level: N Normative (from v4.0.0) Security Category: N/A Compartments: No defined compartments

This resource is 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.

2.11.1 Scope and Usage

This resource is 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:

  • Parameters instances can be stored to record inbound and/or outbound information in support of an AuditEvent instance
  • Parameters instances might be persisted either on their own or as part of a Bundle to support documentation of examples for an ImplementationGuide and/or test data for a TestScript

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.

2.11.2 Boundaries and Relationships

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.

2.11.3 References to this Resource

2.11.4 Resource Content

Structure

Name Flags Card. Type Description & Constraints doco
.. Parameters N Resource Operation Request or Response

Elements defined in Ancestors: id, meta, implicitRules, language
... parameter Σ C 0..*BackboneElement Operation Parameter
+ Rule: A parameter must have one and only one of (value, resource, part)

.... name Σ 1..1string Name from the definition
.... value[x] Σ C 0..1* If parameter is a data type
.... resource Σ C 0..1Resource If parameter is a whole resource
.... part Σ C 0..*see parameter Named part of a multi-part parameter


doco Documentation for this format icon

See the Extensions for this resource

XML Template

<Parameters xmlns="http://hl7.org/fhir"> doco 
 <!-- from Resource: id, meta, implicitRules, and language -->
 <parameter> <!-- 0..* Operation Parameter -->
 <name value="[string ]"/><!-- 1..1 Name from the definition  -->
 <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><!-- I 0..* Content as for Parameters.parameter Named part of a multi-part parameter  --></part>
 </parameter>
</Parameters>

JSON Template

{doco 
 "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 }] // I  Named part of a multi-part parameter 
 }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco 
[ a fhir:Parameters;
 fhir:nodeRole fhir:treeRoot; # if this is the parser root
 # from Resource: .id, .meta, .implicitRules, and .language
 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..* I  Named part of a multi-part parameter
 ] ... ) ;
]

Changes from both R4 and R4B

Parameters.parameter.value[x]
  • Add Types integer64, CodeableReference, RatioRange, Availability, ExtendedContactDetail, Meta
  • Remove Type Contributor

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

Name Flags Card. Type Description & Constraints doco
.. Parameters N Resource Operation Request or Response

Elements defined in Ancestors: id, meta, implicitRules, language
... parameter Σ C 0..*BackboneElement Operation Parameter
+ Rule: A parameter must have one and only one of (value, resource, part)

.... name Σ 1..1string Name from the definition
.... value[x] Σ C 0..1* If parameter is a data type
.... resource Σ C 0..1Resource If parameter is a whole resource
.... part Σ C 0..*see parameter Named part of a multi-part parameter


doco Documentation for this format icon

See the Extensions for this resource

XML Template

<Parameters xmlns="http://hl7.org/fhir"> doco 
 <!-- from Resource: id, meta, implicitRules, and language -->
 <parameter> <!-- 0..* Operation Parameter -->
 <name value="[string ]"/><!-- 1..1 Name from the definition  -->
 <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><!-- I 0..* Content as for Parameters.parameter Named part of a multi-part parameter  --></part>
 </parameter>
</Parameters>

JSON Template

{doco 
 "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 }] // I  Named part of a multi-part parameter 
 }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco 
[ a fhir:Parameters;
 fhir:nodeRole fhir:treeRoot; # if this is the parser root
 # from Resource: .id, .meta, .implicitRules, and .language
 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..* I  Named part of a multi-part parameter
 ] ... ) ;
]

Changes from both R4 and R4B

Parameters.parameter.value[x]
  • Add Types integer64, CodeableReference, RatioRange, Availability, ExtendedContactDetail, Meta
  • Remove Type Contributor

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis

2.11.4.1 Constraints

UniqueKey Level Location Description Expression
img 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.

2.11.4.2 Names and Identifiers

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 its general resource resolution methods

2.11.5 Search Parameters

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)

AltStyle によって変換されたページ (->オリジナル) /