{
  "resourceType": "StructureDefinition",
  "url": "https://fohm.se/nvr/fhir/StructureDefinition/NVRHealthCareUnitLocation",
  "name": "NVRHealthCareUnitLocation",
  "status": "draft",
  "description": "A care unit where a vaccination was performed",
  "fhirVersion": "5.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Location",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Location",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Location.identifier",
        "path": "Location.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "max": "1"
      },
      {
        "id": "Location.identifier:hsaId",
        "path": "Location.identifier",
        "sliceName": "hsaId",
        "max": "1"
      },
      {
        "id": "Location.identifier:hsaId.use",
        "path": "Location.identifier.use",
        "max": "0"
      },
      {
        "id": "Location.identifier:hsaId.type",
        "path": "Location.identifier.type",
        "max": "0"
      },
      {
        "id": "Location.identifier:hsaId.system",
        "path": "Location.identifier.system",
        "min": 1,
        "fixedUri": "http://electronichealth.se/identifier/hsa_id"
      },
      {
        "id": "Location.identifier:hsaId.value",
        "path": "Location.identifier.value",
        "min": 1
      },
      {
        "id": "Location.identifier:hsaId.period",
        "path": "Location.identifier.period",
        "max": "0"
      },
      {
        "id": "Location.identifier:hsaId.assigner",
        "path": "Location.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Location.identifier:schoolUnitCode",
        "path": "Location.identifier",
        "sliceName": "schoolUnitCode",
        "short": "8 number school unit code",
        "max": "1"
      },
      {
        "id": "Location.identifier:schoolUnitCode.use",
        "path": "Location.identifier.use",
        "max": "0"
      },
      {
        "id": "Location.identifier:schoolUnitCode.type",
        "path": "Location.identifier.type",
        "max": "0"
      },
      {
        "id": "Location.identifier:schoolUnitCode.system",
        "path": "Location.identifier.system",
        "min": 1,
        "fixedUri": "https://www.skolverket.se/skolutveckling/skolenhetsregistret"
      },
      {
        "id": "Location.identifier:schoolUnitCode.value",
        "path": "Location.identifier.value",
        "min": 1
      },
      {
        "id": "Location.identifier:schoolUnitCode.period",
        "path": "Location.identifier.period",
        "max": "0"
      },
      {
        "id": "Location.identifier:schoolUnitCode.assigner",
        "path": "Location.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Location.status",
        "path": "Location.status",
        "max": "0"
      },
      {
        "id": "Location.operationalStatus",
        "path": "Location.operationalStatus",
        "max": "0"
      },
      {
        "id": "Location.name",
        "path": "Location.name",
        "min": 1
      },
      {
        "id": "Location.alias",
        "path": "Location.alias",
        "max": "0"
      },
      {
        "id": "Location.description",
        "path": "Location.description",
        "max": "0"
      },
      {
        "id": "Location.mode",
        "path": "Location.mode",
        "max": "0"
      },
      {
        "id": "Location.type",
        "path": "Location.type",
        "max": "0"
      },
      {
        "id": "Location.contact",
        "path": "Location.contact",
        "max": "1"
      },
      {
        "id": "Location.contact.purpose",
        "path": "Location.contact.purpose",
        "max": "0"
      },
      {
        "id": "Location.contact.name",
        "path": "Location.contact.name",
        "max": "0"
      },
      {
        "id": "Location.contact.telecom",
        "path": "Location.contact.telecom",
        "max": "1"
      },
      {
        "id": "Location.contact.telecom.system",
        "path": "Location.contact.telecom.system",
        "min": 1,
        "fixedCode": "email"
      },
      {
        "id": "Location.contact.telecom.value",
        "path": "Location.contact.telecom.value",
        "min": 1
      },
      {
        "id": "Location.contact.telecom.use",
        "path": "Location.contact.telecom.use",
        "max": "0"
      },
      {
        "id": "Location.contact.telecom.rank",
        "path": "Location.contact.telecom.rank",
        "max": "0"
      },
      {
        "id": "Location.contact.telecom.period",
        "path": "Location.contact.telecom.period",
        "max": "0"
      },
      {
        "id": "Location.contact.address",
        "path": "Location.contact.address",
        "max": "0"
      },
      {
        "id": "Location.contact.organization",
        "path": "Location.contact.organization",
        "max": "0"
      },
      {
        "id": "Location.contact.period",
        "path": "Location.contact.period",
        "max": "0"
      },
      {
        "id": "Location.address.use",
        "path": "Location.address.use",
        "max": "0"
      },
      {
        "id": "Location.address.type",
        "path": "Location.address.type",
        "max": "0"
      },
      {
        "id": "Location.address.text",
        "path": "Location.address.text",
        "max": "0"
      },
      {
        "id": "Location.address.line",
        "path": "Location.address.line",
        "max": "0"
      },
      {
        "id": "Location.address.city",
        "path": "Location.address.city",
        "min": 1,
        "binding": {
          "strength": "required",
          "description": "4 digit municipality code",
          "valueSet": "http://fohm.se/nvr/fhir/ValueSet/municipality-codes"
        }
      },
      {
        "id": "Location.address.district",
        "path": "Location.address.district",
        "max": "0"
      },
      {
        "id": "Location.address.state",
        "path": "Location.address.state",
        "max": "0"
      },
      {
        "id": "Location.address.postalCode",
        "path": "Location.address.postalCode",
        "max": "0"
      },
      {
        "id": "Location.address.country",
        "path": "Location.address.country",
        "max": "0"
      },
      {
        "id": "Location.address.period",
        "path": "Location.address.period",
        "max": "0"
      },
      {
        "id": "Location.form",
        "path": "Location.form",
        "max": "0"
      },
      {
        "id": "Location.position",
        "path": "Location.position",
        "max": "0"
      },
      {
        "id": "Location.managingOrganization",
        "path": "Location.managingOrganization",
        "max": "0"
      },
      {
        "id": "Location.partOf",
        "path": "Location.partOf",
        "max": "0"
      },
      {
        "id": "Location.characteristic",
        "path": "Location.characteristic",
        "max": "0"
      },
      {
        "id": "Location.hoursOfOperation",
        "path": "Location.hoursOfOperation",
        "max": "0"
      },
      {
        "id": "Location.virtualService",
        "path": "Location.virtualService",
        "max": "0"
      },
      {
        "id": "Location.endpoint",
        "path": "Location.endpoint",
        "max": "0"
      }
    ]
  }
}