Connectathon 11 Snapshot

This page is part of the FHIR Specification (v1.2.0: STU 3 Draft). 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

6.13 Parameters Resource

6.13.1 Scope and Usage

This special resource type is used to represent the operation request and response.

6.13.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.

6.13.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Parameters ResourceOperation Request or Response
... parameter I0..*BackboneElementOperation Parameter
A parameter must have a value or a resource, but not both
.... name 1..1stringName from the definition
.... value[x] I0..1*If parameter is a data type
.... resource I0..1ResourceIf parameter is a whole resource
.... part I0..*see parameterNamed part of a parameter (e.g. Tuple)
A part must have a value or a resource, but not both

doco Documentation for this format

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]><!-- ?? 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 parameter (e.g. Tuple) --></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 23:
    "valueInteger" : <integer>,
    "valueDecimal" : <decimal>,
    "valueDateTime" : "<dateTime>",
    "valueDate" : "<date>",
    "valueInstant" : "<instant>",
    "valueString" : "<string>",
    "valueUri" : "<uri>",
    "valueBoolean" : <boolean>,
    "valueCode" : "<code>",
    "valueBase64Binary" : "<base64Binary>",
    "valueCoding" : { Coding },
    "valueCodeableConcept" : { CodeableConcept },
    "valueAttachment" : { Attachment },
    "valueIdentifier" : { Identifier },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valuePeriod" : { Period },
    "valueRatio" : { Ratio },
    "valueHumanName" : { HumanName },
    "valueAddress" : { Address },
    "valueContactPoint" : { ContactPoint },
    "valueSchedule" : { Schedule },
    "valueReference" : { Reference },
    "resource" : { Resource }, // C? If parameter is a whole resource
    "part" : [{ Content as for Parameters.parameter }] // Named part of a parameter (e.g. Tuple)
  }]
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Parameters ResourceOperation Request or Response
... parameter I0..*BackboneElementOperation Parameter
A parameter must have a value or a resource, but not both
.... name 1..1stringName from the definition
.... value[x] I0..1*If parameter is a data type
.... resource I0..1ResourceIf parameter is a whole resource
.... part I0..*see parameterNamed part of a parameter (e.g. Tuple)
A part must have a value or a resource, but not both

doco Documentation for this format

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]><!-- ?? 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 parameter (e.g. Tuple) --></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 23:
    "valueInteger" : <integer>,
    "valueDecimal" : <decimal>,
    "valueDateTime" : "<dateTime>",
    "valueDate" : "<date>",
    "valueInstant" : "<instant>",
    "valueString" : "<string>",
    "valueUri" : "<uri>",
    "valueBoolean" : <boolean>,
    "valueCode" : "<code>",
    "valueBase64Binary" : "<base64Binary>",
    "valueCoding" : { Coding },
    "valueCodeableConcept" : { CodeableConcept },
    "valueAttachment" : { Attachment },
    "valueIdentifier" : { Identifier },
    "valueQuantity" : { Quantity },
    "valueRange" : { Range },
    "valuePeriod" : { Period },
    "valueRatio" : { Ratio },
    "valueHumanName" : { HumanName },
    "valueAddress" : { Address },
    "valueContactPoint" : { ContactPoint },
    "valueSchedule" : { Schedule },
    "valueReference" : { Reference },
    "resource" : { Resource }, // C? If parameter is a whole resource
    "part" : [{ Content as for Parameters.parameter }] // Named part of a parameter (e.g. Tuple)
  }]
}

6.13.3.1 Constraints

  • inv-1: On Parameters.parameter: A parameter must have a value or a resource, but not both (xpath on f:Parameters/f:parameter: exists(f:value) or exists(f:resource) and not(exists(f:value) and exists(f:resource)))
  • inv-2: On Parameters.parameter.part: A part must have a value or a resource, but not both (xpath on f:Parameters/f:parameter/f:part: exists(f:value) or exists(f:resource) and not(exists(f:value) and exists(f:resource)))

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.