Egendefinerte integrasjoner er en funksjon i Provet som lar deg sende forespørsler til eksterne ressurser fra inne i Provet. For å få tilgang til denne funksjonen, kontakt Provet support.
Håndtering
Administrer egendefinerte integrasjoner i Innstillinger > Integrasjoner > Egendefinerte integrasjoner.
For å legge til en integrasjon, velg knappen Legg til.
For å redigere en integrasjon, velg knappen pen på raden i tabellen.
Innstillinger
Felt | Kommentar |
Navn | Angir etiketten på knappen som vises i brukergrensesnittet. |
Angir hvilken side knappen er synlig på. Hver egendefinerte integrasjon kan bare være synlig på én side, men den samme konfigurasjonen kan dupliseres. | |
Handling | Angir hvilken handling som utføres når knappen velges. |
HTTP-metode | Angir om forespørselen sendes som en GET-forespørsel (nyttelast levert som parametere i spørringsstrengen) eller som en POST-forespørsel (nyttelast levert som skjemaopplysninger. |
Nettadresse | Mål-Nettadresse, komplett med skjema. |
Parameternavn | Navnet på parameteret som brukes når du oppgir den aktuelle objekt-ID-en. |
Aktivert | Gir mulighet for å aktivere og deaktivere en egendefinert integrasjon. Egendefinerte integrasjoner kan også slettes hvis de ikke lenger er nødvendige. |
Bekreftelsestillegg | En delt hemmelighet som brukes til å beregne bekreftelses-hashen. Kreves når bekreftelses-hashen er aktivert. |
Konfigurasjonsalternativer
Legg til bekreftelses-hash: Aktiverer en bekreftelses-hash i nyttelasten som kan brukes til å verifisere at forespørselen kommer fra den egendefinerte integrasjonen.
Inkluder nyttelasten i verifikasjonshashen: Dette alternativet beregner bekreftelses-hashen på nytt ved å bruke hele nyttelasten, inkludert kunde- og klient-ID-er.
Legg til informasjon om organisasjon og avdeling: Dette alternativet inkluderer nødvendig informasjon om organisasjon og avdeling automatisk. Provet vil inkludere følgende parametere i forespørselen: Provet navn (organisasjonskjerne), Provet ID (produktorganisasjons-ID) og Avdelings-ID.
Prefiksering av parameterværdi
Det er mulig å legge til et egendefinert prefiks i parameterværdien ved å angi parameternavnet på en annen måte.
Hvis du for eksempel definerer parameternavnet som 'id=client_', vil den sende en forespørsel som https://example.com/?id=client_1.
Overskrifter
Bakgrunnsforespørsler ('Send HTTP-forespørsel') kan gis vilkårlige, statiske verdier som legges til i forespørslene.
Dette kan brukes til å inkludere autorisasjonsoverskrifter i forespørsler.
Denne funksjonen er ikke implementert for forgrunnsforespørsler ('Åpne i nytt vindu', 'Åpne i sidepanel'). Sendte overskrifter logges heller ikke.
Nyttelast informasjon
Visningsbildet for innstillingene viser en liste over nyttelast-nøkler og verdier som sendes sammen med forespørselen. Denne listen oppdateres når innstillingene endres.
Handlingstyper
1. Send HTTP-forespørsel
En forespørsel planlegges i bakgrunnen og sendes ved hjelp av Provet sine servere. Brukere vil ikke se nettsiden, men kan se en varsling når sendingen pågår.
Forespørselen kommer fra Provet sine utgående IP-adresser.
Sendingen skjer asynkront, og det kan være en forsinkelse avhengig av hvor mye arbeid som gjøres på serverne.
Du ser en informasjonsvarsling øverst på siden når forespørselen planlegges.
En varsling om vellykket vises hvis forespørselen sendes uten problemer og integrasjonen svarer med en vellykket HTTP-statuskode (mellom 200 og 299, inkludert).
Hvis forespørselen feiler, vises en feilmelding som sier 'Integrasjonsforespørsel mislyktes', og med en mer spesifikk feilmelding i parentesen.
Feilmelding | Kommentar |
Backend-feil | Det oppstod en ukjent feil på Provet sine worker-servere. Kontakt Provet support for tilleggsinformasjon. |
Tilkoblingsfeil | Forespørselen for å planlegge sendingen gikk ikke gjennom. |
Datafeil | Forespørselen for å planlegge sendingen inneholdt ugyldig data. |
Integrasjonsfeil | Forespørselen ble sendt uten problemer, men integrasjonen svarte med en ikke-vellykket HTTP-statuskode (lavere enn 200 eller høyere enn 299). |
2. Åpne i nytt vindu
Mål-Nettadressen åpnes i et nytt vindu eller en ny nettleserfane.
Hvis en GET-forespørsel brukes, kan brukerne se nyttelast-informasjonen som vises i nettleserens adressefelt.
3. Åpne i sidepanel
Mål-Nettadressen bygges inn i Provet ved å åpne et sidepanel over innholdet på siden og vise siden som en iframe.
Mål-Nettadressen må støtte innbygging (topptekst for X-Frame-Options må settes riktig).
Bruk
Egendefinerte integrasjoner vises som knapper på mål-sider.
Hvis bare én integrasjon er satt opp for en side, vises den som en vanlig knapp.
Hvis en side har flere integrasjoner, vises de som en rullegardinmeny.
Egendefinerte integrasjoner sender kun relevant objekt-ID (kunde-ID, pasient-ID, faktura-ID osv.) som kan slås opp via Provet REST API.
Side | Plassering av knapp | ID sendt som parameter |
Kunde | På høyre side, over delen for Merknader (ikke på pasientfanene). | Kunde ID |
Pasient | På høyre side, over delen for Merknader (ikke på kundefanene). | Pasient-ID |
Faktura | I bunnverktøylinjen på fakturasider (inkludert direktesalg). | Faktura ID (ikke fakturanummer) |
Konsultasjon | Over delen for generell info, for både pågående og ferdigstilte konsultasjoner. | Konsultasjons-ID |
Plan | Øverst på planleggingskalenderen. | Aktiv avdelings-ID |
Skiftkalender | Øverst på skiftkalenderen. | Aktiv avdelings-ID |
Bildediagnostikk | På henvisningssiden for bildediagnostikk i topp- og bunnverktøylinjene. | Henvisning til bildediagnostikk-ID |
Innkalling | I verktøylinjen for utvalg på innkallingssiden når én eller flere innkallinger er valgt. | Innkallings-ID for hver valgt innkalling |
Logg
Forespørsler som sendes i bakgrunnen ('Send HTTP-forespørsel') registreres i en intern logg for verifikasjon og revisjon.
Gå til Innstillinger > Integrasjoner > Egendefinerte integrasjoner > Logg.
Visningsbildet for loggen viser alle forespørsler som er gjort, med start i den nyeste forespørselen.
Se mer informasjon i detaljvisningen ved å velge øye-knappen til høyre for hver rad.
Merknad
Loggføring utføres ikke for forgrunnsforespørsler ('Åpne i nytt vindu', 'Åpne i sidepanel').
Bekreftelsestillegg og hashes
Alternativet "Bekreftelsestillegg" er bare synlig hvis "Legg til bekreftelses-hash" er valgt. I tillegg vises "Inkluder nyttelasten i verifikasjonshashen" når "Legg til bekreftelses-hash er valgt".
Basert på kombinasjonen av tillatelser beregnes bekreftelses-hashen slik:
1. Bekreftelsestillegg aktivert, "inkluder nyttelasten i verifikiation option" deaktivert -> hashen beregnes som: Heksadesimalt MD5-hashtag for bekreftelsessammendrag, for eksempel "4e531ee13aa16886db72bc1621206d2f". Hash-en genereres ved å legge til bekreftelses-feltet etter det inkluderte tidsstempelet ("2018-07-15T09:12:54+00:00Min bekreftelsesfelt"). [Streng]2. Bekreftelsestillegg aktivert, "inkluder nyttelasten i verifikasjon option" aktivert, "Legg til informasjon om organisasjon og avdeling" DEAKTIVERT -> hashen beregnes som: Heksadesimalt MD5-hashtag for bekreftelsessammendrag, for eksempel "23ae5385b3862a571f1b5d6f6b469b1c". Hash-en beregnes med: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00Min bekreftelsesfeltpatient_id1234user_id56"). [Streng]3. Bekreftelsestillegg aktivert, "inkluder nyttelasten i verifikasjon option" aktivert, "Legg til informasjon om organisasjon og avdeling" AKTIVERT -> hashen beregnes som: Heksadesimalt MD5-hashtag for bekreftelsessammendrag, for eksempel "163049a017bb405d4bfec754810c9838". Hash-en 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:00Min bekreftelsesfeltpatient_id1234user_id56provet_envenvprovet_id12345department_id12"). [Streng]Bekreftelses-hashes kan brukes som ekstra validering for å verifisere hvilke forespørsler som kommer fra den egendefinerte integrasjonen i Provet.
Når den er aktivert, legges det til en ekstra parameter kalt "verification" i forespørslene.
Denne parameteren er en MD5 hash digest av tidsstempelet og bekreftelsestillegget.
Ved sending i bakgrunnen genereres tidsstempelet når forespørselen faktisk sendes.
Ved sending i forgrunnen genereres tidsstempelet når en side som inneholder knappen for den egendefinerte integrasjonen, lastes.
For eksempel, for å verifisere at bekreftelses-hashen er gyldig i Python, kan man skrive en funksjon 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.verificationTo-veis kommunikasjon med Provet
Provet kan håndtere en begrenset mengde to-veis kommunikasjon med egendefinerte integrasjoner som åpnes i forgrunnen ved hjelp av Window.postMessage() API.
Den eneste gyldige kommandoen er "reload".
function refreshProvetCloud() { window.opener.postMessage("reload","*");}Denne kommandoen utfører en full sidereinnlasting av vinduet eller fanen som åpnet den egendefinerte integrasjonen.
Dette kan være nyttig hvis den egendefinerte integrasjonen oppdaterer data i Provet via REST API.
