<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPatientCore" />
  <name value="RLPatientCore" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient.extension:cittadinanza">
      <path value="Patient.extension" />
      <sliceName value="cittadinanza" />
      <short value="Cittadinanza" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/patient-citizenship" />
      </type>
      <isModifier value="false" />
      <binding>
        <strength value="example" />
        <description value="ISTAT - Cittadinanza" />
        <valueSet value="http://hl7.it/fhir/lab-report/ValueSet/istat-cittadinanza" />
      </binding>
    </element>
    <element id="Patient.extension:titoloDiStudio">
      <path value="Patient.extension" />
      <sliceName value="titoloDiStudio" />
      <short value="Titolo di studio del paziente" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.it/fhir/StructureDefinition/patient-qualification-it" />
      </type>
      <isModifier value="false" />
      <binding>
        <strength value="example" />
        <description value="ISTAT - Titolo Studio" />
        <valueSet value="http://hl7.it/fhir/lab-report/ValueSet/istat-titoloStudio" />
      </binding>
    </element>
    <element id="Patient.extension:professione">
      <path value="Patient.extension" />
      <sliceName value="professione" />
      <short value="Professione esercitata dal paziente" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.it/fhir/StructureDefinition/patient-occupation-it" />
      </type>
      <binding>
        <strength value="example" />
        <description value="ISTAT - Professioni" />
        <valueSet value="http://hl7.it/fhir/lab-report/ValueSet/istat-professione" />
      </binding>
    </element>
    <element id="Patient.extension:luogoDiNascita">
      <path value="Patient.extension" />
      <sliceName value="luogoDiNascita" />
      <short value="Luogo di nascita del paziente" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/patient-birthPlace" />
      </type>
    </element>
    <element id="Patient.extension:ATSResidenza">
      <path value="Patient.extension" />
      <sliceName value="ATSResidenza" />
      <short value="ATS di Residenza del paziente" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPatientATSResidenza" />
      </type>
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <description value="slices" />
        <rules value="open" />
      </slicing>
      <short value="Identificativi del paziente" />
    </element>
    <element id="Patient.identifier:codiceFiscale">
      <path value="Patient.identifier" />
      <sliceName value="codiceFiscale" />
      <constraint>
        <key value="rl-pat-codiceFiscale" />
        <severity value="warning" />
        <human value="Il Codice Fiscale deve essere di 16 caratteri alfanumerici (3 per il cognome; 3 per il nome; 2 caratteri numerici per l'anno di nascita; 1 per il mese di nascita; 2 caratteri numerici per il giorno di nascita ed il sesso; 4 associati al Comune oppure allo Stato estero di nascita.1" />
        <expression value="matches('^[A-Za-z]{6}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{2}[A-Za-z]{1}[0-9LMNPQRSTUV]{3}[A-Za-z]{1}$')" />
      </constraint>
    </element>
    <element id="Patient.identifier:codiceFiscale.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="http://hl7.it/sid/codiceFiscale" />
    </element>
    <element id="Patient.identifier:codiceSTP">
      <path value="Patient.identifier" />
      <sliceName value="codiceSTP" />
      <short value="Codice STP" />
      <definition value="Codice Straniero Temporaneamente Presente" />
    </element>
    <element id="Patient.identifier:codiceSTP.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="http://terminology.hl7.it/ValueSet/uri-idStp" />
    </element>
    <element id="Patient.identifier:codiceSTP.value">
      <path value="Patient.identifier.value" />
      <binding>
        <strength value="required" />
        <valueSet value="http://terminology.hl7.it/ValueSet/uri-idStp" />
      </binding>
    </element>
    <element id="Patient.identifier:tesseraTEAM">
      <path value="Patient.identifier" />
      <sliceName value="tesseraTEAM" />
      <short value="Tessera TEAM" />
      <comment value="Tessera Europea Assicurazione Malattia" />
    </element>
    <element id="Patient.identifier:tesseraTEAM.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="https://fhir.siss.regione.lombardia.it/sid/tesseraTeam" />
    </element>
    <element id="Patient.identifier:codiceENI">
      <path value="Patient.identifier" />
      <sliceName value="codiceENI" />
      <short value="Codice ENI" />
      <definition value="Codice Europeo Non Iscritto" />
    </element>
    <element id="Patient.identifier:codiceENI.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="http://terminology.hl7.it/ValueSet/uri-idEni" />
    </element>
    <element id="Patient.identifier:anpr">
      <path value="Patient.identifier" />
      <sliceName value="anpr" />
      <short value="Identificativo ANPR" />
      <definition value="Identificativo Anagrafica Nazionale Popolazione Residente" />
    </element>
    <element id="Patient.identifier:anpr.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="http://hl7.it/sid/anpr" />
    </element>
    <element id="Patient.identifier:idRegionale">
      <path value="Patient.identifier" />
      <sliceName value="idRegionale" />
      <short value="Identificativo regionale" />
    </element>
    <element id="Patient.identifier:idRegionale.system">
      <path value="Patient.identifier.system" />
      <fixedUri value="http://terminology.hl7.it/ValueSet/uri-idRegionali" />
    </element>
    <element id="Patient.identifier:idRegionale.value">
      <path value="Patient.identifier.value" />
      <binding>
        <strength value="required" />
        <valueSet value="http://terminology.hl7.it/ValueSet/uri-idRegionali" />
      </binding>
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <short value="Cognome e nome del paziente" />
      <definition value="L'attributo deve essere utilizzato per indicare il nome e il cognome del paziente nella comunicazione delle etichette tramite dati strutturati." />
      <max value="1" />
      <constraint>
        <key value="rl-pat-name" />
        <severity value="warning" />
        <human value="Patient.name.given or Patient.name.family or both SHALL be present" />
        <expression value="given.exists() or family.exists()" />
      </constraint>
    </element>
    <element id="Patient.name.family">
      <path value="Patient.name.family" />
      <short value="Cognome del paziente" />
    </element>
    <element id="Patient.name.given">
      <path value="Patient.name.given" />
      <short value="Nome del paziente" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.telecom:telefono">
      <path value="Patient.telecom" />
      <sliceName value="telefono" />
    </element>
    <element id="Patient.telecom:telefono.system">
      <path value="Patient.telecom.system" />
      <fixedCode value="email" />
    </element>
    <element id="Patient.telecom:email">
      <path value="Patient.telecom" />
      <sliceName value="email" />
    </element>
    <element id="Patient.telecom:email.system">
      <path value="Patient.telecom.system" />
      <fixedCode value="phone" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <short value="Sesso del paziente" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Data di nascita" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <short value="Decesso del paziente" />
      <definition value="Indica se l'individuo è deceduto o meno" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="id" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Indirizzi del paziente" />
    </element>
    <element id="Patient.address:residenzaAnagraficaCittadino">
      <path value="Patient.address" />
      <sliceName value="residenzaAnagraficaCittadino" />
    </element>
    <element id="Patient.address:residenzaAnagraficaCittadino.use">
      <path value="Patient.address.use" />
      <fixedCode value="billing" />
    </element>
    <element id="Patient.address:domicilioCittadino">
      <path value="Patient.address" />
      <sliceName value="domicilioCittadino" />
    </element>
    <element id="Patient.address:domicilioCittadino.use">
      <path value="Patient.address.use" />
      <fixedCode value="home" />
    </element>
    <element id="Patient.address:locazioneTemporaneaCIttadino">
      <path value="Patient.address" />
      <sliceName value="locazioneTemporaneaCIttadino" />
    </element>
    <element id="Patient.address:locazioneTemporaneaCIttadino.use">
      <path value="Patient.address.use" />
      <fixedCode value="temp" />
    </element>
    <element id="Patient.maritalStatus">
      <path value="Patient.maritalStatus" />
      <short value="Stato civile del paziente" />
      <definition value="Indica lo stato civile del paziente" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://www.hl7.it/fhir/base/ValueSet-statoCivile.html" />
      </binding>
    </element>
    <element id="Patient.contact">
      <path value="Patient.contact" />
      <short value="Contatto del paziente" />
    </element>
    <element id="Patient.contact.relationship">
      <path value="Patient.contact.relationship" />
      <short value="Tipo di legame con il paziente" />
    </element>
    <element id="Patient.contact.name">
      <path value="Patient.contact.name" />
      <short value="Nome e cognome" />
      <definition value="Nome e cognome del contattto del paziente" />
    </element>
    <element id="Patient.contact.name.family">
      <path value="Patient.contact.name.family" />
      <fixedString value="Cognome" />
    </element>
    <element id="Patient.contact.name.given">
      <path value="Patient.contact.name.given" />
      <short value="Nome" />
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="reference" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="- PractitionerRole, se si vuole indicare sia il medico che la struttura a cui afferisce (ad es. MMG + ASST)&#xD;&#xA;- Practitioner, se si vuole indicare solo il medico &#xD;&#xA;- Organization, se si vuole indicare solo l'azienda (es. Casa di Riposo)" />
    </element>
    <element id="Patient.generalPractitioner:mmgPlgRole">
      <path value="Patient.generalPractitioner" />
      <sliceName value="mmgPlgRole" />
      <short value="Medico e azienda che si occupano della cura primaria del paziente" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPractitionerRoleCore" />
      </type>
    </element>
    <element id="Patient.generalPractitioner:mmgPls">
      <path value="Patient.generalPractitioner" />
      <sliceName value="mmgPls" />
      <short value="Medico che si occupa della cura primaria del paziente" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLPractitionerCore" />
      </type>
    </element>
    <element id="Patient.generalPractitioner:mmgPlsAzienda">
      <path value="Patient.generalPractitioner" />
      <sliceName value="mmgPlsAzienda" />
      <short value="Azienda che si occupa della cura primaria del paziente" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.siss.regione.lombardia.it/StructureDefinition/RLOrganizationCore" />
      </type>
    </element>
  </differential>
</StructureDefinition>