{
  "resourceType": "StructureDefinition",
  "display": "Search Parameter Combination",
  "constrainedType": "Extension",
  "base": "http://hl7.org/fhir/StructureDefinition/Extension",
  "id": "spark183",
  "meta": {
    "versionId": "spark183",
    "lastUpdated": "2015-10-02T12:14:14.098+00:00"
  },
  "url": "http://hl7.org/fhir/StructureDefinition/conformance-search-parameter-combination",
  "name": "An allowable parameter combination",
  "status": "draft",
  "date": "2014-04-12",
  "publisher": "Health Level Seven, Inc. - [WG Name] WG",
  "contact": [
    {
      "telecom": [
        {
          "system": "other",
          "value": "http://hl7.org/special/committees/fhir.htm"
        }
      ]
    }
  ],
  "description": "A container for a single allowable parameter combination.",
  "fhirVersion": "1.0.1",
  "mapping": [
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM"
    }
  ],
  "kind": "datatype",
  "abstract": false,
  "contextType": "resource",
  "context": [
    "Conformance.rest.resource"
  ],
  "snapshot": {
    "element": [
      {
        "comments": "If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccesful. If multiple search parameter combinations are specified, a client may pick between them, and supply the minimal required parameters for any of the combinations.",
        "id": "Extension",
        "path": "Extension",
        "short": "An allowable parameter combination",
        "definition": "A container for a single allowable parameter combination.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "comments": "If a search combination is specified, clients should expect that they must submit that required combination or the search will be unsuccesful. If multiple search parameter combinations are specified, a client may pick between them, and supply the minimal required parameters for any of the combinations.",
        "path": "Extension",
        "short": "An allowable parameter combination",
        "definition": "A container for a single allowable parameter combination.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "name": "required",
        "path": "Extension.extension",
        "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"
          }
        ]
      },
      {
        "name": "extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "required"
      },
      {
        "path": "Extension.extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "name": "optional",
        "comments": "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.",
        "path": "Extension.extension",
        "short": "An optional search parameter name",
        "definition": "A search parameter name in the combination which is optional.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "name": "extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "path": "Extension.extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "optional"
      },
      {
        "path": "Extension.extension.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "path": "Extension.url",
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://hl7.org/fhir/StructureDefinition/conformance-search-parameter-combination"
      },
      {
        "path": "Extension.value[x]",
        "min": 0,
        "max": "0"
      }
    ]
  }
}