{
  "resourceType": "StructureDefinition",
  "id": "Parameters",
  "meta": {
    "lastUpdated": "2020-12-30T20:32:20.021+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
      "valueString": "Foundation.Other"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "normative"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
      "valueCode": "4.0.0"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 5
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/build/StructureDefinition/entered-in-error-status",
      "valueCode": "n/a - this resource is never stored"
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/Parameters",
  "version": "4.6.0",
  "name": "Parameters",
  "status": "active",
  "date": "2020-12-30T20:32:20+00:00",
  "publisher": "Health Level Seven International (FHIR Infrastructure)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    },
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/fiwg/index.cfm"
        }
      ]
    }
  ],
  "description": "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.",
  "fhirVersion": "4.6.0",
  "mapping": [
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Resource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Parameters",
        "path": "Parameters",
        "short": "Operation Request or Response",
        "definition": "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.",
        "comment": "The parameters that may be used are defined by the OperationDefinition resource.",
        "min": 0,
        "max": "*",
        "mapping": [
          {
            "identity": "v2",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "w5",
            "map": "infrastructure.exchange"
          }
        ]
      },
      {
        "id": "Parameters.parameter",
        "extension": [
          {
            "url": "http://hl7.org/fhir/build/StructureDefinition/svg",
            "valueCode": "250,0"
          }
        ],
        "path": "Parameters.parameter",
        "short": "Operation Parameter",
        "definition": "A parameter passed to or received from the operation.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "inv-1",
            "severity": "error",
            "human": "A parameter must have one and only one of (value, resource, part)",
            "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))",
            "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))",
            "source": "http://hl7.org/fhir/StructureDefinition/Parameters"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Parameters.parameter.name",
        "path": "Parameters.parameter.name",
        "short": "Name from the definition",
        "definition": "The name of the parameter (reference to the operation definition).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true
      },
      {
        "id": "Parameters.parameter.value[x]",
        "path": "Parameters.parameter.value[x]",
        "short": "If parameter is a data type",
        "definition": "Conveys the content if the parameter is a data type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "base64Binary"
          },
          {
            "code": "boolean"
          },
          {
            "code": "canonical"
          },
          {
            "code": "code"
          },
          {
            "code": "date"
          },
          {
            "code": "dateTime"
          },
          {
            "code": "decimal"
          },
          {
            "code": "id"
          },
          {
            "code": "instant"
          },
          {
            "code": "integer"
          },
          {
            "code": "integer64"
          },
          {
            "code": "markdown"
          },
          {
            "code": "oid"
          },
          {
            "code": "positiveInt"
          },
          {
            "code": "string"
          },
          {
            "code": "time"
          },
          {
            "code": "unsignedInt"
          },
          {
            "code": "uri"
          },
          {
            "code": "url"
          },
          {
            "code": "uuid"
          },
          {
            "code": "Address"
          },
          {
            "code": "Age"
          },
          {
            "code": "Annotation"
          },
          {
            "code": "Attachment"
          },
          {
            "code": "CodeableConcept"
          },
          {
            "code": "Coding"
          },
          {
            "code": "ContactPoint"
          },
          {
            "code": "Count"
          },
          {
            "code": "Distance"
          },
          {
            "code": "Duration"
          },
          {
            "code": "HumanName"
          },
          {
            "code": "Identifier"
          },
          {
            "code": "Money"
          },
          {
            "code": "Period"
          },
          {
            "code": "Quantity"
          },
          {
            "code": "Range"
          },
          {
            "code": "Ratio"
          },
          {
            "code": "Reference"
          },
          {
            "code": "SampledData"
          },
          {
            "code": "Signature"
          },
          {
            "code": "Timing"
          },
          {
            "code": "ContactDetail"
          },
          {
            "code": "Contributor"
          },
          {
            "code": "DataRequirement"
          },
          {
            "code": "Expression"
          },
          {
            "code": "ParameterDefinition"
          },
          {
            "code": "RelatedArtifact"
          },
          {
            "code": "TriggerDefinition"
          },
          {
            "code": "UsageContext"
          },
          {
            "code": "Dosage"
          },
          {
            "code": "Meta"
          }
        ],
        "condition": [
          "inv-1"
        ],
        "isSummary": true
      },
      {
        "id": "Parameters.parameter.resource",
        "path": "Parameters.parameter.resource",
        "short": "If parameter is a whole resource",
        "definition": "Conveys the content if the parameter is a whole resource.",
        "comment": "When resolving references in resources, the 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.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Resource"
          }
        ],
        "condition": [
          "inv-1"
        ],
        "isSummary": true
      },
      {
        "id": "Parameters.parameter.part",
        "path": "Parameters.parameter.part",
        "short": "Named part of a multi-part parameter",
        "definition": "A named part of a multi-part parameter.",
        "comment": "Only one level of nested parameters is allowed.",
        "min": 0,
        "max": "*",
        "contentReference": "#Parameters.parameter",
        "isSummary": true
      }
    ]
  }
}