Under etablering- dokumentasjon ikke ferdig
FHIR Slot er foreslått tatt i bruk for timevalg. Annen bruk er relevant på sikt.
Profilen er basert på R4 Slot - FHIR v4.0.1 (hl7.org)
Gjenerelt om Slot
Slot ressurser brukes til å tilby tidsrom som kan bookes ved hjelp av en avtale. De gir ikke informasjon om tilgjengelige avtaler, bare tiden, og eventuelt hva tiden kan brukes til. Dette er effektivt tidsrom med ledig/opptatt tid. Slotter kan også merkes som opptatt uten å ha tilknyttede avtaler.
En slot kan ha mer enn én avtale tildelt seg. Et planleggingssystem kan tillate flere tildelinger opp til et spesifikt antall plasser. En slot kan merkes som overbooket, noe som indikerer at det er for mange avtaler tildelt den.
I noen situasjoner kan en tjeneste ha et spesifikt sett med slotter reservert for spesifikke formål, som "drop-in" eller en spesifikk organisasjon har en "fast booking" for torsdag morgener. Dette bør representeres ved hjelp av feltet appointmentType med en spesifisert og avtalt verdi.
Sikkerhetstillatelser eller spesifikke forretningsregler på systemet kan håndheve at kun berettigede avtaler blir tildelt dem.
Profil for Slot
Profilen ligger foreløpig på Github her: hn-basis-slot - v0.1.0 (norskhelsenett.github.io) (Plassering er under oppdatering)
Hvordan feltene benyttes er angitt i figuren og beskrivelse under. For bruk av metadata, id, indentifier og generelt bruk af FHIR på Helsenorge se Bruk av FHIR på Helsenorge - Helsenorge - Confluence (atlassian.net)
Det er også definert invarianter som gjelder for profilen - se egen tabell.
| |
---|---|
Todo: Legg inn figur | identifier (mandatory): En identifikator som identifiserer slot uavhengig av ressursens id på en FHIR-server. Skal være en UUID . Identifier er profilert til å ha kardinalatet 1..1 og det er mandatory å legge til både system og value. "identifier": [ { "system": "http://example.org/slot-identifiers", "value": "123e4567-e89b-12d3-a456-426614174000" } ], |
meta.profile (mandatory): Meta.profile forteller hvilken profil instans er basert på. Dette er for å forenkle implementering når det er flere profiler som er aktuelle for Helsenorge. "meta": { "profile": ["http://helsenorge.no/fhir/StructureDefinition/hn-basis-slot"] }, | |
status (mandatory): Status på Sloti henhold til FHIR valueset. http://hl7.org/fhir/R4/valueset-slotstatus.html <status value="free" /> | |
schedule (mandatory): referense til den aktuelle time boken. Profil støtter både litteral og logisk referanse "schedule": { "reference": "Schedule/example-schedule-uuid" | |
serviceCategory (mandatory): En bred kategorisering av tjenesten som skal utføres i den perioden som slot har definert. Valueset hn-appointment-ServiceCategory-code-vs skal brukes for denne kategoriseringen. hn-appointment-ServiceCategory-code-vs - v0.1.0 (norskhelsenett.github.io). I denne profilen er kardinalitet satt til 1..1 "serviceCategory": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/service-category", "code": "27", } ] } ], | |
appointmentType (optional): Type appointment som er ment for slot. Feltet er ikke påkrevd men det er ønskelig at det brukes i instanser som er basert på profilen. Følgende valueset er påkrevd.: hn-appointment-AppointmentType-code-vs - v0.1.0 (norskhelsenett.github.io) "appointmentType": { "coding": [ { "system": "http://helsenorge.no/fhir/CodeSystem/Hn-AppointmentTypeProposed-New-Codes-cs", "code": "Konsultasjon", } ] }, | |
start (mandatory): Date/time når slot starter "start": "2023-12-10T09:00:00Z", | |
end (mandatory): Date/time når slot avsluttes "end": "2023-12-10T09:30:00Z", |
Terminology Bindinger
Path | Conformance | ValueSet |
Slot.language | CommonLanguagesAdditional BindingsPurposeAllLanguagesMax Binding | |
Slot.identifier.use | ||
Slot.identifier.type | ||
Slot.serviceCategory | ||
Slot.serviceType | ||
Slot.specialty | ||
Slot.appointmentType | ||
Slot.status |
Invarianter (Regler)
Id | Grade | Path(s) | Details |
dom-2 | error | Slot | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
dom-3 | error | Slot | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
dom-4 | error | Slot | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
dom-5 | error | Slot | If a resource is contained in another resource, it SHALL NOT have a security label |
dom-6 | best practice | Slot | A resource should have narrative for robust management |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
ext-1 | error | **ALL** elements | Must have either extensions or value[x], not both |
inv-4 | error | Slot.serviceCategory.coding, Slot.serviceType.coding, Slot.specialty.coding | If code is used in a codable consept the system must be used |
per-1 | error | Slot.identifier.period | If present, start SHALL have a lower value than end |
ref-1 | error | Slot.identifier.assigner, Slot.schedule | SHALL have a contained resource if a local reference is provided |
Mapping til og delvis fra iCal
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//example.org//Slot to iCal Converter//EN BEGIN:VEVENT UID:[slot.identifier.value]@[slot.identifier.system] DTSTAMP:20231207T000000Z DTSTART:[slot.start] DTEND:[slot.end] SUMMARY:[slot.speciality]. [slot.appointmentType] DESCRIPTION:[slot.comment] Slot status: [slot.status]. Not overbooked {basert på [slot.overbooked]} CATEGORIES:[slot.serviceCategory], [slot.appointmenttype] LOCATION:[slot.schedule.reference] END:VEVENT END:VCALENDAR
BEGIN:VCALENDAR
ogEND:VCALENDAR
: Disse taggene indikerer starten og slutten på kalenderdataene.VERSION:2.0
: Angir hvilken versjon av iCal som brukes.PRODID
: Identifiserer produktet som opprettet iCal-dataene.BEGIN:VEVENT
ogEND:VEVENT
: Omslutter en individuell kalenderhendelse.UID
: En unik identifikator for hendelsen. I dette tilfellet brukes UUID for FHIR Slot og organisasjons part av identifier.systemDTSTAMP
: Dato/tidsstempel for når iCal-dataene ble opprettet.DTSTART
ogDTEND
: Start- og sluttidspunkt for hendelsen i UTC.SUMMARY
: En kort oppsummering eller tittel på hendelsen.DESCRIPTION
: En detaljert beskrivelse av hendelsen.CATEGORIES
: Kategorier eller merkelapper for hendelsen.LOCATION
: En referanse til den tilknyttede timeplanen (fra FHIR Slot-ressursen).
Denne representasjonen er en grunnleggende oversettelse av FHIR Slot til en iCal-hendelse. Ytterligere iCal-egenskaper kan brukes til å representere flere detaljer etter behov. Det er også viktig å merke seg at iCal primært er et format for kalenderføring og planlegging og kanskje ikke kan fullt ut representere alle detaljer og nyanser i en FHIR Slot-ressurs.
Å bruke LOCATION
-feltet i iCalendar (iCal)-formatet for å referere til den tilknyttede timeplanen (som angitt ved Schedule/example-schedule-uuid
i vårt eksempel) er litt uvanlig. Vanligvis er LOCATION
-feltet i en iCal-hendelse ment å representere den fysiske eller virtuelle plasseringen der hendelsen finner sted, som en adresse eller en videokonferanselenke.
Men i sammenhengen med å konvertere en FHIR Slot-ressurs til iCal-format, står vi overfor en utfordring: iCal har ikke et direkte ekvivalent for alle konseptene og feltene som finnes i FHIR. FHIRs Slot-ressurs inkluderer en referanse til en Schedule-ressurs, som er kritisk informasjon for å forstå konteksten til sloten. Siden iCal mangler et dedikert felt for denne typen referanse, kan LOCATION
-feltet omformuleres for å formidle denne informasjonen.
Denne omformuleringen er i bunn og grunn en nødløsning for å inkludere viktig informasjon fra FHIR-ressursen i iCal-formatet, som er mer begrenset i sin evne til å beskrive komplekse planleggingsscenarioer. Ved implementering er det viktig å ha en klar avtale slik bruk av LOCATION.
I tilfelle schedule er logisk referanse brukes X-SCHEDULE-REFERENCE
: [slot.schedule.system]|[slot.schedule.value]
Eksempel:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//example.org//Slot to iCal Converter//EN BEGIN:VEVENT UID:123e4567-e89b-12d3-a456-426614174000@example.org DTSTAMP:20231207T000000Z DTSTART:20231210T090000Z DTEND:20231210T093000Z SUMMARY:Konsultasjon DESCRIPTION:Gjenerel time for konsultasjon. Slot status: free. Not overbooked. CATEGORIES:Specialist Medical, konsultasjon LOCATION:Schedule/example-schedule-uuid END:VEVENT END:VCALENDAR