Gå til hovedinnhold

Egendefinerte integrasjoner

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 …

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.

CI1.png
  • 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.

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.

CI2.png

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.

CI5.png

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.

CI3.png
CI4.png
  1. Gå til Innstillinger > Integrasjoner > Egendefinerte integrasjoner > Logg.

  2. Visningsbildet for loggen viser alle forespørsler som er gjort, med start i den nyeste forespørselen.

  3. 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.verification

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

Se også

Svarte dette på spørsmålet?