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:
Profil foreløpig (denne kan endre seg noe etter hvert som vi jobber med å implementere profilen):https://simplifier.net/packages/no.nhn.fhir.helsenorge.profiles/2.3.0-beta/files/3446358
Release I beta versjon (denne kan endre seg noe etter hvert som vi jobber med å implementere profilen): https://simplifier.net/packages/no.nhn.fhir.helsenorge.profiles/2.3.0-beta
Forskjellen på Timeavtaler (ATA) og Timer (ATn)
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 | 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 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Identifier |
| Unik identifikator for timeavtalen/timen. 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 må 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:
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:
| 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:
| 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 : |
| <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: { | ||||||||||||||
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:
For andre typer lokasjoner, knyttet til andre tjenesteytere enn helseforetak, må det avklares hvilke koder i 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: 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
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
|