Vimetra System  
  Home  
  Area Riservata  
  FAQ  
  Contatti  
  Chi siamo  
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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Eliminare dal nostro server il tracciato XML quando non ti serve piú.

Esempio
  1. 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


  2. 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.

  3. 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


Entra nell'Area Riservata
Area Riservata 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.

Cos'é Vimetra System
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
Nuovi Portali


VicecontiWebServices
Copyright © 1998,2009 Viceconti Web Services S.r.l. (Societá Unipersonale).
Nuovi Portali© é un marchio di proprietá di Viceconti Web Services S.r.l. All Rights Reserved.
Reproduction in whole or in part is strictly prohibited. All trademarks are the property of their respective owners.