Model ¡Driven ¡Development ¡of ¡ Clinical ¡Informa4on ¡Sytems ¡using ¡ open EHR ¡ Koray ¡Atalag a,b , ¡Hong ¡Yul ¡Yang a , ¡Ewan ¡Tempero a , ¡Jim ¡Warren a,b ¡ ¡ ¡ ¡a ¡Na(onal ¡Ins(tute ¡for ¡Health ¡Innova(on ¡ b ¡Department ¡of ¡Computer ¡Science ¡ The ¡University ¡of ¡Auckland, ¡Auckland ¡ New ¡Zealand ¡ ¡
Study ¡Context ¡ • Maintaining ¡so?ware ¡in ¡healthcare ¡is ¡hard! ¡ – Real ¡world ¡experience: ¡endoscopy ¡repor4ng ¡applica4on ¡ – Almost ¡en4rely ¡driven ¡by ¡MST ¡– ¡standard ¡domain ¡terminology ¡ (Minimal ¡Standard ¡Terminology ¡for ¡Diges4ve ¡Endoscopy ¡– ¡version ¡2) ¡ • Essence ¡of ¡problem: ¡ – Biomedical ¡‘ stuff ’ ¡is ¡vola4le ¡ – hardcoding ¡domain ¡knowledge ¡into ¡sofware ¡(code ¡+ ¡DB) ¡ • New ¡Model ¡Driven ¡Development ¡– ¡using ¡openEHR ¡ – Archetype ¡modelling ¡+ ¡Defined ¡GUI ¡direc4ves ¡ ¡ – Extended ¡openEHR.NET ¡library ¡(Ocean ¡Informa4cs) ¡ – Formal ¡compara4ve ¡evalua4on ¡of ¡the ¡‘old’ ¡and ¡‘new’ ¡system ¡ ¡ hWp://gastros.codeplex.com ¡ – ALL ¡Open ¡Source ¡ J ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡hWp://openehr.codeplex.com ¡ ¡
Research ¡Ques4ons ¡ • Is ¡openEHR ¡implementable ¡at ¡all? ¡Feasible? ¡ (for ¡our ¡specific ¡requirements) ¡ • How ¡to ¡create ¡usable ¡GUI? ¡ • Is ¡it ¡bad ¡to ¡hardcode ¡domain ¡knowledge ¡into ¡ so?ware ¡(code ¡+ ¡DB) ¡ • Can ¡so?ware ¡evolve ¡without ¡(significant) ¡ techy ¡interven4on? ¡To ¡what ¡extent? ¡ • Any ¡other ¡challenges? ¡
Background ¡-‑ ¡MDA ¡ • Model ¡driven? ¡(development/architecture/ approach) ¡ • By ¡OMG ¡around ¡2001 ¡ • Separate ¡business ¡and ¡applica4on ¡logic ¡from ¡its ¡ underlying ¡execu4on ¡pla_orm ¡technology ¡so ¡that: ¡ ¡ – changes ¡in ¡the ¡underlying ¡pla_orm ¡do ¡not ¡affect ¡exis4ng ¡ applica4ons ¡ – business ¡logic ¡can ¡evolve ¡independently ¡from ¡the ¡ underlying ¡technology ¡ • Model ¡– ¡using ¡a ¡Domain ¡Specific ¡Language ¡ • Tackle ¡complexity, ¡vola4lity ¡& ¡improve ¡efficiency ¡
Background ¡-‑ ¡ open EHR ¡
MST ¡Structure ¡ MST Findings for Duodenum MST Hierarchy Endoscopic Observation / Procedure Heading Term Site Attribute Value
Content ¡Model ¡Coverage ¡
GUI ¡Direc4ves ¡ • Archetypes ¡& ¡Templates ¡only ¡to ¡do ¡with ¡structure ¡+ ¡ seman4cs ¡of ¡health ¡informa4on ¡ • Need ¡to ¡define ¡presenta4on ¡aspects ¡ • Majority ¡thinks ¡a ¡separate ¡model ¡for ¡that ¡ • We ¡don ’ t: ¡ – hard ¡to ¡separate ¡at ¡4mes ¡ – Archetypes ¡expected ¡to ¡change ¡rapidly ¡so ¡maintaining ¡a ¡ separate ¡model ¡might ¡be ¡hard ¡ – Perhaps ¡with ¡good ¡tooling ¡might ¡work ¡ • We ¡exploited ¡Template ¡Annota4ons ¡
Implementa4on ¡Methodology ¡ • GastrOS: ¡Windows ¡forms ¡app ¡using ¡.Net/C# ¡ • A ¡basic ¡ ‘ Wrapper ’ ¡+ ¡SDE ¡component ¡ ¡ • openEHR.Net: ¡Release ¡1.0.1 ¡RM ¡& ¡AOM ¡ • Templates ¡with ¡GUI ¡Direc4ves è opera4onal ¡ templates ¡(XML) ¡ • Creates ¡GUI ¡automa4cally, ¡validates ¡and ¡ persists ¡user ¡entered ¡data ¡ • Also ¡extended ¡model ¡beyond ¡MST ¡to ¡include ¡ vitals ¡& ¡adverse ¡reac4ons ¡– ¡hard ¡stuff! ¡
AOM Representation Skeleton Instance (ENTRY types, CLUSTERS) SDE ¡ ¡GUI ¡ SDE ¡Parser ¡ Generator ¡ OPT ¡ Reference Model GUI Form: Widgets+Leaf nodes(ELEMENT)
Conclusions ¡ • Is ¡openEHR ¡implementable ¡at ¡all? ¡Feasible? ¡ (for ¡our ¡specific ¡requirements) ¡ è è ¡YES ¡ • How ¡to ¡create ¡usable ¡GUI? ¡ è è ¡Described ¡ • Is ¡it ¡bad ¡to ¡hardcode ¡domain ¡knowledge ¡into ¡ so?ware ¡(code ¡+ ¡DB) ¡ è è ¡DEFINITELY ¡ • Can ¡so?ware ¡evolve ¡without ¡(significant) ¡techy ¡ interven4on? ¡To ¡what ¡extent? ¡ è è ¡CauDous ¡Yes ¡ • Any ¡other ¡challenges? ¡ è è ¡need ¡more ¡Dme!!! ¡
QUESTIONS? ¡ hCp://gastros.codeplex.com ¡ Koray ¡Atalag ¡MD, ¡PhD, ¡FACHI ¡ k.atalag@auckland.ac.nz ¡
Recommend
More recommend