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 insidan av Provet. För att få tillgång till den här funktionen, kontakta Provet supp…

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.

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.

CI2.png

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

CI5.png

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.

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

  2. I logg-vyn listas alla gjorda förfrågningar, med den senaste förfrågan först.

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

Se även

Fick du svar på din fråga?