====== Rule Integration Patterns in the Domain of Heath Care ====== **Advisor:** [[SSELMember>MariaAgustinaCibran|Maria Agustina Cibran]], [[SSELMember>Maja|Maja D'Hondt]])\\ **Promotor:** [[SSELMember>VivianeJonckers|Viviane Jonckers]] Behoort tot [[overview|Thesis and/or Apprenticeship Proposals 2005-2006]] ===== Context ===== This topic falls in the context of rule-based knowledge that is contained in many object-oriented software applications. Typically this knowledge appears implicitly expressed. Although there exist many approaches that advocate the separation of rules, the rules’ connections still crosscut the core application functionality, which impedes reuse, either anticipated or not [1] [2] [3] [4]. Thus, in that previous work carried out at SSEL, Aspect-Oriented Programming [5] is successfully used to encapsulate the business rule connections. We are particularly interested in analysing these rule integration issues in the domain of health care applications, of which the AZ VUB medical system of the IT department of the academic hospital of the VUB in Jette is an example. This system heavily relies on the use of rule-based systems for storing knowledge about interferences of drugs and examinations and knowledge about legal and legislative concerns related to healthcare. Some examples are rules that specify interference between different medicines or between medicines and examinations, such as //if patient takes drug A then examination X should occur within 5 days// and //if drug A is provided then drug B should be avoided//. Typically, multiple applications employ these rule bases. The problem in these applications is that finding and changing the calls to the rule bases requires a lot of expertise to guarantee a correct operation. Moreover, rules change depending on the context and the identity of the doctor that applies them. Depending on the application that is calling the rule base, other behaviour is to be associated with the results of calling the rule base. Also, rules that talk about drug interferences can be disabled by certain doctors that are specialists on the pertinent drugs. We use AOSD since it can successfully deal with these integration issues non-invasively for the applications. ===== Stage ===== A real-life case (or a subset of it) from the medical AZ VUB system will be analyzed and the use of AOP for integrating the rules will be investigated. This case has two parts, the core application developed in java and the rule-based knowledge is implemented in a rule-based language. The integration of the rules is invasive in the core application. The goal is then to explore the use of AOP to decouple the calling of the rule bases from the applications. During the stage the student will get acquainted with the work on AOP and business rules carried out at SSEL [1] [2] [3] [4]. A prototype of the case will be built (together with the advisors) that uses JAsCo [6] for the integration of the rules. ===== Thesis ===== The thesis will consist on the generalization of the solutions encountered during the stage. When integrating rules, the student will encounter common steps that have to be repeated every time a medical rule needs to be integrated. Abstractions (such as patterns) will be distilled from these integration steps. These abstractions, implemented in the form of a high-level libraries, wizards or other approach, will facilitate the integration of medical rules, avoiding having to write aspect code every time. ===== Requirements ===== * Good knowledge of OOSD concepts. * Experience in Java programming. * Knowledge of AOSD is an asset but not mandatory ===== Referenties ===== [1] M. A. Cibrán, M. D'Hondt and V. Jonckers, “Aspect-Oriented Programming for Connecting Business Rules”, Proceedings of BIS International Conference, Colorado Springs, USA, June 2003. [2] M. A. Cibrán, M. D'Hondt, D. Suvee, W. Vanderperren and V. Jonckers, “JAsCo for Linking Business Rules to Object-Oriented Software”, Proceedings of CSITeA International Conference, Rio de Janeiro, Brazil, juin 2003. [3] M. A. Cibrán, D. Suvee, M. D'Hondt, W. Vanderperren and V. Jonckers, « Integrating Rules with Object-Oriented Software Applications using Aspect-Oriented Programming », Proceedings of ASSE’04, Argentine Conference on Computer Science and Operational Research, Córdoba, Argentina, 2004. [4] M. D'Hondt and V. Jonckers, “Hybrid Aspects for Weaving Object-Oriented Functionality and Rule-Based Knowledge”, Lancaster, UK, mars 2004. [5] Aspect-Oriented Software Development website: http://www.aosd.net [6] JAsCo website: http://ssel.vub.ac.be/jasco