Kvalitetssystem

Integrasjoner med kvalitetssystemer kobler pasientrelaterte avvik i Aidn til kommunens etablerte avviksprosess. Når et avvik signeres i Aidn, sender Aidn en strukturert JSON-melding med bare nødvendige opplysninger til kvalitetssystemet (QMS). QMS behandler saken og sender én eller flere statusoppdateringer tilbake til Aidn.

Bruksområdet bygger på FHIR-konsepter, men integrasjons-API-et bruker et eget JSON-format. Derfor beskrives API-et her, ikke i FHIR API-referansen.

Scenario

Kommunen bruker Aidn som elektronisk pasientjournal og et separat kvalitetssystem for å håndtere avvik. Ansatte registrerer pasientrelaterte avvik i Aidn. Når et avvik signeres, overfører Aidn det umiddelbart til kvalitetssystemet slik at kommunen kan behandle saken videre i den eksisterende arbeidsflyten.

Aidn lagrer en lenke til saken i kvalitetssystemet og viser den siste statusen som systemet har sendt tilbake.

Påkrevd oppsett

Konfigurasjon Eier Beskrivelse
OAuth-klient Kommune eller Aidn-administrator Klient konfigurert for leverandøren av kvalitetssystemet og riktig miljø. 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 adverseevent.write for å sende statusoppdateringer til Aidn.
Avdelingsoversikt Kommune Kommunen må gi QMS-leverandøren en liste over avdelingsnavn og Aidn-avdelings-ID-er for avdelingene som skal bruke integrasjonen.
Mottaksendepunkt i kvalitetssystemet Leverandør HTTPS-endepunkt der Aidn kan sende signerte avvik med POST. Autentisering for kall fra Aidn til kvalitetssystemet avtales under oppstarten.
Integrasjon aktivert for kommunen Kommune eller Aidn-administrator QMS-integrasjonen må aktiveres før forespørsler tillates for kommunen.

Kommunen kan velge om integrasjonen skal være aktiv. Hvis kommunen krever det, kan trafikken også begrenses til Helsenettet.

Avdelingsoppsett

Før integrasjonen aktiveres, må kommunen gi avdelingsoversikten til QMS-leverandøren. Oversikten må inneholde avdelingsnavn og Aidn-avdelings-ID for hver avdeling som skal bruke integrasjonen. Leverandøren bruker oversikten når kvalitetssystemet konfigureres.

QMS-leverandøren bruker avdelings-ID-ene og navnene til å fordele, klassifisere eller vise avvik i tråd med kommunens avtalte oppsett.

Dataflyt

sequenceDiagram
    participant User as Aidn-bruker
    participant Aidn as Aidn
    participant IdP as Aidn-identitetstjeneste
    participant QMS as QMS-leverandør

    User->>QMS: Gi avdelingsnavn og Aidn-avdelings-ID-er
    QMS->>QMS: Konfigurer avdelinger for kommunen
    User->>Aidn: Aktiver integrasjon for kommunen
     User->>Aidn: Registrer og signer et pasientrelatert avvik
     Aidn->>QMS: Send avvik som JSON med POST
    QMS-->>Aidn: Teknisk kvittering
    QMS->>QMS: Behandle saken i kvalitetssystemet
    QMS->>IdP: Be om tilgangstoken med private_key_jwt
    IdP-->>QMS: Tilgangstoken med godkjente tilganger
    QMS->>Aidn: Send statusoppdatering som JSON med PUT
    Aidn-->>QMS: Teknisk kvittering
     Aidn->>Aidn: Vis siste status fra kvalitetssystemet i avviksbildet

Overføringen fra Aidn til kvalitetssystemet er synkron når det gjelder teknisk kvittering, men asynkron når det gjelder videre behandling. Saksbehandlingen fortsetter i kvalitetssystemet, som sender statusoppdateringer ved behov.

Hvis Aidn ikke kan overføre avviket til kvalitetssystemet når brukeren signerer, blir avviket liggende som kladd i Aidn. Brukeren kan signere det på nytt når integrasjonsfeilen er rettet.

Motta avvik fra Aidn

Aidn sender et signert avvik til kvalitetssystemets mottaksendepunkt som JSON.

POST <QMS_ADVERSE_EVENT_ENDPOINT> HTTP/1.1
Host: <QMS_HOST>
Accept: application/json
Content-Type: application/json

{
  "identifier": "019c298c-366b-76a8-b73e-87306ae6550d",
  "patientId": "9XFLLS",
  "category": {
    "code": "1",
    "display": "Fall"
  },
  "severity": {
    "code": "5",
    "display": "Livstruende/invalidiserende"
  },
  "occurredDateTime": "2026-02-04T16:39:38.499132+00:00",
  "detectedDateTime": "2026-02-04T16:39:38.499132+00:00",
  "fields": [
    {
      "label": "Beskrivelse",
      "identifier": 3486,
      "value": "Description of adverse event",
      "code": null
    },
    {
      "label": "Utførte tiltak",
      "identifier": 3492,
      "value": "Measures taken",
      "code": null
    }
  ],
  "reporter": {
    "person": {
      "name": "Example User",
      "nationalId": "<NATIONAL_ID>",
      "userPrincipalName": "example.user@example.org",
      "actorId": "55598fe4-2826-4a0d-8881-db63ee27afd4"
    },
    "organization": {
      "tenantMunicipalityNumber": "0000",
      "tenantName": "Example municipality",
      "organizationNumber": "874593842",
      "organizationName": "Example nursing home",
      "departmentId": "0ed0c8fd-1c82-4b3b-82bc-ae07c2cf38f5",
      "departmentName": "Short-term ward"
    }
  }
}

Avvikspayload

Egenskap Type Beskrivelse
identifier string (UUID) Aidn-identifikator for avviket. Brukes som koblingsnøkkel når status sendes tilbake til Aidn.
patientId string Anonymisert Aidn-identifikator for pasienten. Pasientens navn og fødselsnummer sendes ikke.
category Coding Type avvik.
severity Coding Alvorlighetsgrad.
occurredDateTime string (ISO-tidsstempel) Dato og tidspunkt for hendelsen.
detectedDateTime string (ISO-tidsstempel) Valgfritt. Dato og tidspunkt da hendelsen ble oppdaget eller lagt merke til.
fields Field[] Innhold fra avviksskjemaet. Minst ett felt er med.
reporter Reporter Tekniske opplysninger om melder og organisatorisk kontekst.

Delte typer

Type Egenskaper
Coding code (string), display (string).
Field label (string), identifier (number), value (string), valgfri code (string).
Reporter person og organization (objekter).
Person name, eventuelt nationalId og userPrincipalName, samt actorId (UUID). Avhengig av kommunens identitetsoppsett inneholder objektet minst én av nationalId og userPrincipalName.
Organization tenantMunicipalityNumber, tenantName, organizationNumber, organizationName, departmentId (UUID) og departmentName.

Kategori og alvorlighetsgrad

Kategori og alvorlighetsgrad er kodet. Dagens avvikskategorier er:

Kode Visningstekst
1 Fall
2 Medisinavvik
3 Ernæring
4 Skade, vold eller trusler
5 Svikt i utstyr
6 Rutinesvikt
7 Tjenesteavvik
8 Personvern og informasjonssikkerhet
9 Annet avvik

Alvorlighetsgrad angis med kodene 1 til 6, fra ingen skade til død. Den norske teksten i display-feltet er beregnet på sluttbrukere og bør beholdes når den vises i kvalitetssystemet.

Skjemafelter

Standardfeltene omfatter:

Identifikator Ledetekst Beskrivelse
3486 Beskriv avviket Fritekstbeskrivelse av avviket.
3492 Hvilke tiltak ble iverksatt på grunn av hendelsen Beskrivelse av tiltakene som ble iverksatt etter hendelsen.
3493 Forslag til fremtidige tiltak Forslag til tiltak for å hindre lignende hendelser.

For kategori 1 (Fall) kan Aidn også inkludere kodede felter for aktivitet ved fall, illebefinnende og brudd:

Identifikator Ledetekst Koder
3487 Aktivitet 1 Ut av eller opp i seng, 2 Bruk av rullestol, 3 Toalettbesøk, 4 Gange med rullator, 5 Fri gange, 6 Opp og ned fra stol, 7 Annet.
3488 Illebefinnende 1 Ja, 2 Nei, 3 Vet ikke.
3489 Brudd 1 Ja, 2 Nei, 3 Vet ikke.

Send statusoppdateringer til Aidn

Kvalitetssystemet sender én eller flere statusoppdateringer til Aidn mens saken behandles. Aidn viser den siste mottatte statusen i avviksbildet.

PUT <OPEN_AIDN_QMS_STATUS_ENDPOINT> HTTP/1.1
Host: <OPEN_AIDN_HOST>
Accept: application/json
Content-Type: application/json
Authorization: Bearer <ACCESS_TOKEN>

{
  "qmsId": "QMS-12345",
  "identifier": "019c298c-366b-76a8-b73e-87306ae6550d",
  "status": {
    "code": "closed",
    "display": "Ferdig behandlet"
  },
  "text": [
    {
      "title": "Status",
      "date": 1770219578,
      "text": "The adverse event has been handled in the QMS.",
      "class": "summary"
    }
  ],
  "lastUpdated": 1770219578
}
Egenskap Type Beskrivelse
qmsId string Kvalitetssystemets interne saks-ID. Lagres i Aidn for sporbarhet.
identifier string (UUID) Aidn-identifikator for avviket. Må matche identifier som Aidn sendte.
status Coding QMS-definert statuskode og brukervennlig visningstekst. Visningsteksten kan vises direkte til sluttbrukere.
text StatusText[] Én eller flere tekstblokker med statusinformasjon.
lastUpdated number UNIX-tidsstempel for tidspunktet avviket sist ble oppdatert i kvalitetssystemet.

StatusText inneholder title, valgfri date, text, valgfri class og eventuelle nestede objects for strukturerte tekstblokker definert av kvalitetssystemet.

Personvern og dataminimering

Integrasjonen er utformet for å unngå direkte pasientidentifiserende informasjon:

I avviksskjemaet informerer Aidn brukeren om at avviket overføres til kvalitetssystemet, og at det ikke må inneholde sensitive pasientopplysninger.

Sjekkliste før produksjonssetting

Kontroller oppsettet sammen med kommunen og QMS-leverandøren før løsningen settes i produksjon:

Relatert dokumentasjon

Tilbake til forsiden