{
  "resourceType": "StructureDefinition",
  "id": "bwell-ex-provider-search",
  "url": "https://www.hl7.org/fhir/us/bwell/bwell-ex-provider-search",
  "version": "1.0",
  "name": "ExtensionProviderSearch",
  "title": "Extension: Provider Search",
  "status": "active",
  "date": "2024-03-01",
  "description": "characteristics and/or behaviors of the record for provider searching and the corresponding system for which it applies. \n \n Contains flags for **searchable** and **bookable**",
  "purpose": "The extension is designed to describe the specific behaviors/visibility requirements of the resource, bucketed per Provider Search service.",
  "experimental": false,
  "fhirVersion": "4.0.1",
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "extension",
      "expression": "HealthcareService"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension",
        "path": "Extension",
        "short": "extension container for provider search characteristics per system"
      },
      {
        "id": "Extension.id",
        "path": "Extension.id",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "short": "extension(s) for a coded characteristic",
        "definition": "a list of characteristics to describe the behavior and/or visibility of the record. Examples: online bookable; provider searchable",
        "min": 2,
        "max": "*"
      },
      {
        "id": "Extension.extension:searchable",
        "path": "Extension.extension",
        "sliceName": "searchable",
        "short": "coded concept for whether the provider should be searchable in pss",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Extension.extension:searchable.id",
        "path": "Extension.extension.id",
        "min": 1
      },
      {
        "id": "Extension.extension:searchable.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:searchable.url",
        "path": "Extension.extension.url",
        "short": "fixed value: searchCharacteristic",
        "min": 1,
        "fixedUri": "searchCharacteristic"
      },
      {
        "id": "Extension.extension:searchable.value[x]",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueCodeableConcept",
        "short": "searchable | hide-from-search",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "https://www.hl7.org/fhir/us/bwell/bwell-vs-provider-search-characteristic"
        }
      },
      {
        "id": "Extension.extension:bookable",
        "path": "Extension.extension",
        "sliceName": "bookable",
        "short": "coded concept for whether the provider should be online bookable in pss",
        "min": 0,
        "max": "1"
      },
      {
        "id": "Extension.extension:bookable.id",
        "path": "Extension.extension.id",
        "min": 1
      },
      {
        "id": "Extension.extension:bookable.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:bookable.url",
        "path": "Extension.extension.url",
        "short": "fixed value: searchCharacteristic",
        "min": 1,
        "fixedUri": "searchCharacteristic"
      },
      {
        "id": "Extension.extension:bookable.value[x]",
        "path": "Extension.extension.value[x]",
        "sliceName": "valueCodeableConcept",
        "short": "bookable | not-bookable",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "https://www.hl7.org/fhir/us/bwell/bwell-vs-provider-search-characteristic"
        }
      },
      {
        "id": "Extension.extension:search-system",
        "path": "Extension.extension",
        "sliceName": "search-system",
        "short": "the provider search system",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Extension.extension:search-system.id",
        "path": "Extension.extension.id",
        "min": 1
      },
      {
        "id": "Extension.extension:search-system.extension",
        "path": "Extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Extension.extension:search-system.url",
        "path": "Extension.extension.url",
        "short": "fixed value: forSystem",
        "definition": "Although the context of this already implies it's for the Helix Provider Search Service, this field was included in the definition to specify which front end version of PSS. This would accommodate clients in the event they have more than one portal with us.",
        "min": 1,
        "max": "1",
        "fixedUri": "forSystem"
      },
      {
        "id": "Extension.extension:search-system.value[x]",
        "path": "Extension.extension.value[x]",
        "short": "uri / url of the search system",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "short": "fixed value: https://raw.githubusercontent.com/imranq2/SparkAutoMapper.FHIR/main/StructureDefinition/provider_search",
        "min": 1,
        "fixedUri": "https://raw.githubusercontent.com/imranq2/SparkAutoMapper.FHIR/main/StructureDefinition/provider_search",
        "mustSupport": true
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0"
      }
    ]
  }
}