|
|
Modeling & Transformation Research @ school of industrial engineering Pieter Van Gorp Information Systems March 3, 2010 @ Software Engineering and Technology Group (SET)
IS Faces IS: ~25
Intro Background: Model-Driven Development of Model Transformations Taxonomy of Model Transformation Techniques Follow-Up Transformation Tools Contest New Application Domain BPM Healthcare Current Research Survey Mining, iCON => PN2HSC validation
MHPW 2010 Making Healthcare Processes Work February 15-16, 2010
Why Healthcare? Source: CBS
How Philips approaches workflow, starting from definition, moving into implementation and finally towards monitoring in the field. Present examples of business intelligence approaches in the healthcare and argue for an extensive integration of information systems of healthcare providers Characterize the challenges related to healthcare process improvement from the point of view of medical informatics research. These challenges relate to representation of computer-interpretable healthcare processes that support action management and clinical decision making, handling uncertainty, and supporting flexibility In order to improve improve quality, safety and efficiency we designed and implemented two clinical workflows, ... the objective was to reduce mistakes and shorten overall process-time. Each workflow is a combination of electronic forms, order-sets, a rules engine and a workflow engine.
WFM in HC in NL
Group Avi Mandelbaum Data Language-dependent? The Patient’s view (server, manager) List of exceptions too long (interface design) QED= Quality- and Efficiency- Driven Redesign Pre-Op Process (3-6 months) After 6 months: DE or BE. Estim. waiting time? Quality: Operational/Medical/Service OR/OM, IS play 2nd violine Workflow systems are brainless [OR] Half-Electr./Paper= Error Prone RFID; 12: Ambulance Diversion Group Uzay Kaymak Model Ownership Tool support for Model Evolution Personalization by End-user (e.g. Notifications) External Access to Portal (GP, Patient) Workflows/data as input for simulations? 5 months, 500 patients => PROM => funding insur. c. Transformations (XPDL, Rules, Logs) Overspecification? 80/20 rule Architecture: integrating with external DSS Link to audit-trails Research Agenda for Kaymak, Van Gorp, Mans Group Jan Vissers How to handle deviations in the WF system The involvement of users Digitizing a process without the intention to change the process, will result in a perceived other process The three objectives from the beginning of the talk (better, safer, cheaper) did not return later in the presentation. Lack of an explicit modelling approach Group Yolanda van Dinther Benefit from automation? Amount of exceptions… What was the actual goal (SMART, KPIs)? Are hospital users more complicated than those in general ICT projects? What if the paper process was less literally translated into a digitized format? Modeling? Relation to standards like HL7? How to evaluate the first trial: was the time taken necessary to actually learn by experience?
SHARE demo 1 [Ingmar Frey]: PROTOS, CPNtools http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP_PROM5.0_CPNtoolsMachine_ErwinThesis.vdi
Real-life models from Healthcare? (Simulation) Models from TU/e research/master projects Real-life IT Consumer models QA dept develops textual “care paths” IT dept considers architectural guidelines IT dept relies on demos (not models) IT Provider models Low-level process models (XPDL) Models not shown to customers Exception: iCON
Gebruik van Modellen door IT professionals in HC Gevraagd: - business models en process models uit de healthcare praktijk, - de relaties ertussen, - verschillende versies ervan, - inconsistenties ertussen. Beste Pieter, Hierbij stuur ik je een workflow voor de MRSA controle. In de 9mrsawf.xpdl vind je de workflow zelf en in de 9mrsawf.html de beschrijving van de workflow. Succes! Beste ****, bedankt voor de bijlage. Tijdens ons telefoongesprek werd gesproken over een modelleringslaag en een uitvoeringslaag. Op welke laag bevindt zich het model uit de bijlage? Kan je me het gerelateerde model uit de andere laag ook nog doorsturen a.u.b.? Hallo Pieter, Deze xpdl is uit de uitvoeringslaag. De modelleringslaag voor deze workflow heb ik niet, omdat dit een nieuwe tool is van Tibco en nog niet voor alle workflows dit in deze tool is omgezet. Hallo Pieter, Sorry ik heb wel een modelleringslaag gevonden. Ik heb alleen geen originele elektronische versie hiervan. Groet ****** p.m.e.v.gorp@tue.nl
Alternative: start from logs! Example: fuzzy miner [Christian W. Günther]
Evaluation of Generic BPM/Trfo Research Example from FM 2009, revisited using GrGen.NET PN2HSC
Evaluation using Healthcare Logs... http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=XP_GB9_GrGen_live_AD2HSC_i_i_i.vdi Input: Petri-Net export (PNML) on output from Heuristics Miner
Output from PN2HSC
More mature results of BPM in HC Replaying history Conformance Checking Integration simulation <> workflow-engines
Conclusion for PN2HSC Need different clustering mechanism in HC context Different rules Research challenge: modeling model transformations Focus on understandability Use optimized compiler / execution engine PN2HSC: Java vs GrGen.NET
Avoid comparing apples and oranges
Solutions: Design Classification (not implied by language!)
Solutions: Performance Evaluation (small models) Between 140 and 1400 model elements Both solutions <1s, Do not use optimizations yet!
Solutions: Performance Evaluation (medium-size models) 10.000 elements is turning point 15.000 elements: Java mem-bound (32 bit)
Solutions: Performance Evaluation (large models) 10.000 elements is turning point 15.000 elements: Java mem-bound (32 bit)
Solutions: Scalability (huge model) 143.821 elements: 593s (~= 10min) 287.641 elements: 2498s (~= 40min)
Closeness of (Mental) Mapping Go back to documentation of Eshuis [FM 2009] Compare that documentation to the Implementations GrGen Java
25 Reduction step 1a for AND-joins Merging non-singleton pre & postset of transition Creating AND node Informal graphical rule as documentation Unclear whether qi are removed or just marked... Traceability to AND/OR tree implicit
GrGen Implementation of R1a rule trans_AND_join { -:pre->t:Transition<-:pre-; // at least two incoming arcs negative { :RoguePrePlace(t); } negative { // pre version of the other NAC :RoguePostPlace(t); } modify { p:Place -:pre->t; // completion of the folding :HSCandState <-:HSCcontains- :HSCorState <-:PN2HSC- p; // update tree and maintain trace eval { p.name= "ANDJOIN_"+t.name; } exec([handlePrePlace_1a(t,p)]); } } rule handlePrePlace_1a(t:Transition,p:Place) { q_i:Place -:pre-> t; // visit each place in the preset q_i -:PN2HSC-> or:HSCorState; // take the OR node of that place p -:PN2HSC-> :HSCorState -:HSCcontains-> parentAND:HSCandState; // take the AND node in which it should be contained modify { or <-:HSCcontains- parentAND; // put the OR node in the new AND node exec([move_incoming_arcs(q_i,p)] | [move_outgoing_arcs(q_i,p)] | [cleanupP(q_i)]); } } Negative Application Conditions (NACs) Subpatterns LHS RHS Subrules, control flow language [ ], &&, ... LHS RHS Currently input destructive Proposed Improvement [VanGorp2008PhD]: Higher order transformation to visualize the patterns!
Java Implementation of R1a Vector sources=t.getSources(); if (sources.size()>1){ if (checkTransitions(sources)){ Vector toreplace=new Vector(sources); // System.out.println("Replacing sources"); String tId = t.getId(); // tId = tId+ "_sources"; // // group sources into new node State newState = new State(tId); newState.addChildren(toreplace); newState.setAnd(); // newState.print(0); State newStateparent= new State("xx_o"); newStateparent.addChild(newState); newStateparent.setOr(); // System.out.println("1aTo replace"); for (i=0;i<transitions.size();i++){ Transition tx=(Transition)transitions.get(i); // System.out.println("Replace" + tx.getId() + "?") ; // tx.print(); Vector sourcesx=tx.getSources(); if (contain(sourcesx,toreplace)){ tx.clearSources(toreplace,newStateparent); } Vector targetsx=tx.getTargets(); if (contain(targetsx,toreplace)){ tx.clearTargets(toreplace,newStateparent); } } states.add(newStateparent); states.removeAll(toreplace); // System.gc(); } } Explicit iteration Explicit use of vector indices (<> OO MM) No MM type safety (retyping) Explicit sequential execution (multi-core...) Biggest concern: premature optimization! Pick transition t such that there is no t' s.t. t' t or t' t Could be derived by program analysis Consequence of using a too low-level language?
28 Reduction step 2 for sequences Merging singleton pre & postset Creating OR node Similar mapping to GrGen/Java GrGen Found: extra rule needed for loops... How? By testing... Neither approach provides a mechanism to statically analyze constructs that cannot be transformed.
Testing => Debugging => Tools! Demo
Conclusions (PN2HSC Specific) GrGen solution scales better Excellent on huge graphs => focus on logs? Ironically, you care less about performance Premature optimization issue with Java solution Advantage of Declarative Language HOT from/to visual GT language desirable
Conclusions (General) Taxonomy: Language independent Rephrasing, Translation, Re-iteration Horizontal, Vertical M2M, M2T Semantical, Syntactical Helps researchers: Avoid comparing apples and oranges Helps identifying the “core” for comparison Helps developers decomposing, modularizing Dangerous to apply the transformation language metrics without considering design implications E.g., Input destructive, endogenous, ...
SET Collaborations Expertise in COBOL reverse engineering Also unstructured graphs Mechanisms for introducing hierarchy also applicable for clustering unstructured process models from HC? Participate in TTC (TOOLS2010) http://is.ieis.tue.nl/staff/pvgorp/events/TTC2010/ Case Solutions Role of transformation language metrics Relation to taxonomy? SHARE: Evaluate GT demos and contribute ASF+SDF demo? http://is.ieis.tue.nl/staff/pvgorp/share/
| URL: |
No comments posted yet
Comments