Vai al contenuto principale

Integrazioni personalizzate

Le integrazioni personalizzate sono una funzionalità di Provet che consente di inviare richieste a risorse esterne direttamente da Provet. Per ottenere accesso a questa funzione, contattare l'assiste…

Le integrazioni personalizzate sono una funzionalità di Provet che consente di inviare richieste a risorse esterne direttamente da Provet. Per ottenere accesso a questa funzione, contattare l'assistenza Provet.

Gestione

Gestisci le integrazioni personalizzate in Impostazioni > Integrazioni > Integrazioni personalizzate.

CI1.png
  • Per aggiungere un'integrazione, seleziona il pulsante Aggiungi.

  • Per modificare un'integrazione, seleziona il pulsante pen sulla riga della tabella.

Impostazioni

Campo

Descrizione

Nome

Indica l'etichetta visualizzata sul pulsante nell'interfaccia utente.

Indica in quale pagina sarà visibile il pulsante. Ogni integrazione personalizzata può essere visualizzata solo in una pagina, ma la stessa configurazione può essere duplicata.

Azione

Indica quale azione verrà eseguita quando si seleziona il pulsante.

Metodo HTTP

Indica se la richiesta verrà inviata come richiesta GET (payload fornito come parametri nella stringa di query) oppure come richiesta POST (payload fornito come dati di modulo.

URL

L'URL di destinazione, completo di schema.

Nome parametrico

Il nome del parametro utilizzato per fornire l'ID dell'oggetto corrente.

Attivo

Consente di abilitare e disabilitare un'integrazione personalizzata. Le integrazioni personalizzate possono anche essere eliminate se non sono più necessarie.

Verifica bloccata

Un segreto condiviso utilizzato per calcolare l'hash di verifica. È richiesto quando l'hash di verifica è abilitato.

Opzioni di configurazione

  • Aggiungi hash di verifica: abilita un hash di verifica nel payload che può essere usato per verificare che la richiesta provenga dall'integrazione personalizzata.

  • Includi payload nell'hash di verifica: questa opzione ricalcola l'hash di verifica utilizzando l'intero payload, inclusi ID utente e ID cliente.

  • Aggiungi informazioni sull'organizzazione e sul reparto: questa opzione include automaticamente le informazioni organizzative e di reparto necessarie. Provet includerà questi parametri nella richiesta: Nome Provet (organizzazione core), ID Provet (ID organizzazione prodotto) e ID reparto.

Prefissare il valore del parametro

È possibile aggiungere un prefisso personalizzato al valore del parametro specificando il nome del parametro in modo diverso.

Intestazioni

Le richieste in background ('Invia richiesta HTTP') possono ricevere valori statici arbitrari, che verranno aggiunti alle richieste.

  • Questa opzione può essere usata per includere intestazioni di Autorizzazione nelle richieste.

  • Questa funzione non è implementata per le richieste in primo piano ('Apri in una nuova finestra', 'Apri nel pannello laterale'). Le intestazioni inviate non vengono nemmeno registrate.

Informazioni sul carico utile

La vista delle impostazioni visualizza un elenco di chiavi e valori del payload che vengono inviati con la richiesta. Questo elenco si aggiorna quando le impostazioni vengono modificate.

CI2.png

Tipi di azione

1. Invio richiesta HTTP

Una richiesta viene pianificata in background e inviata usando i server di Provet. Gli utenti non vedranno la pagina web, ma potrebbero ricevere una notifica mentre l'invio è in corso.

  • La richiesta proviene dagli indirizzi IP in uscita di Provet.

  • L'invio avviene in modo asincrono e potrebbe esserci un ritardo in base al lavoro attualmente presente sui server.

  • Vedrai una notifica informativa nella parte superiore della pagina quando la richiesta viene pianificata.

  • Viene mostrata una notifica di successo se la richiesta viene inviata correttamente e l'integrazione risponde con un codice di stato HTTP di successo (compreso tra 200 e 299 inclusi).

  • Se la richiesta fallisce, verrà mostrata una notifica di errore con il testo 'Integration request failed', insieme a un messaggio di errore più specifico tra parentesi.

Messaggio errore

Descrizione

Errore backend

Si è verificato un errore sconosciuto sui server worker di Provet. Per ulteriori informazioni, contatta l'assistenza Provet.

Errore di connessione

La richiesta di pianificazione dell'invio non è andata a buon fine.

Errore di dati

La richiesta di pianificazione dell'invio conteneva dati non validi.

Errore integrazione

La richiesta è stata inviata correttamente, ma l'integrazione ha risposto con un codice di stato HTTP non di successo (inferiore a 200 o superiore a 299).

2. Apri in una nuova finestra

L'URL di destinazione viene aperto in una nuova finestra o in una nuova scheda del browser.

  • Se si usa una richiesta GET, gli utenti possono vedere le informazioni sul carico utile visualizzate nella barra degli indirizzi del browser.

3. Apri nel pannello laterale

L'URL di destinazione viene incorporato in Provet aprendo un pannello laterale sopra il contenuto della pagina e visualizzando la pagina come iframe.

  • L'URL di destinazione deve supportare l'incorporamento (l'intestazione X-Frame-Options deve essere impostata correttamente).

Utilizzo

Le integrazioni personalizzate vengono visualizzate come pulsanti nelle pagine di destinazione.

  • Se per una pagina è configurata solo un'integrazione, viene visualizzata come un pulsante normale.

  • Se una pagina ha più integrazioni, vengono visualizzate come menu a discesa.

CI5.png

Le integrazioni personalizzate inviano solo l'ID dell'oggetto rilevante (ID cliente, ID paziente, ID Fattura, ecc.) che può essere interrogato tramite l'API REST di Provet.

Pagina

Posizione pulsante

ID inviato come parametro

Cliente

Sul lato destro, sopra la sezione Note (non nelle schede del paziente).

ID cliente

Paziente

Sul lato destro, sopra la sezione Note (non nelle schede del cliente).

ID Paziente

Fattura

Nella barra degli strumenti in basso delle pagine della fattura (incluse le pagine di Vendita libera).

ID Fattura (non il numero di fattura)

Visita

Sopra la sezione Info generiche, sia per le visite continuative che per quelle terminato.

ID Consultazione

Calendario appuntamenti

In alto nel calendario appuntamenti.

ID sede clinica attuale

Calendario turni

In alto nel calendario turni.

ID sede clinica attuale

Imaging Diagnostico

Nella pagina di Referto Imaging Diagnostico, nelle barre degli strumenti superiore e inferiore.

ID referto Imaging Diagnostico

Promemoria

Nella barra degli strumenti di selezione nella pagina Promemoria, quando è selezionato uno o più promemoria.

ID Promemoria per ciascun promemoria selezionato

Registro

Le richieste inviate in background ('Invia richiesta HTTP') vengono registrate in un registro interno per verifica e audit.

CI3.png
CI4.png
  1. Vai su Impostazioni > Integrazioni > Integrazioni personalizzate > Registro.

  2. La vista del registro elenca tutte le richieste effettuate, a partire dalla richiesta più recente.

  3. Visualizza altre informazioni nella vista dettagli selezionando il pulsante a forma di occhio sulla destra di ogni riga.

Nota

La registrazione non viene eseguita per le richieste in primo piano ('Apri in una nuova finestra', 'Apri nel pannello laterale').

Verifica bloccata e hash

L'opzione "Verifica bloccata" è visibile solo se "Aggiungi hash di verifica" è selezionata. Inoltre, "Includi payload nell'hash di verifica" viene visualizzata anche quando è selezionata "Aggiungi hash di verifica".

In base alla combinazione dei permessi, l'hash di verifica viene calcolato come segue:

1. Verifica bloccata attiva, opzione "includi payload in verifica" disabilitata -> hash calcolato come:Verifica hash MD5 di verifica esadecimale, ad es. "4e531ee13aa16886db72bc1621206d2f". L'hash viene generato aggiungendo il sale di verifica dopo il timestamp incluso ("2018-07-15T09:12:54+00:00verifica bloccata"). [string]2. Verifica bloccata attiva, opzione "includi payload in verifica" abilitata, "Aggiungi informazioni sull'organizzazione e sul reparto" DISABILITATO -> hash calcolato come:Verifica hash MD5 di verifica esadecimale, ad es. "23ae5385b3862a571f1b5d6f6b469b1c". L'hash viene calcolato con: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00verifica bloccatapatient_id1234user_id56"). [string]3. Verifica bloccata attiva, opzione "includi payload in verifica" abilitata, "Aggiungi informazioni sull'organizzazione e sul reparto" ABILITATO -> hash calcolato come:Verifica hash MD5 di verifica esadecimale, ad es. "163049a017bb405d4bfec754810c9838". L'hash viene calcolato con: "<timestamp><salt><parameter_name><object_id>user_id<user_id>provet_envenvprovet_id<provet_id>department_id<department_id>" ("2018-07-15T09:12:54+00:00verifica bloccatapatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [string]

Gli hash di verifica possono essere usati come ulteriore validazione per verificare quali richieste provengono dall'integrazione personalizzata di Provet.

  • Quando è abilitato, viene aggiunto un parametro aggiuntivo chiamato "verification" alle richieste.

  • Questo parametro è una stringa di digest hash MD5 del timestamp e del sale di verifica.

  • Per l'invio in background, il timestamp viene generato quando la richiesta viene effettivamente inviata.

  • Per l'invio in primo piano, il timestamp viene generato quando viene caricato una pagina che contiene il pulsante dell'integrazione personalizzata.

Ad esempio, per verificare che l'hash di verifica sia valido in Python, si potrebbe scrivere una funzione come questa:

from hashlib import md5VERIFICATION_SALT = "My custom verification salt"def is_verification_hash_valid(parameters):    hasher = md5()    hasher.update(parameters.timestamp.encode("utf8"))    hasher.update(VERIFICATION_SALT.encode("utf8"))    return hasher.hexdigest() == parameters.verification

Comunicazione bidirezionale con Provet

Provet consente una quantità limitata di comunicazione bidirezionale con le integrazioni personalizzate aperte in primo piano tramite l'API Window.postMessage().

  • L'unico comando valido è "reload".

    function refreshProvetCloud() {    window.opener.postMessage("reload","*");}
  • Questo comando esegue un ricaricamento completo della pagina nella finestra o nella scheda che ha aperto l'integrazione personalizzata.

  • Può essere utile se l'integrazione personalizzata aggiorna i dati di Provet tramite l'API REST.

Vedi anche

Hai ricevuto la risposta alla tua domanda?