Anpassade integreringar är en funktion i Provet som gör att du kan skicka förfrågningar till externa resurser från insidan av 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.
Om du vill lägga till en integrering, välj knappen Lägg till.
Om du vill redigera en integrering, välj knappen pen i tabellraden.
Inställningar
Fält | Beskrivning |
Name | Anger etiketten på knappen som syns i användargränssnittet. |
Anger på vilken sida knappen visas. Varje anpassad integrering kan bara visas 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 tillhandahålls som parametrar i query string) eller som en POST-förfrågan (nyttolast tillhandahålls som formulärdata). |
URL | Mål-URL:en, komplett med schema. |
Parameternamn | Namnet på parametern som används för att skicka det aktuella objektets ID. |
Aktiverad | Möjliggör att aktivera och inaktivera en anpassad integrering. Anpassade integreringar kan också raderas 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 verifiera 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 kundnr-ID:n.
Lägg till information om enhet och organisation: Det här alternativet inkluderar nödvändig information om organisation och enhet automatiskt. Provet skickar följande 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.
Om du till exempel anger parameternamnet som 'id=client_', skickas en förfrågan som https://example.com/?id=client_1.
Rubriker
Bakgrundsförfrågningar ('Skicka HTTP-förfrågan') kan få godtyckliga, statiska värden som läggs till i förfrågningarna.
Det kan användas för att inkludera Authorization-rubriker i förfrågningar.
Den här funktionen är inte implementerad för förgrundsförfrågningar ('Öppna i ny flik', 'Öppna i sidolist'). Skickade rubriker loggas inte heller.
Nyttolastinformation
Inställningsvyn visar en lista över nyttolastnycklar och -värden som skickas med förfrågan. Listan uppdateras när inställningarna ändras.
Åtgärdstyper
1. Skicka HTTP-förfrågan
En förfrågan schemaläggs i bakgrunden och skickas med hjälp av Provet-servrar. Användarna ser inte webbsidan, men kan se en avisering när skickningen pågår.
Förfrågan kommer från Provet-utgående IP-adresser.
Skickningen sker asynkront, och det kan finnas en fördröjning beroende på hur mycket arbete som pågår på servrarna.
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 Statuskod (mellan 200 och 299, inklusive).
Om förfrågan misslyckas visas en felavisering med texten 'Integration request failed', med ett mer specifikt felmeddelande inom parentes.
Felmeddelande | Beskrivning |
Fel i backend | Ett okänt fel uppstod på Provet-arbetsservrarna. Kontakta Provet support för ytterligare information. |
Anslutningsfel | Förfrågan om att schemalägga skickningen gick inte igenom. |
Datafel | Förfrågan om att schemalägga skickningen innehöll felaktig data. |
Integreringsfel | Förfrågan skickades utan problem, men integreringen svarade med en icke-lyckad Statuskod (lägre än 200 eller högre än 299). |
2. Öppna i ny flik
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ändarna se nyttolastinformationen som visas i webbläsarens adressfält.
3. Öppna i sidolist
Mål-URL:en bäddas in i Provet genom att öppna en sidolist ovanpå sidans innehåll och visa sidan som en iframe.
Mål-URL:en måste stödja inbäddning (rubriken X-Frame-Options måste vara korrekt angiven).
Användning
Anpassade integreringar renderas som knappar på målsidor.
Om endast en integrering är konfigurerad för en sida, visas den som en vanlig knapp.
Om en sida har flera integreringar visas de som en rullgardinsmeny.
Anpassade integreringar skickar endast det relevanta objektets ID (kundnr, patientnummer, Faktura ID, osv.) som kan hämtas via Provet REST API.
Sida | Knappens placering | ID skickas som en parameter |
Kund | Till höger, ovanför avsnittet Anteckningar (inte i patientflikarna). | Kundnr |
Patient | Till höger, ovanför avsnittet Anteckningar (inte i kundflikarna). | Patientnummer |
Faktura | I den nedre verktygsraden på fakturasidorna (inklusive kassaförsäljning). | Faktura ID (inte fakturanumret) |
Konsultation | Ovanför avsnittet Allmän information, både för pågående och avslutade konsultationer. | Konsultations-ID |
Bokningskalender | Högst upp i bokningskalendern. | Aktiv enhets-ID för klinik |
Arbetspass-kalender | Högst upp i arbetspass-kalendern. | Aktiv enhets-ID för klinik |
Bilddiagnostik | På remissidan 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') registreras i en intern logg för verifiering och spårning.
Gå till Inställningar > Integreringar > Anpassade integreringar > Logg.
I logg-vyn listas alla gjorda förfrågningar, med den senaste förfrågan först.
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 ny flik', 'Öppna i sidolist').
Verifierings salt & hashar
Alternativet "Verifiering salt" syns bara 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.
Baserat på kombinationen av behörigheter beräknas verifierings-hashen enligt följande:
1. Aktiverad verifierings salt, "inkludera nyttolast i verifieringsalternativ" inaktiverat -> 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 verifierings salt, "inkludera nyttolast i verifieringsalternativ" aktiverat, "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: "<tidsstämpel><salt><parameternamn><objekt_id>användar_id<user_id>" ("2018-07-15T09:12:54+00:00My verifieringssaltpatient_id1234user_id56"). [string]3. Aktiverad verifierings salt, "inkludera nyttolast i verifieringsalternativ" aktiverat, "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: "<tidsstämpel><salt><parameternamn><objekt_id>användar_id<user_id>provet_env<provet_env>provet_id<provet_id>enhets_id<department_id>" ("2018-07-15T09:12:54+00:00My verifieringssaltpatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [string]Verifierings-hashar kan användas som extra validering för att kontrollera vilka förfrågningar som kommer från Provet anpassade integreringar.
När den är aktiverad läggs en extra parameter som heter "verification" till förfrågningar.
Den här parametern är en MD5 hash digest av tidsstämpeln och verifierings salt.
För bakgrundsskickning genereras tidsstämpeln när förfrågan faktiskt skickas.
För förgrundsskickning genereras tidsstämpeln när en sida som innehåller knappen för den anpassade integreringen läses in.
Till exempel, för att verifiera att verifierings-hashen är giltig i Python kan man skriva en funktion som den här:
from hashlib import md5VERIFIERING_SALT = "My custom verification salt"def is_verification_hash_valid(parameters): hasher = md5() hasher.update(parameters.timestamp.encode("utf8")) hasher.update(VERIFIERING_SALT.encode("utf8")) return hasher.hexdigest() == parameters.verificationTvå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:t.
Det enda giltiga kommandot är "reload".
function refreshProvetCloud() { window.opener.postMessage("reload","*");}Det här kommandot utför en fullständig siduppdatering av fönstret eller fliken som öppnade den anpassade integreringen.
Det kan vara användbart om den anpassade integreringen uppdaterar Provet-data via REST API:t.
