Hoppa till huvudinnehåll

Anpassade integreringar

Anpassade integreringar är en funktion i Provet som gör det möjligt att skicka anrop till externa resurser inifrån Provet. För att få till...

Anpassade integreringar är en funktion i Provet som gör det möjligt att skicka anrop till externa resurser inifrån Provet. För att få tillgång till denna funktion, kontakta Provet support.

Hantering

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

CI1.png
  • För att lägga till en integrering, välj knappen Lägg till.

  • Om du vill redigera en integrering, välj pennknappen på tabellraden.

Inställningar

Fält

Beskrivning

Namn

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

Specificerar på vilken sida knappen är synlig. Varje anpassad integrering kan bara vara synlig på en sida, men samma konfiguration kan dupliceras.

Åtgärd

Specificerar vilken åtgärd som ska vidtas när knappen väljs.

HTTP-metod

Specificerar om anrop ska skickas som en GET-anrop (data ges som parametrar i frågesträngen) eller som en POST-anrop (data ges som formulärdata).

URL

Mål-URL, komplett med schema.

Parameternamn

Namnet på parametern som används när man anger ID för det aktuella objektet.

Möjliggjord

Möjliggör aktivering och avaktivering av en anpassad integrering. Anpassade integreringar kan också raderas om de inte längre behövs.

Verifieringssalt

En delad hemlighet som används för att beräkna verifieringshashen. Krävs när verifieringshash är aktiverad.

Konfigurationsalternativ

  • Lägg till verifieringshash: Aktiverar en verifieringshash i payloaden som kan användas för att verifiera att anropet kommer från den anpassade integreringen.

  • Inkludera payload i verifieringshashen: Detta alternativ beräknar verifieringshashen baserat på hela payloaden, inklusive användar- och kund-ID.

  • Lägg till information om enhet och organisation: Detta alternativ inkluderar automatiskt nödvändig information om organisation och enhet. Provet kommer att inkludera dessa parametrar i anropet: Provet-namn (organisationens namn), Provet-ID (organisationens system-ID) och enhets-ID.

Lägga till prefix för parametervärde

Det är möjligt att lägga till ett anpassat prefix till parameter-värdet genom att ange parameter-namnet annorlunda.

Rubriker

För bakgrundsanrop ('Skicka HTTP-anrop') kan valfria, statiska värden definieras som sedan inkluderas i anropen.

  • Detta kan användas för att inkludera auktoriserings-headers i anrop.

  • Denna funktion är inte implementerad för förgrundsanrop ('Öppna i nytt fönster', 'Öppna i sidopanel'). Skickade headers loggas inte heller.

Payload-information

Inställningsvyn visar en lista över nycklar och värden som skickas med anropet. Denna lista uppdateras när inställningarna ändras.

CI2.png

Åtgärdstyper

1. Skicka HTTP-förfrågan

Ett anrop schemaläggs i bakgrunden och skickas via Provets servrar. Användare kommer inte att se själva webbsidan, men kan se en avisering medan sändningen pågår.

  • Anropet kommer från Provets utgående IP-adresser.

  • Sändningen sker asynkront, och det kan förekomma en fördröjning beroende på den aktuella belastningen på servrarna.

  • Du kommer att se en informationsavisering högst upp på sidan när anropet schemaläggs.

  • En bekräftelse visas om anropet har skickats och integrationen svarar med en lyckad HTTP-statuskod (från 200 till och med 299).

  • Om anropet misslyckas, kommer ett felmeddelande som säger 'Integreringsförfrågan misslyckades' att visas, med ett mer specifikt felmeddelande inom parentes.

Felmeddelande

Beskrivning

Backend-fel

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

Anslutningsfel

Anropet om att schemalägga sändningen gick inte igenom.

Datafel

Anropet om att schemalägga sändningen innehöll ogiltiga data.

Integrationsfel

Anropet skickades korrekt, men integrationen svarade med en felaktig HTTP-statuskod (lägre än 200 eller högre än 299).

2. Öppna i popup-fönster

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

  • Om ett GET-anrop används kan användarna se payload-informationen i webbläsarens adressfält.

3. Öppna i sidolist

Mål-URL: en bäddas in i Provet genom att en sidopanel öppnas ovanpå sidans innehåll, där sidan visas som en iframe.

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

Användning

Anpassade integrationer visas som knappar på målsidorna.

  • Om endast en integration är konfigurerad för en sida, visas den som en vanlig knapp.

  • Om en sida har flera integrationer, visas de som en rullgardinsmeny.

CI5.png

Anpassade integrationer skickar endast relevant objekt-ID (t. ex. kund-ID, patient-ID eller faktura-ID) vilket kan användas för anrop mot Provets REST API.

Sida

Knappens placering

ID skickat som parameter

Kund

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

Kund-ID

Patient

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

Patient-ID

Faktura

I det nedersta verktygsfältet på fakturasidan (även för kassaförsäljning).

Faktura-ID (inte fakturanummer)

Konsultation

Ovanför allmän information, för både pågående och avslutade konsultationer.

Konsultations-ID

Tidbokningskalender

Ovanför tidbokningskalendern.

Aktiv enhets ID

Arbetspasskalender

Ovanför arbetspasskalendern.

Aktiv enhets ID

Bilddiagnostik

På remissidan för bilddiagnostik i de övre och nedre verktygsfälten.

Remiss-ID för bilddiagnostik

Påminnelser

I verktygsfältet på påminnelsesidan som blir synligt när en eller flera påminnelser är valda.

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

Logg

Anrop som skickas i bakgrunden ('Skicka HTTP-anrop') registreras i en intern logg för verifiering och granskning.

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

  2. Loggvyn listar alla anrop som gjorts, med det senaste anropet överst.

  3. Se mer information i detaljvyn genom att välja ögonknappen på den högra sidan av varje rad.

Notera

Loggning sker inte för förgrundsanrop ('Öppna i nytt fönster', 'Öppna i sidopanel').

Verifieringssalt & Hashar

Alternativet "Verifieringssalt" syns endast om "Lägg till verifieringshash" är valt. Dessutom visas "Inkludera nyttolast i verifieringshash".

Baserat på kombinationen av behörigheter beräknas verifieringshashen enligt följande:

1. Verification salt enabled, "include payload in verficiation option" disabled -> hash calculated as:Hexadecimal verification MD5 hash digest, e.g. "4e531ee13aa16886db72bc1621206d2f". The hash is generated by appending the verification salt after the included timestamp ("2018-07-15T09:12:54+00:00My verification salt"). [string]2. Verification salt enabled, "include payload in verification option" enabled, "Add organization and department information" DISABLED -> hash calculated as:Hexadecimal verification MD5 hash digest, e.g. "23ae5385b3862a571f1b5d6f6b469b1c". The hash is calculated with: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00My verification saltpatient_id1234user_id56"). [string]3. Verification salt enabled, "include payload in verification option" enabled, "Add organization and department information" ENABLED -> hash calculated as:Hexadecimal verification MD5 hash digest, e.g. "163049a017bb405d4bfec754810c9838". The hash is calculated with: "<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 verification saltpatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [string]

Verifieringshashar kan användas som ytterligare validering för att verifiera vilka anrop som kommer från den anpassade integrationen i Provet.

  • När funktionen är aktiverad läggs en extra parameter som heter "verification" till i anropen.

  • Denna parameter är en MD5-hash av tidsstämpeln och verifieringssaltet.

  • Vid sändning i bakgrunden genereras tidsstämpeln när anropet faktiskt skickas.

  • Vid sändning i förgrunden genereras tidsstämpeln när sidan som innehåller knappen för den anpassade integrationen laddas.

Till exempel, för att verifiera att verifieringshashen är giltig i Python, kan man skriva en funktion som denna:

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 integrationer öppna i förgrunden med hjälp av Window.postMessage() API.

  • Det enda giltiga kommandot är "reload".

    function refreshProvetCloud() {    window.opener.postMessage("reload","*");}
  • Detta kommando utför en fullständig omladdning av sidan i det fönster eller den flik som öppnade den anpassade integrationen.

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

Se även

Fick du svar på din fråga?