#acl All:read <> = Gestione delle anagrafiche delle Autorizzazioni detenzione Scorta e veterinari responsabili = Sezione relativa alle funzionalità per il caricamento massivo delle anagrafiche delle Autorizzazioni detenzione Scorta e Veterinari responsabili o loro delegati. == Anagrafiche Scorte Allevamento, Strutture e Veterinario == === Import da CSV === Il Sistema Informativo della Farmacosorveglianza permette di caricare massivamente le anagrafiche delle scorte in allevamento e le scorte proprie del veterinario attraverso un apposito file in formato CSV. Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''aziendaCodice''' ||'''personeIdFiscale''' ||'''strutturaCodice''' ||'''scortaNumAutorizzazione''' ||'''scortaDtInizio''' ||'''aslCodice''' ||'''scortaFlDerogaFornitura''' || ||ALLEVAMENTO ||041TE001 ||RVRCRL62S29D969F || ||TESTCSVALLEV ||01-07-2016 || ||N || ||PROPRIA || ||SCCLDA40R10H811F || ||TESTCSVPROP ||02-07-2016 ||P106 ||N || ||STRUTTURA || || ||RI-AG000060 ||TESTCSVSTRUTTURA ||02-07-2016 || ||N || Descrizione dei campi previsti dal file in formato CSV (in '''grassetto '''i campi obbligatori): * '''tiposcortaCodice''': tipologia della scorta; * '''ALLEVAMENTO''': Scorta dell'allevamento; * '''STRUTTURA''': Scorta della Struttura non Zootecnica (Ospedale Veterinario, Canile, Ambulatorio Veterinario, ecc...); * '''PROPRIA''': Scorta del veterinario. * '''aziendaCodice''': ('''obbligatorio se tiposcortaCodice = ALLEVAMENTO''')''' '''codice dell’azienda zootecnica per la quale si sta autorizzando la scorta; * '''strtutturaCodice''': ('''obbligatorio se tiposcortaCodice = STRUTTURA''')''' '''codice della struttura non zootecnica per la quale si sta autorizzando la scorta; * '''personeIdFiscale''': dipende dal valore di tiposcortaCodice, se: * '''ALLEVAMENTO '''(CF/PIVA) del proprietario dell'azienda zootecnica * '''PROPRIA''': Codice Fiscale del Veterinario. * '''scortaNumAutorizzazione''': numero di autorizzazione alla detenzione della scorta; * '''scortaDtInizio''': data di autorizzazione della scorta; * scortaFlDerogaFornitura: indica se per l'allevamento, struttura o veterinario non si vuole la privacy sulle ricette; * '''N''': per la visualizzazione e accesso alla ricetta, da parte del farmacista od operatore OSM, sono sempre richiesti codice e PIN; valorizzazione di default se tale campo/colonna non fosse valorizzata; * '''S''': per la visualizzazione e accesso alla ricetta non è richiesto il PIN, è possibile cercare e accedere alla ricetta tramite il codice azienda o id fiscale del proprietario degli animali. * '''aslCodice''': asl di appartenza del Veterinario. E' necessario solo nel caso di tiposcortaCodice "PROPRIA", per identificare a quale ASL associare la scorta. Per gli allevamenti non è necessario, in quanto è un'informazione già presente in BDN. '''Attenzione''': nel file CSV non devono essere modificati i nomi (intestazioni) delle colonne. Fare attenzione alle minuscole e alle maiuscole. L'ordine delle colonne può essere variato. ==== Esempio file CSV scorta propria (Veterinario) ==== Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''personeIdFiscale''' ||'''scortaNumAutorizzazione''' ||'''scortaDtInizio''' ||'''aslCodice''' ||'''scortaFlDerogaFornitura''' || ||PROPRIA ||SCCLDA40R10H811F ||AP45 ||02-07-2016 ||P106 ||N || ||PROPRIA ||SCNMRC69E22E058V ||TE12 ||02-07-2016 ||P110 ||N || ==== Esempio file CSV scorta Allevamento Zootecnico ==== Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''aziendaCodice''' ||'''personeIdFiscale''' ||'''scortaNumAutorizzazione''' ||'''scortaDtInizio''' ||'''scortaFlDerogaFornitura''' || ||ALLEVAMENTO ||041TE001 ||RVRCRL62S29D969F ||XY67 ||01-07-2016 ||N || ||ALLEVAMENTO ||011TE001 ||00060330677 ||XX123 ||01-05-2013 ||N || ==== Esempio file CSV scorta Struttura non zootecnica ==== Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''strutturaCodice''' ||'''scortaNumAutorizzazione''' ||'''scortaDtInizio''' ||'''scortaFlDerogaFornitura''' || ||STRUTTURA ||RI-AG000060 ||AG56 ||02-07-2016 ||N || ||STRUTTURA ||RI-AG000160 ||AG34 ||01-08-2015 ||N || ==== Template file CSV ==== E' possibile scaricare il file in formato CSV di esempio (da poter utilizzare come template vuoto da compilare) direttamente dall'applicativo, nel seguente modo: 1. accedere alla sezione "Autorizzazione Detenzione Scorta" e cliccare su uno dei pulsanti posti in fondo alla pagina: 1. cliccare sul pulsante "Download template CSV". Step 1 {{attachment:anagrafica_scorta_1.jpg}} Step 2 {{attachment:anagrafica_scorta_2.jpg}} Logica di elaborazione ATTENZIONE: La logica di elaborazione del tracciato CSV è di tipo “transazionale”, e prevede quindi che in caso di errori tutti i dati inviati vengano scartati. === Gestione tramite servizio REST/JSON === Di seguito le specifiche per la cooperazione applicativa attraverso i servizi WEB REST/JSON messi a disposizione. ==== Ricerca ==== Il sistema offre un metodo REST per la ricerca: * '''/lov/scortaronly/ws/search/''' (dove varia in base all'ambiente: test o produzione). ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: x-www-form-urlencoded Accept: application/json }}} ===== Tracciato di input ===== Di seguito la descrizione dei campi da inviare. Il risultato della ricerca è "paginato": il risultato della ricerca viene restituito in N pagine da X righe. Il numero massimo "x" di righe da restituire per pagina (gruppo di risultati) e la pagina da visualizzare vengono pilotati da chi invoca il servizio di ricerca, quindi i seguenti campi sono obbligatori: * '''page''': pagina ritornata dalla ricerca (nella prima invocazione del servizio tale campo è da valorizzare con il valore "1") | Numerico; * '''rows''': numero massimo di righe tornate dalla ricerca (valore compreso tra 1 e 100) | Numerico. Si seguito la descrizione dei campi dell'entita '''scortaronly''' gestiti in input/output: * '''lovscortaId''': id del record | Numerico; * '''scortaNumAutorizzazione''': numero di autorizzazione alla scorta | Stringa; * '''scortaDtInizio''': data di inizio validità della scorta | Stringa (formato dd-mm-aaaa); * '''scortaDtFine''': data di fine validità della scorta | Stringa (formato dd-mm-aaaa); * '''aziendaCodice''': codice dell'azienda zootecnica a cui fa riferimento la scorta | Stringa; * '''propIdFiscale''': ID fiscale (Codice o P.IVA) del proprietario dell'azienda zootecnica a cui fa riferimento la scorta | Stringa; * '''tiposcortaCodice''': tipologia della scorta | Stringa; possibili valori: * '''STRUTTURA''': Scorta della Struttura non Zootecnica; * '''SCORFITT''': Registro delle rimanenze della struttura zootecnica senza scorta; * '''PROPRIA''': Scorta del veterinario; * '''DETENTORE''': Scorta del detentore; * '''ALLEVAMENTO''': Scorta per allevamento. * '''scortaFlDerogaFornitura''': indica se per l'allevamento, struttura o veterinario non si vuole la privacy sulle ricette | Stringa: * '''N''': per la visualizzazione e accesso alla ricetta, da parte del farmacista od operatore OSM, sono sempre richiesti codice e PIN; * '''S''': per la visualizzazione e accesso alla ricetta non è richiesto il PIN, è possibile cercare e accedere alla ricetta tramite il codice azienda o id fiscale del proprietario degli animali. * '''strutturaCodice''': codice della Struttura non Zootecnica a cui fa riferimento la scorta | Stringa; * '''vetPersIdFiscale''': ID fiscale (Codice o P.IVA) del veterinario a cui fa riferimento la scorta | Stringa; * '''aslCodice''': Codice dell'ASL a cui fa riferimento la scorta (obbligatorio se tiposcortaCodice = PROPRIA) | Stringa; ===== Esempio di interrogazione ===== {{{#!highlight page:1 rows:50 aziendaCodice:001TE001 }}} ===== Tracciato di output ===== {{{#!highlight { "result": null, "data": { "total": 1, "page": 1, "records": 29, "rows": [...] } } }}} Di seguito la descrizione dei campi: * '''total''': numero totale di pagine; * '''page''': pagina che si sta interrogando; * '''records''': numero totale di records; * '''rows''': elementi di scortaronly; ==== Import ==== Il Sistema Informativo della Farmacosorveglianza permette di gestire le anagrafiche delle scorte in allevamento e le scorte proprie del veterinario attraverso un apposito servizio REST/JSON. I campi previsti dal tracciato JSON sono gli stessi del file in formato CSV. Viene di seguito riportato l'esempio tracciato dati JSON da utilizzare: {{{#!highlight json [ { "tiposcortaCodice": "ALLEVAMENTO", "aziendaCodice": "039TE508", "personeIdFiscale": "DNGVNI59B48B515B", "scortaNumAutorizzazione": "TESTJSON", "scortaDtInizio": "24-01-2017", "aslCodice": "", "scortaFlDerogaFornitura": "N" }, { "tiposcortaCodice": "PROPRIA", "aziendaCodice": "", "personeIdFiscale": "TSCTNN57A17E058B", "scortaNumAutorizzazione": "TESTJSON1", "scortaDtInizio": "24-01-2017", "scortaFlDerogaFornitura": "N", "aslCodice": "F118" }, { "tiposcortaCodice": "STRUTTURA", "strutturaCodice": "RS-AG000052", "scortaNumAutorizzazione": "STRUTACNINA", "scortaDtInizio": "24-01-2017", "scortaFlDerogaFornitura": "N", "aslCodice": "" } ] }}} ===== URL del servizio REST ===== Il servizio REST JSON è esposto al seguente URL (endpoint): * '''/autorizzazione/detenzione/ws/insert/''' (dove varia in base all'ambiente: test o produzione) ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: application/json Accept: application/json }}} ===== Autenticazione ===== Le modalità di autenticazione per l'invocazione dei servizi REST sono descritte nell'apposito paragrafo della sezione del manuale con le informazioni base e tecnologie adottate dal Sistema Informativo Nazionale della Farmacosorveglianza per l'integrazione con i sistemi esterni, accedibile tramite il seguente URL: [[farmaco/help/integrazione]] ===== Tracciato di output ===== {{{#!highlight json { "result": { "1": { "errors": [{ "field": "", "message": "...", "errorCode": "common.unknownerror" }], "errorType": null, "elencoCodici": null, "errore": } }, "data": null } }}} Viene di seguito riportata la descrizione dei due campi del JSON restituito: * '''data''': lista di elementi che non hanno problemi nella registrazione della fornitura; * '''result''': in questo campo, di tipo json, verranno collezionati i vari errori contenuti nei singoli elementi dell'array di importazione: * tale item è “null” se non si sono verificati errori; * nel caso in cui nel corso dell'elaborazione si fossero verificati errori, la chiave del json corrisponde all'errore avvenuto nell'i-esimo elemento inviato nel caso documentato l'errore è relativo all'elemento di indice i nel json di input. Logica di elaborazione ATTENZIONE: La logica di elaborazione del tracciato JSON inviato al servizio REST è di tipo “transazionale”, e prevede quindi che in caso di errori tutti i dati inviati vengano scartati. ==== Update ==== Viene di seguito riportato l'esempio tracciato dati JSON da utilizzare: Esempio aggiornamento scorta struttura: {{{#!highlight json { "lovscortaId": 1932228, "scortaNumAutorizzazione": "012/2018-1", "scortaDtInizio": "15-04-2018", "scortaDtFine": null, "tiposcortaCodice": "STRUTTURA", "scortaFlDerogaFornitura": "N", "strutturaCodice": "SV-200CA000790" } }}} Esempio aggiornamento scorta allevamento: {{{#!highlight json { "lovscortaId": 6432, "scortaNumAutorizzazione": "PROVA-UP", "scortaDtInizio": "15-04-2018", "scortaDtFine": null, "tiposcortaCodice": "ALLEVAMENTO", "scortaFlDerogaFornitura": "N", "propIdFiscale": "00548890409", "aziendaCodice": "039TE001" } }}} Esempio aggiornamento scorta propria del veterinario: {{{#!highlight json { "lovscortaId": 6451, "scortaNumAutorizzazione": "PROVA-UP", "scortaDtInizio": "15-04-2018", "scortaDtFine": null, "tiposcortaCodice": "PROPRIA", "scortaFlDerogaFornitura": "N", "vetPersIdFiscale": "RTAFNC75A20C342V", "aslCodice": "P106" } }}} N.B. Il campo '''scortaDtFine''' è da popolare quando si vuole chiudere la scorta. ===== URL del servizio REST ===== Il servizio REST JSON è esposto al seguente URL (endpoint): * '''/autorizzazione/detenzione/ws/update/''' (dove varia in base all'ambiente: test o produzione) ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: application/json Accept: application/json }}} ===== Autenticazione ===== Le modalità di autenticazione per l'invocazione dei servizi REST sono descritte nell'apposito paragrafo della sezione del manuale con le informazioni base e tecnologie adottate dal Sistema Informativo Nazionale della Farmacosorveglianza per l'integrazione con i sistemi esterni, accedibile tramite il seguente URL: [[farmaco/help/integrazione]] ===== Tracciato di output ===== {{{#!highlight json { "result": { "errors": [{ "field": "", "message": "....", "errorCode": "common.unknownerror" }], "errorType": null, "elencoCodici": null, "errore": }, "data": null } }}} == Import Veterinari responsabili della scorta == Il Sistema Informativo della Farmacosorveglianza permette di caricare massivamente i veterinari responsabili delle scorte. === Caricamento file CSV === Il sistema permette il caricamento massivo attraverso un apposito file in formato CSV. Il file CSV con l'elenco dei veterinari responsabili della scorta deve essere caricato dopo aver caricato l'elenco delle autorizzazioni alla detenzione della scorta in allevamento (import da CSV della anagrafiche Scorte Allevamento e Veterinario). Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''vetPersIdFiscale''' ||'''aziendaCodice''' ||'''propIdFiscale''' ||'''strutturaCodice''' ||'''flResponsabile''' || ||STRUTTURA ||SCCLDA40R10H811F || || ||OV-PE000001 ||S || ||ALLEVAMENTO ||RTAFNC75A20C342V ||041TE001 ||RVRCRL62S29D969F || ||S || ||ALLEVAMENTO ||BRSGNN52L24C469G ||041TE122 ||SCCLDA40R10H811F || || || Descrizione dei campi previsti dal file in formato CSV (in '''grassetto ''' i campi obbligatori): * '''tiposcortaCodice''': tipologia della scorta, valori ammessi: * '''STRUTTURA''': scorta della struttura non zootecnica * '''ALLEVAMENTO''': scorta dell'allevamento zootecnico * '''aziendaCodice''': codice dell'azienda zootecnica con scorta autorizzata ('''obbligatorio se tiposcortaCodice = ALLEVAMENTO '''); * '''propIdFiscale''': ID Fiscale del proprietario dell'azienda zootecnica ('''obbligatorio se tiposcortaCodice = ALLEVAMENTO '''); * '''strutturaCodice''': codice della struttura con scorta autorizzata ('''obbligatorio se tiposcortaCodice = STRUTTURA'''); * '''vetPersIdFiscale''': Codice Fiscale del Veterinario; * flResponsabile: flag che indica se il veterinario è il responsabile o il delegato, se non specificato il valore di default è '''N''', possibili valori: * '''S''': responsabile; * '''N''': delegato '''Attenzione''': nel file CSV non devono essere modificati i nomi (intestazioni) delle colonne. Fare attenzione alle minuscole e alle maiuscole. L'ordine delle colonne può essere variato. ==== Esempio file CSV scorta Allevamento Zootecnico ==== Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''vetPersIdFiscale''' ||'''aziendaCodice''' ||'''propIdFiscale''' ||'''flResponsabile''' || ||ALLEVAMENTO ||RTAFNC75A20C342V ||041TE001 ||RVRCRL62S29D969F ||S || ||ALLEVAMENTO ||BRSGNN52L24C469G ||041TE122 ||SCCLDA40R10H811F ||S || Nell'esempio precedente in particolare si ha che sulla scorta dell'allevamento 041TE001 ci sono due veterinari: 1. il veterinario con CF RTAFNC75A20C342V è il veterinario responsabile della scorta; 1. il veterinario con CF SCNMRC69E22E058V è un veterinario delegato ad operare sulla scorta dal responsabile della scorta stessa. ==== Esempio file CSV scorta Struttura non zootecnica ==== Il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''vetPersIdFiscale''' ||'''strutturaCodice''' ||'''flResponsabile''' || ||STRUTTURA ||SCCLDA40R10H811F ||OV-PE000001 ||S || ||STRUTTURA ||SCNMRC69E22E058V ||OV-PE000022 ||S || ==== Esempio file CSV scorta Allevamento Zootecnico con veterinari delegati dal veterinario responsabile ==== Nel caso in cui su una scorta autorizzata (Allevamento o Struttura) ci siano dei veterinari delegati dal responsabile della scorta, il file in formato CSV da importare deve avere la seguente struttura: ||'''tiposcortaCodice''' ||'''vetPersIdFiscale''' ||'''aziendaCodice''' ||'''propIdFiscale''' ||'''flResponsabile''' || ||ALLEVAMENTO ||RTAFNC75A20C342V ||041TE001 ||RVRCRL62S29D969F ||S || ||ALLEVAMENTO ||SCNMRC69E22E058V ||041TE001 ||RVRCRL62S29D969F ||N || ||ALLEVAMENTO ||BRSGNN52L24C469G ||041TE122 ||SCCLDA40R10H811F ||S || ||ALLEVAMENTO ||SCNMRC69E22E058V ||041TE122 ||SCCLDA40R10H811F ||N || Nell'esempio precedente in particolare si ha che sulla scorte degli allevamenti 041TE001 e 041TE122 ci sono due veterinari: 1. il veterinario con CF RTAFNC75A20C342V è il veterinario responsabile della scorta dell'allevamento 041TE001; 1. il veterinario con CF SCNMRC69E22E058V è un veterinario delegato ad operare sulla scorta dell'allevamento 041TE001 dal responsabile della scorta. 1. il veterinario con CF BRSGNN52L24C469G è il veterinario responsabile della scorta dell'allevamento 041TE122 ; 1. il veterinario con CF SCNMRC69E22E058V è un veterinario delegato ad operare sulla scorta dell'allevamento 041TE122 dal responsabile della scorta. Quindi il veterinario con CF SCNMRC69E22E058V è delegato ad operare sulle scorte (emissione ricette per carico della scorta, e gestione degli scarichi) degli allevamenti 041TE122 e 041TE001. ==== Template file CSV ==== E' possibile scaricare il file in formato CSV di esempio (da poter utilizzare come template vuoto da compilare) direttamente dall'applicativo, nel seguente modo: 1. accedere alla sezione "Autorizzazione Detenzione Scorta", effettuare una ricerca senza specificare filtri e cliccare su uno delle righe risultato della ricerca; 1. cliccare sul pulsante "Associa Veterinario alla scorta"; 1. cliccare sul pulsante "Download template CSV". Step 1 {{attachment:anagrafica_scorta_veterinari_1.jpg}} Step 2 {{attachment:anagrafica_scorta_veterinari_2.jpg}} Step 3 {{attachment:anagrafica_scorta_veterinari_3.jpg}} Logica di elaborazione ATTENZIONE: La logica di elaborazione del tracciato CSV è di tipo “transazionale”, e prevede quindi che in caso di errori tutti i dati inviati vengano scartati. === Gestione tramite servizio web REST/JSON === ==== Ricerca ==== Il sistema offre un metodo REST per la ricerca: * '''/crudcommon/scortavet/ws/search/''' (dove varia in base all'ambiente: test o produzione). ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: x-www-form-urlencoded Accept: application/json }}} ===== Tracciato di input ===== Di seguito la descrizione dei campi da inviare. Il risultato della ricerca è "paginato": il risultato della ricerca viene restituito in N pagine da X righe. Il numero massimo "x" di righe da restituire per pagina (gruppo di risultati) e la pagina da visualizzare vengono pilotati da chi invoca il servizio di ricerca, quindi i seguenti campi sono obbligatori: * '''page''': pagina ritornata dalla ricerca (nella prima invocazione del servizio tale campo è da valorizzare con il valore "1") | Numerico; * '''rows''': numero massimo di righe tornate dalla ricerca (valore compreso tra 1 e 100) | Numerico. Si seguito la descrizione dei campi dell'entita '''scortavet''' gestiti in input/output: * '''scovetId''': id del record | Numerico; * '''vetPersIdFiscale''': ID fiscale (Codice o P.IVA) del veterinario responsabile o delegato alla gestione della scorta | Stringa; * '''flResponsabile''': flag che indica se il veterinario è o meno il responsabile della scorta; possibili valori | Stringa: * '''S''': responsabile; * '''N''': delegato. * '''aziendaCodice''': codice dell'azienda zootecnica a cui fa riferimento la relazione | Stringa; * '''propIdFiscale''': ID fiscale (Codice o P.IVA) del proprietario dell'azienda zootecnica a cui fa riferimento la relazione | Stringa; * '''tiposcortaCodice''': tipologia della scorta; possibili valori | Stringa: * '''STRUTTURA''': Scorta della Struttura non Zootecnica; * '''SCORFITT''': Registro delle rimanenze della struttura zootecnica senza scorta; * '''PROPRIA''': Scorta del veterinario; * '''DETENTORE''': Scorta del detentore; * '''ALLEVAMENTO''': Scorta per allevamento. * '''strutturaCodice''': codice della Struttura non Zootecnica a cui fa riferimento la relazione | Stringa; ===== Esempio di interrogazione ===== {{{#!highlight page:1 rows:50 aziendaCodice:001TE001 }}} ===== Tracciato di output ===== {{{#!highlight { "result": null, "data": { "total": 1, "page": 1, "records": 29, "rows": [...] } } }}} Di seguito la descrizione dei campi: * '''total''': numero totale di pagine; * '''page''': pagina che si sta interrogando; * '''records''': numero totale di records; * '''rows''': elementi di scortavet; ==== Import ==== Il Sistema Informativo della Farmacosorveglianza permette di gestire i veterinari responsabili delle scorte in allevamento attraverso un apposito servizio REST/JSON. I veterinari responsabili della scorta possono essere inseriti solo dopo aver caricato l'autorizzazione alla detenzione della scorta in allevamento. I campi previsti dal tracciato JSON sono gli stessi del file in formato CSV. Viene di seguito riportato l'esempio tracciato dati JSON da utilizzare: {{{#!highlight json [{ "tiposcortaCodice": "STRUTTURA", "strutturaCodice": "OV-PE000001", "vetPersIdFiscale": "SCCLDA40R10H811F", "flResponsabile": "S" }, { "tiposcortaCodice": "ALLEVAMENTO", "aziendaCodice": "041TE040", "propIdFiscale": "RVRCRL62S29D969F", "vetPersIdFiscale": "RTAFNC75A20C342V", "flResponsabile": "S" }, { "tiposcortaCodice": "ALLEVAMENTO", "aziendaCodice": "041TE122", "propIdFiscale": "SCCLDA40R10H811F", "vetPersIdFiscale": "BRSGNN52L24C469G" }] }}} ===== URL del servizio REST ===== Il servizio REST JSON è esposto al seguente URL (endpoint): * '''/crudcommon/scortavet/ws/insert/''' (dove varia in base all'ambiente: test o produzione) ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: application/json Accept: application/json }}} ===== Autenticazione ===== Le modalità di autenticazione per l'invocazione dei servizi REST sono descritte nell'apposito paragrafo della sezione del manuale con le informazioni base e tecnologie adottate dal Sistema Informativo Nazionale della Farmacosorveglianza per l'integrazione con i sistemi esterni, accedibile tramite il seguente URL: [[farmaco/help/integrazione]] ===== Tracciato di output ===== {{{#!highlight json { "result": { "1": { "errors": [{ "field": "", "message": "codice", "errorCode": "common.unknownerror" }], "errorType": null, "elencoCodici": null, "errore": } }, "data": null } }}} Viene di seguito riportata la descrizione dei due campi del JSON restituito: * '''data''': lista di elementi che non hanno problemi nella registrazione della fornitura; * '''result''': in questo campo, di tipo json, verranno collezionati i vari errori contenuti nei singoli elementi dell'array di importazione: * tale item è “null” se non si sono verificati errori; * nel caso in cui nel corso dell'elaborazione si fossero verificati errori, la chiave del json corrisponde all'errore avvenuto nell'i-esimo elemento inviato nel caso documentato l'errore è relativo all'elemento di indice i nel json di input. Logica di elaborazione ATTENZIONE: La logica di elaborazione del tracciato JSON inviato al servizio REST è di tipo “transazionale”, e prevede quindi che in caso di errori tutti i dati inviati vengano scartati. ==== Update ==== Viene di seguito riportato l'esempio tracciato dati JSON da utilizzare: {{{#!highlight json { "scovetId": 178444, "flResponsabile": "N", "vetPersIdFiscale": "PSSMRA45E44D542K", "aziendaCodice": "217BG034", "tiposcortaCodice": "SCORFITT", "propIdFiscale": "MRCVCN71H10B157J" } }}} ===== URL del servizio REST ===== Il servizio REST JSON è esposto al seguente URL (endpoint): * '''/crudcommon/scortavet/ws/update/''' (dove varia in base all'ambiente: test o produzione) ===== Header ===== L’invocazione del servizio WEB REST deve avere i seguenti headers: {{{#!highlight bash Content-Type: application/json Accept: application/json }}} ===== Autenticazione ===== Le modalità di autenticazione per l'invocazione dei servizi REST sono descritte nell'apposito paragrafo della sezione del manuale con le informazioni base e tecnologie adottate dal Sistema Informativo Nazionale della Farmacosorveglianza per l'integrazione con i sistemi esterni, accedibile tramite il seguente URL: [[farmaco/help/integrazione]] ===== Tracciato di output ===== {{{#!highlight json { "result": { "errors": [{ "field": "", "message": "...", "errorCode": "common.unknownerror" }], "errorType": null, "elencoCodici": null, "errore": }, "data": null } }}} = Gestione delle anagrafiche degli ambulatori veterinari e strutture di detenzione dei PET = Sezione relativa alle funzionalità per l'importazione e il caricamento massivo delle anagrafiche degli ambulatori veterinari e strutture di detenzione dei PET. == Tracciati importazione dati == Il seguente documento riporta i tracciati necessari al popolamento delle anagrafiche delle strutture di detenzione ed ambulatori veterinari gestiti nell’'''Anagrafe Ministeriale Centralizzata delle Strutture PET'''. Dal seguente link è possibile scaricare il file con la descrizione dei tracciati, nel quale vengono illustrate le entità gestite e le informazioni necessarie per consentire una corretta alimentazione del sistema relativamente alle strutture di detenzione ed ambulatori veterinari: * [[attachment:Sinaaf-Ambulatori-Strutture_Di_Detenzione.pdf]] Per il caricamento massivo delle strutture veterinarie bisogna predisporre un apposito file in formato excel (*.xlsx), per agevolarne la compilazione è possibile utilizzare il Template_SV appositamente preconfezionato. * [[attachment:Sinaaf-Template_SV.xlsx]] Il Template è strutturato nel seguente modo: 1. primo foglio denominato "Template_SV": deve essere compilato con i dati delle strutture veterinarie 1. secondo foglio denominato "Tracciato_SV": è il tracciato delle strutture veterinarie in cui sono esplicitati i valori predefiniti e i vincoli sui dati 1. terzo foglio denominato "COMUNI": è l'elenco dei comuni da cui leggere i valori delle colonne "comIstat" e "proSigla" Per il caricamento massivo delle strutture di detenzione bisogna predisporre un apposito file in formato excel (*.xlsx), per agevolarne la compilazione è possibile utilizzare il Template_SD appositamente preconfezionato. * [[attachment:Sinaaf-Template_SD.xlsx]] Il Template è strutturato nel seguente modo: 1. primo foglio denominato "Template_SD": deve essere compilato con i dati delle strutture di detenzione 1. secondo foglio denominato "Tracciato_SD": è il tracciato delle strutture di detenzione in cui sono esplicitati i valori predefiniti e i vincoli sui dati 1. terzo foglio denominato "COMUNI" : è l'elenco dei comuni da cui leggere i valori delle colonne "prpComIstat" , "perProSigla", "comIstat" e "proSigla" Per il caricamento massivo delle persone bisogna predisporre un apposito file in formato excel (*.xlsx), per agevolarne la compilazione è possibile utilizzare il Persone appositamente preconfezionato. * [[attachment:Persone.xlsx]] Il Template è strutturato nel seguente modo: 1. primo foglio denominato "Template_SV": deve essere compilato con i dati delle persone 1. secondo foglio denominato "Tracciato_SV": è il tracciato delle persone in cui sono esplicitati i valori predefiniti e i vincoli sui dati 1. terzo foglio denominato "COMUNI": è l'elenco dei comuni da cui leggere i valori delle colonne "comIstat" e "proSigla" == Specifiche servizi WEB == Il seguente documento riporta le specifiche dei servizi WEB esposti per il popolamento e la gestione delle anagrafiche delle strutture di detenzione ed ambulatori veterinari gestiti nell’'''Anagrafe Ministeriale Centralizzata delle Strutture PET'''. Dal seguente link è possibile scaricare il file con le specifiche dei servizi, nel quale vengono illustrate le entità gestite e le informazioni necessarie per consentire una corretta alimentazione del sistema relativamente alle strutture di detenzione ed ambulatori veterinari: * [[attachment:WS_Banca_Dati_Nazionale_Pet_v1.4.pdf]]