resurssin ajanvaraus
DESCRIPTION
Resurssin ajanvaraus. SerAPI-työpaja 19.8.2005 Mika Tuomainen, Kuopion yliopisto, HIS-tutkimusyksikkö. Asialista. Ajanvaraus Tarve rajapinnalle Rajapinnan mahdollisia käyttökohteita Resurssin ajanvaraus-kohde Eteneminen Keskustelua HL7 määrittelyt ajanvaraukseen. Ajanvaraus. - PowerPoint PPT PresentationTRANSCRIPT
Resurssin ajanvaraus
SerAPI-työpaja19.8.2005Mika Tuomainen, Kuopion yliopisto, HIS-tutkimusyksikkö
SerAPI
Asialista
• Ajanvaraus • Tarve rajapinnalle• Rajapinnan mahdollisia käyttökohteita• Resurssin ajanvaraus-kohde• Eteneminen
• Keskustelua
• HL7 määrittelyt ajanvaraukseen
SerAPI
Ajanvaraus
Ajanvarauksentilaaja
Ajanvarauksen toimittaja
KyselijäUlkopuolinen kiinnostunut
taho
Ajanvarauksen pyyntö Vastaus pyyntöön
Ajanvaraustietojenkysely
Vastaus kyselyynIlmoituksen
kuittausAjanvaraustilanteen
ilmoitus
HL7 Versio 2.X
SerAPI
Ajanvaraus - käsitteitä
• Ajanvaraus– toiminto, jossa varataan aikoja tietylle palvelulle tai resurssin
käytölle.
• Palvelut – tapahtumia, kuten tapaaminen klinikalla ja liittyvät usein
potilaan hoitamiseen.
• Resurssit– konkreettisia kohteita, esim. henkilöt, paikat ja
laitteet/tarvikkeet/esineet/asiat
SerAPI
Ajanvaraus
• Ajanvaraukseen liittyvät toiminnot– ajanvarauspyynnöt– ajanvaraustilanteen kyselyt – ilmoitukset vapaista ja varatuista ajoista.
• Ajat varataan aikatauluihin – Aikataulut kontrolloivat tiettyjä palvelutapahtumia ja tiettyjen
resurssien käyttöä. – Aikataulut koostuvat joukosta avoimia (open), tilattuja
(booked) ja lukittuja (blocked) aikoja tietylle palvelulle ja resurssille.
– V3: avoimet (open), varatut (reserved), tilatut (booked), lukitut (blocked)
SerAPI
Tarve rajapinnalle
• Millaiselle ajanvaraus-rajapinnalle on tarvetta?– SerAPI-kyselyssä yksi paljon "ääniä" saanut kohta– Ajanvarauksen kanssa paljon tekeillä, jo tehty
• web-ajanvaraukset: (Wellcom-hanke, TYKSLAB, ...) • alueellinen ajanvaraus: (UUMA / AAVA, Varsinais-Suomen
shp, ..), tarve korostuu yhteisten palveluiden myötä, esim. yhteispäivystys
• Vai enemmän tarve profiilille: "tekemällä näin ja käyttämällä näitä olemassa olevia määrityksiä.."?
SerAPI
Ajanvaraus-rajapinnan mahdollisia käyttökohteita
• Ydinjärjestelmän tarjoama palvelu erillisjärjestelmille– mikä on ydinpotilasjärjestelmän osuus ajanvarauksessa käytännössä?
• Ajan varaaminen erillisjärjestelmään? (vai kaikki ydinjärjestelmän kautta?)
• Alueellinen ajanvaraus– mahdollisuus varata aikoja useisiin eri organisaatioiden järjestelmiin– myös asiakkaille mahdollisuus varata aikoja eri organisaatioista
• Web-ajanvaraukset– mahdollistavat asiakkaalle ajan varaamisen ja perumisen
• Muita käyttökohteita?– tilanne, jossa ajanvarausta ei tehdä ydinjärjestelmällä
SerAPI
Resurssin ajanvaraus - kohde
• Tarpeiden, vaatimusten ja rajausten dokumentointi• Käyttötapauksien määrittely• Taustakartoitukset, valmiit mallit
– V2.X Scheduling– V3 Scheduling– IHE Scheduled Workflow?
SerAPI
Resurssin ajanvaraus - kohde
• Ajanvarauksen (rajapinnan) minimitason toiminnallisuuden ja tietosisällön määrittely
• Rajapintakuvaukset– tekniikkariippumaton– WSDL/SOAP
• Rajapinnan soveltamisohje • Mahdollisesti esimerkkitoteutuksia
SerAPI
Resurssin ajanvaraus-kohde tähän mennessä..
• Kartoitettu kiinnostuneita osapuolia
• Puhelinkokous
• Taustaselvitys V2 Scheduling malleista– HL7 V2.5 Scheduling– HL7 Ajanvaraus sanomadokumentti
• V3 Scheduling tutustuminen aloitettu
SerAPI
Eteneminen
• Keskustelua, millaiselle yleiselle ajanvaraus- rajapinnalle ylipäätään tarvetta
• Tarpeiden päärajaukset
• Tarpeiden ja vaatimusten dokumentointi
SerAPI
Eteneminen - vaihtoehtoja
• Otetaan V2 määritysten toiminnallisuudesta ja tietosisällöstä minimijoukko, käytetään V3 XML ITS:ää ja V3 WS transport specification:ia (XML/SOAP-viestintää), +/-
• Hyödynnetään suoraan V3:sta (sovellusroolit, triggerit, RMIM, HMD, interaktiot, V3 XML ITS, V3 WS transport spec.), +/-
• Otetaan toiminnallisuus ja minimi tietosisältö (V2/V3), generoidaan ”tee-se-itse” WSDL sen pohjalta, hyviä kokemuksia DRG-kohteesta tähän asti, mutta lähtökohdat tosin erilaiset… +/ -
• Määritellään ainoastaan profiili, esim. näin käytät v2 viestejä web palveluina +/ -
SerAPI
Eteneminen - minimitason määrittely
• Toiminnallisuus: – millä päästään liikkeellä– mikä riittävä taso minimitasoksi
• Tietosisältö: – millä tiedoilla päästään liikkeelle– mitkä ovat riittävät tiedot– HL7 tietotyypit
• Rajaukset <> tarpeet– toiminnallisuus, tietosisältö– yhden resurssin varaaminen <> useita resursseja kerralla – "parent-child"-ajanvarauksien huomioiminen– toistuvien ja ryhmäajanvarausten toteuttaminen
SerAPI
Kysymyksiä?, Keskustelua..Pohjaa vaatimuksille ja tarpeille..
• Tilanne nyt/mitä suunnitteilla?– millaisten järjestelmien välillä (selainliittymä, alueellinen
ajanvaraus..)– millä tekniikalla toteutettu/toteutetaan– hyödynnetäänkö olemassa olevia standardeja (esim. HL7 v2.x)– mitä ajanvarauksessa tarvittavia tietoja järjestelmien välillä liikkuu
• Millaiselle ajanvaraus-rajapinnalle tarve?– käyttökohteet, rajaukset..
• Eteneminen? Tuotokset?– V2 / V3 / muu - HL7 tietotyypit– rajaukset - kohteen tuotokset
• Resurssien yksilöinti? Ja löytyminen?• Halukkuus osallistua kohteen määrittelytyöhön?
SerAPI
Jatko
• Tarpeet, vaatimukset, kommentit..– [email protected]– yleisemmin: [email protected]
• Tuotokset jasenet-listalle• Puh. kokouksia• ..
SerAPI
HL7 määrittelyt ajanvaraukseen - V2 Scheduling
• Sovellusroolit– tilaaja, toimittaja, kyselijä, ulkopuolinen kiinnostunut taho
• Ajanvaraussanomat (~käyttöskenaariot)– ajanvarauspyynnöt (request) ja -vastaukset– ajanvarauskyselyt (query) ja -vastaukset– ilmoitukset ajanvarauksista (notification) ja niiden kuittaukset– ajanvarauksen tietosegmentit
• Triggerit– 26 kpl
• V2 sanomamääritykset kattavat "kaiken"
SerAPI
HL7 määrittelyt ajanvaraukseen - V3 Scheduling
• Määrittelee ajanvarauksen sekä domain:na että prosessina
• Domain– tarjoaa yleisen joukon viestejä ja toimintoja toteutettavaksi
ajanvarausskenaarioissa
• Prosessi– tarjoaa abstraktin tietomallin ja joukon operaatioita, joita
voidaan käyttää missä tahansa HL7 domain:ssa, joissa hyödynnetään ajanvarauskonseptia
• Ajanvarausta pidetään palveluna ja palvelun käyttöä rajapintana
SerAPI
SerAPI
HL7 määrittelyt ajanvaraukseen - V3 Scheduling
• V3:ssa Scheduling jaettu kahteen topic:iin– Appointment topic:
• viitataan resurssiin nimen tai id:n perusteella• aikaa ei varata suoraan slot:iin
– Slot topic: • edellytys, että sovellukset ovat "tightly-coupled" • näin niiden on tiedettävä tietyn aikataulu tilanne• ajanvarauspyyntö voidaan tehdä suoraan Slot-kohtaisesti
– molemmille omat: Storyboards, Application Roles, Trigger Events, RMIM, HMD, Interactions
SerAPI
HL7 määrittelyt ajanvaraukseen - V3 Scheduling
• Samat perusskenaariot kuin V2:ssa (varaus, kysely, ilmoitukset)
• Kaikkia skenaarioita ei kuitenkaan vielä mukana– kyselyt puuttuvat, vain ilmoituksia ja pyyntö perua ajanvaraus– ajan varaaminen ainoastaan slot-kohtaisesti– lisää skenaarioita tulossa seuraavissa versioissa
• Enemmän sovellusrooleja kuin V2:ssa, kaikkia ei vielä mukana
• Viestit määritelty tasoille– DMIM (Scheduling Domain Model)– RMIM (Appointment/Slot)– HMD (Appointment/Slot)
SerAPI
HL7 määrittelyt ajanvaraukseen - V3 Scheduling
• V3 Scheduling osin keskeneräinen!• Mukana EI ole vielä
– ajanvarauspyyntöjä Appointment-tasolla (vain slot-kohtaisesti tällä hetkellä)
– kyselyitä ei lainkaan– edellisten vaatimia sovellusrooleja (yleisellä tasolla
määritelty kaikki sovellusroolit)
• Kehitysaikataulu?
SerAPI
XXXXXXXXXXXX
• ************************************
– tästä eteenpäin kalvoja, jotka eivät olleet työpajassa jaetussa materiaalissa
• ***********************************
XXXXXXXXXXXX
SerAPI
HL7 V3 Scheduling
SerAPI
HL7 V3 Scheduling
• Määrittelee ajanvarauksen sekä domain:na että prosessina
• Domain– tarjoaa yleisen joukon viestejä ja toimintoja toteutettavaksi
ajanvarausskenaarioissa
• Prosessi– tarjoaa abstraktin tietomallin ja joukon operaatioita, joita
voidaan käyttää missä tahansa HL7 domain:ssa, joissa hyödynnetään ajanvarauskonseptia
• Ajanvarausta pidetään palveluna ja palvelun käyttöä rajapintana
SerAPI
SerAPI
HL7 V3 Scheduling
• V3:ssa Scheduling jaettu kahteen topic:iin– Appointment topic:
• viitataan resurssiin nimen tai id:n perusteella• aikaa ei varata suoraan slot:iin
– Slot topic: • edellytys, että sovellukset ovat "tightly-coupled" "In a tightly-coupled environment where applications share knowledge
about slots, the requesting application can request booking by slots"
• näin on tiedettävä tietyn aikataulu tilanne
-> ajanvarauspyyntö voidaan tehdä suoraan Slot-kohtaisesti– molemmille omat: Storyboards, Application Roles, Trigger
Events, RMIM, HMD, Interactions
SerAPI
HL7 V3 Scheduling - perusskenaariot
• Määritelty perustasolla samat skenaariot kuin V2:ssa – varaus– kysely– ilmoitukset
• Kaikkia skenaarioita ei kuitenkaan vielä mukana– kyselyt puuttuvat, vain ilmoituksia ja pyyntö perua
ajanvaraus– ajan varaaminen ainoastaan slot-kohtaisesti– lisää skenaarioita tulossa seuraavissa versioissa
SerAPI
HL7 V3 Scheduling - sovellusroolit
• sovellusroolit– Appointment Informer (~V2 Filler) – Appointment Tracker (~V2 Auxillary) – Appointment Requestor (~V2 Placer)– Appointment Confirmer (~V2 Filler)
– Slot Requester– Slot Confirmer– Slot Notifier– Slot Tracker
• noudattavat appointment - topic -jaottelua
SerAPI
HL7 V3 Scheduling - sovellusroolit
• mukana ei vielä rooleja– Appointment Inquirer– Appointment Query Responder
• tulossa seuraavissa määrittelyn versioissa
SerAPI
HL7 V3 Scheduling - interaktiot/triggerit
• Appointment:• Appointment Cancellation Request• Appointment Cancellation Confirmation• Appointment Cancellation Rejection• Cancel Appointment Notification • Appointment Noshow Notification• New Appointment Notification• Reschedule Appointment Notification• Revise Appointment Notification
– ajanvarauksen peruuttamispyyntö (+ vahvistaminen ja hylkääminen)
– muut skenaariot ilmoituksia – ei kyselyitä, ei muutospyyntöjä!
SerAPI
HL7 V3 Scheduling - interaktiot/triggerit
• Slot:• New Appointment Slot Request
• New Appointment Slot Confirmation
• New Appointment Slot Rejection
• Slot Status Revise Request
• Slot Status Revise Confirmation
• Slot Status Revise Rejection
• Slot Status Revise Notification
– ajanvarauspyyntö slot-kohtaisesti (+ vahvistaminen ja hylkääminen)
– slot-kohtainen ajanvarauksen muuttaminen (+ vahvistaminen, hylkääminen ja ilmoitus)
– ei kyselyitä
SerAPI
HL7 V3 Scheduling - tietomallit
• DMIM (Scheduling Domain Model )• Appointment RMIM
– Full Appointment RMIM– Minimum Appointment RMIM
• Slot RMIM – Full Slot RMIM– Minimum Slot RMIM– Slot Request RMIM
SerAPI
HL7 V3 Scheduling - tietomallit
• Appointment HMD – Appointment NoShow – Cancel Appointment– New Appointment– Reschedule Appointment– Revise Appointment
• Slot HMD– New Appointment by Slot– Appointment Request by Slot– Slot Status Revision
SerAPI
HL7 V3 Scheduling - tietomallit
• käytetyt Common Message Element Types• Message Type List
– esitetty html-sivulla taulukkona– excel-taulukkona– viesteistä XML-esimerkit
SerAPI
HL7 V3 Scheduling - slots
• Slots are identifiable periods of time that can be scheduled. • Open slots
• periods of time on a schedule during which a service may occur and/or a resource is available for use.
• Booked slots • periods of time on a schedule that have already been reserved.
• Reserved slots (tätä ei V2:ssa)• periods of time on a schedule that have been tentatively or generally
reserved (for example, a block of time set aside for new patients)
• Blocked slots • on a schedule are periods of time during which a service or
resource is unavailable for reasons other than booked appointments (for example, a piece of equipment may be unavailable for maintenance reasons
SerAPI
HL7 V2 Scheduling
SerAPI
HL7 V2.X - sovellusroolit
• Filler Application (toimittaja)• Placer Application (tilaaja)• Querying Application (kyselijä)• Auxillary Application (ulkopuolinen kiinnostunut taho)
SerAPI
HL7 V2.X - sanomat
• Ajanvarauspyyntö - Schedule Request Message (SRM),
vastaus pyyntöön - Schedule Request Response (SRR)
• Ajanvaraustilanteen kysely - Schedule Query Message (SQM),
vastaus kyselyyn - Schedule Query Response (SQR)
• Ilmoitukset muutoksista - Schedule Information Unsolicited (SIU),
kuittaus - General Acknowledgment (ACK)
SerAPI
HL7 V2.X - triggerit
• Ajanvarausanoman (SRM, SRR) triggerit:• NEW APPOINTMENT BOOKING
• APPOINTMENT RESCHEDULING
• APPOINTMENT MODIFICATION
• APPOINTMENT CANCELLATION
• APPOINTMENT DISCONTINUATION
• APPOINTMENT DELETION
• ADDITION OF SERVICE/RESOURCE ON APPOINTMENT
• MODIFICATION OF SERVICE/RESOURCE ON APPOINTMENT
• CANCELLATION OF SERVICE/RESOURCE ON APPOINTMENT
• DISCONTINUATION OF SERVICE/RESOURCE ON APPOINTMENT
• DELETION OF SERVICE/RESOURCE ON APPOINTMENT
SerAPI
HL7 V2.X - triggerit
• Ajanvarauksen kyselysanoman (SQM, SQR) triggeri:• SQM/SQR - SCHEDULE QUERY MESSAGE AND RESPONSE
• Ajanvaraussovelluksen ilmoitukset ulkopuolisille kiinnostuneille tahoille (SIU):
– triggerit ajanvaraussanomien (SRM) aiheuttamista muutoksista
(notification of ..)
– lisäksi:
• BLOCKED SCHEDULE TIME SLOT(S)
• OPENED ("UN-BLOCKED") SCHEDULE TIME SLOT(S)
• NOTIFICATION THAT PATIENT DID NOT SHOW UP FOR SCHEDULED APPOINTMENT
SerAPI
HL7 V2.X - tietoryhmät
• Viestien tietoryhmät (ajanvaraukseen liittyvät)– ARQ APPOINTMENT REQUEST
– SCH SCHEDULE ACTIVITY INFORMATION
– RGS RESOURCE GROUP
– AIS APPOINTMENT INFORMATION - SERVICE
– AIG APPOINTMENT INFORMATION - GENERAL RESOURCE
– AIL APPOINTMENT INFORMATION - LOCATION RESOURCE
– AIP APPOINTMENT INFORMATION - PERSONNEL RESOURCE
– APR APPOINTMENT PREFERENCES