PROGETTO TESSERA SANITARIA
Pag. 2 di 20 INDICE 1. INTRODUZIONE 4 1.1 CANALE DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE PRIMO IMPIANTO) 4 1.2 CANALI DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE A REGIME) 5 2. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS PRIMO IMPIANTO 6 3. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS REGIME 8 3.1 DESCRIZIONE DELL OGGETTO DI INTERSCAMBIO CARCNS 8 3.2 REQUESTCARCNSDTO 8 3.3 CODICI DI RITORNO COMUNICAZIONE ATTIVAZIONE/REVOCA CNS 10 3.4 RESPONSECARCNSDTO 11 4. SERVIZI 12 4.1 COMUNICAZIONE ATTIVAZIONE/REVOCA CNS 12 5. MODALITÀ DI ACCREDITAMENTO 13 6. DESCRIZIONE SCHEMA XML PER FORNITURE DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE PRIMO IMPIANTO) 14 6.1 FILES XSD 14 6.2 ESITI DEI CONTROLLI 19
Pag. 3 di 20 REVISIONI DEL DOCUMENTO VERSIONE PARAGRAFO DATA MODIFICA DESCRIZIONE Versione 1 02/04/2013
Pag. 4 di 20 1. Introduzione I servizi descritti in questo documento sono finalizzati a consentire ai CMS regionali la comunicazione al sistema TS delle operazioni di attivazione e/o revoca effettuate sulle TS/CNS di loro competenza. Il processo consta di due fasi: Primo impianto da effettuarsi una-tantum in modalità batch mediante la fornitura delle TS/CNS attivate o revocate alla data di inizio regime. Tale fornitura dovrà essere effettuata mediante il canale FTP già utilizzato per i flussi Anagrafico e degli Esiti delle TS/CNS di competenza della regione; Regime mediante invocazione di un web-service, messo a disposizione dal sistema TS, con il quale le regioni potranno effettuare contestualmente all aggiornamento della banca dati locale anche l aggiornamento della banca dati nazionale gestita dal sistema TS. È opportuno precisare che, dopo la prima fase, tutti gli aggiornamenti dovranno essere effettuati esclusivamente mediante il servizio web-service. 1.1 CANALE DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE PRIMO IMPIANTO) I flussi XML dovranno essere predisposti sul server regionale preposto al servizio FTP. Tutti i file, oggetto di scambio dati, da e verso le singole regioni, saranno cifrati e firmati con il medesimo certificato utilizzato per lo scambio delle componenti anagrafiche ed esiti delle carte. Struttura del nome del file di interscambio: File predisposto dal CMS sssathn.daaaaggg.thhmmss File di risposta dal CMS ATsssHV.Daaaaggg.Thhmmss.RUN.p7m.enc Dove: Nome Campo Descrizione sss sigla della regione (comunicata a ciascuna regione) aaaa anno della data di predisposizione del file (es.: 2013) ggg giorno in formato giuliano (es. 14 febbraio = 045) hhmmss ora, minuti e secondi (es.: 110628)
Pag. 5 di 20 Esempi: La Regione XXXXXX (con sigla YYY), predisporrà sul suo server il file con la seguente nomenclatura: YYYATHN.D2013045.T110628 Il file verrà acquisito, decifrato ed elaborato dal sistema TS. L esito per la Regione XXXXXX (cifrato e firmato) viene inviato sul suo server con la seguente nomenclatura: ATYYYHV.D2013045.T110628.RUN.p7m.enc Per il tracciato XML di questi flussi si rimanda al paragrafo 6. 1.2 CANALI DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE A REGIME) I web services sono esposti da SOGEI utilizzando gli standard più diffusi (SOAP, WSDL) e sono fruibili attraverso canali di comunicazione sicuri data la sensibilità dei dati scambiati. La cooperazione tra ente interessato e SOGEI verrà effettuata attraverso un canale https bilanciato (URL: certificato client e server). Le modalità di accreditamento sono descritte nel paragrafo 5. Gli ambienti previsti sono: 1) Test / Consolidamento contente dati non reali, raggiungibile attraverso rete INTERNET all indirizzo: URL = https://wscoop.sanita.finanze.it/comattrevcnsweb/services/carcns 2) Esercizio definitivo contente dati reali, raggiungibile attraverso reti INTERNET, RUPA e INTERDOMINIO all indirizzo : URL =https://ws.sanita.finanze.it/comattrevcnsweb/services/carcns Durante la fase di test potrebbero cambiare dei parametri necessari al client per invocare il servizio.
Pag. 6 di 20 2. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS PRIMO IMPIANTO Questo servizio di comunicazione può essere utilizzato da una Regione per comunicare le attivazioni/revoche delle TS/CNS avvenute fino al momento di entrata a regime del servizio WS descritto al successivo paragrafo. In questo modo si consente di recuperare l arretrato delle comunicazioni ed è previsto quindi che venga utilizzato una sola volta. Valorizzazione dei campi da parte della Regione: Posizione Campo Valorizzazione Input/ Output Testa Elemento Regione TipoRichiesta MotivoRevoca codice della regione inviante (es.: 010 per il Piemonte) I/O Tipo di richiesta: A = comunicazione di attivazione R = comunicazione revoca su richiesta U = revoca d ufficio da altra regione S = revoca d ufficio da sistema TS I/O Motivo revoca, vale: in caso di revoca di tipo R - M = furto - N = smarrimento - O = deterioramento - P = decesso - Q = rifiuto - S = altro in caso di revoca di tipo U - K = TS/CNS invalidata dall attivazione di una nuova TS/CNS in caso di revoca di tipo S A = assistito che ha perso requisiti per l'assistenza da parte del SSN B = mancato recapito CNS C = assistito deceduto D = assistito emigrato E = TS/CNS invalidata da una nuova emissione o TS/CNS restituita F = TS/CNS invalidata dall attivazione di una nuova TS/CNS in caso di attivazione non deve essere impostato I/O NumeroCNS DataEvento Esito Numero identificativo della TS/CNS Data dell'evento (attivazione o revoca) Esito (valorizzato solo nel file di risposta) I/O I/O O Coda Reg codice della regione inviante (es.: 010 per il Piemonte) O
Pag. 7 di 20 Posizione Campo Valorizzazione Input/ Output CodEsitoAttivazione NumRecEsitoAttivazio ne CodEsitoRevoca NumRecEsitoRevoca CodEsitoRevoca NumRecEsitoRevoca CodEsitoRevoca NumRecEsitoRevoca codice dell'esito delle richieste di attivazione contenute nel file numero delle richieste di attivazione contenute nel file relative al codice esito attivazione codice dell'esito delle richieste di revoca_r contenute nel file numero delle richieste di revoca_r contenute nel file relative al codice esito revoca codice dell'esito delle richieste di revoca_u contenute nel file numero delle richieste di revoca_u contenute nel file relative al codice esito revoca_u codice dell'esito delle richieste di revoca_s contenute nel file numero delle richieste di revoca_s contenute nel file relative al codice esito revoca_s O O O O O O O O
Pag. 8 di 20 3. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS REGIME Questo servizio può essere utilizzato da un utente Regione in possesso del certificato di autenticazione e autorizzato dall Amministratore di Sicurezza. A fronte della comunicazione di attivazione/revoca della CNS viene restituito un esito dell operazione 3.1 DESCRIZIONE DELL OGGETTO DI INTERSCAMBIO CARCNS L oggetto RequestCARCNSDTO contiene i dati di input impostati dall utente Regione, restituisce come output l oggetto ResponseCARCNSDTO che contiene i campi relativi all esito dell operazione, codice esito e descrizione esito (vedere il paragrafo 3.3 ), e il numero della CNS inserita dall utente. 3.2 REQUESTCARCNSDTO Nome Campo Contenuto cfutente Identificativo dell'utente del CMS che chiede l'operazione (censito su LDAP e clear-trust del sistema TS) Token Identificativo della transazione (univoco per ciascun CMS) Tipo funzione. Vale: TipoRichiesta A = comunicazione attivazione, R= comunicazione revoca su richiesta U= revoca d ufficio da altra regione S= revoca d ufficio da sistema TS MotivoRevoca Motivo della revoca Vale:
Pag. 9 di 20 Nome Campo Contenuto per la revoca su richiesta dell assistito (R): M = FURTO N = SMARRIMENTO O = DETERIORAMENTO P = DECESSO Q = RIFIUTO S = ALTRO per la revoca d ufficio da altra regione (U): K = TS/CNS invalidata dall attivazione di una nuova TS/CNS per la revoca d ufficio da sistema TS (S): A = assistito che ha perso requisiti per l'assistenza da parte del SSN B = mancato recapito CNS C = assistito deceduto D = assistito emigrato E = TS/CNS invalidata da una nuova emissione o TS/CNS restituita F = TS/CNS invalidata dall attivazione di una nuova TS/CNS È obbligatorio solo per le operazione di revoca NumeroCNS Numero della CNS (20 caratteri numerici) DataEvento Data dell evento (attivazione o revoca)
Pag. 10 di 20 3.3 CODICI DI RITORNO COMUNICAZIONE ATTIVAZIONE/REVOCA CNS Codice di ritorno Descrizione codice di ritorno 3101 NUMERO CNS FORMALMENTE ERRATO 3102 NUMERO CNS INESISTENTE 3103 DATA EVENTO FORMALMENTE ERRATA 3104 DATA EVENTO ERRATA, SUCCESSIVA ALLA DATA ODIERNA 3105 CODICE FISCALE NON TROVATO 3106 CODICE FISCALE NON AUTORIZZATO 3107 RECORD DI TESTA MANCANTE 3108 RECORD DI TESTA MANCANTE 3109 RECORD DI TESTA MANCANTE 3110 CODICE FISCALE UTENTE ASSENTE 3111 CODICE FISCALE UTENTE ERRATO 3112 DATA EVENTO ASSENTE 3113 LA DATA EVENTO DEVE ESSERE NEL FORMATO DDMMYYYY 3114 IL CAMPO NUMEROCNS E' ASSENTE 3115 IL CAMPO TIPORICHIESTA E' ASSENTE 3116 IL CAMPO TOKEN E' ASSENTE 3118 OPERAZIONE NON CONSENTITA, LA TS/CNS E' GIA' ATTIVA DAL 3119 OPERAZIONE NON CONSENTITA, LA TS/CNS E' STATA REVOCATA DAL OPERAZIONE NON CONSENTITA, LA DATA INSERITA E' ANTECEDENTE ALL'EMISSIONE DELLA 3120 TS/CNS OPERAZIONE NON CONSENTITA, LA DATA INSERITA E' SUCCESSIVA ALLA DATA DI SCADENZA 3121 DELLA TS/CNS OPERAZIONE NON CONSENTITA, LA DATA DELLA REVOCA E' ANTECEDENTE ALLA DATA DI 3122 ATTIVAZIONE DELLA TS/CNS 3123 IL CAMPO MOTIVO RICHIESTA E' ASSENTE 3124 IL CAMPO TIPO RICHIESTA DEVE ESSERE IMPOSTATO CON UNO DEI SEGUENTI VALORI: A, R, S, U IL CAMPO MOTIVO RICHIESTA DEVE ESSERE IMPOSTATO CON UNO DEI SEGUENTI VALORI: M, N, 3125 O, P, Q, S 3126 IL CAMPO MOTIVO RICHIESTA DEVE ESSERE IMPOSTATO CON IL VALORE K IL CAMPO MOTIVO RICHIESTA DEVE ESSERE IMPOSTATO CON UNO DEI SEGUENTI VALORI: A, B, 3127 C, D, E, F 3151 OPERAZIONE MOMENTANEAMENTE INTERDETTA - CONTATTARE IL NUMERO VERDE 3152 CODICE ERRORE NON CODIFICATO - CONTATTARE IL NUMERO VERDE 3199 ELABORAZIONE CORRETTAMENTE EFFETTUATA 3128 OPERAZIONE NON CONSENTITA, TS/CNS APPARTENENTE AD ALTRA REGIONE
Pag. 11 di 20 3.4 RESPONSECARCNSDTO Codice NumeroCNS Esito Diagnostico Descrizione codice del titolo dichiarante Numero della CNS (20 caratteri numerici) Codice dell'esito dell'operazione (4 caratteri numerici) Descrizione del codice dell'esito dell'operazione
Pag. 12 di 20 4. SERVIZI 4.1 COMUNICAZIONE ATTIVAZIONE/REVOCA CNS EJB WS: CARCNS Metodi Esposti: CARCNS() Parametri di input: RequestCARCNSDTO Parametri di output: ResponseCARCNSDTO Endpoint per utente Regione: /ComAttRevCNSWeb/services/CARCNS
Pag. 13 di 20 5. MODALITÀ DI ACCREDITAMENTO Nell ambito della sicurezza e delle modalità di accreditamento, l accesso ai servizi cooperativi si articola in due fasi ben distinte, autenticazione ed autorizzazione così come già avviene per l accesso ai servizi web on-line; in particolare: Ente territoriale: l accesso a sistema TS è consentito ai soli enti in possesso di uno specifico Certificato di Autenticazione rilasciato dalla Certification Authority dell Agenzia delle Entrate; autorizzazione utente: l utilizzo dello specifico servizio è sottoposto al preventivo controllo di autorizzazione del singolo utente richiedente. La fase di Autenticazione Ente territoriale viene risolta con l emissione del Certificato, mentre la fase di autorizzazione utente, in analogia a quanto previsto per l autorizzazione all utilizzo dei servizi web-on-line, è a carico dell Amministratore di Sicurezza locale il quale, attraverso la consolle di cui già dispone, provvede a censire ed autorizzare gli utenti preposti all uso dei servizi cooperativi. Si precisa che per la natura stessa dei servizi cooperativi, l applicazione delle norme di sicurezza non richiede l autenticazione dell utente, in quanto risolta dal Certificato fornito all Ente territoriale, mentre rimane invariata la verifica della autorizzazione utente.
Pag. 14 di 20 6. DESCRIZIONE SCHEMA XML PER FORNITURE DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS (FASE PRIMO IMPIANTO) 6.1 FILES XSD Di seguito vengono riportati i due files di schema utilizzati dall applicazione per l elaborazione dei files xml di input e di output. Sia i files di input che quelli di output utilizzano gli stessi files di schema. File 1: SchemaAttivazioneDisattivazioneCNS.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns="http://schemaattivazionedisattivazionecns.xsd.nre.mirsac.sanita.finanze.it" targetnamespace="http://schemaattivazionedisattivazionecns.xsd.nre.mirsac.sanita.finanze.it" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:documentation>tipi dati file attivazione disattivazione CMS</xs:documentation> <!--- definizione tipi int - INIZIO --> <xs:simpletype name="int2"> <xs:maxlength value="5"/> <xs:minlength value="1"/> <xs:simpletype name="int3"> <xs:pattern value="[0-9]{3}"/> <xs:simpletype name="int4"> <xs:pattern value="[0-9]{4}"/> <xs:simpletype name="int5"> <xs:pattern value="[0-9]{5}"/> <xs:simpletype name="string5"> <xs:minlength value="1"/> <xs:maxlength value="5"/> <xs:simpletype name="int5nil"> <xs:restriction base="xs:string"/>
Pag. 15 di 20 <xs:simpletype name="int20"> <xs:pattern value="[0-9]{20}"/> <!--- definizione tipi int - FINE --> <!--- definizione tipi varchar - INIZIO --> <xs:simpletype name="varchar2"> <xs:pattern value="([a-z,0-9]{2})"/> <xs:simpletype name="varchar2nil"> <xs:restriction base="xs:string"/> <xs:simpletype name="varchar3"> <xs:pattern value="([a-z,0-9]{3})"/> <xs:simpletype name="varchar3nil"> <xs:restriction base="xs:string"/> <xs:simpletype name="varchar16"> <xs:pattern value="([a-z,0-9]{16})"/> <!--- definizione tipi varchar - FINE --> <xs:simpletype name="tiporichiestatype"> <xs:pattern value="([a,r,s,u])"/> <xs:simpletype name="motivorevocatype"> <xs:pattern value="([a,b,c,d,e,f,k,m,n,o,p,q,s,'', ' ']{0,1})"/> <xs:simpletype name="datatype"> <xs:restriction base="xs:date"> <xs:mininclusive value="2001-01-01"/> <xs:documentation>fine tipi dati file attivazione disattivazione CMS</xs:documentation> </xs:schema> File 2: TracciatoAttivazioneDisattivazione.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns="http://tracciatoattivazionedisattivazione.xsd.nre.mirsac.sanita.finanze.it" xmlns:td="http://schemaattivazionedisattivazionecns.xsd.nre.mirsac.sanita.finanze.it"
Pag. 16 di 20 xmlns:xs="http://www.w3.org/2001/xmlschema" targetnamespace="http://tracciatoattivazionedisattivazione.xsd.nre.mirsac.sanita.finanze.it" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:import namespace="http://schemaattivazionedisattivazionecns.xsd.nre.mirsac.sanita.finanze.it" schemalocation="schemaattivazionedisattivazionecns.xsd"/> <xs:element name="comunicazioniattivazionerevocacns"> <xs:element ref="testa"/> <xs:element ref="dettaglio"/> <xs:element ref="coda" minoccurs="0"/> <xs:element name="testa"> <xs:documentation>elemento che identifica l'ente inviante</xs:documentation> <xs:element ref="regione"/> <xs:element name="dettaglio"> <xs:documentation>sezione contenente i dettagli delle CNS da attivare/disattivare</xs:documentation> <xs:element ref="elemento" minoccurs="0" maxoccurs="100000"/> <xs:element name="elemento"> <xs:documentation>elemento che identifica la CNS da attivare/disattivare</xs:documentation> <xs:element ref="tiporichiesta"/> <xs:element ref="motivorevoca"/> <xs:element ref="numerocns"/> <xs:element ref="dataevento"/> <xs:element ref="esito" minoccurs="0"/> <xs:element name="coda">
Pag. 17 di 20 <xs:documentation>elemento che identifica l'ente inviante e il risultato dell'elaborazione</xs:documentation> <xs:element ref="reg"/> <xs:element ref="riepilogoattivazione"/> <xs:element ref="riepilogorevoca_r"/> <xs:element ref="riepilogorevoca_u"/> <xs:element ref="riepilogorevoca_s"/> <!-- TESTA --> <xs:element name="regione" type="td:int3" nillable="false"> <xs:documentation>codice Regione numerico</xs:documentation> <!-- ELEMENTO - INIZIO --> <xs:element name="tiporichiesta" type="td:tiporichiestatype" nillable="false"> <xs:documentation>tipo richiesta. A:Attivazione - R:Revoca</xs:documentation> <xs:element name="motivorevoca" type="td:motivorevocatype" nillable="true"> <xs:documentation>motivo della Revoca della CNS</xs:documentation> <xs:element name="numerocns" type="td:int20" nillable="false"> <xs:documentation>numero identificativo dell CNS</xs:documentation> <xs:element name="dataevento" type="td:datatype" nillable="false"> <xs:documentation>data di attivazione/revoca della CNS</xs:documentation> <xs:element name="esito" type="td:varchar2"> <xs:documentation>numero errori del File</xs:documentation> <!-- ELEMENTO - F I N E --> <!-- CODA - INIZIO--> <xs:element name="reg" type="td:int3" nillable="false"> <xs:documentation>codice Regione numerico</xs:documentation> <!-- DETTAGLIO RIEPILOGO ATTIVAZIONE - INIZIO --> <xs:element name="riepilogoattivazione">
Pag. 18 di 20 <xs:documentation>sezione contenente i resoconti dei record delle Attivazioni</xs:documentation> <xs:element name="recordokattivazione" type="td:string5" nillable="false"/> <xs:element name="recordkoattivazione" type="td:string5" nillable="false"/> <xs:element ref="dettaglioesitoattivazione" minoccurs="0"/> <xs:element name="dettaglioesitoattivazione"> <xs:documentation>elemento contenente i resoconti delle attivazioni</xs:documentation> <xs:element ref="categoriaesitoattivazione" minoccurs="0"/> <xs:element name="categoriaesitoattivazione"> <xs:element name="codesitoattivazione" type="td:int2"/> <xs:element name="numrecesitoattivazione" type="td:int2"/> <!-- DETTAGLIO RIEPILOGO ATTIVAZIONE - F I N E --> <!-- DETTAGLIO RIEPILOGO REVOCA - INIZIO --> <!-- <xs:element name="riepilogorevoca"> <xs:element name="recordokrevoca" type="td:int5" nillable="false"/> <xs:element name="recordkorevoca" type="td:int5" nillable="false"/> <xs:element ref="dettaglioesitorevoca"/> --> <xs:element name="dettaglioesitorevoca"> <xs:element ref="categoriaesitorevoca"/> <xs:element name="categoriaesitorevoca">
Pag. 19 di 20 <xs:element name="codesitorevoca" type="td:int2"/> <xs:element name="numrecesitorevoca" type="td:int2"/> <!-- DETTAGLIO RIEPILOGO REVOCA - F I N E --> <xs:element name="riepilogorevoca_r"> <xs:element name="recordokrevoca" type="td:string5"/> <xs:element name="recordkorevoca" type="td:string5"/> <xs:element ref="dettaglioesitorevoca" minoccurs="0"/> <xs:element name="riepilogorevoca_u"> <xs:element name="recordokrevoca"/> <xs:element name="recordkorevoca"/> <xs:element ref="dettaglioesitorevoca" minoccurs="0"/> <xs:element name="riepilogorevoca_s"> <xs:element name="recordokrevoca" type="td:string5"/> <xs:element name="recordkorevoca" type="td:string5"/> <xs:element ref="dettaglioesitorevoca" minoccurs="0"/> <!-- CODA - FINE--> </xs:schema> 6.2 ESITI DEI CONTROLLI Elenco degli esiti del controllo effettuato su ciascun record della fornitura codice errore descrizione errore 99 elaborazione correttamente effettuata 1 numero TS/CNS formalmente errato 2 numero TS/CNS inesistente 3 data evento formalmente errata 4 data evento successiva alla data di elaborazione
Pag. 20 di 20 codice errore 14 numero TS/CNS assente 15 tipo richiesta assente descrizione errore 18 richiesta di attivazione di TS/CNS già attivata 19 richiesta di revoca di TS/CNS già revocata 20 data evento antecedente alla data di emissione della TS/CNS 21 data evento successiva alla data di scadenza della TS/CNS 22 data revoca antecedente alla data di attivazione della TS/CNS 23 motivo revoca assente 24 tipo richiesta incongruente 25 motivo richiesta incongruente con la richiesta 26 Motivo revoca presente a fronte di comunicazione di attivazione 28 Regione inviate diversa da quella che ha emesso la CNS