Spring videre til hovedindholdet

Brugerdefinerede integrationer

Brugerdefinerede integrationer er en funktion i Provet, som gør det muligt at sende anmodninger til eksterne ressourcer inde fra Provet. For at få adgang til denne funktion skal du kontakte Kontakt P…

Brugerdefinerede integrationer er en funktion i Provet, som gør det muligt at sende anmodninger til eksterne ressourcer inde fra Provet. For at få adgang til denne funktion skal du kontakte Kontakt Provet support.

Administration

Administrer brugerdefinerede integrationer i Indstillinger > Integrationer > Brugerdefinerede integrationer.

  • Hvis du vil tilføje en integration, skal du vælge knappen Tilføj.

  • Hvis du vil redigere en integration, skal du vælge knappen pen i tabellens række.

Indstillinger

Felt

Beskrivelse

Navn

Angiver teksten, der vises på knappen i brugergrænsefladen.

Angiver, på hvilken side knappen vises. Hver brugerdefineret integration kan kun være synlig på én side, men den samme konfiguration kan duplikere.

Handling

Angiver, hvilken handling der udføres, når knappen vælges.

HTTP metode

Angiver, om anmodningen sendes som en GET-anmodning (nyttelast angives som parametre i forespørgselsstrengen) eller som en POST-anmodning (nyttelast angives som formulardata).

URL

Mål-URL’en, inklusive schema.

Parameter navn

Navnet på parameteren, der bruges, når du angiver det aktuelle objekts ID.

Aktiveret

Giver mulighed for at aktivere og deaktivere en brugerdefineret integration. Brugerdefinerede integrationer kan også slettes, hvis de ikke længere er nødvendige.

Verifikation Salt

En delt hemmelighed, der bruges til at beregne verifikationshashen. Kræves, når verifikationshashen er aktiveret.

Konfigurationsmuligheder

  • Tilføj verifikations hash: Aktiverer en verifikationshash i nyttelasten, som kan bruges til at verificere, at anmodningen kommer fra den brugerdefinerede integration.

  • Inkluder nyttelast i verifikationshash: Denne mulighed genberegner verifikationshashen ved hjælp af den fulde nyttelast, inklusive bruger- og klient-id’er.

  • Tilføj oplysninger om organisation og afdeling: Denne mulighed inkluderer automatisk de nødvendige oplysninger om organisation og afdeling. Provet medtager følgende parametre i anmodningen: Provet name (organization core), Provet ID (product organization ID) og Afdelings ID.

Præfiksering af parameterværdi

Du kan tilføje et brugerdefineret præfiks til parameterens værdi ved at angive parameternavnet på en anden måde.

Header

Baggrundsanmodninger ('Send HTTP anmodning') kan få vilkårlige statiske værdier, som tilføjes til anmodningerne.

  • Dette kan bruges til at medtage Authorization-headers i anmodninger.

  • Denne funktion er ikke implementeret for forgrundsanmodninger ('Åben i ny fane', 'Åbn i sidepanelet'). Sendte headers logges heller ikke.

Oplysninger om nyttelast

Visningen af indstillinger viser en liste over nøgler og værdier i nyttelasten, som sendes med anmodningen. Listen opdateres, når indstillingerne ændres.

CI2.png

Handlingstyper

1. Send HTTP anmodning

En anmodning planlægges i baggrunden og sendes ved hjælp af Provet’s servere. Brugere ser ikke websiden, men kan se en notifikation, mens afsendelsen kører.

  • Anmodningen kommer fra Provet’s udgående IP-adresser.

  • Afsendelsen sker asynkront, og der kan være en forsinkelse afhængigt af, hvor meget arbejde der er på serverne på det pågældende tidspunkt.

  • Du ser en informationsnotifikation øverst på siden, når anmodningen bliver planlagt.

  • Der vises en succesnotifikation, hvis anmodningen sendes med succes, og integrationen svarer med en vellykket HTTP statuskode (mellem 200 og 299 inkl.).

  • Hvis anmodningen fejler, vises en fejlnotifikation med teksten 'Integration request failed', og der står en mere specifik fejlbesked i parentes.

Fejlmeddelelse

Beskrivelse

Backend error

Der opstod en ukendt fejl på Provet’s worker-servere. Kontakt Kontakt Provet support for supplerende information.

Forbindelsesfejl

Anmodningen om at planlægge afsendelsen gik ikke igennem.

Data error

Anmodningen om at planlægge afsendelsen indeholdt ugyldig data.

Integration error

Anmodningen blev sendt med succes, men integrationen svarede med en ikke-vellykket HTTP statuskode (lavere end 200 eller højere end 299).

2. Åben i ny fane

Mål-URL’en åbnes i et nyt vindue eller en ny browserfane.

  • Hvis en GET-anmodning bruges, kan brugerne se oplysningerne om nyttelasten, der vises i browserens adresselinje.

3. Åbn i sidepanelet

Mål-URL’en integreres i Provet ved at åbne et sidepanel oven på sideindholdet og vise siden som en iframe.

  • Mål-URL’en skal understøtte indlejring (headeren X-Frame-Options skal være sat korrekt).

Anvendelse

Brugerdefinerede integrationer gengives som knapper på sider, der er mål for integrationen.

  • Hvis der kun er konfigureret én integration for en side, gengives den som en almindelig knap.

  • Hvis en side har flere integrationer, gengives de som en rullemenu.

CI5.png

Brugerdefinerede integrationer sender kun det relevante objekt-ID (klient ID, patient ID, faktura ID osv.), som kan forespørges via Provet REST API.

Side

Placering af knap

ID sendt som en parameter

Klient

På højre side, over afsnittet Noter (ikke på patientfanerne).

Klient ID

Patient

På højre side, over afsnittet Noter (ikke på klientfanerne).

Patient ID

Faktura

I fakturaens nederste værktøjslinje (inklusive Kontantsalg-sider).

Faktura ID (ikke fakturanummer)

Konsultation

Over afsnittet Generel information, for både løbende og afsluttede konsultationer.

Konsultation ID

Aftalekalender

Øverst på aftalekalenderen.

Aktiv Afdelings ID

Vagtplan

Øverst på vagtplanen.

Aktiv Afdelings ID

Billeddiagnostik

På henvisningssiden til billeddiagnostik i de øverste og nederste værktøjslinjer.

Henvisning til billeddiagnostik ID

Påmindelse

I udvælgelsesværktøjslinjen på påmindelsessiden, når én eller flere påmindelser er valgt.

Påmindelse ID for hver valgt påmindelse

Historik

Anmodninger sendt i baggrunden ('Send HTTP anmodning') registreres i en intern log til verifikation og audit.

CI3.png
CI4.png
  1. Gå til Indstillinger > Integrationer > Brugerdefinerede integrationer > Historik.

  2. Logvisningen viser alle foretagne anmodninger, startende med den seneste anmodning.

  3. Se supplerende information i detaljevisningen ved at vælge øje-knappen i højre side af hver række.

Bemærk: Der logges ikke for forgrundsanmodninger ('Åben i ny fane', 'Åbn i sidepanelet').

Verifikation Salt & hashes

Muligheden "Verifikation Salt" er kun synlig, hvis "Tilføj verifikations hash" er valgt. Derudover vises "Inkluder nyttelast i verifikationshash" også, når "Tilføj verifikations hash" er valgt.

Baseret på kombinationen af tilladelser beregnes verifikationshashen som følger:

1. Verifikation Salt aktiveret, "inkluder payload i verifikationsoption" deaktiveret -> hash beregnes som:Hexadecimal verifikation MD5 hash fordøje, f.eks. "4e531ee13aa16886db72bc1621206d2f". Hashen genereres ved at tilføje verifikations saltet efter det inkluderende tidsstempel ("2018-07-15T09:12:54+00:00My verifikationssalt"). [string]2. Verifikation Salt aktiveret, "inkluder payload i verifikationsoption" aktiveret, "Tilføj oplysninger om organisation og afdeling" DEAKTIVERET -> hash beregnes som:Hexadecimal verifikation MD5 hash fordøje, f.eks. "23ae5385b3862a571f1b5d6f6b469b1c". Hashen beregnes med: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00My verifikationssaltpatient_id1234user_id56"). [string]3. Verifikation Salt aktiveret, "inkluder payload i verifikationsoption" aktiveret, "Tilføj oplysninger om organisation og afdeling" AKTIVERET -> hash beregnes som:Hexadecimal verifikation MD5 hash fordøje, f.eks. "163049a017bb405d4bfec754810c9838". Hashen beregnes 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 verifikationssaltpatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [string]

Verifikationshashes kan bruges som en ekstra validering til at verificere, hvilke anmodninger der kommer fra Provet’s brugerdefinerede integration.

  • Når den er aktiveret, tilføjes en ekstra parameter med navnet "verification" til anmodninger.

  • Denne parameter er en MD5 hash fordøje af tidsstemplet og verifikations saltet.

  • Ved afsendelse i baggrunden genereres tidsstemplet, når anmodningen faktisk sendes.

  • Ved afsendelse i forgrunden genereres tidsstemplet, når en side med knappen til den brugerdefinerede integration indlæses.

Hvis du fx vil verificere, at verifikationshashen er gyldig i Python, kan man skrive en funktion som denne:

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

To-vejs-kommunikation med Provet

Provet giver mulighed for en begrænset mængde to-vejs-kommunikation med brugerdefinerede integrationer åbnet i forgrunden ved hjælp af Window.postMessage()-API’et.

  • Den eneste gyldige kommando er "reload".

    function refreshProvetCloud() {    window.opener.postMessage("reload","*");}
  • Denne kommando udfører en fuld side-genindlæsning af vinduet eller fanen, som åbnede den brugerdefinerede integration.

  • Det kan være nyttigt, hvis den brugerdefinerede integration opdaterer Provet-data via REST API’et.

Se også

Besvarede dette dit spørgsmål?