Medisinkabinett
Integrasjoner med medisinkabinett må finne pasientene som er relevante for hvert kabinett. I Open
Aidn konfigureres hvert kabinett med ID-en til avdelingen der det står. Deretter søker integrasjonen
etter EpisodeOfCare-ressurser som administreres av avdelingen.
Scenario
Leverandøren drifter ett eller flere medisinkabinett for en kommune. Hvert kabinett er plassert på en avdeling eller post. Leverandørsystemet henter jevnlig pasientene som hører til plasseringen, slik at legemiddelhåndteringen kan begrenses til riktig omsorgssituasjon.
Påkrevd oppsett
| Konfigurasjon | Eier | Beskrivelse |
|---|---|---|
| OAuth-klient | Kommune eller Aidn-administrator | Klient konfigurert for leverandøren og miljøet. Se Kommuneoppsett. |
| Klientens privatnøkkel | Leverandør | Privatnøkkel som hører til den registrerte offentlige nøkkelen. Leverandøren eller administrasjonsportalen kan generere nøkkelparet under klientoppsettet. Privatnøkkelen må lagres sikkert. |
| Tilgang | Kommune eller Aidn-administrator | Klienten trenger episodeofcare.search. Legg bare til episodeofcare.read hvis integrasjonen må lese enkeltressurser med ID. |
| Avdelings-ID | Kommune | Avdelings-ID-en som svarer til kabinettets plassering. |
| Integrasjonen er aktivert for kommunen | Kommune eller Aidn-administrator | Integrasjonen må aktiveres før forespørsler kan sendes til kommunen. |
Dataflyt
sequenceDiagram
participant Admin as Kommunal administrator
participant Vendor as Kabinettleverandør
participant IdP as Aidn-identitetstjeneste
participant FHIR as Open Aidn FHIR API
Admin->>Admin: Aktiver integrasjon for kommunen
Admin->>Admin: Opprett OAuth-klient og velg tilganger
Admin->>Vendor: Del klient-ID, nøkkel-ID, miljø og avdelings-ID
Vendor->>IdP: Be om tilgangstoken med private_key_jwt
IdP-->>Vendor: Tilgangstoken med godkjente tilganger
Vendor->>FHIR: Søk etter EpisodeOfCare med avdelings-ID
FHIR-->>Vendor: FHIR Bundle med samsvarende omsorgsepisoder og eventuelle pasienter
Hent pasienter for et kabinett
Bruk den konfigurerte avdelings-ID-en som søkeparameteren organization.
POST /EpisodeOfCare/_search HTTP/1.1
Host: <OPEN_AIDN_FHIR_HOST>
Accept: application/fhir+json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer <ACCESS_TOKEN>
organization=<DEPARTMENT_ID>&_include=EpisodeOfCare:patient
Svaret er en FHIR Bundle:
EpisodeOfCare-oppføringer medsearch.modesatt tilmatchrepresenterer omsorgsepisoder ved den konfigurerte avdelingen.Patient-oppføringer medsearch.modesatt tilincludereturneres når søket bruker_include=EpisodeOfCare:patient.EpisodeOfCare.patient.referenceviser til den samsvarendePatient-ressursen.EpisodeOfCare.managingOrganization.identifier.valueinneholder avdelings-ID-en for avdelingen.
Filtrering på tjenestetype
Hvis integrasjonen bare skal hente bestemte tjenestetyper, kan du legge til én eller flere
type-parametere. Verdiene som brukes nå, tilsvarer IPLOS-koder der det er relevant.
POST /EpisodeOfCare/_search HTTP/1.1
Host: <OPEN_AIDN_FHIR_HOST>
Accept: application/fhir+json
Content-Type: application/x-www-form-urlencoded
Authorization: Bearer <ACCESS_TOKEN>
organization=<DEPARTMENT_ID>&type=<IPLOS_CODE>&_include=EpisodeOfCare:patient
Filtrer på tjenestetype bare hvis dette er avtalt under oppstarten. Hvis type ikke oppgis,
filtrerer ikke Open Aidn på tjenestetype.
Sjekkliste før produksjonsstart
Kontroller oppsettet sammen med kommunen før løsningen settes i produksjon:
- Den konfigurerte avdelings-ID-en svarer til kabinettets plassering.
- OAuth-klienten tilhører riktig kommune og miljø.
- Klienten kan be om tilgangen
episodeofcare.search. - Søket returnerer bare pasientene som forventes for den konfigurerte avdelingen.
- Leverandøren håndterer tomme søkeresultater som et normalt utfall.
- Nøkkelrotasjon og kontaktpunkter ved hendelser er avtalt.