Arbeidsdokument: hn-basis-appointment utvidelse for å støtte primær

Arbeidsdokument: hn-basis-appointment utvidelse for å støtte primær

Denne siden beskriver bruk av hn-basis-appointment, som bygger på den nasjonale profilen HL7 Norway no-basis-Appointment og FHIR R4.

Implementasjonsguider og profilspesifikasjon:

Forskjellen på Timeavtaler (ATA) og Timer (ATn)

Begrep

Forklaring

Typisk innhold

Begrep

Forklaring

Typisk innhold

Timeavtale (ATA)

Overordnet avtale. Representerer innkalling/avtalen pasienten får. Kan stå alene eller ha underliggende timer.

Oppmøtetid, dokumenter, instruksjoner, serviceCategory, appointmentType, varslinger, henvisning (basedOn), kommunikasjonspart

Timer (ATn)

Underliggende aktiviteter. Delsteg i avtalen. Peker alltid på en ATA via partOf. Det er bare spesialisthelsetjenesten som benytter timer ATn, for å sende info om underliggende timer. Primærhelsetjenesten benytter seg bare av en frittstående timeavtale.

Faktisk tid for aktivitet, fysisk lokasjon, varighet, practitionerRole/practitioner (contained), minutter, daglige detaljer

ATA kan eksistere alene, mens ATn alltid skal peke til ATA. Systemer som ikke bruker hierarkiet sender kun ATA.

Elementer i hn-basis-appointment

Appointment kan benytte og være assosiert med flere andre FHIR‑ressurser for å beskrive kontekst og tilleggsinformasjon knyttet til timen. Følgende ressurser er aktuelle i denne sammenhengen: Location, Practitioner, PractitionerRole, Endpoint, DocumentReference og Flag. Ressurser som er referert fra Appointment skal leveres som contained ressurser i Appointment. Unntak gjelder for identifier.assigner, som ikke trenger å være representert som contained ressurs.

Navn

Extension

Beskrivelse og kommentar

Kardinalitet

Eksempel

Navn

Extension

Beskrivelse og kommentar

Kardinalitet

Eksempel

Identifier

 

Unik identifikator for timeavtalen/timen.
FHIR ressursens "id" vs "identifier"

I hn-basis-appointment er det i tillegg til value også krav om system og assigner.

1..1

"identifier" : [     {       "system" : "http://dips.no/fhir/namingsystem/dips-bookingid",       "value" : "a24606dd-754a-49b7-aad9-db34dfa30a94",       "assigner" : {         "reference" : "#45c4b733-c3c9-4b66-bf66-2d8001f19d6b"       }     }   ],

Identifier.assigner

 

Organisasjon som opprettet og er ansvarlig for identifikator.

Se https://hl7.org/fhir/R4/datatypes-definitions.html#Identifier.assigner

1..1

 

identifier.value

 

Unik timeidentifikator for time/timeavtale (appointment) - GUID

1..1

 

Identifier.system

 

Id for systemet som publiserer timeavtale/time (appointment) informasjon

1..1

 

Status

 

Status på timen http://hl7.org/fhir/R4/valueset-appointmentstatus.html

Helsenorge støtter at følgende statuser sendes inn: Appointment.status -> Booked, Cancelled, Noshow, Entered-in-error, fulfilled.

På Helsenorge vises status «utført» når tidspunkt for timeavtalen er passert og ingen annen status er sendt til Helsenorge. Sendes en no-show i etterkant vil «ikke møtt» overskrive status «utført».

Hjemmetjenester med status proposed blir tolket som timer for tidsvindu der timen ikke er helt fastsatt i tid enda, men man vet hvilke tidsvindu timen vil skje i. Det er bare serviceCategory “7 - Hjemmetjenester” som har støtte for status “proposed”

 

"booked", "cancelled", "entered-in-error", "fulfilled","noShow"

 

og “proposed”

 

cancelationReason

 

Kanselleringsårsak (cancellationReason). Kodeverk urn:oid:2.16.578.1.12.4.1.1.8445 (preferred) men urn:oid:2.16.578.1.12.4.1.1.9179 kan også brukes. Fritekst kan også sendes inn.

Kanselleringsårsak settes når status = cancelled.

 

 

postponmentReason

 

X

For timer hos spesialisthelsetjenesten kan postponmentReason settes, men det er ikke støttet for andre aktørtyper. Dersom det er ønskelig å informere innbygger om at det vil bli opprettet en ny timeavtale kan man bruke postponmentRason. Verdien må da settes i sammenheng med cancelationReason:

  1. Avlysningsårsak FS01 og Utsettelsesårsak 1-->  Følgende vises til innbygger “Timen ble avlyst av sykehuset. Du vil få en ny time.”

  2. Avlysningsårsak FP02 og Utsettelsesårsak -->  Følgende vises til innbygger “Timen ble avlyst av sykehuset. Du vil få en ny time.”

  3. Avlysningsårsak FP01 og Utsettelsesårsak 22 --> Følgende vises til innbygger “Timen ble avlyst av pasienten."

Dersom det ikke er brukt disse kombinasjonene av cancelationReason, og postponmentReason, men timen har status avlyst vises "Timen er avlyst" for innbygger

Ikke støttet for service category = 7

 

 

serviceCategory

 

Timens tjenestekategori.

Valueset er basert på: https://finnkode.helsedirektoratet.no/adm/collections/7619?q=7619 , men også noen koder fra http://hl7.org/fhir/R4/codesystem-service-category.html er støttet

Hvis service category 7 er det ikke lov med underliggende timer (basedOn 0..0)

Foreløpig valueset som er støttet:

Code

Display

Forklaring

27

Specialist Medical

 

30

Specialist Radiology/Imaging

 

7

Hjemmetjenester

Kommunale hjemmetjenester

1..1

"serviceCategory" : [     {       "coding" : [         {           "system" : "http://terminology.hl7.org/CodeSystem/service-category",           "code" : "27"         }       ]     }   ],

appointmentType

 

For timenotifikasjon støtter NHN valueset basert på 2 koder fra 7617, 4 koder fra 8406 og nytt kodeverk som er under utvikling. Her er oversikt over kodene som støttes i profilen dag, men ikke alle er tatt i bruk enda:

Code

Display

Poliklinisktime

Poliklinisk time

Innleggelse

Innleggelse

Dagbehandling

Dagbehandling

Hjemmebesøk

Hjemmebesøk

Konsultasjon

Konsultasjon

Bildediagnostikk

Bildediagnostikk

1..1

<appointmentType>     <coding>       <system value="http://helsenorge.no/fhir/CodeSystem/Hn-AppointmentTypeProposed-New-Codes-cs" />       <code value="Poliklinisktime" />     </coding> </appointmentType>

description

 

Kort beskrivelse av hva timen gjelder. Begrensning 1000 char.

 

<description value="Oppfølging av kontrolltime."/>

start

 

Start-tidspunktet. Hvis det brukes appointment hierarki (partOf) er start for timeavtale oppmøtetidspunkt og start for enkelt avtaler - tidspunkt for time/avtale. Se constraint for start og slutt tidspunkt i profilen app-2 og app-3.

Hvis timen har status proposed skal ikke starttidspunkt settes

 

<start value="2023-10-31T15:30:00+01:00" />

end

 

Slutt-tidspunktet Se constraint for start og slutt tidspunkt i profilen app-2 og app-3.

Hvis timen har status proposed skal ikke endtidspunkt settes

 

<end value="2023-10-31T16:00:00+01:00" />

requestedPeriod

 

Feltet Appointment.requestedPeriod brukes av hjemmetjenesten for tidsvindutimer, i kombinasjon med proposed‑status på avtalen.

Et tidsintervall der besøket kan gjennomføres. Angir start‑ og sluttidspunkt for et ønsket tidsvindu som den faktiske avtalen skal settes opp innenfor. Kreves for timer med status proposed

0..*

"requestedPeriod": [ { "start": "2026-03-24T08:00:00+01:00", "end": "2026-03-24T10:00:00+01:00" } ]

patientInstruction

 

Beskrivelse om timen som vil vises i detaljvisningen. Begrensning på 1000 char.

 

<patientInstruction value="Se innkallingsbrev med beskrivelse av måten du bruker video løsningen samt adresse til møterom."/>

participant.actor.Patient

 

 

Logisk ressursreferanse av type Patient. Identifikatoren er fødselsnummer eller d-nummer.

I reference  settes kardinalitet 0..0 for å hindre bruk av element

identifier 1..1 

identifier.type for pasient kun lov med DNR/FNR

type : http://hl7.org/fhir/resource-types

 

 

 

<participant>     <actor>       <type value="Patient" />       <identifier>         <system value="urn:oid:2.16.578.1.12.4.1.4.1" />         <value value="13116900216" />       </identifier>     </actor>     <status value="accepted" />   </participant>   <participant>

participant.actor.Patient.identifier

 

Logisk referanse brukes for partisipant av type patient

1..1

 

participant.actor.practitioner

 

Ressurs for practitioner legges inn som contained/ inline ressurs .

Timenotifikasjonen til spesialisthelsetjenesten viser ikke informasjon om practitioner, men informasjon om practitioner vil være synlig på timeavtalen og vises som behandler.

støttet profil: no-basis-Practitioner

 

 actor.reference: #2a7e7004-78e3-4b50-90e5-18774c51d0d0

 

Contained resurs:

{
  "resourceType": "Practitioner",
   "meta" : {
    "profile" : [
      "http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner"
    ]
  },
  "id": "2a7e7004-78e3-4b50-90e5-18774c51d0d0",
  "identifier": [
     {
      "system": "urn:oid:2.16.578.1.12.4.1.4.1",
      "value": "12345678901"
    }
  ],
  "name": [
    {
      "family": "Hansen",
      "given": ["Ole"]
    }
  ],
  "telecom": [
    {
      "system": "phone",
      "value": "+4798765432",
      "use": "work"
    },
    {
      "system": "email",
      "value": "ole.hansen@example.com",
      "use": "work"
    }
  ],
}

participant.location

 

 

 

Location brukes primært til å beskrive fysisk oppmøtested for timen, inkludert navn og eventuelle praktiske detaljer. Location leveres som contained ressurs i Appointment. Helsenorge støtter foreløpig ikke Location som krever eksternt kall eller Location som leveres via Bundle.

Profilen begrenser ikke antall lokasjoner, men for helseforetak forventes to Location‑forekomster i Appointment:

  • én Location av type HOSP (sykehus-/helseforetak‑nivå)

  • én Location av type HU (avdeling, post, poliklinikk eller tilsvarende enhet på samme nivå)

For andre typer lokasjoner, knyttet til andre tjenesteytere enn helseforetak, må det avklares hvilke koder i Location.type som skal brukes når disse aktørene fases inn. Denne avklaringen bør gjøres før man åpner for flere aktørtyper.

Dersom det finnes telefonnummer til oppmøtested eller avdeling, kan dette legges på HU‑lokasjonen. Det er Location av type HU som brukes ved visning av «Oppmøtested» på Helsenorge for timer hos spesialisthelsetjenesten.

Støttet profil for Location er no-basis-Location.

 

Forslag til utvidelse til primær:
PTRES - location where healthcare was delivered which is the residence of the Patient.
OF - Outpatient facility (dette kan da være legekontor, klinikker, sykehjem o.s.v.)

https://terminology.hl7.org/5.1.0/ValueSet-v3-ServiceDeliveryLocationRoleType.html

 

<contained>     <Location>       <id value="699df0fc-cee6-4531-b629-a9fbe5e10c28" />       <meta>         <profile value="http://hl7.no/fhir/StructureDefinition/no-basis-Location" />       </meta>       <identifier>         <system value="urn:oid:2.16.578.1.12.4.1.4.102" />         <value value="99999" />       </identifier>       <name value="Ortopedisk Poliklinikk, Rikshospitalet" />       <description value="Sognsvannveien 20, Glassgaten, D3b, 1. etg" />       <type>         <coding>           <system value="http://terminology.hl7.org/CodeSystem/v3-RoleCode" />           <code value="HU" />           <display value="Hospital unit" />         </coding>       </type>     </Location>   </contained>   <contained>     <Location>       <id value="a3660120-4ff5-4485-a344-66f99194a1db" />       <meta>         <profile value="http://hl7.no/fhir/StructureDefinition/no-basis-Location" />       </meta>       <identifier>         <system value="urn:oid:2.16.578.1.12.4.1.4.102" />         <value value="12345" />       </identifier>       <name value="Rikshospitalet" />       <type>         <coding>           <system value="http://terminology.hl7.org/CodeSystem/v3-RoleCode" />           <code value="HOSP" />           <display value="Hospital" />         </coding>       </type>       <managingOrganization>         <reference value="#5b117577-078f-4aff-bbcc-e42e1a64b5e9" />       </managingOrganization>     </Location>   </contained>   <contained>     <Organization>       <id value="5b117577-078f-4aff-bbcc-e42e1a64b5e9" />       <meta>         <profile value="http://hl7.no/fhir/StructureDefinition/no-basis-Organization" />       </meta>       <identifier>         <system value="urn:oid:2.16.578.1.12.4.1.2" />         <value value="10" />       </identifier>        <identifier>         <system value="urn:oid:2.16.578.1.12.4.1.4.101" />         <value value="12121212" />       </identifier>       <name value="Oslo Universitetssykehus HF" />     </Organization>   </contained>

 

participant.PractitionerRole

 

 

Resurs kan kun legges in som contained ressurs. Helsenorge vi foreløpig ikke støtte resurs som krever eksternt kall eller er en del av bundle.

Foreløpig støttede profiler: no-basis-PractitionerRole

Profilen støtter det, men PractitionerRole er foreløpig ikke tatt i bruk.

 

 

partOf

 

partOf er extension i no-basis-appointment og kan brukes for å peke til timeavtale for avtaler/timer. Kan også brukes for timer som er steg og peker da på overordnet appointment

Støttes ikke for hjemmetjenester

 

 

basedOn

 

basedOn referer til Henvisning. Standard attributt i appointment og kan både være logisk eller literal referanse. Type Reference(ServiceRequest)

Støttes ikke for hjemmetjenester

 

 

VirtualService

Profil er oppdatert med VirtualService

Handterer behov for møteform.

 

 

The VirtualService er basert på VirtualServiceDetail struktur from R5 og definerer detaljer for virtuell avtale/møte/time. VirtualService er extension i no-basis-appointment

  • channelType: Coding: The type of virtual service to connect to. Foreløpig er kun kode "url" og "phone" fra http://hl7.org/fhir/ValueSet/contact-point-system gyldig koder. For å fungere som videotime må videoleverandøren være forhåndsgodkjent på helsenorge, se Videosamspill med Helsenorge

  • virtualAddress: string, url, ContactPoint: What address or number needs to be used for a user to connect to the virtual service to join.

  • additionalInfo: url: Address to see alternative connection details.

  • maxPartisipants: positiveInt: Maximum number of participants supported by the virtual service.

  • sessionKey: string: Session Key required by the virtual service.

Følgende value sett er definert av NHN og anbefales brukt for channelType

ValueSet: vs-hn-basis-virtualService

Se gyldige koder i https://norskhelsenett.github.io/nyTimelosningPages/ValueSet-hn-basis-virtual-service-type.valueset.html#root

 

"extension": [ { "url": "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service", "extension": [ { "url": "channelType", "valueCoding": { "system": "http://hl7.org/fhir/contact-point-system", "code": "phone", } }, { "url": "virtualAddress", "valueContactPoint": { "system": "phone", "value": "+47 99 99 99 99", } } ] } ],
"extension": [ { "extension": [ { "url": "channelType", "valueCoding": { "system": "http://hl7.org/fhir/contact-point-system", "code": "url" } }, { "url": "virtualAddress", "valueUrl": "https://sd3-iiswb1rg-61.sikt.sykehuspartner.no/SP.Services.ArenaVideoService/api/nhn|videoservice|8XqSz5UttccGZVV4TM" } ], "url": "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service" } ],

recurring

X

Extension som viser om timen er av typen regelmessig 

 

True, False

group

 

Extension fra no-basis-appointement som viser om appointment er gruppetime/gruppe avtale

 

True, False

minutesDuration

 

 

Timens varighet i antall minutter. Hvis denne ikke inneholder noen verdi, vil timens varighet være differansen mellom starttidspunkt og sluttidspunkt

 

<minutesDuration value="30" />

consultationType

X

Dette feltet er støttet i profilen, men er ikke tatt i bruk. Feltet er bare relevant for helsestasjon.

Extension: Volven 9505 (Preferred). System: https://volven.no/produkt.asp?id=501187&catID=3&subID=8

Dette kodeverket inneholder koder som benyttes for å identifisere de faste alderstrinn (intervall) som er relevante i forbindelse med arbeidet på helsestasjoner og i skolehelsetjenesten.

Tas ikke med i denne omgang, kommer nok senere

 

 

supportingInformation

 

 

 

 

 

SupportingInformation i Appointment brukes til å referere til informasjon og ressurser som støtter avtalen. Feltet benyttes for å peke på tilleggsdata som er relevante for visning, kontekst eller videre behandling av timen.

Kommunikasjonspart (obligatorisk)

Andre typer ressurser som kan refereres fra

  • DocumentRefrence: SupportingInformationdokument inkludert brev med referanse til no-basis-DocumentReference. Document resursen kan inneholde selve brevet som attachment eller som url (path til dokument eller peker til XDS dokument). Det er teknisk støtte for å sende inn flere vedlegg, men per nå er det bare det første som blir vist til innbygger, og det antas at dette vedlegget er innkallingsbrev til ti, og blir omtalt som dette i visningen. Maks total filstørrelse på alle vedlegg er 20MB. Se eksempler på bruk her.