2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 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.14 Parameters Resource

6.14.1 Scope and Usage

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

6.14.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.14.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Parameters ResourceOperation Request or Response
... parameter I0..*ElementOperation 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 0..*ElementNamed part of a parameter (e.g. Tuple)
..... name 1..1stringName from the definition
..... value[x] 1..1*Value of the part

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..* Named part of a parameter (e.g. Tuple) -->
   <name value="[string]"/><!-- 1..1 Name from the definition -->
   <value[x]><!-- 1..1 * Value of the part --></value[x]>
  </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 },
    "valueContact" : { Contact },
    "valueSchedule" : { Schedule },
    "valueReference" : { Reference },
    "resource" : { Resource }, // C? If parameter is a whole resource
    "part" : [{ // Named part of a parameter (e.g. Tuple)
      "name" : "<string>", // R! Name from the definition
      // value[x]: Value of the part. 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 }
      "valueContact" : { Contact }
      "valueSchedule" : { Schedule }
      "valueReference" : { Reference }
    }]
  }]
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Parameters ResourceOperation Request or Response
... parameter I0..*ElementOperation 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 0..*ElementNamed part of a parameter (e.g. Tuple)
..... name 1..1stringName from the definition
..... value[x] 1..1*Value of the part

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..* Named part of a parameter (e.g. Tuple) -->
   <name value="[string]"/><!-- 1..1 Name from the definition -->
   <value[x]><!-- 1..1 * Value of the part --></value[x]>
  </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 },
    "valueContact" : { Contact },
    "valueSchedule" : { Schedule },
    "valueReference" : { Reference },
    "resource" : { Resource }, // C? If parameter is a whole resource
    "part" : [{ // Named part of a parameter (e.g. Tuple)
      "name" : "<string>", // R! Name from the definition
      // value[x]: Value of the part. 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 }
      "valueContact" : { Contact }
      "valueSchedule" : { Schedule }
      "valueReference" : { Reference }
    }]
  }]
}

6.14.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)))

Note: for technical compatibility reasons, the Parameters resouce 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.