<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="zd-patient" />
  <url value="http://zorgdomein.nl/fhir/StructureDefinition/zd-patient" />
  <name value="ZD Patient" />
  <status value="draft" />
  <date value="2017-03-01T12:00:00+01:00" />
  <publisher value="ZorgDomein" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="https://zorgdomein.nl" />
    </telecom>
    <telecom>
      <system value="email" />
      <value value="io@zorgdomein.nl" />
    </telecom>
  </contact>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <short value="Information about an individual receiving health care services" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.extension:pharmacy">
      <path value="Patient.extension" />
      <sliceName value="pharmacy" />
      <short value="Reference to patient's primary pharmacy" />
      <definition value="Reference to patient's primary pharmacy" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.nl/fhir/StructureDefinition/nl-core-preferred-pharmacy" />
      </type>
    </element>
    <element id="Patient.extension:pharmacy.valueReference:valueReference">
      <path value="Patient.extension.valueReference" />
      <sliceName value="valueReference" />
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.identifier:BSN">
      <path value="Patient.identifier" />
      <sliceName value="BSN" />
      <short value="BSN" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:BSN.use">
      <path value="Patient.identifier.use" />
      <min value="1" />
      <fixedCode value="official" />
    </element>
    <element id="Patient.identifier:BSN.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.nl/fhir/NamingSystem/bsn" />
    </element>
    <element id="Patient.identifier:BSN.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
      <example>
        <label value="General" />
        <valueString value="447363669" />
      </example>
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <alias value="Naamgegevens" />
      <type>
        <code value="HumanName" />
        <profile value="http://fhir.nl/fhir/StructureDefinition/nl-core-humanname" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="zib-patient" />
        <map value="NL-CM:0.1.6" />
      </mapping>
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.system">
      <path value="Patient.telecom.system" />
      <min value="1" />
    </element>
    <element id="Patient.telecom.value">
      <path value="Patient.telecom.value" />
      <min value="1" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <constraint>
        <key value="zd-date-1" />
        <severity value="error" />
        <human value="BirthDate must be at least today." />
        <expression value="($this as dateTime).toString().length() &gt;= 8" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <short value="Addresses for the individual" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.nl/fhir/StructureDefinition/nl-core-address" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address.extension:official">
      <path value="Patient.address.extension" />
      <sliceName value="official" />
    </element>
    <element id="Patient.address.extension:official.valueBoolean:valueBoolean">
      <path value="Patient.address.extension.valueBoolean" />
      <sliceName value="valueBoolean" />
    </element>
    <element id="Patient.address.line.extension:streetName">
      <path value="Patient.address.line.extension" />
      <sliceName value="streetName" />
    </element>
    <element id="Patient.address.line.extension:streetName.valueString:valueString">
      <path value="Patient.address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Patient.address.line.extension:houseNumber">
      <path value="Patient.address.line.extension" />
      <sliceName value="houseNumber" />
    </element>
    <element id="Patient.address.line.extension:houseNumber.valueString:valueString">
      <path value="Patient.address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Patient.address.line.extension:buildingNumberSuffix">
      <path value="Patient.address.line.extension" />
      <sliceName value="buildingNumberSuffix" />
    </element>
    <element id="Patient.address.line.extension:buildingNumberSuffix.valueString:valueString">
      <path value="Patient.address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Patient.address.line.extension:unitID">
      <path value="Patient.address.line.extension" />
      <sliceName value="unitID" />
    </element>
    <element id="Patient.address.line.extension:unitID.valueString:valueString">
      <path value="Patient.address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Patient.address.line.extension:additionalLocator">
      <path value="Patient.address.line.extension" />
      <sliceName value="additionalLocator" />
    </element>
    <element id="Patient.address.line.extension:additionalLocator.valueString:valueString">
      <path value="Patient.address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Patient.animal">
      <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name">
        <valueString value="Animal" />
      </extension>
      <path value="Patient.animal" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>