Hoppa till huvudinnehåll

Anpassade integreringar

Anpassade integreringar är en funktion i Provet som gör att du kan skicka förfrågningar till externa resurser från Provet. För att få tillgång till den här funktionen, kontakta Provet support.

Anpassade integreringar är en funktion i Provet som gör att du kan skicka förfrågningar till externa resurser från Provet. För att få tillgång till den här funktionen, kontakta Provet support.

Hantering

Hantera anpassade integreringar i Inställningar > Integreringar > Anpassade integreringar.

CI1.png
  • Om du vill lägga till en integrering, välj knappen Lägg till.

  • Om du vill redigera en integrering, välj pen-knappen i tabellraden.

Inställningar

Fält

Beskrivning

Namn

Anger etiketten på knappen som syns i användargränssnittet.

Anger på vilken sida knappen syns. Varje anpassad integrering kan bara synas på en sida, men samma konfiguration kan dupliceras.

Åtgärd

Anger vilken åtgärd som utförs när knappen väljs.

HTTP-metod

Anger om förfrågan skickas som en GET-förfrågan (nyttolast som parametrar i frågesträngen) eller som en POST-förfrågan (nyttolast som formulärdata).

URL

Mål-URL:en, komplett med schema.

Parameternamn

Namnet på parametern som används när aktuell objects ID anges.

Aktiverad

Möjliggör att aktivera och inaktivera en anpassad integrering. Anpassade integreringar kan också tas bort om de inte längre behövs.

Verifiering salt

En delad hemlighet som används för att beräkna verifierings-hash. Krävs när verifierings-hash är aktiverad.

Konfigurationsalternativ

  • Lägg till verifierings-hash: Aktiverar en verifierings-hash i nyttolasten som kan användas för att kontrollera att förfrågan kommer från den anpassade integreringen.

  • Inkludera nyttolast i verifierings-hash: Det här alternativet räknar om verifierings-hashen med hela nyttolasten, inklusive användar- och kund-ID.

  • Lägg till information om enhet och organisation: Det här alternativet inkluderar den nödvändiga organisations- och enhetsinformationen automatiskt. Provet skickar dessa parametrar i förfrågan: Provet name (organization core), Provet ID (product organization ID) och Enhets-ID.

Prefixering av parametervärde

Det går att lägga till ett anpassat prefix till parametervärdet genom att ange parameternamnet på ett annat sätt.

Rubriker

Bakgrundsförfrågningar ("Skicka HTTP-förfrågan") kan ges godtyckliga, statiska värden som läggs till i förfrågningarna.

  • Detta kan användas för att inkludera Authorisation-rubriker i förfrågningarna.

  • Den här funktionen är inte implementerad för förgrundsförfrågningar ("Öppna i nytt fönster", "Öppna i sidolist"). Skickade rubriker loggas inte heller.

Datainformation

Inställningsvyn visar en lista med nyttolastens nycklar och värden som skickas med förfrågan. Listan uppdateras när inställningarna ändras.

CI2.png

Åtgärdstyper

1. Skicka HTTP-förfrågan

En förfrågan schemaläggs i bakgrunden och skickas via Provet servrar. Användare ser inte webbsidan, men kan se en avisering när utskicket pågår.

  • Förfrågan kommer från Provet interna utgående IP-adresser.

  • Utskicket sker asynkront, och det kan finnas en fördröjning beroende på hur mycket arbete som pågår på servrarna just nu.

  • Du ser en informationsavisering högst upp på sidan när förfrågan schemaläggs.

  • En lyckad-avisering visas om förfrågan skickas utan problem och integreringen svarar med en lyckad HTTP-statuskod (mellan 200 och 299, inklusive).

  • Om förfrågan misslyckas visas en felavisering med texten "Integration request failed" samt ett mer specifikt felmeddelande inom parentes.

Felmeddelande

Beskrivning

Backend error

Ett okänt fel uppstod på Provet arbetsservrar. Kontakta Provet support för mer information.

Anslutningsfel

Förfrågan för att schemalägga utskicket gick inte igenom.

Data error

Förfrågan för att schemalägga utskicket innehöll felaktigt data.

Integration error

Förfrågan skickades, men integreringen svarade med en icke-lyckad HTTP-statuskod (lägre än 200 eller högre än 299).

2. Öppna i nytt fönster

Mål-URL:en öppnas i ett nytt fönster eller i en ny webbläsarflik.

  • Om en GET-förfrågan används kan användare se datainformationen som visas i webbläsarens adressfält.

3. Öppna i sidolist

Mål-URL:en bäddas in i Provet genom att en sidolist öppnas ovanpå innehållet på sidan och sidan visas som en iframe.

  • Mål-URL:en måste stödja inbäddning (rubriken X-Frame-Options måste vara korrekt inställd).

Användning

Anpassade integreringar renderas som knappar på mål sidor.

  • Om bara en integrering är konfigurerad för en sida renderas den som en vanlig knapp.

  • Om en sida har flera integreringar renderas de som en rullgardinsmeny.

CI5.png

Anpassade integreringar skickar endast relevant objects ID (kund-ID, patientnummer, faktura ID, osv.) som kan hämtas via Provet REST API.

Sida

Knappläge

ID skickas som en parameter

Kund

Till höger, ovanför avsnittet Anteckningar (inte på patientflikarna).

Kundnr

Patient

Till höger, ovanför avsnittet Anteckningar (inte på kundflikarna).

Patientnummer

Faktura

I den nedre verktygsraden på fakturasidorna (inklusive kassaförsäljning).

Faktura ID (inte kvittonummer)

Konsultation

Ovanför avsnittet Allmän information för både pågående och klara konsultationer.

Konsultations-ID

Bokning Kalender

Högst upp på bokningskalendern.

Aktuell enhetens-ID för klinik

Arbetspass Kalender

Högst upp på arbetspasskalendern.

Aktuell enhetens-ID för klinik

Bilddiagnostik

På sidan för Remiss för bilddiagnostik i de övre och nedre verktygsraderna.

Remissnummer för bilddiagnostik

Påminnelser

I urvalsverktygsraden på sidan för påminnelser när en eller flera påminnelser är markerade.

Påminnelse-ID för varje vald påminnelse

Logg

Förfrågningar som skickas i bakgrunden ("Skicka HTTP-förfrågan") sparas i en intern logg för verifiering och revision.

CI3.png
CI4.png
  1. Gå till Inställningar > Integreringar > Anpassade integreringar > Logg.

  2. Loggvyn listar alla gjorda förfrågningar, med början i den senaste förfrågan.

  3. Visa mer information i detaljvyn genom att välja ögonknappen till höger i varje rad.

Obs

Loggning utförs inte för förgrundsförfrågningar ("Öppna i nytt fönster", "Öppna i sidolist").

Verifiering salt & hashes

Alternativet "Verifiering salt" är endast synligt om "Lägg till verifierings-hash" är valt. Dessutom visas "Inkludera nyttolast i verifierings-hash" också när "Lägg till verifierings-hash" är valt.

Utifrån kombinationen av behörigheter beräknas verifierings-hashen enligt följande:

1. Aktiverad verifiering salt, "include payload in verficiation option" inaktiverad -> hash beräknas som:Hexadecimal verifiering MD5 hash digest, t.ex. "4e531ee13aa16886db72bc1621206d2f". Hashen genereras genom att lägga till verifieringssalt efter den medföljande tidsstämpeln ("2018-07-15T09:12:54+00:00My verifieringssalt"). [string]2. Aktiverad verifiering salt, "include payload in verification option" aktiverad, "Lägg till information om enhet och organisation" INAKTIVERAD -> hash beräknas som:Hexadecimal verifiering MD5 hash digest, t.ex. "23ae5385b3862a571f1b5d6f6b469b1c". Hashen beräknas med: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00My verifieringssaltpatient_id1234user_id56"). [string]3. Aktiverad verifiering salt, "include payload in verification option" aktiverad, "Lägg till information om enhet och organisation" AKTIVERAD -> hash beräknas som:Hexadecimal verifiering MD5 hash digest, t.ex. "163049a017bb405d4bfec754810c9838". Hashen beräknas med: "<timestamp><salt><parameter_name><object_id>user_id<user_id>provet_env<provet_env>provet_id<provet_id>department_id<department_id>" ("2018-07-15T09:12:54+00:00My verifieringssaltpatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [string]

Verifierings-hashes kan användas som ytterligare validering för att kontrollera vilka förfrågningar som kommer från Provet anpassade integrering.

  • När den är aktiverad läggs en extra parameter med namnet "verification" till i förfrågningarna.

  • Den här parametern är en MD5 hash digest av tidsstämpeln och verifierings-saltet.

  • Vid bakgrundsutskick skapas tidsstämpeln när förfrågan faktiskt skickas.

  • Vid förgrundsutskick skapas tidsstämpeln när en sida som innehåller den anpassade integreringsknappen läses in.

Om du till exempel vill kontrollera att verifierings-hashen är giltig i Python kan du skriva en funktion som den här:

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

Tvåvägskommunikation med Provet

Provet möjliggör en begränsad mängd tvåvägskommunikation med anpassade integreringar som öppnas i förgrunden med hjälp av Window.postMessage()-API:et.

  • Det enda giltiga kommandot är "reload".

    function refreshProvetCloud() {    window.opener.postMessage("reload","*");}
  • Kommandot utför en fullständig siduppdatering på fönstret eller fliken som öppnade den anpassade integreringen.

  • Det kan vara användbart om den anpassade integreringen uppdaterar Provet-data via REST API.

Se även

Fick du svar på din fråga?