La versione aggiornata del file di interscambio consente di caricare una maggiore quantità di dati rispetto alla precedente versione. È stato reso compatibile con le modifiche avvenute con la realizzazione del nuovo sistema BDFC (Banca Dati della Formazione Costruzioni).
I dati necessari minimi da inserire, perché il sistema consenta il caricamento, sono rimasti gli stessi nonostante il sistema online ne richieda altri, tranne che per la residenza dello studente, prima necessaria, ora non più.
Il sistema di analisi del file di interscambio non vincola l'inserimento di dati che una scuola potrebbe non avere, anche se questi sono necessari per chiudere e certificare il corso online. I dati mancanti potranno essere caricati in un successivo momento in maniera manuale.
La struttura completa del file XML da caricare è questa
<?xml version="1.0" encoding="UTF-8"?>
<interscambio version="10">
<corso>
<sys_scuola_id>..</sys_scuola_id>
<scuola_id>..</scuola_id>
<tipo_corso cpt="valore">..</tipo_corso>
<attributi_corso>
<tirocinio>..</tirocinio>
<processo_valutativo>..</processo_valutativo>
<progetto_formedil>..</progetto_formedil>
</attributi_corso>
<nome_corso>..</nome_corso>
<durata>..</durata>
<data_inizio>..</data_inizio>
<data_fine>..</data_fine>
<m_formative>..</m_formative>
<sede>..</sede>
<attestazione>..</attestazione>
<finanziamento>
<canale tipo="valore">..</canale>
<tipologia_fondo_interprof>..</tipologia_fondo_interprof>
<codice>..</codice>
</finanziamento>
<studenti>
<studente>
<cf_provvisorio>..</cf_provvisorio>
<cf>..</cf>
<cittadinanza>..</cittadinanza>
<cognome>..</cognome>
<nome>..</nome>
<sesso>..</sesso>
<nascita>
<stato>..</stato>
<comune>..</comune>
<data>..</data>
</nascita>
<residenza domicilio="valore">
<indirizzo>..</indirizzo>
<comune>..</comune>
<stato>..</stato>
<cap>..</cap>
</residenza>
<domicilio>
<indirizzo>..</indirizzo>
<comune>..</comune>
<stato>..</stato>
<cap>..</cap>
</domicilio>
<contatti>
<telefono>..</telefono>
<cellulare>..</cellulare>
<fax>..</fax>
<email>..</email>
</contatti>
<status>..</status>
<qualifica>..</qualifica>
<impresa>
<soggetto>..</soggetto>
<cassa>..</cassa>
<ccnl>..</ccnl>
<tipologia_impresa>..</tipologia_impresa>
<tip_pa>..</tip_pa>
<denominazione>..</denominazione>
<cf_impresa>..</cf_impresa>
<piva>..</piva>
<sede_legale operativa="valore">
<indirizzo>..</indirizzo>
<comune>..</comune>
<stato>..</stato>
<cap>..</cap>
<telefono>..</telefono>
<fax>..</fax>
<email>..</email>
</sede_legale>
<sede_operativa>
<indirizzo>..</indirizzo>
<comune>..</comune>
<stato>..</stato>
<cap>..</cap>
<telefono>..</telefono>
<fax>..</fax>
<email>..</email>
</sede_operativa>
<referente>
<nominativo>..</nominativo>
<ruolo>..</ruolo>
</referente>
<registro_imprese>..</registro_imprese>
<sito>..</sito>
</impresa>
<ud>
<ud>..</ud>
</ud>
<uc>
<uc>..</uc>
</uc>
<ad>
<ad>..</ad>
</ad>
<frequenza>..</frequenza>
<proc_valutativo>..</proc_valutativo>
</studente>
</studenti>
<ud>
<ud>..</ud>
</ud>
<uc>
<uc>..</uc>
</uc>
<ad>
<ad>..</ad>
</ad>
</corso>
</interscambio>
<interscambio version="10">
È il nodo radice. Può contenere 1 o più corsi. L'attributo version indica la versione del file.
version non è più necessaria: nel nuovo sistema la discriminante è piuttosto l'elemento <validato> se questo è a 1 verranno richiesti come obbligatori più dati, se è a 0 o omesso il file in molti casi sarà processato, ma poi per validare il corso sarà necessario completare manualmente le informazioni.
<corso>
Nodo corso contenente i dati relativi al corso.
<sys_scuola_id> [stringa max. 255 caratteri]
Questo elemento contiene l'identificativo del corso nella banca dati della scuola. Può essere una qualsiasi stringa alfanumerica purché univoca.
Questo dato è indispensabile, poiché nel sistema online sarà l'accoppiata identificativo della scuola - identificativo del corso nel db della scuola ad individuare univocamente il corso consentendo così l'aggiornamento dei dati.
Dal sistema della scuola occorre, perciò, estrarre tale dato e, se non presente, crearne uno ad hoc: il sistema online fermerà il processamento del file xml in mancanza di tale dato.
<scuola_id> [numerico intero senza segno max. 3 cifre]
Il dato scuola_id è l'identificativo della scuola nel sistema online. Tale dato è univoco e verrà fornito ai singoli tecnici durante la fase di implementazione. È necessario per i motivi descritti nell'elemento precedente e il sistema bloccherà il processamento in due casi:
<tipo_corso cpt="valore"> [numerico intero senza segno 7 cifre]
Il valore dell'attributo cpt deve essere impostato a 1 nel caso il corso sia stato effettuato in collaborazione col CPT. Di default il valore impostato è 0 (non effettuato in collaborazione con CPT).
Il dato tipo_corso contiene tutte le informazioni per la categorizzazione del corso. Questo dato è una codifica composta dai singoli valori della triade:
Tale codice è composto da 7 cifre così composte:
ESEMPIO:
Nota: Se il corso è 16 ore il codice da inviare è 1010000
<attributi_corso>
Contiene informazioni aggiuntive riguardanti il corso.
<tirocinio> [numerico intero senza segno con valore 0 o 1]
Indica se per il corso è previsto un tirocinio. Valori possibili: 1 per indicare la presenza di un tirocinio, 0 altrimenti.
<processo_valutativo> [numerico intero senza segno]
Indica la presenza di un processo valutativo al termine di un corso. Il processo valutativo è previsto soltanto in mancanza di Unità di competenza: se sono presenti, il processo valutativo è selezionato in automatico dal sistema.
Per i dettagli e la finalità dell'indicazione del processo valutativo, consultare il vademecum scaricabile dalla banca dati. Valori possibili: 1 per indicare la presenza del processo valutativo, 0 altrimenti.
<progetto_formedil> [numerico intero senza segno]
Il dato progetto FORMEDIL è dinamico e viene generato dal sistema online quando l'operatore FORMEDIL lo inserisce. Va aggiornato perciò di volta in volta. Al momento l'unico progetto formedil presente nel sistema è il "progetto 16 ore" con valore "1".
<nome_corso> [stringa max. 255 caratteri]
Contiene il dato relativo al nome del corso. Tale dato è necessario. Il sistema si bloccherà in questi due casi:
<durata> [numerico intero senza segno]
Rispetto alla prima edizione del file di interscambio, il dato della durata del corso è cambiato da stringa a intero. Devono essere indicate le ore di durata del corso. Tale dato è opzionale nel file di interscambio. Tale dato è necessario nel sistema online.
<data_inizio> [data nel formato ISO-8601]
<data_fine> [data nel formato ISO-8601]
I due dati si riferiscono, com'è evidente, alla data di inizio e alla data di fine del corso.
Il formato dev'essere aaaa-mm-gg: nel caso la data fosse il 16 settembre del 1970, il dato corretto, passato nel file xml, dovrà essere 1970-09-16. Questi due dati sono necessari.
Il sistema bloccherà il parsing nei seguenti casi:
<m_formative> [numerico intero senza segno a 1 cifra]
Il dato si riferisce alla modalità formativa principale di erogazione del corso. È un dato opzionale nel file, ma necessario nel sistema online.
La codifica delle modalità è la seguente:
<sede> [testo]
Indica la sede dove è stato erogato il corso. È un dato opzionale sia nel file che nel sistema.
<attestazione> [numerico intero senza segno a 1 cifra]
Il dato riporta il tipo di attestazione rilasciata alla fine del corso. Esistono le seguenti tipologie già codificate:
È un dato opzionale sia nel file che nel sistema online.
<finanziamento>
Nodo contenente le specifiche del finanziamento del corso. Rispetto al file precedente, il nodo finanziamento non ha più l'attributo "presente" che indicava la presenza o meno del finanziamento.
<canale tipo="valore"> [numerico intero senza segno a 1 cifra]
Dato riguardante il canale del finanziamento. Con la nuova versione è stato introdotto l'attributo per la descrizione del canale di finanziamento:
Il sistema online prevede necessario il dato relativo al canale di finanziamento, pertanto: il dato è opzionale nel file di interscambio, ma è necessario nel sistema online. I valori sono 4 e influiscono sulla necessarietà del dato successivo:
<tipologia_fondo_interprof> [numerico intero senza segno a 1 cifra]
Se il canale di finanziamento è 2: "fondi interprofessionali", è possibile caricare la specifica del canale:
<codice> [stringa max. 255 caratteri]
Dato riguardante il codice del finanziamento. Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online nel caso il valore del canale di finanziamento sia 1 o 2 (Finanziamento pubblico o Fondi interprofessionali).
Nel caso il canale sia di tipo "Autonomo" (e quindi attributo canale = 1) si potrà caricare la stringa del codice; se è di tipo "FORMEDIL" occorre indicare l'identificativo del progetto FORMEDIL.
<ud>
<ud>..</ud>
</ud>
<uc>
<uc>..</uc>
</uc>
<ad>
<ad>..</ad>
</ad>
Questi nodi contengono rispettivamente:
Le codifiche sono visibili nelle schede presenti nella sezione "progettazione formativa".
<studenti>
Nodo degli studenti appartenenti al corso. Può contenere uno o più studenti.
<studente>
Nodo contenente i dati relativi al singolo studente.
<cf_provvisorio> [numerico intero senza segno]
Indica se il codice fiscale trasmesso è un codice fiscale provvisorio. Indicare 1 se codice fiscale provvisorio, 0 altrimenti. Di default viene interpretato come 0.
<cf> [stringa max. 16 caratteri]
Dato relativo al codice fiscale. Tale dato è necessario e deve, ovviamente, essere univoco. Il sistema bloccherà il parsing per i seguenti errori:
Il sistema bloccherà il parsing nel caso il codice fiscale sia già presente nel database ma il nome e il cognome siano diversi.
Dal dato del codice fiscale verranno automaticamente ricavati anche i dati relativi a sesso, data di nascita e luogo di nascita. Nel caso il sistema trovasse un'occorrenza del codice fiscale nel database, procederà all'aggiornamento di tutti i dati opzionali legati allo studente.
<cittadinanza> [stringa max 4 caratteri]
È stato introdotto il dato relativo alla cittadinanza. Lo stato di cittadinanza dev'essere codificato tramite il sistema del codice catastale. (Es. Z100 = Albania). Ci sono due eccezioni:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<cognome> [stringa max. 255 caratteri]
<nome> [stringa max. 255 caratteri]
Dati relativi al cognome e al nome dello studente. Tali dati sono necessari. Il sistema bloccherà il parsing in mancanza di questi dati.
<sesso> [carattere singolo: M o F]
Dato relativo al sesso dello studente. Prevede M per maschio, F per femmina. È un dato necessario solo nel file di interscambio 3.
<nascita>
Questo è un nodo nuovo e contiene i dati relativi alla nascita dello studente.
<stato> [stringa]
Dato relativo allo stato di nascita dello studente. Occorre utilizzare la codifica dello stato adottata nel codice fiscale. (Es. Z100 = Albania).
In alternativa, con il nuovo sistema della banca dati è stato realizzata una procedura di riconoscimento della stringa: in molti casi, il nome dello stato può essere riconosciuto correttamente. Tuttavia, l'utilizzo del codice catastale assicura una corrispondenza del 100%. Il dato è necessario solo nel file di interscambio 3.
<comune> [stringa]
Il dato del comune dev'essere codificato col sistema del codice catastale, (1 lettera e 3 numeri. Es. A001 = Abano Terme).
In alternativa, con il nuovo sistema della banca dati è stato realizzata una procedura di riconoscimento della stringa: in molti casi, il nome del comune può essere riconosciuto correttamente. Tuttavia, l'utilizzo del codice catastale assicura una corrispondenza del 100%. Il dato è necessario solo nel file di interscambio 3.
<data> [data nel formato ISO-8601]
Il dato si riferisce alla data di nascita dello studente. Il formato dev'essere aaaa-mm-gg: nel caso la data fosse il 16 settembre del 1973, il dato corretto, passato nel file xml, dovrà essere 1973-09-16. Il dato è necessario solo nel file di interscambio 3.
<residenza domicilio="valore"> [valore = numerico intero senza segno a 1 cifra]
Nel caso i dati relativi a residenza e domicilio siano gli stessi, occorre impostare il valore dell'attributo domicilio a 0. I valori permessi sono perciò:
In caso di assenza del valore dell'attributo, il sistema interpreterà tale mancanza come valore 0.
<indirizzo> [stringa max. 255 caratteri]
Indirizzo dello studente. Tale dato è opzionale.
<comune> [stringa max 4 caratteri]
Il dato del comune dev'essere codificato col sistema del codice catastale, (1 lettera e 3 numeri. Es. A001 = Abano Terme). Il dato è opzionale.
<stato> [stringa max 4 caratteri]
Anche qui occorre utilizzare la codifica dello stato adottata nel codice fiscale. (Es. Z100 = Albania). Il dato è opzionale.
<cap> [stringa a 5 caratteri]
Dato relativo al CAP. Il dato è opzionale.
Per brevità non si tratteranno in dettaglio i dati del nodo domicilio, essendo simili in tutto e per tutto a quelli della residenza. Si fa presente soltanto che in caso di valore impostato a 0 per l'attributo domicilio del nodo residenza, gli elementi del nodo domicilio non verranno parsati.
<contatti>
Nodo contatti: contiene i contatti dello studente.
<telefono> [stringa max 20 caratteri]
<cellulare> [stringa max 20 caratteri]
<fax> [stringa max 20 caratteri]
<email> [stringa max 50 caratteri]
I dati relativi ai contatti sono opzionali.
<status> [numerico intero senza segno a 1 cifra]
Lo status indica la situazione lavorativa dello studente. I casi possibili sono:
Per i corsi 16 ore è stato scelto di impostare come valore di default "inoccupato": se non sarà indicato un valore diverso, il sistema interpreterà l'assenza di dato come valore 5: inoccupato. Per tutte le altre tipologie di corso, invece, è stato scelto di impostare il valore di default a occupato, perciò, in mancanza di tale dato, il sistema interpreterà l'assenza come 1: occupato.
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<qualifica> [numerico intero senza segno a 1 cifra]
La qualifica è un dato richiesto soltanto nel caso lo status sia impostato a 1: occupato; non lo è in tutti gli altri casi. I valori disponibili sono:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online solo nel caso lo status sia 1:occupato.
<frequenza> [numerico intero senza segno a 1 cifra]
Il dato è relativo alla frequenza dello studente al corso. I valori possibili sono 3:
<proc_valutativo> [numerico intero senza segno a 1 cifra]
Il dato è relativo al superamento del processo valutativo se previsto per il corso. I valori possibili sono 1 per superato, 0 altrimenti. Di default è 0.
<impresa>
Nodo dell'impresa associata allo studente. Può contenere una sola impresa. Per la gerarchia dei dati relativi alle imprese, potete scaricare la mappa e l'elenco dei valori.
Nel caso in cui l'impresa sia estera impostare l'attributo "estera" ad 1:
<impresa estera="1">
<soggetto> [numerico intero senza segno a 1 cifra]
I valori ammissibili sono 4:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<cassa> [numerico intero senza segno max 3 cifre]
Il dato è richiesto solo se l'impresa è un'impresa edile (soggetto = 1: edile). Indica se l'impresa è iscritta ad una cassa e quale. Per l'elenco dei valori possibili (21), vedere il pdf indicato nella descrizione del nodo impresa. Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<ccnl> [numerico intero senza segno a 1 cifre]
Il dato è richiesto solo se l'impresa è un'impresa edile (soggetto = 1: edile). Indica il CCNL applicato. I valori ammissibili sono 4:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<tipologia_impresa> [numerico intero senza segno a 1 cifre]
Il dato è richiesto solo se l'impresa è un'impresa edile (soggetto = 1: edile). Indica la tipologia aziendale. I valori ammissibili sono 4:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<tip_pa> [numerico intero senza segno a 1 cifre]
Il dato è richiesto solo se il soggetto indicato è 3: pubblica amministrazione. Indica la tipologia di pubblica amministrazione. I valori ammissibili sono 2:
Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
<denominazione> [stringa max. 255 caratteri]
È il nome dell'impresa. Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online.
NOTA: In XML non è possibile utilizzare i caratteri speciali come & e lettere accentate. Occorre trasformarli nella codifica HTML: per una ditta di nome "Rossi & soci" il dato dovrà essere:
Rossi & soci
<cf_impresa> [stringa max. 16 caratteri]
È il codice fiscale dell'impresa. Il dato è necessario sia nel file di interscambio (se è presente la denominazione dell'impresa) che nel sistema online.
<piva> [stringa max. 11 caratteri]
È la partita iva dell'impresa. Il dato è necessario sia nel file di interscambio (se è presente la denominazione dell'impresa) che nel sistema online.
<sede_legale operativa="valore">
È il nodo contenente le informazioni relative alla sede legale dell'impresa. Nel caso i dati della sede legale coincidano con quelli della sede operativa, occorre impostare il valore dell'attributo operativa a 0. I valori permessi sono perciò 0: corrispondente a sede operativa, 1: diverso da sede operativa.
In caso di assenza del valore dell'attributo, il sistema interpreterà tale mancanza come valore 0.
<indirizzo> [stringa max. 255 caratteri]
Indirizzo della sede legale dell'impresa. Il dato è opzionale sia nel file di interscambio che nel sistema online.
<comune> [stringa max 4 caratteri]
Comune della sede legale dell'impresa. Il dato del comune dev'essere codificato col sistema del codice catastale, (1 lettera e 3 numeri. Es. A001 = Abano Terme). Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online ai fini del monitoraggio.
<stato> [stringa max 4 caratteri]
Anche qui occorre utilizzare la codifica dello stato adottata nel codice fiscale. (Es. Z100 = Albania). Il dato è opzionale nel file di interscambio, ma è necessario nel sistema online ai fini del monitoraggio.
<cap> [stringa 5 caratteri]
Dato relativo al CAP. Il dato è opzionale sia nel file di interscambio che nel sistema online.
<telefono> [stringa max 20 caratteri]
<fax> [stringa max 20 caratteri]
<email> [stringa max 20 caratteri]
Questi dati sono opzionali sia nel file di interscambio che nel sistema online.
Tag <sedi_operative>:
Ogni impresa può aver indicato da 0 ad N sedi operative differenti. Per questo motivo e’ stato creato il nodo padre di nome “sedi_operative” il quale puo aver presenti da 1 ad N nodi “sede_operativa“.
Nel caso la sede operativa venga indicata, i campi indirizzo, comune e stato sono obbligatori.
Per brevità non si tratteranno in dettaglio i dati del nodo sede_operativa, essendo simili in tutto e per tutto a quelli della sede_legale. Si fa presente soltanto che in caso di valore impostato a 0, per l'attributo operativa del nodo sede_legale, i figli del nodo sede_operativa non verranno parsati. Tutti i dati del nodo sede_operativa sono opzionali sia nel file di interscambio che nel sistema online.
<referente>
<nominativo> [stringa max 255 caratteri]
<ruolo> [stringa max 255 caratteri]
</referente>
Nodo contenente i dati relativi al referente dell'impresa.
<nominativo> [stringa max 255 caratteri]
Contiene nome e cognome del referente aziendale. Il dato è opzionale sia nel file di interscambio che nel sistema online.
<ruolo> [stringa max 255 caratteri]
Indica il ruolo del referente aziendale. Il dato è opzionale sia nel file di interscambio che nel sistema online.
<registro_imprese> [stringa max 255 caratteri]
Contiene il numero di registrazione al registro delle imprese. Il dato è opzionale sia nel file di interscambio che nel sistema online.
<sito> [stringa max 255 caratteri]
Contiene l'eventuale sito internet dell'impresa. Il dato è opzionale sia nel file di interscambio che nel sistema online.
Il sistema blocca il parsing in seguito a precisi errori incontrati al caricamento del file:
In più, per la versione 3 del file:
Se per l'impresa è indicata una denominazione, allora il sistema può restituire questi errori:
Rispetto al vecchio file di interscambio le modifiche sono le seguenti:
Attribubuto version del tag <interscambio> deve essere impostato a 10 per poter caricare usando il webservice
Tag <validato> puo aver due valori:
Il dato non è obbligatorio ma, se non specificato, viene assunto come “0″, quindi il corso viene caricato come non validato (cioè come avviene attualmente nel file di interscambio).