<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://medico-emr.net/medico/r4/sd/Location_Unit_1" />
  <name value="Location_Unit_1" />
  <status value="draft" />
  <description value="Represents either a ward or an outpatient facility (=ambulance)&#xD;&#xA;if representing a ward = matches Organition_Ward&#xD;&#xA;if representing an outpatient facility --&gt; matches an Organization_OutpatientFacility&#xD;&#xA;otherwise identical to the same ward (contentswise) as would be Organization_Ward_1 with Ward-#### (with same content on #####)&#xD;&#xA;both logical entities map to x8103wds" />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Location" />
  <baseDefinition value="https://medico-emr.net/medico/r4/sd/Location_Base_1" />
  <derivation value="constraint" />
  <differential>
    <element id="Location">
      <path value="Location" />
      <definition value="WardLoc-#####&#xD;&#xA;Represents either a ward or an outpatient facility (=ambulance)&#xD;&#xA;if representing a ward = matches Organition_Ward&#xD;&#xA;if representing an outpatient facility --&gt; matches an Organization_OutpatientFacility&#xD;&#xA;otherwise identical to the same ward (contentswise) as would be Organization_Ward_1 with Ward-#### (with same content on #####)" />
      <comment value="The two can be destinguidest using the .type and .physicaltype fields" />
    </element>
    <element id="Location.id">
      <path value="Location.id" />
      <definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.&#xD;&#xA;Format:  WardLoc-#####" />
    </element>
    <element id="Location.meta.profile">
      <path value="Location.meta.profile" />
      <fixedCanonical value="https://medico-emr.net/medico/r4/sd/Location_Unit_1" />
    </element>
    <element id="Location.identifier">
      <path value="Location.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Location.identifier:medicoResourceId">
      <path value="Location.identifier" />
      <sliceName value="medicoResourceId" />
    </element>
    <element id="Location.identifier:medicoResourceId.system">
      <path value="Location.identifier.system" />
      <comment value="Dynamically resolved for validation&#xD;&#xA;--FixedValue=https://medico-emr.net/medico/%KUNDE%/sid1/WardLoc" />
    </element>
    <element id="Location.status">
      <path value="Location.status" />
      <definition value="medico Supported values: active | inactive - depending on datf and datt" />
      <min value="1" />
    </element>
    <element id="Location.operationalStatus">
      <path value="Location.operationalStatus" />
      <definition value="The code for WardOpStatus-1 can be either  &quot;WithBeds&quot; or &quot;WithoutBeds&quot;" />
      <min value="1" />
    </element>
    <element id="Location.operationalStatus.id">
      <path value="Location.operationalStatus.id" />
      <max value="0" />
    </element>
    <element id="Location.operationalStatus.system">
      <path value="Location.operationalStatus.system" />
      <min value="1" />
      <fixedUri value="https://medico-emr.net/medico/cs/cs1" />
    </element>
    <element id="Location.operationalStatus.version">
      <path value="Location.operationalStatus.version" />
      <max value="0" />
    </element>
    <element id="Location.operationalStatus.code">
      <path value="Location.operationalStatus.code" />
      <min value="1" />
    </element>
    <element id="Location.operationalStatus.display">
      <path value="Location.operationalStatus.display" />
      <max value="0" />
    </element>
    <element id="Location.operationalStatus.userSelected">
      <path value="Location.operationalStatus.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.mode">
      <path value="Location.mode" />
      <min value="1" />
    </element>
    <element id="Location.type">
      <path value="Location.type" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="medico: the following combinations are valid:&#xD;&#xA;either: patientWard -or- nonPatientWard -or- outpatientFacility  -or- outpatientFacility AND emergerncyRoom" />
      <min value="1" />
    </element>
    <element id="Location.type:patientWard">
      <path value="Location.type" />
      <sliceName value="patientWard" />
      <definition value="HU=Hospital unit&#xD;&#xA;used in medico for a ward on which patients are laying" />
      <max value="1" />
    </element>
    <element id="Location.type:patientWard.id">
      <path value="Location.type.id" />
      <max value="0" />
    </element>
    <element id="Location.type:patientWard.coding">
      <path value="Location.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.type:patientWard.coding.id">
      <path value="Location.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.type:patientWard.coding.system">
      <path value="Location.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-RoleCode" />
    </element>
    <element id="Location.type:patientWard.coding.version">
      <path value="Location.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.type:patientWard.coding.code">
      <path value="Location.type.coding.code" />
      <min value="1" />
      <fixedCode value="HU" />
    </element>
    <element id="Location.type:patientWard.coding.display">
      <path value="Location.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.type:patientWard.coding.userSelected">
      <path value="Location.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.type:patientWard.text">
      <path value="Location.type.text" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard">
      <path value="Location.type" />
      <sliceName value="nonPatientWard" />
      <definition value="medico: defines a ward without permanently assigned beds" />
      <max value="1" />
    </element>
    <element id="Location.type:nonPatientWard.id">
      <path value="Location.type.id" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard.coding">
      <path value="Location.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.type:nonPatientWard.coding.id">
      <path value="Location.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard.coding.system">
      <path value="Location.type.coding.system" />
      <min value="1" />
      <fixedUri value="https://medico-emr.net/medico/cs/cs1" />
    </element>
    <element id="Location.type:nonPatientWard.coding.version">
      <path value="Location.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard.coding.code">
      <path value="Location.type.coding.code" />
      <min value="1" />
      <fixedCode value="NonPatWard" />
    </element>
    <element id="Location.type:nonPatientWard.coding.display">
      <path value="Location.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard.coding.userSelected">
      <path value="Location.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.type:nonPatientWard.text">
      <path value="Location.type.text" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility">
      <path value="Location.type" />
      <sliceName value="outpatientFacility" />
      <definition value="OF = outpatient facility" />
      <max value="1" />
    </element>
    <element id="Location.type:outpatientFacility.id">
      <path value="Location.type.id" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility.coding">
      <path value="Location.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.type:outpatientFacility.coding.id">
      <path value="Location.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility.coding.system">
      <path value="Location.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-RoleCode" />
    </element>
    <element id="Location.type:outpatientFacility.coding.version">
      <path value="Location.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility.coding.code">
      <path value="Location.type.coding.code" />
      <min value="1" />
      <fixedCode value="OF" />
    </element>
    <element id="Location.type:outpatientFacility.coding.display">
      <path value="Location.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility.coding.userSelected">
      <path value="Location.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.type:outpatientFacility.text">
      <path value="Location.type.text" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom">
      <path value="Location.type" />
      <sliceName value="emergencyRoom" />
      <definition value="ER = emergency room - at the same time is also an outpatient facility&#xD;&#xA;medico: an emergerncy room is always also an outpatientFacility - i.e. both codesystem concepts are applied together" />
      <max value="1" />
    </element>
    <element id="Location.type:emergencyRoom.id">
      <path value="Location.type.id" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom.coding">
      <path value="Location.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.type:emergencyRoom.coding.id">
      <path value="Location.type.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom.coding.system">
      <path value="Location.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/v3-RoleCode" />
    </element>
    <element id="Location.type:emergencyRoom.coding.version">
      <path value="Location.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom.coding.code">
      <path value="Location.type.coding.code" />
      <min value="1" />
      <fixedCode value="ER" />
    </element>
    <element id="Location.type:emergencyRoom.coding.display">
      <path value="Location.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom.coding.userSelected">
      <path value="Location.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.type:emergencyRoom.text">
      <path value="Location.type.text" />
      <max value="0" />
    </element>
    <element id="Location.physicalType">
      <path value="Location.physicalType" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Location.physicalType:ward">
      <path value="Location.physicalType" />
      <sliceName value="ward" />
      <definition value="Physical form of the location, e.g. building, room, vehicle, road.&#xD;&#xA;medico: the physical type is &quot;wa&quot; - i.e. ward - for both patient-Wards and non-patient wards" />
    </element>
    <element id="Location.physicalType:ward.id">
      <path value="Location.physicalType.id" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:ward.coding">
      <path value="Location.physicalType.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.physicalType:ward.coding.id">
      <path value="Location.physicalType.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:ward.coding.system">
      <path value="Location.physicalType.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/location-physical-type" />
    </element>
    <element id="Location.physicalType:ward.coding.version">
      <path value="Location.physicalType.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:ward.coding.code">
      <path value="Location.physicalType.coding.code" />
      <min value="1" />
      <fixedCode value="wa" />
    </element>
    <element id="Location.physicalType:ward.coding.display">
      <path value="Location.physicalType.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:ward.coding.userSelected">
      <path value="Location.physicalType.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:ward.text">
      <path value="Location.physicalType.text" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility">
      <path value="Location.physicalType" />
      <sliceName value="outpatientFacility" />
    </element>
    <element id="Location.physicalType:outpatientFacility.id">
      <path value="Location.physicalType.id" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding">
      <path value="Location.physicalType.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.id">
      <path value="Location.physicalType.coding.id" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.system">
      <path value="Location.physicalType.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/location-physical-type" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.version">
      <path value="Location.physicalType.coding.version" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.code">
      <path value="Location.physicalType.coding.code" />
      <min value="1" />
      <fixedCode value="area" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.display">
      <path value="Location.physicalType.coding.display" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility.coding.userSelected">
      <path value="Location.physicalType.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Location.physicalType:outpatientFacility.text">
      <path value="Location.physicalType.text" />
      <max value="0" />
    </element>
    <element id="Location.managingOrganization">
      <path value="Location.managingOrganization" />
      <max value="0" />
    </element>
    <element id="Location.partOf">
      <path value="Location.partOf" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>