Oppdaterer allerede innsendt oppgave

Innledning

Gjennom bruk av FHIR-ressurser i skjemaløsningen har vi lagt til rette for at aktørene kan benytte forskjellig teknologi for integrasjon. Aktøren velger om man ønsker å benytte meldingsbasert integrasjon eller integrasjon via API’er.

Oppdatere innsendt oppgave

Payload

Følgende begrensninger/forretningsregler er definert på Helsenorge for hva som kan oppdateres når:

  • Enkelte felter kan ikke oppdateres:

    • Dersom:

      • Task.status = “completed”', “cancelled” eller “entered-in-error”

      • Oppgavens gyldighet er passert, dvs. nåværende tidspunkt er etter det siste av:

        • Task.restriction.periode.end

        • Task.restriction.http://helsenorge.no/fhir/StructureDefinition/hn-task-deadline

    • Så kan følgende felter ikke lenger oppdateres:

      • Gyldighet (Task.restriction.periode.end og/eller Task.restriction.http://helsenorge.no/fhir/StructureDefinition/hn-task-deadline)

      • Beskrivelse (Task.description)

      • Status (Task.status)

      • Begrunnelse for siste statusoppdatering (Task.statusReason)

      • Referanse til annet Helsenorge-element (Task.basedOn)

  • Begrunnelse for siste statusoppdatering (Task.statusReason) kan kun settes når Status (Task.status) endres samtidig

  • Angivelse av gyldighet

    • Gyldighet (Task.restriction.periode.end og/eller Task.restriction.http://helsenorge.no/fhir/StructureDefinition/hn-task-deadline) må være frem i tid (minst en dag)

    • Task.restriction.http://helsenorge.no/fhir/StructureDefinition/hn-task-deadline) må være senere enn Task.restriction.periode.end

  • Notat til oppgaven (Task.note) kan når som helst legges til oppgaven

  • Referanse til annet Helsenorge-element (Task.basedOn) (https://helsenorge.atlassian.net/wiki/x/IwAZZ )

    • Legg til (add): Oppgaven oppdateres ved at det legges til en ny referanse

    • Slett (delete): Oppgaven oppdateres ved at alle eksisterende referanser slettes

    • Bytt ut (replace): Oppgaven oppdateres ved at alle eksisterende referanser byttes ut med referansene i oppdateringen

REST API

Meldingsbasert integrasjon (AMQP)

Vi vil også tillate PATCH ved hjelp av Meldingsformidling. Positiv APREC tilbake fra Helsenorge indikerer at PATCH-operasjonen var vellykket.

Hodemelding + vedlegg:

  • Vedlegg av typeie Bundle

    • Bundle.type = “transaction”

    • Bundle.entry = FHIRPatch (samme som i REST-API)

    • Bundle.request

      • method = “PATCH”

      • url = “Task/[id] (samme id som i URL ved REST kall)

Eksempel på FHIRPath Patch via meldingsformidling (benytter kansellering av oppgave, dvs. oppdatere Task.status samt sette Task.statusReason):

Undertrykke varsling av innbygger ved endring

Når oppgaver mottas vil alltid innbygger varsles. Dersom ikke noe angis vil innbygger også varsles når et eller flere elementer på oppgaven endres.

Det er (så langt) identifisert en UseCases der man ikke ønsker at innbygger skal varsles når et element endres. Dette er når en oppgave i sin helhet utføres i eksternt system, og dette systemet endrer oppgaves status på Helsenorge til “completed”. Det kan også være at aktøren i andre UseCases ikke ønsker varsling ved endring. For å gi avsender mulighet til å undertrykke varsling (ved endring) er det innført et nytt metadatafelt for dette formål som kan settes for FHIRPath patch ressursen (Parameters).

<?xml version="1.0" encoding="UTF-8"?> <Parameters xmlns="http://hl7.org/fhir"> <meta> <tag> <system value="http://helsenorge.no/fhir/varsling"/> <code value="1"/> <display value="Innbygger skal ikke varsles."/> </tag> </meta> <!-- FHIRPath PATCH --> <parameter> ................. </parameter> </Parameters>