<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="hr-pacijent" />
  <url value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-pacijent" />
  <version value="1.0.0" />
  <name value="HRPatient" />
  <title value="Pacijent" />
  <status value="active" />
  <date value="2024-01-25T14:50:58+00:00" />
  <contact>
    <name value="Krešimir Kerš" />
    <telecom>
      <system value="email" />
      <value value="kresimir.kers@ericsson.com" />
    </telecom>
  </contact>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="HR" />
      <display value="Croatia" />
    </coding>
    <text value="Croatia" />
  </jurisdiction>
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="cda" />
    <uri value="http://hl7.org/v3/cda" />
    <name value="CDA (R2)" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="loinc" />
    <uri value="http://loinc.org" />
    <name value="LOINC code for the element" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://fhir.ehdsi.eu/core/StructureDefinition/patient-myhealtheu-core" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <constraint>
        <key value="BD1" />
        <severity value="error" />
        <human value="Datum rođenja mora biti između današnjeg datuma i istog tog datuma prije 120 godina." />
        <expression value="iif(Patient.birthDate.exists(), (Patient.birthDate &gt; today() - 120 years and Patient.birthDate &lt; today()),true)" />
      </constraint>
    </element>
    <element id="Patient.extension:sex-for-clinical-use">
      <path value="Patient.extension" />
      <sliceName value="sex-for-clinical-use" />
    </element>
    <element id="Patient.extension:sex-for-clinical-use.extension">
      <path value="Patient.extension.extension" />
      <min value="1" />
    </element>
    <element id="Patient.extension:gender-identity">
      <path value="Patient.extension" />
      <sliceName value="gender-identity" />
    </element>
    <element id="Patient.extension:gender-identity.extension">
      <path value="Patient.extension.extension" />
      <min value="1" />
    </element>
    <element id="Patient.extension:pronouns">
      <path value="Patient.extension" />
      <sliceName value="pronouns" />
    </element>
    <element id="Patient.extension:pronouns.extension">
      <path value="Patient.extension.extension" />
      <min value="1" />
    </element>
    <element id="Patient.extension:zadnji_kontakt_pacijenta">
      <path value="Patient.extension" />
      <sliceName value="zadnji_kontakt_pacijenta" />
      <short value="Vrijeme zadnjeg kontakta pacijenta sa zdravstvenim sustavom" />
      <definition value="Izračunava se na osnovu podataka u Elektroničkom Zdravstvenom Zapisu pacijenta o posjetama liječniku primarne zdravstvene zaštite (LOM, pedijatar, ginekolog, ..), podatcima preuzetim lijekovima" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.cezih.hr/specifikacije/StructureDefinition/hr-patient-last-contact" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Patient.identifier:MBO">
      <path value="Patient.identifier" />
      <sliceName value="MBO" />
      <short value="MBO pacijenta" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:MBO.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/MBO" />
    </element>
    <element id="Patient.identifier:MBO.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
      <constraint>
        <key value="MBO" />
        <severity value="error" />
        <human value="MBO mora sadržavati točno 9 znamenki." />
        <expression value="value.matches('^[0-9]{9,9}$')" />
      </constraint>
    </element>
    <element id="Patient.identifier:EuropskaKartica">
      <path value="Patient.identifier" />
      <sliceName value="EuropskaKartica" />
      <short value="Broj europske kartice pacijenta" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:EuropskaKartica.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/europska-kartica" />
    </element>
    <element id="Patient.identifier:EuropskaKartica.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:Putovnica">
      <path value="Patient.identifier" />
      <sliceName value="Putovnica" />
      <short value="Broj putovnice pacijenta" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Putovnica.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/putovnica" />
    </element>
    <element id="Patient.identifier:Putovnica.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:JedinstveniIdentifikatorPacijenta">
      <path value="Patient.identifier" />
      <sliceName value="JedinstveniIdentifikatorPacijenta" />
      <short value="Jedinstveni identifikator pacijenta" />
      <definition value="Jedinstveni identifikator u obliku UUID-a koji se dodjeljuje od strane CEZIH-a pri registraciji pacijenta u FHIR server." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:JedinstveniIdentifikatorPacijenta.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/jedinstveni-identifikator-pacijenta" />
    </element>
    <element id="Patient.identifier:JedinstveniIdentifikatorPacijenta.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:OIB">
      <path value="Patient.identifier" />
      <sliceName value="OIB" />
      <short value="OIB pacijenta" />
      <max value="1" />
    </element>
    <element id="Patient.identifier:OIB.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/OIB" />
    </element>
    <element id="Patient.identifier:OIB.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.identifier:bolesnickiList">
      <path value="Patient.identifier" />
      <sliceName value="bolesnickiList" />
      <short value="Broj bolesničkog lista" />
      <definition value="Osiguranici drugih država temelju bolesničkog lista mogu koristiti zdravstvenu zaštitu izravno u zdravstvenim ustanovama i kod liječnika koji s HZZO-om imaju sklopljen ugovor o pružanju zdravstvene zaštite." />
      <max value="1" />
    </element>
    <element id="Patient.identifier:bolesnickiList.system">
      <path value="Patient.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.cezih.hr/specifikacije/identifikatori/bolesnicki-list" />
    </element>
    <element id="Patient.identifier:bolesnickiList.value">
      <path value="Patient.identifier.value" />
      <min value="1" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <short value="Ime i prezime pacijenta" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <short value="Spol pacijenta" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Datum rođenja pacijenta" />
      <constraint>
        <key value="Datum" />
        <severity value="error" />
        <human value="Datum mora biti formata YYYY-MM-DD" />
        <expression value="value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])))$')" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>