410 likes | 568 Views
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.
E N D
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 SerAPI
Ajanvaraus 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.. • mika.tuomainen@uku.fi • yleisemmin: serapi-jasenet@uku.fi • 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
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
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. • Bookedslots • periods of time on a schedule that have already been reserved. • Reservedslots (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) • Blockedslots • 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 SerAPI