{
  "resourceType": "StructureDefinition",
  "id": "capabilitystatement-search-parameter-combination",
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination",
  "name": "search-parameter-combination",
  "title": "Search Parameter Combination",
  "status": "draft",
  "date": "2014-04-12",
  "publisher": "Health Level Seven, Inc. - [WG Name] WG",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/special/committees/fhir.htm"
        }
      ]
    }
  ],
  "description": "A container for a single allowable parameter combination.",
  "fhirVersion": "3.0.1",
  "mapping": [
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "contextType": "resource",
  "context": [
    "CapabilityStatement.rest.resource"
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "An allowable parameter combination",
        "definition": "A container for a single allowable parameter combination.",
        "comment": "If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccessful. If multiple search parameter combinations are specified, a client may pick between them, and supply the minimal required parameters for any of the combinations.",
        "min": 0,
        "max": "*",
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Extension.extension:required",
        "path": "Extension.extension",
        "sliceName": "required",
        "short": "A required search parameter name",
        "definition": "A search parameter name in the combination which is required.",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Extension.extension:required.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:required.url",
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "required"
      },
      {
        "id": "Extension.extension:required.valueString",
        "path": "Extension.extension.valueString",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:optional",
        "path": "Extension.extension",
        "sliceName": "optional",
        "short": "An optional search parameter name",
        "definition": "A search parameter name in the combination which is optional.",
        "comment": "If a defined parameter is not listed as a required or optional parameter, the implication is that the parameter is not supported with this combination. Servers may ignore It, though some may return an error if it is used.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Extension.extension:optional.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:optional.url",
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "optional"
      },
      {
        "id": "Extension.extension:optional.valueString",
        "path": "Extension.extension.valueString",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "min": 0,
        "max": "0"
      }
    ]
  }
}