Archive for the ‘OIP’ category

Maintaining Active Lists Implicitly

July 5, 2009

Other than users adding and removing items to allergy lists, problem lists, etc. directly, the active lists automatically maintain the lists by monitoring the entered observations. For example when the user enters an observation malaria problem added, the system captures the event and adds a new problem in the problems list. When the user enters an observation malaria problem removed, the system looks up the problem list, finds the malaria problem and ends that item.

Initial Design of Active Lists

July 5, 2009

A working active lists implementation is complete. Problem and allergy lists are implemented.

An allergy consists of allergen, reaction and severity properties. The problem consist of a basic concept. Both contain start and stop dates. They are used in case we need to define items with a date other than today when entering, and also to retrieve historical items with a past date range. Allergy, problem items are plain objects. Each type of object uses a helper class to interact with the system.

The user can create an allergy object with the three basic properties.

Allergy allergy = new Allergy();
allergy.setAllergen(allergen);
allergy.setReaction(reaction);
allergy.setSeverity(severity);
Context.getPatientService().addAllergy(allergy, patient);

Removing an allergy is as follows.

Allergy allergy = new Allergy();
allergy.setAllergen(allergen);
Context.getPatientService().removeAllergy(allergy, patient);

The active list entries are assumed to be coming from two paths. One is directly creating and removing objects as above. The other way is users creating the observations indirectly in the system which would modify the active list accordingly.

Limiting Answers to Concept Classes and Sets

June 24, 2009

I am working on the ticket #73, model must support constraining coded answers to one or more classes. I am implementing the first option, using two properties in the answer class to keep a concept set or a concept class. After implementing this ticket we can specify which concepts are possible for a given concept as an answer by the given concept classes and concept sets, in addition to the single concepts,