Come creare un tracciato XML
del tipo "MOVIMENTI" estraendo i dati dal proprio database aziendale |
Per creare un tracciato XML del tipo "MOVIMENTI", prelevando i dati dal vostro database aziendale di tipo relazionale basato su SQL, bisogna eseguire le seguenti operazioni:
- I dati devono essere estratti dal database aziendale
e salvati in un file che deve essere chiamato dati.txt (vedi esempio seguente). Se il file ha una diversa denominazione non viene accettato dal server. Ogni riga del documento in
formato testo deve riportare i dati di un record, separati da punto e virgola,
(;), come nell'esempio seguente:
1234;D;T;DC;7890;D;25;06;2005;17;36;45;246;A;234;A;123456789;2552;26;06;2010;150;2500
1235;D;T;DC;7891;D;25;06;2005;17;36;45;246;A;234;A;123456785;2552;20;08;2011;160;2300
I tipi di dati riportati nelle righe precedenti sono i seguenti:
id_dest ; tipo_d ; tipo_tr ; tipo_mov ; DDT ; t_doc ; giorno di trasmissione ; mese ; anno ; ora ; minuto ; secondo ;
id_comm ; tipo_comm ; id_int_fatt ; tipo_i_f ; cod ; lot ; giorno di scadenza ;
mese di scadenza ; anno di scadenza ; qta ; val
Nell'immagine sottostante sono descritti visivamente i tipi di dati che deve contenere ogni riga del file dati.txt.
Anche questa funzione esegue i controlli automatici incrociati per il rilevamento dei piú frequenti errori di compilazione, segnalando il numero della riga del file dati.txt in cui l'errore viene rilevato. In questo caso l'errore puó essere corretto direttamente sul file dati.txt, il quale, dopo la correzione, dovrá essere ricaricato sul server. Perché venga rilevata la maggior parte degli errori che renderebbero il tracciato XML non valido e quindi scartabile da parte del N.S.I.S., occorre che ogni riga del file dati.txt contenga 22 punti e virgola (;), anche se, in qualche caso, tra un punto e virgola quello successivo non c'é alcun dato. Infatti, alcuni tipi di dati possono essere omessi. In questo caso, peró, lo spazio tra i due punti e virgola che dovrebbero contenerli devono essere lasciati vuoti.
- Nel menú delle opzioni, presente nella pagina d'ingresso della propria area riservata, cliccare sulla dicitura: "Carica i dati in formato testo sul server per la creazione di un tracciato XML del tipo "MOVIMENTI" (per utenti esperti)" .
Cercare il file dati.txt sul proprio computer cliccando sul pulsante "Sfoglia.." e, una volta localizzato, cliccare sul pulsante "Carica il file dei dati" Quando si carica un nuovo file dati.txt si sovrascrive quello esistente, in modo che sul server sia presente sempre un solo file dati.txt.
- Nel menú delle opzioni cliccare sulla dicitura: "Crea un nuovo tracciato XML del tipo "MOVIMENTI" con i dati contenuti nel file dati.txt (per utenti esperti)" e riempire i campi del modulo che viene presentato con i dati richiesti. Infine, cliccare sul pulsante "Crea il tracciato XML"
Prima di dare al server il comando di creazione del tracciato XML, cliccando sull'apposito pulsante
"Crea il tracciato XML", bisogna ricordarsi di aggiornare il file dati.txt sul server, altrimenti il sistema creerá
un nuovo tracciato utilizzando i dati che troverá sul vecchio file dati.txt,
che potrebbe essere un file di dati caricato nei giorni precedenti. Dopo aver cliccato sul pulsante
'Crea il tracciato XML' potrebbero occorrere anche diversi minuti, a seconda della quantitá dei dati caricati sul server,
prima che il tracciato venga completato. Attendere fino a che il server non dá la comunicazione dell'avvenuta creazione del tracciato.
- Nel menú delle opzioni cliccare sulla dicitura: "Ottieni l'elenco dei tracciati XML del tipo "MOVIMENTI" creati da te (dal file dati.txt) e conservati nel database" e poi sul pulsante color arancione con la dicitura "Ottieni l'elenco dei tracciati XML del tipo "MOVIMENTI". Ti verrá presentato l'elenco di tutti i tracciati ottenuti dai file di testo denominati dati.txt, tra cui quello appena creato.
- Scaricare, come un qualsiasi altro file, sul tuo computer, il tracciato XML creato sul nostro server
e trasmetterlo, o via Internet, o come allegato di posta elettronica, al N.S.I.S.
- Eliminare dal nostro server il tracciato XML quando non ti serve piú.
Esempio
- Facciamo un esempio concreto. Nel vostro database aziendale avete una tabella con i seguenti campi, solo alcuni dei quali, quelli che servono per il vostro tracciato xml, sono valorizzati (N.B. Ogni riferimento a dati reali é del tutto casuale). Nel database reale i campi possono avere denominazioni diverse ed essere ordinati in modo diverso ma devono esserci tutti. Il formato dei dati deve essere quello che si vede nella tabella sottostante.
id_dest |
tipo_d |
tipo_tr |
tipo_mov |
DDT |
t_doc |
giorno_tr |
mese_tr |
anno_tr |
ora_tr |
minuto_tr |
secondo_tr |
id_comm |
tipo_comm |
id_int_fatt |
tipo_i_f |
cod |
lot |
giorno_scad |
mese_scad |
anno_scad |
qta |
val |
0125342 |
Z |
T |
VI |
4563 |
D |
04 |
07 |
2008 |
08 |
05 |
32 |
|
|
|
|
874563425 |
152B4 |
12 |
12 |
2010 |
4 |
|
7071202 |
Z |
T |
VI |
4564 |
D |
04 |
07 |
2008 |
|
|
|
|
|
|
|
874563425 |
152B4 |
12 |
12 |
2010 |
5 |
1025.00 |
7071202 |
Z |
T |
VI |
4564 |
D |
04 |
07 |
2008 |
|
|
|
|
|
|
|
634529987 |
65CC87 |
25 |
07 |
2012 |
5 |
|
3223220 |
Z |
T |
VI |
4565 |
D |
04 |
07 |
2008 |
|
|
|
|
|
|
|
095764554 |
XF56TY |
30 |
08 |
2012 |
6 |
|
3226720 |
Z |
T |
VI |
4560 |
D |
05 |
07 |
2008 |
|
|
|
|
|
|
|
837465344 |
89YU78HK |
27 |
02 |
2009 |
3 |
|
- Ponete la seguente query SQL al database:
SELECT id_dest, tipo_d, tipo_tr, tipo_mov, DDT, t_doc, giorno_tr, mese_tr, anno_tr, ora_tr, minuto_tr, secondo_tr, id_comm, tipo_comm, id_int_fatt, tipo_i_fatt, cod, lot, giorno_scad, mese_scad, anno_scad, qta, val FROM farmaci.dati WHERE giorno_tr='04' AND mese_tr='07' AND anno_tr='2008' INTO OUTFILE '/home/user/mysql/dati.txt' FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' |
I dati selezionati (id_dest, tipo_d,tipo_tr,ecc.) possono avere denominazioni diverse ma devono essere inseriti nella query nell'ordine indicato. Nell'esempio si suppone che esista un database denominato farmaci contenente una tabella denominata dati.
- Il programma che amministra il vostro database relazionale SQL produrrá un file denominato dati.txt (pronto per essere usato come nella procedura spiegata nei punti da a a f), nella cartella /home/user/mysql (ovviamente puó essere specificato un qualsiasi altro altro percorso in cui l'utente del database abbia il permesso di scrittura). Il contenuto del file sará il seguente:
0125342;Z;T;VI;4563;D;04;07;2008;08;05;32;;;;;874563425;152B4;12;12;2010;4;
7071202;Z;T;VI;4564;D;04;07;2008;;;;;;;;874563425;152B4;12;12;2010;5;1025.00
7071202;Z;T;VI;4564;D;04;07;2008;;;;;;;;634529987;65CC87;25;07;2012;5;
3223220;Z;T;VI;4565;D;04;07;2008;;;;;;;;095764554;XF56TY;30;08;2012;6;
|
Come potete notare, sono stati inseriti nel file di testo solo i dati relativi al 4 luglio 2008, perció manca l'ultima riga che contiene dati del 5 luglio 2008.
Nome Campo |
Descrizione Funzionale |
Informazioni di Dominio |
id_dest |
Indica l'ID del Sito Logistico del
Destinatario |
Obbligatorio solo per alcune
tipologie di destinatario.
Puó essere omesso se il tipo
destinatario é 'U' (uscita dal
canale distributivo) o 'Z'
(altra destinazione non
codificata).
Se valorizzato, le regole di
attribuzione
dell'identificativo sono
riportate nelle specifiche del N.S.I.S. |
tipo_d |
Indica il tipo di anagrafica del
destinatario cui l'id_dest afferisce |
Obbligatorio
Valori di riferimento nella
tabella di codifica. |
tipo_tr |
Indica il Tipo di Trasmissione
effettuata. In caso di trasmissione
(inserimento) viene inserito un
nuovo record nella banca dati; in
caso di rettifica (modifica) vengono
aggiornati i dati precedentemente
trasmessi, univocamente
individuati tramite i campi chiave. |
Obbligatorio
T = Trasmissione
R = Rettifica
E = Errore |
tipo_mov |
Indica il Tipo di Movimento
effettuato, ovvero se il movimento
é una vendita, una distruzione di
bollini, una riclassificazione dei
bollini etc |
Obbligatorio
Valori di riferimento nella
tabella di codifica. |
DDT |
Indica il codice Documento di
Trasporto emesso dal Mittente, o
documento equivalente. |
Non previsto per alcune
tipologie di causale di
movimento.
Ove previsto si prevede una
lunghezza massima di 10
caratteri. |
t_doc |
Indica il tipo di documento di
trasporto |
Obbligatorio.
Puó assumere i valori
riportati nell'allegato G dell'apposita tabella. |
giorno_tr
mese_tr
anno_tr
|
Questi campi formano la Data di trasmissione (d_tr) (in pratica la data del DDT). Il sistema la compone utilizzando i dati di:
- giorno_tr = giorno della trasmissione
- mese_tr = mese della trasmissione
- anno_tr = anno della trasmissione
|
Obbligatorio.
In caso sia previsto il DDT o
documento equivalente per il
tipo movimento oggetto della
trasmissione, tale data puó
essere la data di emissione
del documento. Il sistema crea questo dato combinando, nella forma convenzionale richiesta, il giorno ,il mese e l'anno di trasmissione. |
ora_tr
minuto_tr
secondo_tr
|
Questi campi formano l'Ora di trasmissione (h_tr). Il sistema la compone utilizzando i dati di:
- ora_tr = ora della trasmissione
- minuto_tr = minuto della trasmissione
- secondo_tr = secondo della trasmissione
|
Obbligatorio solamente nel
caso in cui il campo DDT non
venga valorizzato. In questi
casi, puó essere utilizzata
l'ora di sistema al momento
della creazione del tracciato.
In caso sia previsto il DDT o
documento equivalente per il
tipo movimento oggetto della
trasmissione, l'ora non é
obbligatoria, ma ,se
valorizzata, puó essere l'ora
di emissione del documento. Il sistema crea questo dato combinando, nella forma convenzionale richiesta, l'ora, il minuto e il secondo di trasmissione. |
id_comm |
Indica l'ID del sito Logistico del
Committente dell'Ordine |
ID del sito logistico fornito
dal Ministero della Salute.
Questo ID é omesso qualora
si faccia riferimento ad una
vendita non a SSN. |
tipo_comm |
Indica il tipo di anagrafica del
committente dell'ordine cui
l'id_comm afferisce |
Valori di riferimento nella
tabella di codifica "Alleg. E Tipo
Comm/Int Fatt"
Questo valore é omesso
qualora si faccia riferimento
ad una vendita non a SSN. |
id_int_fatt |
Indica l'ID del sito Logistico
dell'Intestatario della Fattura |
ID del sito logistico fornito
dal Ministero della Salute.
Questo ID é omesso qualora
si faccia riferimento ad una
vendita non a SSN.
|
tipo_i_f |
Indica il tipo di anagrafica
dell'intestatario della fattura
dell'ordine cui l'id_int_fatt
afferisce |
Questo valore é omesso
qualora si faccia riferimento
ad una vendita non a SSN |
cod |
Indica il codice dell'Autorizzazione
Immissione in Commercio del
medicinale. |
Obbligatorio
Codice costituito da 9 cifre |
lot |
Indica il numero del Lotto di
produzione del medicinale |
Non obbligatorio solo per i
grossisti |
giorno_scad
mese_scad
anno_scad
|
Questi campi formano la data di scadenza del
medicinale (d_scad). Il sistema la compone utilizzando i dati di:
- giorno_scad = giorno di scadenza
- mese_scad = mese di scadenza
- anno_scad = anno di scadenza
|
Non obbligatorio solo per i
grossisti. Il sistema crea questo dato combinando, nella forma convenzionale richiesta, giorno,
mese e anno di scadenza. |
qta |
Indica la Quantitá delle confezioni
che vengono spedite in quella data
trasmissione |
Obbligatorio |
val |
Indica il valore della fornitura a
SSN comprensivo d'IVA, riferito
all'AIC in oggetto. Rappresenta
quindi il valore totale per AIC (non
del singolo pezzo)
Questo campo si riferisce solo alle
forniture a SSN. |
Opzionale |
|
|
Se sei abbonato a Vimetra System, o stai effettuando la prova gratuita,
clicca qui per entrare nell'Area Riservata ed utilizzare tutti i servizi
di Vimetra System. |
|
|
Vimetra System é la piattaforma, potente e versatile, progettata da noi, che ti permette di creare in modo semplice,
dal tuo computer, i documenti in formato XML richiesti dal N.S.I.S. (Nuovo Sistema Informativo Sanitario) del Ministerlo della Salute, nell'ambito del progetto di tracciabilitá del farmaco. |
|
|
Powered by
|
|