PROGETTO TESSERA SANITARIA WEB SERVICES PER LA TRASMISSIONE DEI CERTIFICATI DI
MALATTIA ALL’INPS
VER 1.1
INDICE
1. REVISIONI DEL DOCUMENTO 4
2. INTRODUZIONE 5
3. GENERALITA’ 6
3.1 STANDARD TECNICI 6
3.1 LINGUAGGIO COMUNE 6
3.2 WEB SERVICES 7
3.3 WSDL (WEB SERVICE DESCRIPTION LANGUAGE) 7
3.4 SCHEMI XSD 8
3.5 CERTIFICATI DI PROTEZIONE 8
3.6 ACCESSO AI SERVIZI 9
3.7 CANALI DI COMUNICAZIONE 9
3.8 SPECIFICHE TECNICHE 9
4. SERVIZI DISPONIBILI 11
4.1 INVIO DEL CERTIFICATO DI MALATTIA ALL’INPS 11 4.2 RETTIFICA DEL CERTIFICATO DI MALATTIA 13 4.3 ANNULLAMENTO DEL CERTIFICATO DI MALATTIA 15
4.4 INTERROGAZIONE LAVORATORE 16
4.6 ALLEGATI 18
4.6.1 SERVIZIO DI INVIO CERTIFICATO 18
4.6.1.1 Invio certificato - WSDL 18
4.6.1.2 Invio certificato request - XSD 21
4.6.1.3 Invio certificato response - XSD 24
4.6.2 SERVIZIO DI RETTIFICA CERTIFICATO 25
4.6.2.1 Rettifica certificato - WSDL 25
4.6.2.2 Rettifica certificato request – XSD 29 4.6.2.3 Rettifica certificato response - XSD 32 4.6.3 SERVIZIO DI ANNULLAMENTO 33
4.6.3.1 Annullamento certificato - WSDL 33
4.6.3.2 Annullamento certificato request - XSD 37 4.6.3.3 Annullamento certificato response - XSD 39 4.6.4 SERVIZIO DI INTERROGAZIONE LAVORATORE 41
4.6.4.1 Interrogazione lavoratore - WSDL 41
4.6.4.2 Interrogazione lavoratore request - XSD 44 4.6.4.3 Interrogazione lavoratore response - XSD 46
4.6.5 TIPI CERTIFICATO -XSD 51
1. REVISIONI DEL DOCUMENTO
VERSIONE PARAGRAFO DATA MODIFICA
DESCRIZIONE
1.1 25/03/2010 Versione iniziale
2. INTRODUZIONE
Il presente documento espone le regole tecniche a cui gli sviluppatori di software devono attenersi per utilizzare i servizi web messi loro a disposizione per la
“Trasmissione certificati di malattia”, nell’ambito del progetto “Tessera Sanitari”
Detti servizi sono stati realizzati in seguito alla pubblicazione sulla gazzetta ufficiale n. 65 del 19 marzo 2010 del decreto 26 febbraio 2010 “Definizione delle modalità tecniche per la predisposizione e l'invio telematico dei dati delle certificazioni di malattia al SAC” e della circolare esplicativa predisposta in data 19 marzo 2010 dal Dipartimento per l’Innovazione e le Tecnologie.
I servizi utilizzano l’infrastruttura SAC definita dal DPCM del 26 marzo 2008 e il disciplinare tecnico allegato ne costituisce parte integrante
Tutto il materiale a cui si fa riferimento nel documento è a disposizione degli utenti nel sito www.sistemats.it nell’area “Sistema TS informa” > “Certificati di malattia”.
3. GENERALITA’
3.1 STANDARDTECNICI
Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali organismi internazionali quali il World Wide Web Consortium (W3C) per la famiglia di protocolli XML, per SOAP, per WSDL, per le architetture Web, e per le architetture e le tecnologie Web Services, OASIS per il protocollo ebXML, le specifiche UDDI, e l’architettura Web Services.
Il web service esposto è stato realizzato seguendo le specifiche Basic Profile 1.0 dettate dall’organizzazione mondiale WS-I (Web Service Interoperability Organization) al fine di aumentare il grado di interoperabilità tra servizi Web. Ciò garantisce il corretto funzionamento tra le diverse implementazioni su differenti piattaforme. A tal fine, i servizi web sono stati validati rispetto alle specifiche WS- I Simple SOAP Binding Profile 1.0 (WS-I SSBP) generato sul WS-I Basic Profile, e WS-I Attachments Profile 1.0 (WS-I AP).
3.1 LINGUAGGIOCOMUNE
L’adozione di un linguaggio comune prevede l’utilizzo dei seguenti standard per la rappresentazione dei:
− Dati: Extensible Markup Language (XML) e Simple Object Access Protocol (SOAP) v 1.1 with attachments;
− Servizi applicativi: Lightweight Directory Access Protocol (LDAP), Universal Description, Discovery and Integration (UDDI), e Web Service Definition Language (WSDL).
Lo strumento tecnologico per memorizzare i documenti che definiscono sintassi e semantica dei dati è individuabile in un Repository XML, mentre per quelli che definiscono la sintassi e la semantica dei servizi si individua un Registro dei Servizi (di tipo LDAP o UDDI).
Il sistema di gestione del canale di interscambio e cooperazione mette quindi a disposizione i servizi per l’accesso controllato alla consultazione, alla modifica, all’inserimento ed alla cancellazione degli archivi disponibili.
3.2 WEBSERVICES
Gli standard utilizzati per l’utilizzo del modello web services sono:
− uso del linguaggio XML per la rappresentazione dei dati;
− uso del protocollo SOAP per il formato dei messaggi scambiati tra i domini;
− uso del linguaggio WSDL per la definizione delle chiamate ai Web Services.
Ogni nuovo servizio è implementato utilizzando linguaggi e tecnologie differenti, per le quali è poi generata un’interfaccia WSDL e altre componenti che producono il livello di disaccoppiamento necessario per renderlo accessibile attraverso la rete mediante protocollo HTTP (o HTTPS) e linguaggio XML.
In particolare, tra le informazioni specifiche di ciascun servizio sono incluse le descrizioni delle interfacce applicative dei servizi stessi (tramite metalinguaggio WSDL). Il richiedente del servizio trova nelle descrizioni pubblicate tutto quanto necessario per formulare richieste di servizio al fornitore del servizio specifico.
La descrizione WSDL del servizio permette, inoltre, (attraverso uno specifico elemento di descrizione) di specificare i possibili profili di collaborazione disponibili per l’accesso a quel dato servizio (notifica o richiesta servizi sincrona e asincrona) tramite i profili base disponibili nel metalinguaggio WSDL.
3.3 WSDL(WEBSERVICEDESCRIPTIONLANGUAGE)
WSDL è un linguaggio per la descrizione di Web Service, promosso dal W3C e basato su XML Schema.
Le componenti e la filosofia con la quale WSDL è stato realizzato possono essere riassunti con lo schema illustrato di seguito, dove è possibile identificare le cinque entità fondamentali che compongono questo linguaggio:
types: un tipo di dato generico utilizzato nel resto della descrizione;
message: un messaggio trasmesso;
portType: un servizio espresso in termini di operazioni (operation) messe a disposizione;
port: ridefinizione delle operation di una portType istanziate all’interno di particolare tecnologia di comunicazione;
service: i Web Service realmente fruibili come insieme di port.
In questo modo WSDL mette a disposizione due tipi di descrizione del servizio, posizionati su due livelli di astrazione diversi:
− astratta (abstract view) che descrive un servizio sulla base delle operazioni che questo mette a disposizione;
− concreta (concrete view), che specializza, tramite un'operazione detta di binding, le operation, su cui si basa anche la visione concreta.
Questa distinzione permette, a livello di linguaggio, di collocare le operation stesse in un preciso contesto applicativo ottenuto dalla definizione del protocollo utilizzato per la comunicazione. Anche attualmente WSDL mette a disposizione gli schemi di definizione di binding per il trasporto delle informazioni su canale SOAP e https.
3.4 SCHEMIXSD
Lo Schema XSD (XML Schema Definition) rappresenta un modo per definire una sintassi per la validazione di un documento XML. La sintassi è definita in linguaggio XML.
Al fine di una corretta gestione dei documenti, il file XML deve essere scritto utilizzando l'insieme di caratteri UNICODE ISO 10646 e codificato con la codifica UTF-8 o, in alternativa, per sistemi operativi che non supportano questo standard, con la codifica ISO 8859-1 Latin 1.
Gli sviluppatori di software devono effettuare l’operazione di validazione dei file XML contenenti i dati della ricetta secondo quanto descritto nello schema XSD, prima di inviare il file in via telematica.
Tuti i tag descritti nello schema XSD devono essere presenti nei file XML ed i singoli campi devono rispettate le regole formali e/o i valori possibili per ognuno di loro.
3.5 CERTIFICATIDIPROTEZIONE
Il software gestionale dei medici deve essere in grado di codificare il codice fiscale e il pincode utilizzando tecniche di crittografia con la chiave pubblica RSA
contenuta nel certificato X.509 fornito dal MEF ed applicando il padding PKCS#1 v 1.5.
La trasformazione deve essere conforme con quella ottenuta dall'esecuzione del comando del pacchetto open source "openssl", come a titolo di esempio:
openssl rsautl -encrypt -in CF.txt -out CF.enc -inkey SanitelCF.cer -certin -pkcs in cui il file CF.txt contiene il codice fiscale in chiaro, il file SanitelCF.cer contiene il certificato X.509 del MEF, il file CF.enc contiene il risultato dell'operazione di crittografia sul codice fiscale.
Il codice fiscale e il pincode crittografati devono essere codificati BASE64 (RFC 1521) per poter essere inseriti nel file XML da inviare telematicamente al MEF.
Il certificato SanitelCF.cer iDi è disponibile nell’area download del portale www.sistemats.it.
3.6 ACCESSOAISERVIZI
L’elenco dei servizi web disponibili, le firme wsdl e la documentazione saranno pubblicati nel portale istituzionale www.sistemats.it.
Per accedere all’endpoint definito all’interno delle firme, l’accesso avviene secondo le modalità esposte nel successivo paragrafo.
3.7 CANALIDICOMUNICAZIONE
I servizi esposti da Sistema TS tramite modello Web Service sono fruibili attraverso canali di comunicazione https.
L’autenticazione può essere effettuata attraverso l’utilizzo della basic authentication oppure tramite l’utilizzo della client certificate authentication.
3.8 SPECIFICHETECNICHE
Il materiale è disponibile per essere scaricato dal portale www.sistemats.it .
In particolare saranno presenti:
− La normativa che definisce i parametri tecnici e le modalità di trasmissione dei dati nonché le specifiche tecniche per la predisposizione dei dati in formato XML;
− Gli schemi XSD per la generazione dei messaggi;
− Le firme WSDL per l’accesso ai servizi
− L’algoritmo “OpenSSL” per la cifratura del Codice Fiscale con relativi tools per lo sviluppo e test della soluzione al fine verificare la de-cifratura tramite chiave pubblica e privata definita nel decreto comma 5;
− Il certificato definitivo “SanitelCF” per la cifratura del codice fiscale da utilizzare per la predisposizione definitiva dei dati da trasmettere al Ministero dell'Economia e delle finanze.
4. SERVIZI DISPONIBILI
I paragrafi di questo capitolo descrivono le modalità di utilizzo dei servizi disponibili.
4.1 INVIODELCERTIFICATODIMALATTIAALL’INPS
Questo servizio permette di inviare il certificato di malattia all’INPS tramite SOGEI.
I campi di input sono:
o medico
pincode (cifrato)
codiceRegione
codice Asl o lavoratore
codiceFiscale (cifrato) o residenzaODomicilioAbituale
via
cap
comune
provincia
o indirizzoDiReperibilita (opzionale)
cognome
indirizzo
¾ via
¾ cap
¾ comune
¾ provincia o certificato
dataRilascio
dataInizio
dataFine
visita
tipoCertificato
codiceDiagnosi (va indicato questo campo e/o le noteDiagnosi)
noteDiagnosi
Se l’invocazione va a buon fine si ottiene la risposta:
o ricevutaOk
dataRicezione
idCertificato
Se l’invocazione non va a buon fine si ottiene la risposta:
o ricevutaNonOk
errore (lista)
¾ tipoErrore
¾ sezioneErrata
¾ descrizione
4.2 RETTIFICADELCERTIFICATODIMALATTIA
Questo servizio permette di rettificare un certificato di malattia inviato in precedenza.
I campi di input sono:
o pincodeMedico (cifrato)
o codiceFiscaleLavoratore (cifrato)
o idCertificato (dell’invio effettuato in precedenza) o dataRicezione (dell’invio effettuato in precedenza) o dataFine
Se l’invocazione va a buon fine si ottiene la risposta:
o ricevutaRettificaOk
dataRicezione
idCertificato (è un nuovo id che sostituisce quello precedente)
lavoratore
¾ codiceFiscale
residenzaODomicilioAbituale
¾ via
¾ cap
¾ comune
¾ provincia
indirizzoDiReperibilita (opzionale)
¾ cognome
¾ indirizzo
− via
− cap
− comune
− provincia
certificato
¾ dataRilascio
¾ dataInizio
¾ dataFine
¾ visita
¾ tipoCertificato
¾ codiceDiagnosi (va indicato questo campo e/o le noteDiagnosi)
¾ noteDiagnosi
Se l’invocazione non va a buon fine si ottiene la risposta:
o ricevutaNonOk
errore (lista)
¾ tipoErrore
¾ sezioneErrata
¾ descrizione
Per maggiori dettagli consultare i wsdl.
4.3 ANNULLAMENTODELCERTIFICATODIMALATTIA
Questo servizio permette di annullare un certificato di malattia inviato (o rettificato) in precedenza.
I campi di input sono:
o pincodeMedico (cifrato)
o codiceFiscaleLavoratore (cifrato)
o idCertificato (dell’invio o rettifica effettuato in precedenza) o dataRicezione (dell’invio o rettifica effettuato in precedenza)
Se l’invocazione va a buon fine si ottiene la risposta:
o ricevutaAnnullamentoOk
dataRicezione
idAnnullamento
Se l’invocazione non va a buon fine si ottiene la risposta:
o ricevutaNonOk
errore (lista)
¾ tipoErrore
¾ sezioneErrata
¾ descrizione
Per maggiori dettagli consultare i wsdl.
4.4 INTERROGAZIONELAVORATORE
Questo servizio permette di ottenere i dati anagrafici del lavoratore.
I campi di input sono:
o pincodeMedico (cifrato) o codiceFiscale
Se l’invocazione va a buon fine si ottiene la risposta:
o ricevutaOk
anagrafica
¾ cognome
¾ nome
¾ sesso
¾ dataNascita
¾ comuneNascita
¾ provinciaNascita
indirizzoResidenza
¾ via
¾ cap
¾ comune
¾ provincia
Se l’invocazione non va a buon fine si ottiene la risposta:
o ricevutaNonOk
errore (lista)
¾ tipoErrore
¾ sezioneErrata
¾ descrizione
Per maggiori dettagli consultare i wsdl.
4.5 CODICIDIERRORE
Di seguito sono riportati i codici di errore che possono essere restituiti dai web services:
10 Assente elemento medico 20 Assente elemento lavoratore 30 Assente elemento residenza 50 Assente elemento residenza 100 Errore formale codice regione 101 Pincode assente o errato
105 Medico non trovato in anagrafica medici 110 Errore formale codice asl
115 Posizione medico non trovata in medici 120 Errore formale Via
130 Errore formale Comune 135 Codice comune non trovato 140 Errore formale Provincia 150 Errore formale CAP
160 Errore formale Via (reperibilità) 170 Errore formale Comune (reperibilità) 175 Codice comune non trovato (reperibilità) 180 Errore formale Provincia (reperibilità) 190 Errore formale CAP (reperibilità) 200 Errore formale Cognome (reperibilità) 220 Errore formale cf lavoratore
300 Errore formale codice diagnosi
305 codice diagnosi e note diagnosi contemporaneamente assenti 310 Errore formale note diagnosi
320 Errore formale codice fiscale 321 Codice fiscale non trovato
322 Codice fiscale non utilizzabile - invitare il soggetto a recarsi presso ufficio entrate 330 Errore formale Sesso
340 Errore formale Telefono 350 Errore formale tipo certificato 360 Errore formale tipo Visita 370 Assenza data rilascio
371 data rilascio inferiore di due giorni a data ricezione 372 data rilascio superiore a data ricezione
373 data inizio maggiore di data rilascio 374 data inizio maggiore di data fine
375 data fine maggiore di tre mesi dall'inizio 380 Assenza data fine
390 Assenza data inizio 400 Assenza id certificato 410 Assenza data ricezione 998 Errore nel sistema
999 Errore nel richiamo servizio INPS
Potranno inoltre essere restituiti altri codici di errore provenienti dall’INPS.
4.6 ALLEGATI
4.6.1 SERVIZIO DI INVIO CERTIFICATO
4.6.1.1 Invio certificato - WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:requestns="http://inviocertificatorequest.xsd.cert.mirsac.sanita.finanz e.it"
xmlns:responsens="http://inviocertificatoresponse.xsd.cert.mirsac.sanita.fin anze.it"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://inviocertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://inviocertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/
">
<wsdl:documentation>
Invio del certificato di malattia Versione 0.3
</wsdl:documentation>
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://inviocertificatorequest.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="InvioCertificatoRequest.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://inviocertificatoresponse.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="InvioCertificatoResponse.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="invioCertificatoRequest">
<wsdl:part element="requestns:InvioCertificato"
name="invioCertificatoRequest"/>
</wsdl:message>
<wsdl:message name="invioCertificatoResponse">
<wsdl:part element="responsens:RicevutaCertificato"
name="invioCertificatoResponse"/>
</wsdl:message>
<wsdl:portType name="invioCertificatoPT">
<wsdl:operation name="invioCertificato">
<wsdl:input message="tns:invioCertificatoRequest"/>
<wsdl:output message="tns:invioCertificatoResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="invioCertificatoBinding"
type="tns:invioCertificatoPT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="invioCertificato">
<soap:operation
soapAction="http://inviocertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/InvioCertific ato"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="InvioCertificato">
<wsdl:port binding="tns:invioCertificatoBinding"
name="InvioCertificato">
<soap:address
location="https://mirservice.sanita.finanze.it/TrasmissioneCertificatiWeb/services /InvioCertificato"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
4.6.1.2 Invio certificato request - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://inviocertificatorequest.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://inviocertificatorequest.xsd.cert.mirsac.sanita.finan ze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified"
>
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Request del servizio di invio certificato
Versione 0.6
</xs:documentation>
</xs:annotation>
<xs:element name="InvioCertificato">
<xs:complexType>
<xs:sequence>
<xs:element name="medico" type="td:medico">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element name="lavoratore" type="td:lavoratore">
<xs:annotation>
<xs:documentation>Dati del
lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="residenzaODomicilioAbituale"
type="td:indirizzo">
<xs:annotation>
<xs:documentation>Residenza o domicilio abituale del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="indirizzoDiReperibilita"
type="td:reperibilita" minOccurs="0">
<xs:annotation>
<xs:documentation>Indirizzo di reperibilità del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="certificato" type="td:certificato">
<xs:annotation>
<xs:documentation>Certificato di malattia</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.1.3 Invio certificato response - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://inviocertificatoresponse.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://inviocertificatoresponse.xsd.cert.mirsac.sanita.fin anze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Response del servizio di invio certificato
Versione 0.5
</xs:annotation>
<xs:element name="RicevutaCertificato">
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:documentation>
Questi due elementi sono in
alternativa,
uno è per l'esito positivo l'altro per l'esito negativo
</xs:documentation>
</xs:annotation>
<xs:element name="ricevutaOk" type="td:ricevutaOk"
minOccurs="0"/>
<xs:element name="ricevutaNonOk"
type="td:ricevutaNonOk" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.2 SERVIZIO DI RETTIFICA CERTIFICATO
4.6.2.1 Rettifica certificato - WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:requestns="http://rettificacertificatorequest.xsd.cert.mirsac.sanita.fina nze.it"
xmlns:responsens="http://rettificacertificatoresponse.xsd.cert.mirsac.sanita.
finanze.it"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://rettificacertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rettificacertificato.wsdl.cert.mir.sanita.finanze.it/ws dl/">
<wsdl:documentation>
Rettifica del certificato di malattia Versione 0.2
</wsdl:documentation>
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://rettificacertificatorequest.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="RettificaCertificatoRequest.xsd"/>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://rettificacertificatoresponse.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="RettificaCertificatoResponse.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="rettificaCertificatoRequest">
<wsdl:part element="requestns:RettificaCertificato"
name="rettificaCertificatoRequest"/>
</wsdl:message>
<wsdl:message name="rettificaCertificatoResponse">
<wsdl:part element="responsens:RicevutaRettifica"
name="rettificaCertificatoResponse"/>
</wsdl:message>
<wsdl:portType name="rettificaCertificatoPT">
<wsdl:operation name="rettificaCertificato">
<wsdl:input message="tns:rettificaCertificatoRequest"/>
<wsdl:output message="tns:rettificaCertificatoResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="rettificaCertificatoBinding"
type="tns:rettificaCertificatoPT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="rettificaCertificato">
<soap:operation
soapAction="http://rettificacertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/Rettifica Certificato"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="RettificaCertificato">
<wsdl:port binding="tns:rettificaCertificatoBinding"
name="RettificaCertificato">
<soap:address
location="https://mirservice.sanita.finanze.it/TrasmissioneCertificatiWeb/services /RettificaCertificato"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
4.6.2.2 Rettifica certificato request – XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://rettificacertificatorequest.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rettificacertificatorequest.xsd.cert.mirsac.sanita.fin anze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Request del servizio di rettifica certificato
Versione 0.2
Gli elementi codiceFiscaleLavoratore, idCertificato e dataRicezione costituiscono il
riferimento al certificato da rettificare e devono
corrispondere agli elementi: lavoratore.codiceFiscale
del messaggio di invio del certificato inviato in precedenza, idCertificato e dataRicezione del messaggio di ricevuta del certificato inviato in precedenza; per il controllo sull'elemento dataRicezione viene utilizzata l'informazione su data e ora con precisione al minuto.
L'unica rettifica possibile è anticipare la data di fine prognosi, per qualunque altra modifica deve essere usata la funzione di annullamento
e procedere alla creazione di un nuovo certificato.
</xs:documentation>
</xs:annotation>
<xs:element name="RettificaCertificato">
<xs:complexType>
<xs:sequence>
<xs:element name="pincodeMedico"
type="td:tipoCifrato">
<xs:annotation>
<xs:documentation>Pincode cifrato del medico</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="codiceFiscaleLavoratore"
type="td:tipoCifrato">
<xs:annotation>
</xs:annotation>
</xs:element>
<xs:element name="idCertificato" type="xs:string">
<xs:annotation>
<xs:documentation>Id del certificato da annullare</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dataRicezione"
type="xs:dateTime">
<xs:annotation>
<xs:documentation>Data e ora di ricezione</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dataFine" type="xs:date">
<xs:annotation>
<xs:documentation>Data di fine
prognosi</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.2.3 Rettifica certificato response - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://rettificacertificatoresponse.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rettificacertificatoresponse.xsd.cert.mirsac.sanita.f inanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Response del servizio di rettifica certificato
Versione 0.1
</xs:documentation>
</xs:annotation>
<xs:element name="RicevutaRettifica">
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:documentation>
Questi due elementi sono in
alternativa,
uno è per l'esito positivo l'altro per l'esito negativo
</xs:documentation>
</xs:annotation>
<xs:element name="ricevutaOk"
type="td:ricevutaRettificaOk" minOccurs="0"/>
<xs:element name="ricevutaNonOk"
type="td:ricevutaNonOk" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.3 SERVIZIO DI ANNULLAMENTO
4.6.3.1 Annullamento certificato - WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:requestns="http://annullamentocertificatorequest.xsd.cert.mirsac.sani ta.finanze.it"
xmlns:responsens="http://annullamentocertificatoresponse.xsd.cert.mirsac.
sanita.finanze.it"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://annullamentocertificato.wsdl.cert.mir.sanita.finanze.it/wsdl /"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://annullamentocertificato.wsdl.cert.mir.sanita.finanz e.it/wsdl/">
<wsdl:documentation>
Annullamento del certificato di malattia Versione 0.2
</wsdl:documentation>
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://annullamentocertificatorequest.xsd.cert.mirsac.sanita.finanze .it"
schemaLocation="AnnullamentoCertificatoRequest.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://annullamentocertificatoresponse.xsd.cert.mirsac.sanita.finan ze.it"
schemaLocation="AnnullamentoCertificatoResponse.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="annullamentoCertificatoRequest">
<wsdl:part element="requestns:AnnullamentoCertificato"
name="annullamentoCertificatoRequest"/>
</wsdl:message>
<wsdl:message name="annullamentoCertificatoResponse">
<wsdl:part element="responsens:RicevutaAnnullamento"
name="annullamentoCertificatoResponse"/>
</wsdl:message>
<wsdl:portType name="annullamentoCertificatoPT">
<wsdl:operation name="annullamentoCertificato">
<wsdl:input
message="tns:annullamentoCertificatoRequest"/>
<wsdl:output
message="tns:annullamentoCertificatoResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="annullamentoCertificatoBinding"
type="tns:annullamentoCertificatoPT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="annullamentoCertificato">
<soap:operation
soapAction="http://annullamentocertificato.wsdl.cert.mir.sanita.finanze.it/wsdl/An nullamentoCertificato"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AnnullamentoCertificato">
<wsdl:port binding="tns:annullamentoCertificatoBinding"
name="AnnullamentoCertificato">
<soap:address
location="https://mirservice.sanita.finanze.it/TrasmissioneCertificatiWeb/services /AnnullamentoCertificato"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
4.6.3.2 Annullamento certificato request - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://annullamentocertificatorequest.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://annullamentocertificatorequest.xsd.cert.mirsac.sa nita.finanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Request del servizio di annullamento certificato
Versione 0.2
Gli elementi codiceFiscaleLavoratore, idCertificato e dataRicezione costituiscono il
riferimento al certificato da annullare e devono
corrispondere agli elementi: lavoratore.codiceFiscale del messaggio di invio del certificato inviato in precedenza,
idCertificato e dataRicezione del messaggio di ricevuta del certificato inviato in precedenza; per il controllo sull'elemento dataRicezione viene utilizzata l'informazione su data e ora con precisione al minuto.
</xs:documentation>
</xs:annotation>
<xs:element name="AnnullamentoCertificato">
<xs:complexType>
<xs:sequence>
<xs:element name="pincodeMedico"
type="td:tipoCifrato">
<xs:annotation>
<xs:documentation>Pincode cifrato del medico</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="codiceFiscaleLavoratore"
type="td:tipoCifrato">
<xs:annotation>
<xs:documentation>Codice fiscale del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="idCertificato" type="xs:string">
<xs:documentation>Id del certificato da annullare</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="dataRicezione"
type="xs:dateTime">
<xs:annotation>
<xs:documentation>Data e ora di ricezione</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.3.3 Annullamento certificato response - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://annullamentocertificatoresponse.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://annullamentocertificatoresponse.xsd.cert.mirsac.
sanita.finanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Response del servizio di annullamento certificato
Versione 0.1
</xs:documentation>
</xs:annotation>
<xs:element name="RicevutaAnnullamento">
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:documentation>
Questi due elementi sono in
alternativa,
uno è per l'esito positivo l'altro per l'esito negativo
</xs:documentation>
</xs:annotation>
<xs:element name="ricevutaOk"
type="td:ricevutaAnnullamentoOk" minOccurs="0"/>
<xs:element name="ricevutaNonOk"
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.4 SERVIZIO DI INTERROGAZIONE LAVORATORE
4.6.4.1 Interrogazione lavoratore - WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:requestns="http://interrogazionelavoratorerequest.xsd.cert.mirsac.sa nita.finanze.it"
xmlns:responsens="http://interrogazionelavoratoreresponse.xsd.cert.mirsac .sanita.finanze.it"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://interrogazionelavoratore.wsdl.cert.mir.sanita.finanze.it/ws dl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://interrogazionelavoratore.wsdl.cert.mir.sanita.finan ze.it/wsdl/">
<wsdl:documentation>
Interrogazione del lavoratore
Versione 0.3 </wsdl:documentation>
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://interrogazionelavoratorerequest.xsd.cert.mirsac.sanita.finanz e.it"
schemaLocation="InterrogazioneLavoratoreRequest.xsd"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://interrogazionelavoratoreresponse.xsd.cert.mirsac.sanita.fina nze.it"
schemaLocation="InterrogazioneLavoratoreResponse.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="interrogazioneLavoratoreRequest">
<wsdl:part element="requestns:InterrogazioneLavoratore"
name="interrogazioneLavoratoreRequest"/>
</wsdl:message>
<wsdl:message name="interrogazioneLavoratoreResponse">
<wsdl:part element="responsens:RicevutaLavoratore"
name="interrogazioneLavoratoreResponse"/>
</wsdl:message>
<wsdl:portType name="interrogazioneLavoratorePT">
<wsdl:operation name="interrogazioneLavoratore">
<wsdl:input
message="tns:interrogazioneLavoratoreRequest"/>
<wsdl:output
message="tns:interrogazioneLavoratoreResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="interrogazioneLavoratoreBinding"
type="tns:interrogazioneLavoratorePT">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="interrogazioneLavoratore">
<soap:operation
soapAction="http://interrogazionelavoratore.wsdl.cert.mir.sanita.finanze.it/wsdl/In terrogazioneLavoratore"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="InterrogazioneLavoratore">
<wsdl:port binding="tns:interrogazioneLavoratoreBinding"
name="InterrogazioneLavoratore">
<soap:address
location="https://mirservice.sanita.finanze.it/TrasmissioneCertificatiWeb/services /InterrogazioneLavoratore"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
4.6.4.2 Interrogazione lavoratore request - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://interrogazionelavoratorerequest.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://interrogazionelavoratorerequest.xsd.cert.mirsac.s anita.finanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Request del servizio di interrogazione lavoratore
Versione 0.3
</xs:documentation>
</xs:annotation>
<xs:element name="InterrogazioneLavoratore">
<xs:complexType>
<xs:sequence>
<xs:element name="pincodeMedico"
type="td:tipoCifrato">
<xs:annotation>
<xs:documentation>Pincode cifrato del medico</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="codiceFiscale"
type="td:codiceFiscale">
<xs:annotation>
<xs:documentation>Codice fiscale del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
4.6.4.3 Interrogazione lavoratore response - XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns="http://interrogazionelavoratoreresponse.xsd.cert.mirsac.sanita.finanze.it"
xmlns:td="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://interrogazionelavoratoreresponse.xsd.cert.mirsac .sanita.finanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
schemaLocation="TipiCert.xsd"/>
<xs:annotation>
<xs:documentation>
Response del servizio di interrogazione lavoratore
Versione 0.2
</xs:documentation>
<xs:element name="RicevutaLavoratore">
<xs:complexType>
<xs:sequence>
<xs:annotation>
<xs:documentation>
Questi due elementi sono in
alternativa,
uno è per l'esito positivo l'altro per l'esito negativo
</xs:documentation>
</xs:annotation>
<xs:element name="ricevutaOk" type="datiAnagrafici"
minOccurs="0"/>
<xs:element name="ricevutaNonOk"
type="td:ricevutaNonOk" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="datiAnagrafici">
<xs:sequence>
<xs:element name="anagrafica" type="anagrafica">
<xs:annotation>
<xs:documentation>Anagrafica del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="indirizzoResidenza"
type="indirizzo">
<xs:annotation>
<xs:documentation>Indirizzo di residenza del lavoratore</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="anagrafica">
<xs:sequence>
<xs:element name="cognome" type="cognome"/>
<xs:element name="nome" type="nome"/>
<xs:element name="sesso" type="sesso"/>
<xs:element name="dataNascita" type="xs:date"/>
<xs:element name="comuneNascita" type="comune"/>
<xs:element name="provinciaNascita" type="provincia"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="indirizzo">
<xs:sequence>
<xs:element name="cap" type="cap"/>
<xs:element name="comune" type="comune"/>
<xs:element name="provincia" type="provincia"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="cognome">
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nome">
<xs:restriction base="xs:string">
<xs:maxLength value="40"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="sesso">
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="comune">
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="provincia">
<xs:restriction base="xs:string">
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="via">
<xs:restriction base="xs:string">
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="cap">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{5}"/>
</xs:restriction>
</xs:schema>
4.6.5 TIPI CERTIFICATO -XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://tipicert.xsd.cert.mirsac.sanita.finanze.it"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>Versione 0.5</xs:documentation>
</xs:annotation>
<xs:complexType name="medico">
<xs:sequence>
<xs:element name="pincode" type="tipoCifrato"/>
<xs:element name="codiceRegione" type="integer3"/>
<xs:element name="codiceAsl" type="integer3"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="lavoratore">
<xs:sequence>
<xs:element name="codiceFiscale" type="tipoCifrato"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="indirizzo">
<xs:sequence>
<xs:element name="via" type="via"/>
<xs:element name="cap" type="cap"/>
<xs:element name="comune" type="comune"/>
<xs:element name="provincia" type="provincia"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="reperibilita">
<xs:sequence>
<xs:element name="cognome" type="cognome"
minOccurs="0"/>
<xs:element name="indirizzo" type="indirizzo"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="certificato">
<xs:sequence>
<xs:documentation>
E' obbligatorio almeno uno tra codiceDiagnosi e noteDiagnosi
</xs:documentation>
</xs:annotation>
<xs:element name="dataRilascio" type="xs:date"/>
<xs:element name="dataInizio" type="xs:date"/>
<xs:element name="dataFine" type="xs:date"/>
<xs:element name="visita" type="tipoVisita"/>
<xs:element name="tipoCertificato" type="tipoCertificato"/>
<xs:element name="codiceDiagnosi" type="codiceDiagnosi"
minOccurs="0"/>
<xs:element name="noteDiagnosi" type="noteDiagnosi"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ricevutaOk">
<xs:sequence>
<xs:annotation>
<xs:documentation>Ricevuta in caso di esito positivo</xs:documentation>
</xs:annotation>
<xs:element name="dataRicezione" type="xs:dateTime"/>
<xs:element name="idCertificato" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ricevutaRettificaOk">
<xs:sequence>
<xs:annotation>
<xs:documentation>Ricevuta in caso di esito positivo della rettifica</xs:documentation>
</xs:annotation>
<xs:element name="dataRicezione" type="xs:dateTime"/>
<xs:element name="idCertificato" type="xs:string"/>
<xs:element name="lavoratore" type="lavoratore"/>
<xs:element name="residenzaODomicilioAbituale"
type="indirizzo"/>
<xs:element name="indirizzoDiReperibilita"
type="reperibilita" minOccurs="0"/>
<xs:element name="certificato" type="certificato"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ricevutaAnnullamentoOk">
<xs:sequence>
<xs:annotation>
<xs:documentation>Ricevuta in caso di esito positivo dell'annullamento</xs:documentation>
</xs:annotation>
<xs:element name="idAnnullamento" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ricevutaNonOk">
<xs:sequence>
<xs:annotation>
<xs:documentation>Ricevuta in caso di esito negativo</xs:documentation>
</xs:annotation>
<xs:element name="errore" type="errore"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="errore">
<xs:sequence>
<xs:element name="tipoErrore" type="integer3"/>
<xs:element name="sezioneErrata" type="xs:string"/>
<xs:element name="descrizione" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="tipoCifrato">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="codiceFiscale">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{6}[0-9A-Z]{2}[A-Z][0-9A-Z]{2}[A- Z][0-9A-Z]{3}[A-Z]"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nome">
<xs:restriction base="xs:token">
<xs:minLength value="2"/>
<xs:maxLength value="20"/>
<xs:pattern value="[a-zA-Z ']*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="cognome">
<xs:restriction base="xs:token">
<xs:minLength value="2"/>
<xs:maxLength value="24"/>
<xs:pattern value="[a-zA-Z ']*"/>
</xs:simpleType>
<xs:simpleType name="sesso">
<xs:restriction base="xs:string">
<xs:enumeration value="M"/>
<xs:enumeration value="F"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="comune">
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="codiceComune">
<xs:restriction base="xs:string">
<xs:annotation>
<xs:documentation>Codice catastale del comune</xs:documentation>
</xs:annotation>
<xs:pattern value="[a-zA-Z][0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="provincia">
<xs:annotation>
<xs:documentation>
Codice della provincia. Per la codifica dei dati anagrafici in caso di stato Estero si utilizza il valore fisso "EE"
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Za-z]{2}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="via">
<xs:annotation>
<xs:documentation>Comprensiva di numero civico</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{5}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tipoVisita">
<xs:restriction base="xs:string">
<xs:enumeration value="A">
<xs:annotation>
<xs:documentation>Visita ambulatoriale</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="D">
<xs:annotation>
<xs:documentation>Visita domiciliare</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="tipoCertificato">
<xs:restriction base="xs:string">
<xs:enumeration value="I">
<xs:annotation>
<xs:documentation>Inizio</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C">
<xs:annotation>
<xs:documentation>Continuazione</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="R">
<xs:annotation>
<xs:documentation>Ricaduta</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="codiceDiagnosi">
<xs:annotation>
<xs:documentation>
Codifica ICD9_CM - revisione 2002; formati previsti xxx.xx o xxx
</xs:documentation>
<xs:restriction base="xs:string">
<xs:pattern value="([V0-9][0-9]{1,2})|([V0-9][0-9]{1,2}[.][0- 9]{0,2})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="noteDiagnosi">
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="integer3">
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{3}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>