Spring videre til hovedindholdet

Brugerdefinerede integrationer

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

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

Administration

Administrer brugerdefinerede integrationer i Indstillinger > Integrationer > Brugerdefinerede integrationer.

CI1.png
  • For at tilføje en integration skal du vælge knappen Tilføj.

  • For at redigere en integration skal du vælge knappen pen i tabelrækken.

Indstillinger

Felt

Beskrivelse

Navn

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

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

Handling

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

HTTP metode

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

URL

Mål-URL’en, komplet med skema.

Parameter navn

Navnet på parameteret, der bruges til at angive den aktuelle objekts ID.

Aktiveret

Gør det muligt 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 bekræfte, at anmodningen kommer fra den brugerdefinerede integration.

  • Inkluder nyttelast i verifikationshash: Denne valgmulighed genberegner verifikationshashen ved at bruge hele nyttelasten, inklusive bruger- og klient-ID’er.

  • Tilføj oplysninger om organisation og afdeling: Denne valgmulighed inkluderer automatisk de nødvendige oplysninger om organisation og afdeling. Provet medtager disse parametre i anmodningen: Provet navn (organisationskerne), Provet ID (produktionsorganisation ID) og Afdelings ID.

Præfiks af parameterværdi

Det er muligt at tilføje et brugerdefineret præfiks til parameterværdien ved at angive parameter navnet på en anden måde.

Sidehoveder

Baggrundsanmodninger ('Send HTTP anmodning') kan angives med vilkårlige, statiske værdier, som bliver tilføjet til anmodningerne.

  • Dette kan bruges til at inkludere Authorisation sidehoveder i anmodninger.

  • Denne funktion er ikke implementeret for forgrundsanmodninger ('Åben et nyt vindue', 'Åbn i sidepanelet'). Sendte sidehoveder bliver heller ikke logget.

Oplysninger om nyttelast

Visningen med 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 vil ikke se websiden, men kan se en notifikation, når afsendelsen er i gang.

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

  • Afsendelsen sker asynkront, og der kan være en forsinkelse afhængigt af mængden af arbejde, der er på serverne i øjeblikket.

  • Du kan se en informationsnotifikation øverst på siden, når anmodningen planlægges.

  • Der vises en succesnotifikation, hvis anmodningen sendes med succes, og integrationen svarer med en succesfuld HTTP status kode (mellem 200 og 299 inklusive).

  • Hvis anmodningen fejler, vises en fejlnotifikation med teksten 'Integration request failed' samt en mere specifik fejlmeddelelse i parentesen.

Fejlmeddelelse

Beskrivelse

Backend-fejl

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

Forbindelsesfejl

Anmodningen om at planlægge afsendelsen blev ikke gennemført.

Datafejl

Anmodningen om at planlægge afsendelsen indeholdt ugyldige data.

Integration error

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

2. Åbn et nyt vindue

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

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

3. Åbn i sidepanelet

Mål-URL’en indlejres i Provet ved at åbne et sidepanel oven på indholdet på siden 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å mål-sider.

  • Hvis der kun er sat én integration op til en side, gengives den som en almindelig knap.

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

CI5.png

Brugerdefinerede integrationer sender kun det relevante objekts ID (klient-ID, patient-ID, faktura-ID osv.), som kan slås op via Provet REST API.

Side

Placering af knap

ID sendt som parameter

Klient

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

Klient ID

Patient

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

Patient ID

Faktura

I den nederste værktøjslinje på fakturasider (inklusive kontantsalg).

Faktura ID (ikke fakturanummeret)

Konsultation

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

Konsultation ID

Aftale Kalender

Øverst i aftalekalenderen.

Aktivt afdelings ID

Vagt Kalender

Øverst i vagtkalenderen.

Aktivt afdelings ID

Billeddiagnostik

På siden til billeddiagnostik rekvisition i top- og bundtværktøjslinjerne.

Billeddiagnostik rekvisition ID

Påmindelser

I valg-væ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 historik til verifikation og audit.

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

  2. Visningen af historik viser alle oprettede anmodninger, startende med den seneste anmodning.

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

Notat

Der logges ikke for forgrundsanmodninger ('Åben et nyt vindue', 'Åbn i sidepanelet').

Verifikation Salt & hashes

Valgmuligheden "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, "include payload in verficiation option" deaktiveret -> hash beregnes som:Hexadecimal verifikation MD5 hash fordøje, f.eks. "4e531ee13aa16886db72bc1621206d2f". Hasen genereres ved at tilføje verifikations saltet efter det inkluderende tidsstempel ("2018-07-15T09:12:54+00:00My verifikationssalt"). [string]2. Verifikation Salt aktiveret, "include payload in verification option" 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, "include payload in verification option" 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 supplerende validering til at kontrollere, hvilke anmodninger der kommer fra den brugerdefinerede integration i Provet.

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

  • Denne parameter er en MD5 hash fordøje af tidsstempel og verifikation salt.

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

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

Hvis for eksempel du vil bekræfte, 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 understøtter en begrænset mængde to-vejs kommunikation med brugerdefinerede integrationer, der åbnes i forgrunden, via Window.postMessage()-API’et.

  • Den eneste gyldige kommando er "reload".

    function refreshProvetCloud() {    window.opener.postMessage("reload","*");}
  • Denne kommando udfører en fuld genindlæsning af siden i det vindue eller den fane, der å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?