Egendefinerte integrasjoner er en funksjon i Provet som gjør det mulig å sende forespørsler til eksterne ressurser fra innsiden av Provet. For å få tilgang til denne funksjonen, kontakt Provet support.
Administrasjon
Administrer egendefinerte integrasjoner i Innstillinger > Integrasjoner > Egendefinerte integrasjoner.
Hvis du vil legge til en integrasjon, velg knappen Legg til.
Hvis du vil redigere en integrasjon, velg knappen pen i raden i tabellen.
Innstillinger
Felt | Beskrivelse |
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 FÅ-forespørsel (nyttelast oppgitt som parametere i spørringsstrengen) eller som en POST-forespørsel (nyttelast oppgitt som skjema-data). |
Nettadresse | Mål-Nettadresse, komplett med skjema. |
Parameternavn | Navnet på parameteren som brukes når du oppgir aktuelt objekt-ID. |
Aktivert | Lar deg aktivere og deaktivere en egendefinert integrasjon. Egendefinerte integrasjoner kan også slettes hvis de ikke lenger trengs. |
Bekreftelsestillegg | En delt hemmelighet som brukes til å beregne verifikasjonshashen. Kreves når verifikasjonshashen 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 regner ut verifikasjonshashen på nytt ved å bruke hele nyttelasten, inkludert kunde- og klient-ID.
Legg til informasjon om organisasjon og avdeling: Dette alternativet inkluderer nødvendig informasjon om organisasjon og avdeling automatisk. Provet vil inkludere disse parametrene i forespørselen: Provet navn (organisasjonens kjerne), Provet ID (produktorganisasjons-ID) og Avdelings-ID.
Prefiksing av paramet verdi
Det er mulig å legge til et egendefinert prefiks i parameterverdien ved å oppgi 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 få vilkårlige, statiske verdier som legges til i forespørslene.
Dette kan brukes til å inkludere autorisasjonsoverskrifter i forespørslene.
Denne funksjonen er ikke implementert for forgrunnsforespørsler ('Åpne i ny fane', 'Åpne i sidepanel'). Sendte overskrifter logges heller ikke.
Nyttelast informasjon
Innstillingsvisningen viser en liste over nyttelastnøkler og verdier som sendes 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 ser ikke nettsiden, men kan se en varsling mens 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 mengden arbeid som er i gang på serverne.
Du vil se en informasjonsvarsling øverst på siden når forespørselen planlegges.
Det vises en suksessvarsling hvis forespørselen blir sendt vellykket, og integrasjonen svarer med en vellykket HTTP-statuskode (mellom 200 og 299, inkludert).
Hvis forespørselen mislykkes, vises en feilmelding med teksten 'Integrasjonsforespørsel mislyktes', med en mer spesifikk feilmelding i parentes.
Feilmelding | Beskrivelse |
Backend-feil | Det oppstod en ukjent feil på Provet sine worker-servere. Kontakt Provet support for tilleggsinformasjon. |
Tilkoblingsfeil | Forespørselen om å planlegge sendingen gikk ikke gjennom. |
Dat feil | Forespørselen om å planlegge sendingen inneholdt ugyldige data. |
Integrasjonsfeil | Forespørselen ble sendt vellykket, men integrasjonen svarte med en ikke-vellykket HTTP-statuskode (lavere enn 200 eller høyere enn 299). |
2. Åpne i ny fane
Mål-Nettadresse åpnes i et nytt vindu eller en ny nettleserfane.
Hvis en FÅ-forespørsel brukes, kan brukerne se nyttelast informasjon som vises i nettleserens adressefelt.
3. Åpne i sidepanel
Mål-Nettadresse bygges inn i Provet ved å åpne et sidepanel over innholdet på siden og vise siden som en iframe.
Mål-Nettadresse må støtte innebygging (topptekst for X-Frame-Options må være satt riktig).
Bruk
Egendefinerte integrasjoner vises som knapper på mål-sider.
Hvis kun é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 hentes fra Provet REST API.
Side | Knappplassering | ID sendt som parameter |
Kunde | På høyre side, over seksjonen Merknader (ikke på kundefanene). | Kunde ID |
Pasient | På høyre side, over seksjonen Merknader (ikke på pasientfanene). | Pasient-ID |
Faktura | I bunnverktøylinjen på faktura-sider (inkludert direktesalg). | Faktura ID (ikke fakturanummeret) |
Konsultasjon | Over seksjonen generell info, for både pågående og ferdige konsultasjoner. | Konsultasjons-ID |
Timeavtale kalender | Øverst på timeavtale-kalenderen. | Aktuelt avdelings-ID |
Skiftkalender | Øverst på skiftkalenderen. | Aktuelt avdelings-ID |
Bildediagnostikk | På henvisningssiden til bildediagnostikk i topp- og bunnverktøylinjene. | Henvisning til bildediagnostikk ID |
Innkalling | I utvalgsverktøylinjen på innkallings-siden når én eller flere innkallinger er valgt. | Innkalling ID for hver valgt innkalling |
Logg
Forespørsler sendt i bakgrunnen ('Send HTTP-forespørsel') lagres i en intern logg for verifikasjon og revisjon.
Gå til Innstillinger > Integrasjoner > Egendefinerte integrasjoner > Logg.
Loggvisningen viser alle forespørslene som er gjort, med den nyeste forespørselen først.
Se mer informasjon i detaljvisningen ved å velge øye-knappen til høyre i hver rad.
Merk: Logging utføres ikke for forgrunnsforespørsler ('Åpne i ny fane', 'Åpne i sidepanel').
Bekreftelsestillegg & hashes
Alternativet "Bekreftelsestillegg" vises bare hvis "Legg til bekreftelses-hash" er valgt. I tillegg vises "Inkluder nyttelasten i verifikasjonshashen" også når "Legg til bekreftelses-hash" er valgt.
Basert på kombinasjonen av tillatelser beregnes verifikasjonshashen slik:
1. Bekreftelsestillegg aktivert, "inkluder nyttelast i verifikasjon-alternativ" deaktivert -> hash 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 nyttelast i verifikasjon-alternativ" aktivert, "Legg til informasjon om organisasjon og avdeling" DEAKTIVERT -> hash beregnes som: Heksadesimalt MD5-hashtag for bekreftelsessammendrag, for eksempel "23ae5385b3862a571f1b5d6f6b469b1c". Hash-en beregnes med: "<tidsstempel><tillegg><parameternavn><objekt_id>user_id<user_id>" ("2018-07-15T09:12:54+00:00Min bekreftelsesfeltpatient_id1234user_id56"). [Streng]3. Bekreftelsestillegg aktivert, "inkluder nyttelast i verifikasjon-alternativ" aktivert, "Legg til informasjon om organisasjon og avdeling" AKTIVERT -> hash beregnes som: Heksadesimalt MD5-hashtag for bekreftelsessammendrag, for eksempel "163049a017bb405d4bfec754810c9838". Hash-en beregnes med: "<tidsstempel><tillegg><parameternavn><objekt_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]Verifikasjonshashene kan brukes som ekstra validering for å verifisere hvilke forespørsler som kommer fra Provet sin egendefinerte integrasjon.
Når aktivert, legges en ekstra parameter kalt "verification" til forespørslene.
Denne parameteren er et MD5-hashtag for verifikasjon av tidsstempelet og bekreftelsestillegget.
For bakgrunnssending genereres tidsstempelet når forespørselen faktisk sendes.
For forgrunnssending genereres tidsstempelet når en side som inneholder knappen for egendefinert integrasjon lastes.
For eksempel, for å verifisere at verifikasjonshashen 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 legger til rette for en begrenset mengde to-veis kommunikasjon med egendefinerte integrasjoner som åpnes i forgrunnen ved hjelp av Window.postMessage()-APIet.
Den eneste gyldige kommandoen er "reload".
function refreshProvetCloud() { window.opener.postMessage("reload","*");}Denne kommandoen utfører en full sideoppdatering i vinduet eller fanen som åpnet den egendefinerte integrasjonen.
Dette kan være nyttig hvis den egendefinerte integrasjonen oppdaterer Provet-data via REST API.
