<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!-- versione 4.0 -->

  <xs:element name="specificheNetlink">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="datiAmministrativiLiberi"/>
        <!-- xs:element ref="datiAmministrativiProtetti"/ -->
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="datiAmministrativiLiberi">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="PDC">
          <xs:sequence>
            <xs:element  ref="HPC" minOccurs="0"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="HPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TABB_fileHPC"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TABB_fileHPC">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T65_cardHolderRelatedData"/>
        <xs:element ref="T66_cardRelatedData"/>
        <xs:element ref="T67_ruoloApplicativo" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T65_cardHolderRelatedData">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T5B_surnameAtBirth"/>
        <xs:element ref="T5F20_cardHolderName"/>
        <xs:element ref="T5F2C_nationality"/>
        <xs:element ref="T5F2B_dateOfBirth"/>
        <xs:element ref="T5F30_serviceCode"/>
        <xs:element ref="T42_issuerAuthority"/>
        <xs:element ref="T6553_discretionaryData" minOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T5B_surnameAtBirth" type="cognome"/>

  <xs:element name="T5F20_cardHolderName" type="nomeCardHolder"/>

  <xs:element name="T5F2C_nationality" type="xs:integer"/>
  <xs:element name="T5F2B_dateOfBirth" type="data"/>

  <xs:element name="T5F30_serviceCode" type="CodFiscale"/>

<!--   <xs:pattern value="[0]{2}[0-9]{5}"/> -->
  <xs:element name="T42_issuerAuthority" >
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:pattern value="[0-9]{5}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="T6553_discretionaryData" type="xs:string"/>
  <xs:element name="T66_cardRelatedData">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T59_cardExpirationDate"/>
        <xs:element ref="T5F26_cardEffectiveDate"/>
        <xs:element ref="T53_discretionaryData"/>
        <xs:element  ref="T5F21_track1" minOccurs="0"/>
        <xs:element ref="T5F22_track2" minOccurs="0" />
        <xs:element  ref="T5F23_track3" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T67_ruoloApplicativo" type="xs:string"/>
  <xs:element name="T59_cardExpirationDate" type="data"/>

  <xs:element name="T5F26_cardEffectiveDate" type="data"/>

  <xs:element name="T5F21_track1" type="xs:string"/>
  <xs:element name="T5F22_track2" type="xs:string"/>
  <xs:element name="T5F23_track3" type="xs:string"/>
  <xs:element name="datiAmministrativiProtetti" type="PDC"/>
  <xs:complexType name="PDC">
    <xs:sequence>
      <xs:element  ref="PDC" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PDC">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="TAB3_datiAmministrativi"/>
        <xs:sequence>
          <xs:element ref="TAB1_datiCarta"/>
          <xs:element ref="TAB2_datiAmministrativi"/>
        </xs:sequence>
      </xs:choice>
    </xs:complexType>
  </xs:element>
  <xs:element name="TAB3_datiAmministrativi">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="TB2_esenzioneTicket"/>
        <xs:element minOccurs="0" ref="TB4_altreInformazioniAP"/>
        <xs:element minOccurs="0" ref="TB5_registroASL"/>
        <xs:element minOccurs="1" ref="TB3_responsabileUltimoAggiornamento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TB2_esenzioneTicket">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T80_esenzioneTicket"/>
        <xs:element minOccurs="0" ref="TA1_esenzionePerPatologie"/>
        <xs:element minOccurs="0" ref="TA2_esenzionePerReddito"/>
        <xs:element minOccurs="0" ref="TA3_esenzioniPerInvalidita"/>
        <xs:element minOccurs="0" ref="TA4_dirittoProtesiPresidi"/>
        <xs:element minOccurs="0" ref="TA5_dirittoDietetici"/>
        <xs:element minOccurs="0" ref="TA6_esenzioniMalattieRare"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_esenzioneTicket" type="esenzione"/>

  <xs:element name="TA1_esenzionePerPatologie">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="15" ref="T31_esenzionePerPatologia"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_esenzionePerPatologia">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codPatologia"/>
        <xs:element minOccurs="0" ref="T81_dataScadenza"/>
        <xs:element minOccurs="0" ref="T82_numEsenzioneTicket"/>
        <xs:element minOccurs="0" ref="T83_codiceICD9CM"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codPatologia" type="xs:string"/>

  <xs:element name="T82_numEsenzioneTicket"  type="esenzione"/>

  <xs:element name="T83_codiceICD9CM" type="xs:string"/>
  <xs:element name="TA2_esenzionePerReddito">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80R_catEsenzione"/>
        <xs:element minOccurs="0" ref="T81_numEsenzioneTicket"/>
        <xs:element minOccurs="0" ref="T82_dataScadenza"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80R_catEsenzione">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:pattern value="[1-2]{1}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="TA3_esenzioniPerInvalidita">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="9" ref="T31_esenzionePerInvalidita"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_esenzionePerInvalidita">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_catEsenzione"/>
        <xs:element minOccurs="0" ref="T81_numEsenzioneTicket"/>
        <xs:element minOccurs="0" ref="T82_prefRegionale"/>
        <xs:element minOccurs="0" ref="T83_suffRegionale"/>
        <xs:element minOccurs="0" ref="T84_dataScadenza"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T82_prefRegionale" type="xs:string"/>
  <xs:element name="T83_suffRegionale" type="xs:string"/>

  <xs:element name="T84_dataScadenza" type="data"/>

  <xs:element name="TA4_dirittoProtesiPresidi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="9" ref="T31_dirittoProtesiPresidio"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dirittoProtesiPresidio">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codProtesiPresidio"/>
        <xs:element minOccurs="0" ref="T81_dataScadenza"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codProtesiPresidio" type="xs:string"/>
  <xs:element name="TA5_dirittoDietetici">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataScadenza"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_dataScadenza" type="data"/>

  <xs:element name="TA6_esenzioniMalattieRare">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="6" ref="T31_esenzioneMalattiaRara"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_esenzioneMalattiaRara">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codMalattia"/>
        <xs:element minOccurs="0" ref="T81_numEsenzioneTicket"/>
        <xs:element minOccurs="0" ref="T82_dataScadenza"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codMalattia" type="xs:string"/>
  <xs:element name="TB4_altreInformazioniAP">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T80_AP1"/>
        <xs:element minOccurs="0" ref="T81_cremazione"/>
        <xs:element minOccurs="0" ref="T82_AP3"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_AP1" type="xs:string"/>
  <xs:element name="T81_cremazione" type="xs:string"/>
  <xs:element name="T82_AP3" type="xs:string"/>
  <xs:element name="TB5_registroASL">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T80_codice"/>
        <xs:element minOccurs="0" ref="T81_dataScadenza"/>
        <xs:element minOccurs="0" ref="T82_farmacoPosologia"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codice" type="xs:string"/>
  <xs:element name="T82_farmacoPosologia" type="xs:string"/>
  <xs:element name="TB3_responsabileUltimoAggiornamento">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" ref="T80_dataUltimoAggiornamento"/>
        <xs:element minOccurs="1" ref="TA1_reponsabileAggiornamento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TAB1_datiCarta">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_identificativo"/>
        <xs:element ref="T82_idCarta"/>
        <xs:element ref="T83_statoCarta"/>
        <xs:element ref="T61_idApplicazioni"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA0_identificativo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_idGenerale"/>
        <xs:element ref="T81_nazione"/>
        <xs:element ref="T82_idEnteEmissione"/>
        <xs:element ref="T83_checkDigit"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_idGenerale" type="sanita"/>

  <xs:element name="T81_nazione"  type="italia"/>

  <xs:element name="T82_idEnteEmissione" type="idEnteEmissione"/>
  <xs:simpleType name="idEnteEmissione">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9]{5}"/>
    </xs:restriction>
  </xs:simpleType>


  <xs:element name="T82_idCarta" type="xs:string"/>

  <xs:element name="T83_statoCarta" >
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:pattern value="[2]{1}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="T61_idApplicazioni">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T31_idApplicazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_idApplicazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T4F_Applicazione"/>
        <xs:element ref="T73_datiDiscrezionali"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T4F_Applicazione" type="esadecimale"/>
  <xs:element name="T73_datiDiscrezionali">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_tipoApplicazione"/>
        <xs:element ref="T81_versioneApplicazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_tipoApplicazione" type="tipoAppl"/>
  <xs:element name="T81_versioneApplicazione">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:pattern value="[0-9]{2}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="TAB2_datiAmministrativi">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_idPaziente"/>
        <xs:element ref="TA1_dettagliNome"/>
        <xs:element minOccurs="0" ref="TA2_dettagliLinguaggi"/>
        <xs:element ref="TA3_dettagliNascita"/>
        <xs:element minOccurs="0" ref="TA4_dettagliIndirizzi"/>
        <xs:element minOccurs="0" ref="TA5_dettagliContatti"/>
        <xs:element ref="TA6_dettagliAmministrativiSSN"/>
        <xs:element ref="TA7_dettagliMedicoFiducia"/>
        <xs:element minOccurs="0" ref="TA8_donatoreOrganiTessuti"/>
        <xs:element ref="TA9_responsabileUltimoAggiornamento"/>
        <xs:element minOccurs="0" ref="TB1_responsabilePrimaPersonalizzazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA0_idPaziente">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T31_idPaziente"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_idPaziente">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_enteEmissione"/>
        <xs:element ref="T81_idPaziente"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA0_enteEmissione">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codiceSettore"/>
        <xs:element ref="T81_codiceNazione"/>
        <xs:element ref="T82_codiceEnte"/>
        <xs:element ref="T83_checkDigit"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codiceSettore" type="sanita"/>
  <xs:element name="T81_codiceNazione" type="italia"/>

  <xs:element name="T82_codiceEnte" type="idEnteEmissione"/>

  <xs:element name="T81_idPaziente" type="CodFiscale"/>

  <xs:element name="TA1_dettagliNome">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T82_cognome"/>
        <xs:element minOccurs="0" ref="TA3_cognomiAlternativi"/>
        <xs:element ref="TA5_nomi"/>
        <xs:element ref="T86_nomePreferito" minOccurs="0"/>
        <xs:element ref="T87_cognomeNascita"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T82_cognome" type="cognome"/>
  <xs:element name="TA5_nomi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="3" ref="T04_nome"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA3_cognomiAlternativi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="3" ref="T04_cognomeAlternativo"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T04_nome" type="nome"/>
  <xs:element name="T04_cognomeAlternativo" type="cognome"/>
  <xs:element name="T86_nomePreferito" type="nome"/>
  <xs:element name="T87_cognomeNascita" type="cognome"/>
  <xs:element name="TA2_dettagliLinguaggi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="4" ref="T31_dettaglioLinguaggio"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dettaglioLinguaggio">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_linguaggio"/>
        <xs:element minOccurs="0" ref="T81_abilitaLinguaggio"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_linguaggio" type="xs:string"/>
  <xs:element name="T81_abilitaLinguaggio" type="abilitaLing"/>
  <xs:element name="TA3_dettagliNascita">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataNascita"/>
        <xs:element ref="T81_sesso"/>
        <xs:element minOccurs="0" ref="T82_nazioneNascita"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_dataNascita" type="data"/>
  <xs:element name="T81_sesso" type="sesso"/>
  <xs:element name="T82_nazioneNascita" type="nazione"/>
  <xs:element name="TA4_dettagliIndirizzi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="2" ref="T31_dettaglioIndirizzo"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dettaglioIndirizzo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_tipoIndirizzo"/>
        <xs:element minOccurs="0" ref="TA1_strutturaIndirizzo"/>
        <xs:element minOccurs="0" ref="TA2_strutturaComunicazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_tipoIndirizzo" type="tipoIndirizzo"/>
  <xs:element name="TA1_strutturaIndirizzo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_Indirizzi"/>
        <xs:element ref="T81_codicePostale"/>
        <xs:element minOccurs="0" ref="T82_nazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA2_strutturaComunicazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="TA0_numeriTelefono"/>
        <xs:element minOccurs="0" ref="T81_numeroFax"/>
        <xs:element minOccurs="0" ref="T82_IndirizzoInternet"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA5_dettagliContatti">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="3" ref="T31_dettaglioContatto"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dettaglioContatto">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_nomeContatto"/>
        <xs:element minOccurs="0" ref="T81_relazioneContatto"/>
        <xs:element minOccurs="0" ref="TA2_strutturaIndirizzo"/>
        <xs:element minOccurs="0" ref="TA3_strutturaComunicazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_nomeContatto" type="xs:string"/>

  <xs:element name="T81_relazioneContatto" type="contatto"/>

  <xs:element name="TA2_strutturaIndirizzo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_Indirizzi"/>
        <xs:element ref="T81_codicePostale"/>
        <xs:element ref="T82_nazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA6_dettagliAmministrativiSSN">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T31_dettaglioAmministrativo"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dettaglioAmministrativo">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T80_nazione"/>
        <xs:element ref="T81_codiceEnteCompetente"/>
        <xs:element ref="T82_nomeEnteCompetente"/>
        <xs:element minOccurs="0" ref="TA3_strutturaIndirizzo"/>
        <xs:element minOccurs="0" ref="TA4_strutturaComunicazione"/>
        <xs:element minOccurs="0" ref="TA5_dirittoAssistenzaEstero"/>
        <xs:element ref="TA6_codiciAssicurativi"/>
        <xs:element minOccurs="0" ref="TA7_personaAssicurataRiferimento"/>
        <xs:element minOccurs="0" ref="TA8_validitaCartaSanitaria"/>
        <xs:element minOccurs="0" ref="TB8_validitaInizialeCartaSanitaria"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T81_codiceEnteCompetente" type="xs:string"/>
  <xs:element name="T82_nomeEnteCompetente" type="xs:string"/>
  <xs:element name="TA3_strutturaIndirizzo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_Indirizzi"/>
        <xs:element ref="T81_codicePostale"/>
        <xs:element ref="T82_nazione" minOccurs="0"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA4_strutturaComunicazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="TA0_numeriTelefono"/>
        <xs:element minOccurs="0" ref="T81_numeroFax"/>
        <xs:element minOccurs="0" ref="T82_IndirizzoInternet"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA5_dirittoAssistenzaEstero">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataInizio"/>
        <xs:element minOccurs="0" ref="T81_dataFine"/>
        <xs:element ref="T82_categoriaProfessionale"/>
        <xs:element ref="T83_schema"/>
        <xs:element ref="TA4_autoreRegistrazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T82_categoriaProfessionale" type="categoriaProf"/>
  <xs:element name="T83_schema" type="schema"/>
  <xs:element name="TA4_autoreRegistrazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="T80_nazioneAutore"/>
        <xs:element ref="T81_idAutore"/>
        <xs:element ref="T82_nomeAutore"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_nazioneAutore" type="nazione"/>
  <xs:element name="T81_idAutore" type="xs:string"/>
  <xs:element name="T82_nomeAutore" type="xs:string"/>
  <xs:element name="TA6_codiciAssicurativi">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codiceSanitarioRegionale"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codiceSanitarioRegionale" type="xs:string"/>
  <xs:element name="TA7_personaAssicurataRiferimento">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_relazionePossessoreCarta"/>
        <xs:element ref="T81_cognomePersonaRiferimento"/>
        <xs:element ref="TA3_nomiPersonaRiferimento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_relazionePossessoreCarta" type="contatto"/>
  <xs:element name="T81_cognomePersonaRiferimento" type="cognome"/>
  <xs:element name="TA3_nomiPersonaRiferimento">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T04_nomePersonaRiferimento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T04_nomePersonaRiferimento" type="nome"/>
  <xs:element name="TA8_validitaCartaSanitaria">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataInizioValidita"/>
        <xs:element ref="T81_dataFineValidita"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_dataInizioValidita" type="data"/>
  <xs:element name="T81_dataFineValidita" type="data"/>
  <xs:element name="TB8_validitaInizialeCartaSanitaria">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataInizio"/>
        <xs:element ref="T81_dataFine"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA7_dettagliMedicoFiducia">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T31_dettaglioMedicoFiducia"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T31_dettaglioMedicoFiducia">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_nomeMedico"/>
        <xs:element ref="T81_qualificaMedico"/>
        <xs:element minOccurs="0" ref="TA2_indirizzoMedicoFiducia"/>
        <xs:element ref="TA3_strutturaComunicazione" minOccurs="0"/>
        <xs:element ref="T84_codRegionaleMedicoFiducia"/>
        <xs:element minOccurs="0" ref="TA5_autoritaCertificazioneMedico"/>
        <xs:element minOccurs="0" ref="TB5_altreInformazioni"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_nomeMedico" type="nomecognome"/>
  <xs:element name="T81_qualificaMedico" type="qualificaMedico"/>
  <xs:element name="TA2_indirizzoMedicoFiducia">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA0_Indirizzi"/>
        <xs:element minOccurs="0" ref="T81_codicePostale"/>
        <xs:element minOccurs="0" ref="T82_nazione"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T84_codRegionaleMedicoFiducia" type="xs:string"/>
  <xs:element name="TA5_autoritaCertificazioneMedico">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TA80_caX500DirectoryAddress"/>
        <xs:element ref="TA81_physicianDistinguishName"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TA80_caX500DirectoryAddress" type="xs:string"/>
  <xs:element name="TA81_physicianDistinguishName" type="xs:string"/>
  <xs:element name="TB5_altreInformazioni">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_codEnteMedicoFiducia"/>
        <xs:element minOccurs="0" ref="T81_sostitutoMedicoFiducia"/>
        <xs:element minOccurs="0" ref="T82_dataDecorrenzaAssegnazione"/>
        <xs:element minOccurs="0" ref="T83_dataFineValiditaAssistenza"/>
        <xs:element minOccurs="0" ref="T84_versioneDati"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_codEnteMedicoFiducia" type="xs:string"/>
  <xs:element name="T81_sostitutoMedicoFiducia" type="xs:string"/>

  <xs:element name="T82_dataDecorrenzaAssegnazione" type="data"/>

  <xs:element name="T83_dataFineValiditaAssistenza" type="data"/>

  <xs:element name="T84_versioneDati" type="xs:string"/>
  <xs:element name="TA8_donatoreOrganiTessuti">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_categoriaOrgano"/>
        <xs:element ref="T81_donatore"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_categoriaOrgano" type="xs:string"/>
  <xs:element name="T81_donatore" type="donatore"/>
  <xs:element name="TA9_responsabileUltimoAggiornamento">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataUltimoAggiornamento"/>
        <xs:element ref="TA1_reponsabileAggiornamento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TB1_responsabilePrimaPersonalizzazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_dataUltimoAggiornamento"/>
        <xs:element ref="TA1_reponsabileAggiornamento"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T53_discretionaryData" >
    <xs:simpleType>
      <xs:restriction base="xs:string">
        <xs:enumeration value="mb"/>
        <xs:enumeration value="me"/>
        <xs:enumeration value="am"/>
        <xs:enumeration value="al"/>
        <xs:enumeration value="er"/>
        <xs:enumeration value="MB"/>
        <xs:enumeration value="ME"/>
        <xs:enumeration value="AM"/>
        <xs:enumeration value="AL"/>
        <xs:enumeration value="ER"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="T81_dataScadenza" type="data"/>

  <xs:element name="T80_catEsenzione" >
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:pattern value="[0-9]{1,2}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="T81_numEsenzioneTicket" type="esenzione"/>

  <xs:element name="T82_dataScadenza" type="data"/>

  <xs:element name="T80_dataUltimoAggiornamento" type="data"/>

  <xs:element name="TA1_reponsabileAggiornamento">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="T80_nazione"/>
        <xs:element ref="T81_idHPC"/>
        <xs:element ref="T82_nomeHP"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T81_idHPCOLD" type="xs:string"/>
  <xs:element name="T82_nomeHPOLD" type="xs:string"/>
  <xs:element name="T81_idHPC" fixed="PROGETTO CNS MIT CNIPA" type="xs:string"/>
  <xs:element name="T82_nomeHP" fixed="CS Oberthur"  type="xs:string"/>
  <xs:element name="T83_checkDigit">
    <xs:simpleType>
      <xs:restriction base="xs:integer">
        <xs:pattern value="[0-9]{1}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="TA0_Indirizzi">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="5" ref="T04_indirizzo"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="T04_indirizzo" >
    <xs:simpleType >
      <xs:restriction base="xs:string">
        <xs:pattern value="[A-Za-z]{1}[ A-Za-z0-9,'\-)(./]{1,35}"/>
      </xs:restriction>
    </xs:simpleType>
  </xs:element>

  <xs:element name="T81_codicePostale" type="xs:integer"/>
  <xs:element name="T82_nazione" type="nazione"/>
  <xs:element name="TA0_numeriTelefono">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="2" ref="T12_numeroTelefono"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="exT12_numeroTelefono" type="xs:integer"/>
  <xs:element name="T12_numeroTelefono" type="tyT12_numeroTelefono"/>
  <xs:simpleType name= "tyT12_numeroTelefono">
    <xs:restriction base = "xs:integer">
      <xs:pattern value='[0-9]{1,16}'/>
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="T81_numeroFax" type="xs:integer"/>
  <xs:element name="T82_IndirizzoInternet" type="email"/>
  <xs:element name="TA3_strutturaComunicazione">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="TA0_numeriTelefono"/>
        <xs:element minOccurs="0" ref="T81_numeroFax"/>
        <xs:element minOccurs="0" ref="T82_IndirizzoInternet"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="T80_nazione" type="nazione"/>
  <xs:element name="T80_dataInizio" type="data"/>
  <xs:element name="T81_dataFine" type="data"/>

  <xs:simpleType name="nazione">
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9]{3}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="esenzione">
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-9]{1,13}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="sanita">
    <xs:restriction base="xs:integer">
      <xs:enumeration value="80"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="italia">
    <xs:restriction base="xs:integer">
      <xs:enumeration value="380"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="nomeCardHolder">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z]{1}[ A-Za-z']{1,25}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="nome">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z]{1}[ A-Za-z']{1,15}"/>
    </xs:restriction>
  </xs:simpleType>


  <xs:simpleType name="cognome">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z]{1}[ A-Za-z']{1,34}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="nomecognome">
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Za-z]{1}[ A-Za-z']{1,50}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="contatto">
    <xs:restriction base="xs:string">
      <xs:enumeration value="marito"/>
      <xs:enumeration value="moglie"/>
      <xs:enumeration value="genitore"/>
      <xs:enumeration value="figlio"/>
      <xs:enumeration value="parente"/>
      <xs:enumeration value="amico"/>
      <xs:enumeration value="altro"/>
      <xs:enumeration value="Marito"/>
      <xs:enumeration value="Moglie"/>
      <xs:enumeration value="Genitore"/>
      <xs:enumeration value="Figlio"/>
      <xs:enumeration value="Parente"/>
      <xs:enumeration value="Amico"/>
      <xs:enumeration value="Altro"/>
      <xs:enumeration value="MARITO"/>
      <xs:enumeration value="MOGLIE"/>
      <xs:enumeration value="GENITORE"/>
      <xs:enumeration value="FIGLIO"/>
      <xs:enumeration value="PARENTE"/>
      <xs:enumeration value="AMICO"/>
      <xs:enumeration value="ALTRO"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="esadecimale">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9A-Fa-f]+"/>
      <xs:length value="10"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="tipoAppl">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="abilitaLing">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-3]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="sesso">
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-2]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="tipoIndirizzo">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-1]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="categoriaProf">
    <xs:restriction base="xs:string">
      <xs:pattern value="[1-6]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="schema">
    <xs:restriction base="xs:string">
      <xs:pattern value="[1-2]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="qualificaMedico">
    <xs:restriction base="xs:integer">
      <xs:pattern value="[0-2]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="donatore">
    <xs:restriction base="xs:string">
      <xs:pattern value="[1-3]{1}"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Codici Belfiore -->
  <xs:simpleType name= "CodBelfiore">
    <xs:restriction base = "xs:string">
      <xs:pattern value='[A-Za-z]{1}\d{3}$'/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Codice fiscale -->
  <xs:simpleType name= "CodFiscale">
    <xs:restriction base = "xs:string">
      <xs:pattern value='[A-Za-z0-9]{16}$'/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Indirizzo email -->
  <xs:simpleType name= "email">
    <xs:restriction base = "xs:string">
      <xs:minLength value="5" />
      <xs:maxLength value="64" />
      <!-- necessario adeguamento tabella CarteRichieste -->
      <xs:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/>
    </xs:restriction>
  </xs:simpleType>

  <!-- Controllo data -->
  <xs:simpleType name= "data">
    <xs:restriction base = "xs:string">
      <xs:pattern value='[1-2][0-9][0-9][0-9](([0][1|3|5|7|8])([0][1-9]|[1-2][0-9]|[3][0-1])|([0][4|6|9])([0][1-9]|[1-2][0-9]|[3][0])|([0][2])([0][1-9]|[1-2][0-9])|([1][0|2])([0][1-9]|[1-2][0-9]|[3][0-1])|([1][1])([0][1-9]|[1-2][0-9]|[3][0]))'/>
    </xs:restriction>
  </xs:simpleType>


</xs:schema>

