1. ÚvodSystémy pre podporu v rozhodovaní (DSS z angl. Decision Support System) si v medicínskom prostredí našli svoje miesto a denne poskytujú lekárom oporu a uľahčujú im ich rozhodnutia. Viaceré štúdie potvrdili, že prínos týchto systémov spočíva najmä v predchádzaní omylov pri poskytovaní zdravotnej starostlivosti, či zvyšovanie jej kvality, no takisto vedie k zníženiu nákladov a k úspore času [1-5]. Úspešnosť týchto systémov v praxi býva podmienená prístupným a neobťažujúcim ovládaním pre lekárov či ostatných členov lekárskeho personálu. Toto pozorovanie je doložené v práci [2], ktorá systematicky skúmala existujúce DSS, pričom tie, ktoré pracovali na pozadí a užívateľa upozornili len v prípade pripomienky či varovania (príklady takýchto systémov je možné nájsť v [6], [7]), boli vyhodnotené ako najviac prínosné. Znalosti v DSS typicky vychádzajú z lekárskych doporučení (napr. v [8], [9]), ktoré popisujú doporučené postupy pre diagnózu a/alebo postup liečby konkrétnych ochorení. Z analýzy existujúcich DSS [1-9] však taktiež vyplýva, že pre ich úspešné použitie je nutná plná integrácia v danom zariadení, kde sú používané, čo znamená prispôsobenie lokálnym podmienkam a obmedzeniam. Preto je nutné, aby sa okrem všeobecných lekárskych doporučení pri tvorbe znalostnej báze DSS zohľadňovali taktiež organizačné postupy v danom zariadení. Tieto znalosti zachytávajúce medicínske postupy potom môžu byť systémom použité pre kontrolu ich návrhu, simuláciu, či na kontrolovanie ich dodržiavanie v praxi. Jednou z oblastí medicíny, kde nasadenie DSS môže byť mimoriadne prínosné, je oblasť domácej starostlivosti (HC z angl. home care) [10], [11]. Zvyšujúci sa počet chronicky chorých starších pacientov má za následok zvýšené nároky na nepretržitú dlhodobú liečbu pod dohľadom zdravotných špecialistov. Naviac, je moné pozorovať, že umiestnenie a liečba takýchto pacientov v domácom prostredí môže mať pozitívnejšie výsledky než ich dlhodobá hospitalizácia [11]. Potrebnosť nasadenia DSS v oblasti domácej starostlivosti vychádza najmä z jej distribuovanej povahy. Pracovníci domácej starostlivosti navštevujú doma svojich pacientov a poskytujú im patričnú asistenciu či vyšetrenia, prichádzajú tak však o možnosť rýchlej konzultácie so svojimi kolegami pri neznámych situáciách alebo komplikáciách. Nasadenie systému pre podporu, či kontrolu ich činností by tak mohlo jednoznačne zvýšiť kvalitu poskytovanej zdravotnej starostlivosti. Vzhľadom k distribuovanej povahe oblasti domácej starostlivosti, ju musí zohľadňovať taktiež príslušný DSS. Z tohto dôvodu sú často využívané modely vychádzajúce z multi-agentových prístupov [11-15]. Pod pojmom multi-agentový systém rozumieme systém, kde skupina inteligentných autonómnych agentov spoločne interaguje, pričom chcú dosiahnuť vopred definované ciele. Správanie sa týchto agentov býva špecifikované pomocou viacerých základných modelov – (1) čisto reaktívni agenti, ktorí na základe preddefinovaných pravidiel reagujú na podnety okolia, (2) uvažujúci agenti, ktorí si budujú vlastní model prostredia a plánujú svoje budúce akcie a (3) hybridné modely kombinujúce predchádzajúce dva modely. Tieto základné modely správania sa agentov môžu byť implementované ako využitím štandardných programovacích jazykov, napr. Java, taktiež však využitím špecializovaných agentových programovacích jazykov, ako napr. Jazzyk [16], JASON [17], alebo niektorej z verzie jazyka APL [18]. Nedostatkom týchto programovacích jazykov je najmä nemožnosť efektívne namodelovať situácie kooperácie a koordinácie tak, aby agenti sledovali vlastné ciele, ale zároveň aj ciele spoločné, pre ktoré je kooperácia nutná. Na druhú stranu, organizačné procesy a lekárske doporučenia sú často založené na nutnosti kooperácie zúčastnených aktérov, pričom poskytujú aj potrebné informácie o následnosti a podmienkach vykonania jednotlivých akcií (napr. pred operačným zákrokom je nutné vykonať príslušné vyšetrenia, pre ktoré je potrebný istý druh vybavenia apod.). V predchádzajúcich prácach sme preto vytvorili nový spôsob modelovania správania sa agentov, ktorý takúto kooperáciu podporuje [19], [20]. Náš prístup je založený na rozšírených procesoch, pomocou ktorých formalizujeme znalosti o postupoch. Na ich základe vytvárame agentov systému, ktorých špecifická organizácia dovoľuje pracovať s procesmi v zmysle kontroly ich návrhu, ich simulácie, prípadne kontroly ich exekúcie v praxi. Z dôvodu prehľadnosti budeme v tejto práci túto architektúru označovať ako ProMA. Architektúra ProMA bola pôvodne navrhnutá s ohľadom na všeobecné použitie a teda s všeobecnou špecifikáciou procesného formalizmu. Cieľom tejto práce je preto ukázať možné aplikácie architektúry ProMA pomocou rozšírenia architektúry existujúceho systému pre podporu domácej starostlivosti, K4Care [11], kde sa pre ukladanie postupov využíva formalizmus SDA* [21]. Dôraz pri tom kladieme na integráciu novej architektúry do systému K4Care a jej dopad na zmeny v modeloch a nové vlastnosti takto vylepšeného systému. Príspevok je organizovaný takto. V nasledujúcej sekcii presnejšie vysvetlíme pojem procesu v medicínskom kontexte, po čom nasleduje popis novej architektúry ProMA, ktorá s procesmi dokáže pracovať. V ďalšej sekcii predstavíme systém K4Care, po ktorej nasleduje sekcia venovaná zapojeniu architektúry ProMA do systému K4Care. Zdôraznime, že toto zapojenie slúži ako potvrdenie aplikovateľnosti všeobecnej architektúry ProMA v konkrétnom systéme, pričom popíšeme najmä benefity plynúce z tejto integrácie. V predposlednej sekcii načrtneme nové možnosti, ktoré táto integrácia poskytuje, a v poslednej sekcii poskytneme zhrňujúci záver.
2. Multi-agentová architektúra založená na procesoch (ProMA)Táto sekcia je venovaná popisu procesov v oblasti zdravotníctva, ich rozdeleniu, a následne architektúre ProMA, ktorá s nimi umožňuje pracovať. Pod pojmom proces rozumieme sekvenciu aktivít, stavov, rozhodnutí, ale taktiež stavov rozdeľujúcich sekvenciu na viacero paralelných, resp. synchronizačné stavy. Procesy v oblasti medicíny rozdeľujeme na dva základné typy – organizačné procesy a procesy súvisiace s liečbou (resp. lekárske doporučenia). Organizačné procesy v oblasti zdravotnej starostlivosti sú podobné procesom známym z iných odvetví. Niekoľko prác (napr. [22], [23]) sa venuje skúmaniu možností aplikácie procesného modelovania či používania tzv. workflow manažment systémov v oblasti zdravotníctva. Panuje zhoda, že úspešné nasadenie týchto techník a systémov môže priniesť zvýšenú kvalitu poskytovanej starostlivosti, znížiť čas potrebnej hospitalizácie pacienta a vďaka tomu aj znížiť celkové náklady. Lekárske doporučenia sú dlhší čas súčasťou procesu štandardizácie lekárskej starostlivosti a možno chápať ako jeden z pilierov medicíny založenej na znalostiach. Obsahujú doporučené a odbornými komisiami schválené postupy, akcie a princípy pre diagnostiku či liečbu ochorení. V súčasnej dobe majú používané lekárske doporučenia často textovú podobu, ktorá je pre lekárskych špecialistov prirodzená. Na druhej strane je však táto textová podoba komplikáciou pri potrebe rýchlej konzultácie počas vyšetrenia pacienta, prípadne pre rýchle zorientovanie sa v zmenách pri vydaní novej varianty doporučenia. Naviac, textová podoba je úplne nevhodná pre počítačové spracovanie, či ako znalostný základ pre systémy pre podporu v rozhodovaní. Z tohto dôvodu je veľká časť výskumu v oblasti medicínskej informatiky venovaná práve formalizácii lekárskych doporučení do elektronickej podoby, pričom bolo vyvinutých niekoľko procesných jazykov pre takúto formalizáciu (napr. jazyky PROforma [24], Asbru [25], či GLIF [26]) a s ich pomocou je možné zachytiť znalosti z textových doporučení do štruktúrovanej elektronickej podoby. Oba tieto typy procesov môžeme vnímať spoločne a oba musia byť zastúpené pri tvorbe bázy znalostí postupov v DSS. V ďalšej časti tejto sekcie predstavíme multi-agentovú architektúru, ktorá je s týmito znalosťami formalizovanými pomocou všeobecného procesného jazyka schopná pracovať. Celkový náhľad na architektúru je na Obrázku 1.
Obr. 1. Schéma multi-agentovej založenej na procesoch. 2.1 Agent prostredia (Environment Agent) Mutli-agentové systémy a simulácie sú vždy vztiahnuté k určitému prostrediu, v ktorom agenti operujú. V ProMA architektúre je toto prostredie reprezentované špecializovaným agentom. V závislosti na tom, na akej úrovni detailu chceme systém používať môže tento agent reprezentovať virtuálny svet (to znamená od celého nemocničného oddelenia, po položky v databáze záznamov pacientov) spolu s existujúcimi objektmi (napr. lôžka, RTG či EEG prístroje, laboratórne výsledky apod.). Je však rozdiel pri práci s dátami týkajúcimi sa zdravotného záznamu pacientov a ostatnými položkami. Preto, ako je uvedené v schéme, ako bude ukázané neskôr, je vhodné oddeliť simulačné a skutočné dáta, avšak, agent prostredia je schopný tieto údaje získať od špecializovaného agenta (Patient Health Record Agent). 2.2 Exekučný agent (Execution Agent)
Exekuční agenti (EA) v architektúre reprezentujú konkrétnych ľudí - lekárov, sestry, pacientov, či ďalších zamestnancov, ktorí sa podieľajú na výkone formalizovaných procesov. Títo agenti využívajú reaktívny model správania sa vo forme hierarchických pravidiel, ktoré je možné na základe procesnej špecifikácie automaticky generovať (v publikácii [20] sú uvedené detaily daného algoritmu). Každý EA má vopred definovanú sadu pravidiel, pomocou ktorých je schopný plniť základné ciele v danom prostredí (napr. odpovedá na zaslané správy, informuje agenta prostredia o nutných zmenách stavu a pod.). Následne, pre každú aktivitu, v ktorej môže tento agent (a teda konkrétna osoba, ktorú reprezentuje) vystupovať, je vytvorené jedno ďalšie pravidlo. Tieto môžu byť v priebehu práce s procesmi aktivované (v prípade, že je možné danú aktivitu uskutočniť) alebo deaktivované (v prípade, že vykonanie tejto aktivity nie je aktuálne možné). Aktiváciu či deaktiváciu vykonáva agent role (bude popísaný neskôr). Výhodou tohto systému je fakt, že ktorú konkrétnu aktivitu bude exekučný agent vykonávať závisí na jeho autonómnom rozhodnutí a jeho prioritách k aktivovaným prioritám.
2.3 Agent role (Role Agent)
Agenti rolí (RA) reprezentujú všeobecné role v danom prostredí (všetkých lekárov, sestry, atď.). Cieľom RA je nájsť vhodného exekučného agenta (EA) pre vykonanie danej aktivity na žiadosť príslušného Procesného Agenta (bude popísaný neskôr). Dôvodom, pre ktorý je vhodné nasadenie špecifických agentov reprezentujúcich role je fakt, že v typickej pracovnej štruktúre zamestnancov sú ich role navzájom hierarchicky usporiadané (napr. sekretárka aj zdravotná sestra sú obe zároveň aj zamestnankyňami). Preto, keď RA dostane žiadosť o účast na danej aktivite od procesného agenta, vyhľadáva medzi exekučnými agentmi (pomocou tzv. contract-net protokolu (CNP)) tých, ktorý majú túto rolu, ale aj tie role, ktoré sú v kontexte danej hierarchie všeobecnejšie. V prípade, že jednu aktivitu môže súčasne vykonať niekoľko EA a je potrebný len jeden, RA autonómne určí víťaza na základe interných pravidiel, pričom víťazovi zašle správu o aktivovaní daného pravidla. Výber takéhoto víťaza je vždy doménovo závislý prípadne závisí od konkrétnych rolí (napr. sa môže jednať o agenta, ktorý bol najdlhšie nečinný apod.). Naviac, RA sú zodpovedný aj za nájdenie náhrady za víťazného EA v prípade, že ten dočasne pozastaví činnosť na danej aktivite (napr. lekár je zavolaný k akútnemu prípade a môže byť nahradený v aktuálnej činnosti).
2.4 Procesný agent (Process Agent)
Procesný agent (PA) je vytvorený pre každý krok v procesnom formalizme (teda pre každý stav, aktivitu, rozhodnutie, rozdelenie, či synchronizáciu). PA je zodpovedný za korektnú exekúciu daného kroku. Na začiatku kontroluje či sú splnené vstupné podmienky pre zahájenie procesu:
- či predchádzajúci PA úspešne skončil(i) (a teda či PA obdržal príslušnú informačnú správu),
- či všetky hodnoty na objektoch potrebných k vykonaniu tohto kroku sú správne (PA sa pomocou jednoduchého protokolu pýta agenta prostredia),
- či existujú exekuční agenti, ktorí sú potrební pre vykonanie tohto kroku (PA používa CNP protokol pre príslušných agentov rolí, ktorí prislúchajú tejto aktivite).
V prípade, že sú všetky nutné podmienky splnené, zaháji PA exekúciu kroku (teda napr. simuláciu aktivity, výpočet, či urobí patričné rozhodnutie) a po úspešnom ukončení je PA povinný zaslať výsledok agentovi prostredia (pomocou jednoduchého protokolu žiadosti) a informovať vlastného nasledovníka o úspešnom konci (pomocou jednoduchého informačného protokolu).
Táto architektúra, naviac, umožňuje dočasne pozastaviť vykonávanie patričnej aktivity a premietnutie čiastkových výsledkov do prostredia, nahradenie jedného exekučného agenta druhým, koordináciu viacerých exekučných agentov či nepovinné vstupné podmienky. 2.5 Agent Procesného Záznamu (Process Director Agent)
Posledný agent je výlučne pomocným agentom, ktorý číta formalizované procesy, na základe ktorých vytvára ostatných agentov a následne im zodpovedá otázky týkajúce sa týchto procesov (ako napr. vstupné objekty, predchodcovia, apod.). Jedná sa o zjednodušenie vlastnej implementácie systému postavenom na tejto architektúre, ale je vhodné upozorniť, že stále všetci agenti sú si vedomí a uvažujú o procesoch ako takých.
3. K4CareCieľom projektu K4Care [11] bolo vytvorenie, implementácia a overenie zdravotného modelu postaveného na znalostiach pre asistenciu pacientom v domácej liečbe. Znalosti o postupoch sú reprezentované pomocou lekárskych doporučení, ktoré sa v kontexte tohto projektu nazývajú formálne intervenčné plány (FIP). Na druhú stranu, pre zachytenie špecifických podmienok pre každého pacienta predstavuje projekt K4Care tzv. individuálne intervenčné plány (IIP), ktoré spájajú ako medicínske znalosti, tak aj lokálne pravidlá a sociálne charakteristiky daného pacienta. Znalosť o oboch typoch postupov, teda ako individuálnych tak aj formálnych intervenčných plánoch, je v systéme K4Care reprezentovaná pomocou formalizmu SDA* [21]. Jedná sa o procesný jazyk obsahujúci 3 základné terminologické komponenty: (1) stavy, (2) rozhodnutia a (3) akcie. Stavy popisujú prípustné stavy pacienta alebo významné situácie v danom kontexte (napr. zvýšený krvný tlak). Rozhodnutia reprezentujú terminológiu, ktorú špecialisti používajú pre rozlíšenie viacerých nasledujúcich postupov (napr. predchádzajúce problémy s srdcom môžu rozlíšiť nasledujúce kroky, pokiaľ sú pravdivé). Termíny akcií popisujú lekárske, klinické alebo operačné akcie, ktoré môžu vykonávať aktéri zohľadnení v systéme (napr. užitie betablokátoru, vyhýbanie sa slaným jedlám, vykonanie krvnej analýzy, apod.). Na rozdiel od typických procesných jazykov, SDA* nemá špecifickú komponentu pre aktérov, ale tí sú v systéme fixne určení ku každej akcií. Rozlišujeme dve skupiny – žiadatelia a vykonávatelia. V prvej skupine sú tí aktéri, ktorí majú oprávnenie žiadať vykonanie danej akcie, v druhej skupine sú tí aktéri, ktorí majú oprávnenie na jej vykonanie v praxi. Formalizované znalosti postupov sú najprv využívané ľudským expertom (lekári, či manažéri daného zdravotného zariadenia). V prípade, že pacient prostredníctvom systému požiada o poskytnutie služby, tím špecialistov najprv identifikuje na základe symptómov množinu možných ochorení. Platforma K4Care následne poskytne dostupné formálne intervenčné plány (FIP), ktoré sa daných poznatkov môžu dotýkať. Ľudský expert následne spojí a ďalej upraví túto množinu plánov tak, aby odpovedali aktuálnym potrebám. Výsledný plán je uložený ako individuálny intervenčný plán daného pacienta. Tento plán má priradených konkrétnych aktérov, ktorí sa budú na vykonávaní tohto plánu podieľať, a preto po ich odsúhlasení sa výsledné úlohy zobrazia v ich osobných portáloch. Tieto sú vygenerované SDA* exekučným mechanizmom na základe uloženého IIP. Pracovník, po úspešnom vykonaní danej úlohy, vyplní v systéme príslušné miesta v dokumente týkajúcom sa danej aktivity a vygenerujú sa nové úlohy na základe špecifikácie v IIP.
Obr. 2. Schéma systému K4Care prezentovaná v [13]. 4. Integrácia architektúry ProMA do systému K4CareV tejto sekcii popíšeme vylepšenie existujúceho modelu systému K4Care integráciou architektúry ProMA. Najskôr sa zameriame na technické detaily vyplývajúce z tejto integrácie, po čom bude nasledovať návrh nových možností, ktoré takto modifikovaný systém môže poskytnúť. V celej sekcii nasledujeme príklad použitia uvedený na záver predchádzajúcej sekcie a integráciu budeme vysvetľovať v danom kontexte. Dôvodom je priamo viditeľná výhoda pri návrhu IIP ľudským expertom vďaka integrácii architektúry ProMA do systému K4Care. Ďalšie možnosti rozšírenia a z nich vyplývajúce nové vlastnosti systému diskutujeme v nasledujúcej sekcii. 4.1 Prostredie
V tomto príspevku sa zameriavame na multi-agentovú časť platformy K4Care (viď Obr. 2). Najskôr sa preto zameriame na unifikáciu existujúcej funkcionality systému K4Care s architektúrou ProMA. Prepojenie s údajmi v zdravotných záznamoch pacienta a doporučenými postupmi, v architektúre ProMA reprezentované pomocou komunikácie príslušných agentov, je v systéme K4Care realizované pomocou dátovej abstraktnej vrstvy (DAL). Táto poskytuje rozhranie (tzv. API z angl. Application Program Interface) pre získanie dát pacientov z ich záznamu alebo doporučenia formalizované pomocou SDA*. Napriek tomu, agent prostredia musí byť stále prítomný pre dočasné ukladanie dát, ktoré nemajú perzistentný charakter (napr. počas simulácie). Vrstva DAL takisto neumožňuje odpovedať na čiastkové dotazy pre jednotlivé položky dokumentov či doporučení, preto obaja špecializovaní agenti (agent procesného záznamu a agent pacientovho zdravotného záznamu) musia byť vo výslednom multi-agentovom systéme vytvorení.
4.2 Exekuční agenti
Exekuční agenti (EA) architektúry ProMA konceptuálne odpovedajú agentom aktérov v systéme K4Care (Actor Agents) – reprezentujú totiž konkrétnych ľudí, užívateľov systému, ktorí vykonávajú akcie. Pre úplnú zhodu však agenti aktérov musia vedieť komunikovať s agentmi rolí (RA) a vedieť autonómne reagovať na ich požiadavky. Takáto reakcia je v súčasnom návrhu systému K4Care postavená výlučne na ľudskej odpovedi. Keďže však títo agenti aktérov sú perzistentne v systéme prítomní, ich funkcionalita môže byť relatívne jednoducho vylepšená tak, aby dokázali reagovať na prichádzajúce požiadavky v podobe CNP protokolov inicializovaných agentmi RA. Autonómna odpoveď môže byť postavená na zozname aktuálne pridelených úloh danému aktérovi, či jeho aktuálnej dostupnosti (ak napríklad špecialista je dlhodobo mimo zariadenie, jeho agent by mal mať túto informáciu a automaticky zamietať jeho účasť na navrhovaných aktivitách). Naviac, koncepty formalizmu SDA* typicky obsahujú aj časové informácie (napr. časový interval či periodicitu výskytu), vďaka čomu môžu poskytovať agenti aktérov oveľa sofistikovanejšie odpovede v závislosti na všetkých plánovaných aktivitách a asociovaných IIP, pričom vo finále môžu spolu fungovať ako rozvrhovací algoritmus umožňujúci ľudskému expertovi jednoduchšie rozhodnutia pri vytváraní nového IIP (viac je táto alternatíva analyzovaná v nasledujúcej sekcií).
4.3 Agenti rolí
Ostatné typy agentov prezentovaných v architektúre ProMA nemajú priamu alternatívu v systéme K4Care, a preto musia byť vytvorené, pričom v ďalších sekciách popíšeme ich integráciu do systému. Ako agenti rolí (RA), tak ani procesní agenti (PA) nemusia byť v systéme perzistentne prítomní a môžu byť vytvorení pri vytváraní nového IIP pre daného pacienta na základe vyžiadaných doporučení (FIP).
Agenti rolí (RA) konceptuálne v systéme K4Care odpovedajú typom aktérov. Preto vytvoríme RA pre každú nasledujúcu rolu: pacient, rodinný lekár, hlavná sestra, vedúci lekár, sociálny pracovník, sestra, lekár špecialista, operátor sociálneho pracoviska, poskytovateľ nepretržitej starostlivosti a ostatní. V systéme K4Care sú naviac tieto role združené do skupín ako evaluačná jednotka či ďalší poskytovatelia starostlivosti. Preto sú RA vytvorení aj pre každú z týchto skupín a príslušná hierarchická štruktúra medzi rolami je vybudovaná. Naviac, vo viacerých aktivitách taktiež existuje podobná hierarchia (napr. viacero aktivít, ktoré vykonáva sestra vie vykonať aj hlavná sestra, apod.) 4.4 Procesní agenti Jeden procesný agent (PA) je vytvorený pre každý stav, rozhodnutie alebo aktivitu vo vyžiadaných doporučeniach FIP formalizovaných pomocou SDA*. Takisto, pokiaľ užívateľ v IIP vytvorí nové kroky, pre každý z nich sa vytvorí nový PA. Kolektívne správanie sa v základnom režime odpovedá jedinému agentovi v systéme K4Care – SDA* exekučnému mechanizmu. Výhody oproti existujúcemu modelu sú viditeľné napríklad v čiastočnom automatickom spojení FIP, ktorý môže navrhnúť expertovi základnú variantu finálneho IIP, ktorú on/ona následne upraví podľa vlastných znalostí a skúseností. Vďaka tomu, že všetky charakteristiky krokov formalizovaných pomocou SDA* využívajú zápis pomocou rozsiahlej ontologickej báze, môžeme tieto informácie využiť pre čiastočnú automatizáciu procesu spojenia vyžiadaných FIP. Ekvivalencia viacerých krokov modelu SDA* môže byť vykonaná pomocou príslušných PA, ktorí si porovnajú asociované termíny, kontext a vstupné podmienky. V prípade, že súhlasia, vo finálnom IIP môže byť umiestnený len jeden PA, ktorý využíva zjednotenie všetkých vstupných a výstupných údajov (napr. krvné vyšetrenie môže byť vykonané len raz pre všetky požadované informácie). Myšlienka poloautomatického spájania dostupných FIP nie je nová (základný návrh bol prezentovaný v [13]), avšak návrh v tomto príspevku sa zameriava na spájanie jednotlivých krokov postupov pomocou vyjednávania autonómnych agentov. Táto základná myšlienka môže byť ďalej vylepšená pomocou základnej simulácie (bude vysvetlené neskôr) všetkých otvorených postupov (čo architektúra ProMA umožňuje). Jednotliví PA takto vedia identifikovať poradie, v ktorom môžu byť exekuovaní nielen v závislosti na poradí v jednotlivých FIP, ale aj v závislosti na splnení ďalších vstupných podmienok. Pod pojmom „základná simulácia" myslíme simuláciu, kedy sa PA snažia vypĺňať potrebné výstupné hodnoty dočasnými ľubovolnými hodnotami a aj vďaka tomu analyzovať možný ďalší postup v jednotlivých FIP. V nasledujúcej sekcií túto myšlienku ďalej rozšírime. Nakoniec, pomocou CNP protokolu delegujú PA problém výberu aktéra na asociovaných agentov rolí (RA). Oproti pôvodnému návrhu v architektúre ProMA musia RA v K4Care dodržavať bezpečnostné oprávnenia a teda notifikovať len tých agentov aktérov, ktorí majú oprávnenia vykonávať túto akciu pre pacienta, pre ktorého je aktuálne IIP vytvárané. Na základe odpovedí agentov aktérov môže RA vrátiť PA najlepšieho kandidáta, ale taktiež môžeme túto funkcionalitu modifikovať a RA vráti zoradený zoznam kandidátov a výber prenechá expertovi.
5. Možné vylepšenia a diskusiaV predchádzajúcej sekcii sme popísali integráciu architektúry ProMA do systému K4Care, ktorá potrebovala len minimálny počet konceptuálnych zmien v daných modeloch. Kľúčová výhoda takejto integrácie však spočíva v otvorení nových možností pre systém K4Care, ktoré sú vďaka architektúre ProMa ľahšie realizovateľné. Na druhú stranu by vyžadovali rozšírenie znalostí o aktivitách podporovaných týmto systémom. Kľúčovým faktorom je využitie simulácie všetkých postupov počas tvorby nového IIP. Výhodou systému K4Care je, že oba typy procesov, ako lekárske doporučenia, tak aj organizačné procesy, sú formalizované pomocou rovnakého jazyka SDA* a sú tak vnímané a je s nimi narábané na ekvivalentnej úrovni. Ako bolo ukázané v predchádzajúcej sekcii, aj základná simulácia je schopná poskytnúť základné obmedzenia a návrhy, ktorých vizualizácia môže expertovi uľahčiť prácu pri návrhu nového IIP. Predpokladajme teda ďalej, že v systéme K4Care budú obsiahnuté doplňujúce informácie. V prvom rade rozšírime existujúci ontologický systém o ďalšie časové informácie ako odhadovaná dĺžka trvania jednotlivých aktivít a špecifikácia postupu pomocou časovej funkcie (viď [20] pre detailnejší popis týchto funkcií). Ďalej predpokladajme, že súčasťou prostredia je mapa resp. virtuálne prostredie v ktorom dané zariadenie pôsobí. V poslednom rade predpokladajme povolenie prístupu PA k dátam ostatných pacientov (samozrejme obmedzených podľa bezpečnostných pravidiel). Všetky tieto dodatočné informácie nám umožnia vykonať simuláciu presnejšie s dôrazom na potrebné detaily. V závere tvorby IIP môže byť tento návrh simulovaný a ohodnotený podľa priradených aktérov či ďalších kritérií. Simulácia postupov pracuje v súlade s návrhom architektúry ProMA, čo znamená, že PA sa snažia úspešne simulovať asociovaný krok postupu výberom vhodných agentov rolí a následne agentov aktérov. Keďže agenti aktérov sú limitovaní ďalšími už zadanými úlohami (to znamená, že vždy simulujeme aj ostatné aktuálne platné IIP uložené v systéme), vyberajú si akcie, na ktorých budú pracovať na základe vlastných možností a priorít. Túto myšlienku môžeme demonštrovať na jednoduchom príklade: potrebujeme priradiť zdravotnú sestru k aktivite N.15 - zmeranie výšky cukru v krvi doma u pacienta. V systéme sú k dispozícii sestra Alice a hlavná sestra Eve. Alice má naplánovanú jednu úlohu na opačnom konci mesta, Eve má plánované dve kratšie úlohy v centre. Napriek tomu, že aktérky Alice a Eve majú rôzne role, každá z nich môže túto aktivitu vykonávať vďaka povolenej hierarchii (kedy sestra je všeobecnejšia rola ako hlavná sestra). Vďaka tomu, že architektúra ProMA túto hierarchiu umožňuje zvládnuť RA odpovedajúci role sestry osloví s požiadavkou aj RA odpovedajúceho role hlavnej sestry. Pre získanie vhodnej odpovede simulujeme celkový stav vo virtuálnom prostredí. To znamená, že agenti aktérov v tomto prostredí taktiež simulujú vykonávanie už naplánovaných aktivít. Keď obdržia novú požiadavku na vykonanie aktivity N.15 od RA odpovedajúceho roli sestry, nachádzajú sa títo aktéri na rôznych miestach vo virtuálnom prostredí a na základe aktuálneho stavu ostatných úloh vedia odhadnúť čas, potrebný na splnenie daného požiadavku. Preto, v našom zjednodušenom príklade, by bola hlavná sestra Eve navrhnutá ako vhodnejší kandidát pre vykonanie danej aktivity. Ak by však táto aktivita N.15 mala pre Alice vyššiu prioritu a ona by mohla dočasne prerušiť vykonávanie práve pridelenej úlohy, mohla by byť vybraná práve ona. Pre vernú simuláciu a najmä výsledky jednotlivých krokov je nutné, aby mali PA prístup k záznamom o pacientoch a vedeli lepšie odhadnúť výsledok daného kroku (podobne ako v prípade verifikácie v [19]). Tento výsledok môže totiž významne ovplyvniť ďalšie pokračovanie v simulovaných IIP. Naviac, po vytvorení a uložení IIP do systému, architektúra ProMA môže rovnako poslúžiť pre kontrolu dodržiavania týchto postupov a v prípade inkonzistencie upozorniť vedúceho pracovníka (viď [19]).
6. ZáverV tomto príspevku sme analyzovali použiteľnosť všeobecnej multi-agentovej architektúry do existujúceho systému pre podporu v rozhodovaní, identifikovali potrebné zmeny v daných modeloch a ukázali ako okamžité výhody z tejto integrácie, tak aj potenciálne výhody a nové možnosti. Konkrétne, popísali sme procesy a existujúce formalizmy pre zachytenie znalostných postupov v oblasti zdravotníctva a takisto novú multi-agentovú architektúru (ProMA), ktorá je s týmito procesmi schopná pracovať. Následne sme sa zamerali na systém K4Care, kde sú znalostné postupy formalizované pomocou jazyka SDA* a používané multi-agentovým systémom pre poskytovanie podpory v oblasti domácej starostlivosti. Navrhli sme spojenie týchto dvoch architektúr a identifikovali minoritné zmeny v oboch modeloch, pričom sme poukázali na nové možnosti zefektívňujúce tvorbu individuálnych intervenčných plánov pacienta. Na záver sme predstavili ďalšie nové možnosti, ktoré touto integráciou vznikli a vlastnosti, ktoré by to systému K4Care mohlo priniesť.
Poďakovanie
Poďakovanie patrí doc. Ing. L. Lhotskej, CSc. za poskytnutie materiálov k systému K4Care. Tento výstup vznikol v rámci podpory projektom Špecifického vysokoškolského výskumu SVV-2010-265513 a projektom Ministerstva školstva, vedy, výskumu a športu č. MSM6840770038.
Literatúra | [1] | Balas E. A., Weingarten S., Garb C.T., Blumenthal D., Boren S.A., Brown G.D.: Improving preventive care by prompting physicians. Arch Intern Med. 2000 Feb 14;160(3):301-308. | | [2] | Garg A. X., Adhikari N. K., McDonald H. et al.: Effects of computerized clinical decision support systems on practitioner performance and patient outcomes: a systematic review.JAMA. 2005 Mar 9;293(10):1223-1238. | | [3] | Grimshaw J. M., Russell I. T.: Effect of clinical guidelines on medical practice: a systematic review of rigorous evaluations. Lancet. 1993 Nov 27;342(8883):1317-1322. | | [4] | Hunt D. L., Haynes R. B., Hanna S. E., Smith K.: Effects of computer-based clinical decision support systems on physician performance and patient outcomes: a systematic review. JAMA. 1998 Oct 21;280(15):1339-1346. | | [5] | Kawamoto K., Houlihan C. A., Balas E. A., Lobach D. F.: Improving clinical practice using clinical decision support systems: a systematic review of trials to identify features critical to success. Bmj. 2005 Apr 2;330(7494):765. | | [6] | Burack R. C., Gimotty P. A.: Promoting screening mammography in inner-city settings: the sustained effectiveness of computerized reminders in a randomized controlled trial. Med Care. 1997;35:921-931. | | [7] | Demakis J. G., Beauchamp C., Cull W. L. et al.: Improving residents' compliance with standards of ambulatory care: results from the VA Cooperative Study on Computerized Reminders. JAMA. 2000;284:1411-1416. | | [8] | Overhage J. M., Tierney W. M., McDonald C. J.: Computer reminders to implement preventive care guidelines for hospitalized patients. Arch Intern Med. 1996;156:1551-1556. | | [9] | Nilasena D. S., Lincoln M. J.: A computer-generated reminder system improves physician compliance with diabetes preventive care guidelines. Proc Annu Symp Comput Appl Med Care. | | [10] | Egan M., Wells J., Byrne K., Jaglal S., Stolee P., Chesworth B. et al.: The process of decision-making in home-care case management: implications for the introduction of universal assessment and information technology. Health & Social Care in the Community. (2009, July); 17(4): 371-378. | | [11] | Campana F., Moreno A., Riano D., Varga L. Z.: K4care: Knowledge-based homecare e-services for an ageing europe. Agent Technology and e-Health. 2008;p. 95-115. | | [12] | Aubrecht P., Lhotska L., Dolezel J., Dolezal J.: Mobile Devices for e-Services in Home Care. In: 4th European Conference of the International Federation for Medical and Biological Engineering. Springer; 2009. p. 1006-1009. | | [13] | Isern D., Moreno A., Sanchez D., Hajnal A., Pedone G., Varga L.: Agent-based execution of personalised home care treatments. Applied Intelligence. 2009;p. 1-26. | | [14] | Isern D., Moreno A.: Computer-based execution of clinical guidelines: A review. International Journal of Medical Informatics. 2008;77(12):787 - 808. | | [15] | Isern D., Sanchez D., Moreno A.: HeCaSe2: A Multi-agent Ontology-Driven a Guideline Enactment Engine. In: CEEMAS '07: Proceedings of the 5th international Central and Eastern European conference on Multi-Agent Systems and Applications V. Berlin, Heidelberg: Springer-Verlag; 2007. p. 322-324. | | [16] | Novak P.: Jazzyk: A programming language for hybrid agents with heterogeneous knowledge representations. Programming Multi-Agent Systems. 2009;p. 72-87. | | [17] | Bordini R. H., Hubner J. F., Wooldridge M. J.: Programming multi-agent systems in AgentSpeak using Jason. Wiley-Interscience; 2007. | | [18] | Hindriks K. V., De Boer F. S., Van der Hoek W., Meyer J. J. C.: Agent programming in 3APL. Autonomous Agents and Multi-Agent Systems. 1999;2(4):357-401. | | [19] | Bosansky B., Lhotska L.: Agent-based process-critiquing decision support system. In: 2nd International Symposium on Applied Sciences in Biomedical and Communication Technologies, 2009. ISABEL 2009; 2009. p. 1-6. | | [20] | Bosansky B., Brom C.: Agent-Based Simulation of Business Processes in a Virtual World. In: Corchado E, Abraham A, Pedrycz W, editors. Hybrid Artificial Intelligence Systems. vol. 5271 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg; 2008. p. 86-94. | | [21] | Riano D.: The SDA* Model: A Set Theory Approach. CBMS 2007, Maribor, Slovenia, (2007). | | [22] | Lenz R., Blaser R., Beyer M., Heger O., Biber C., Baumlein M. et al.: IT support for clinical pathways-Lessons learned. International Journal of Medical Informatics. 2007;76(Supplement 3):S397 - S402. Ubiquity: Technologies for Better Health in Aging Societies - MIE 2006. | | [23] | Kumar A., Smith B., Pisanelli M., Gangemi A., Stefanelli M.: Clinical Guidelines as Plans: An Ontological Theory. Methods of Information in Medicine. 2006;2. | | [24] | Fox J., Johns N., Rahmanzadeh A., Thomson R.: PROforma: A method and language for specifying clinical guidelines and protocols. In: Amsterdam; 1996. . | | [25] | Shahar Y., Miksch S., Johnson P.: The Asgaard project: a task-specific framework for the application and critiquing of time-oriented clinical guidelines. Artificial Intelligence in Medicine. 1998;14:29-51. | [26]
| Peleg M., Boxwala A., Ogunyemi O.: GLIF3: The Evolution of a Guideline Representation Format. Proc AMIA Annu Fall Symp. 2000;p. 645-649. |
Branislav Bošanský Centrum agentných technologií Katedra kybernetiky Fakulta elektrotechnická České vysoké učení technické v Praze Technická 2 166 27 Praha 6 Česká republika e-mail: bosansky@labe.felk.cvut.cz
|