<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="vitalink-patient" />
  <url value="https://wwww.vitalink.be/fhir/StructureDefinition/vitalink-patient" />
  <version value="0.1.0-test" />
  <name value="VitalinkPatient" />
  <title value="VitalinkPatient" />
  <status value="active" />
  <description value="Vitalink profile for a patient. Initially based on the functional description of the NIHDI." />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="https://www.ehealth.fgov.be/standards/fhir/StructureDefinition/be-patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <min value="1" />
    </element>
    <element id="Patient.extension:metahub">
      <path value="Patient.extension" />
      <sliceName value="metahub" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://wwww.vitalink.be/fhir/StructureDefinition/vitalink-patient-metahub" />
      </type>
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:SSIN">
      <path value="Patient.identifier" />
      <sliceName value="SSIN" />
      <min value="1" />
      <max value="1" />
      <constraint>
        <key value="vitalink-ssin" />
        <severity value="error" />
        <human value="The SSIN identiifier has to be structured as the Belgian format for the national register number" />
        <expression value="(value.length() = 11) and (value.substring(2,4).matches('((01|03|05|07|08|10|12)([012][0-9]|3[01]))|((04|06|09|11)([012][0-9]|3[0]))|((02)([01][0-9]|2[0-8]))')) and ( (97 - value.substring(0,9).toInteger() mod 97 = value.substring(9,2).toInteger()) or (97 - ('2'+value.substring(0,9)).toInteger() mod 97 = value.substring(9,2).toInteger()) )" />
        <source value="https://wwww.vitalink.be/fhir/StructureDefinition/vitalink-patient" />
      </constraint>
    </element>
    <element id="Patient.identifier:SSIN.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>