Africans on Rails
challenges ruby on rails software videoHere are some videos of Baobabers explaining how they feel about developing software in Ruby on Rails.
Add comment September 27th, 2007
Here are some videos of Baobabers explaining how they feel about developing software in Ruby on Rails.
Add comment September 27th, 2007
Well, I just spent a good few hours pouring over some code and finally found the problem. Composite Keys. In OpenMRS there are 12 tables that use composite primary keys. I think we have mentioned that this is easily handled in rails using the composite_keys gem and set_primary_keys function in the respective models. What I didn’t know is that things get a little wacky when you try to clone an ActiveRecord object that has composite keys.
p = PatientIdentifer.new p.patient_id = 2 new_patient = p.clone new_patient.patient_id = 3 NoMethodError: undefined method `patient_id=' ...
The clone method in ActiveRecord actually deletes the primary key from the list of attributes. This way if you save it, it will act like a new record. Of course when there are multiple primary keys and they are not autoincrementing this is a problem, because you can’t set them and can’t save the clone. Ever. What is needed is an alternate clone function when the model is composite. So I hacked this together and threw it in our OpenMRS model that is the basis of all our ActiveRecord models in this application.
# cloning when there are composite primary keys # will delete all of the key attributes, we don't want that def composite_clone if composite? attrs = self.attributes_before_type_cast self.class.new do |record| record.send :instance_variable_set, '@attributes', attrs end else clone end end
Now, ideally this would go into a module and I would use alias_method and map clone to orig_clone, then override the actual clone method. But let me just tell you that doesn’t work. Or didn’t work. Something to do with order of operations or some such. If you can get that working please comment.
Add comment March 20th, 2007
In order to follow everything that Baobab is doing we recommend that you subscribe to our site. That way whenever something changes or gets added you will be notified that new content is ready.
There are a variety of ways to subscribe depending on how you use the internet. Probably the easiest is to setup RMail to send you updates via email. A more web 2.0 approach would be to use bloglines, which is a nice solution especially if you want to regularly follow many different sites. Another approach is to use a feed enabled email client (like Thunderbird).
Once you have selected your RSS reader, you just need the address for the RSS feed. Ours is: http://www.baobabhealth.org/feed/
You can paste that link into your feed reader (For bloglines you do that here). Get in touch if you need help.
2 comments September 1st, 2006
We are proud to announce that we have recently deployed our new CD4 instrument interface at Kamuzu Central Hospital. Here is a picture of the deployed system (click for a larger version):
One of the critical tests required to effectively treat HIV patients is the CD4 count. As the number of patients being treated in Malawi increases, so will the number of CD4 counts that need to be taken. A recent study showed that a typical CD4 result gets manually transcribed 7 times before reaching the decision maker. Obviously this is an error prone process. An error in the patient’s CD4 count not only wastes precious resources (the hospital is currently very low on expensive reagent) but it can also lead to the wrong decision being made for a patient.
Our solution was to develop a system that eliminated transcription of any kind throughout the entire process. The steps are as follows:
The system has just been launched, but already the lab technicians are happy because they no longer have to read the result from a screen, write it down, then type it into an excel document. We are hoping to see a dramatic improvement in data accuracy and usefulness as well.
Of course, the FACScount is one of many lab machines used in hospital throughout Malawi. We are hoping to generalize the approaches and learnings from this exercise and also work with other health care providers to create free and open source hardware and software solutions for lab equipment throughout the world. Contact us if you want to get involved.
Add comment September 1st, 2006
In 2004, Baobab introduced a radically different methodology for using information technology (IT) within the VCT environment. Baobab’s eVCT system essentially eliminates the paper-based entry method with a computer-based model that is more accurate and flexible than the paper-based model. Most importantly, the solution is locally designed and implemented to meet the constraints and challenges of a developing world hospital.
This video presents the results of an independent analysis conducted on both counselors and clients that used the system.
To view all of our videos on the HIV eVCT System, click here.
Click here for our write-up of the Baobab HIV eVCT System.
Add comment August 31st, 2006
In 2004, Baobab introduced a radically different methodology for using information technology (IT) within the VCT environment. Baobab’s eVCT system essentially eliminates the paper-based entry method with a computer-based model that is more accurate and flexible than the paper-based model. Most importantly, the solution is locally designed and implemented to meet the constraints and challenges of a developing world hospital.
This video demonstrates the registration functionality of the eVCT system.
To view all of our videos on the HIV eVCT System, click here.
Click here for our write-up of the Baobab HIV eVCT System.
Add comment August 31st, 2006
In 2004, Baobab introduced a radically different methodology for using information technology (IT) within the VCT environment. Baobab’s eVCT system essentially eliminates the paper-based entry method with a computer-based model that is more accurate and flexible than the paper-based model. Most importantly, the solution is locally designed and implemented to meet the constraints and challenges of a developing world hospital.
This video demonstrates the pre-HIV test counseling and HIV testing functionality of the eVCT system.
To view all of our videos on the HIV eVCT System, click here.
Click here for our write-up of the Baobab HIV eVCT System.
Add comment August 31st, 2006
In 2004, Baobab introduced a radically different methodology for using information technology (IT) within the VCT environment. Baobab’s eVCT system essentially eliminates the paper-based entry method with a computer-based model that is more accurate and flexible than the paper-based model. Most importantly, the solution is locally designed and implemented to meet the constraints and challenges of a developing world hospital.
This video demonstrates the registration functionality of the eVCT system.
To view all of our videos on the HIV eVCT System, click here.
Click here for our write-up of the Baobab HIV eVCT System.
Add comment August 31st, 2006
In developing countries test results obtained from laboratory instruments are typically transcribed by hand onto a reporting form and recorded in a lab register for redundancy and possibly subsequent statistical analysis. This process has a number of weaknesses:
The scale-up for the treatment of HIV in the developing world has presented challenges in the management of CD4 data. In a review of procedures currently used by a central hospital laboratory in Malawi that processes approximately 150 blood specimens for CD4 counts per week, information about the patient and their lab results are transcribed (computer to paper, paper to paper, or paper to computer) a minimum of four times between the time in which the blood sample is sent to the lab and when lab results are sent back to the clinic. As noted above, this is not only an inefficient process but repeated transcription increases the likelihood of transcription errors.
While CD4 instruments are increasingly being deployed to meet the challenges of treating HIV, there is minimal investment in the accompanying hardware and software to interface with the instrument. From the perspective of an audiophile this is analogous to having a high-fidelity sound system but living next to an amusement park. The noise confounds the process. The consequences of mismanaging CD4 data include having to repeat a test (wasting reagents and human resources), starting a patient on ART when not appropriate, not starting a patient on ART when appropriate, and changing or maintaining a regimen inappropriately.
Add comment August 30th, 2006
Traditionally, a VCT Center in Malawi uses a paper-based system for collecting data during a counseling session. Essentially, a counselor writes down answers to specific questions on a multi-page form during the session. These forms are then manually re-keyed into a personal-computer based system by a separate data-entry clerk; this system is then used to generate monthly, quarterly and annual reports. The paper-based entry is filed for future reference.
This approach has significant drawbacks:
In 2004, Baobab introduced a radically different methodology for using information technology (IT) within the VCT environment. Baobab’s eVCT system essentially eliminates the paper-based entry method with a computer-based model that is more accurate and flexible than the paper-based model. Most importantly, the solution is locally relevant, designed and implemented from the ground up in Malawi with local staff to meet the constraints and challenges of a developing world hospital. For example, Baobab places a strong emphasis on keeping costs low by using locally bought parts, open-source software and a number of internally developed innovations.
At a high level, an eVCT implementation provides a counselor with a touch-screen based appliance which they use for real-time data entry. The graphical user interface is intuitive for a novice user; we have quickly seen new Baobab appliance users enter data at virtually “touch-type� speed with a little practice. The appliance guides a counselor through a counseling session sequentially; this approach ensure data completeness, as well as internally logical responses (e.g., a male can’t be entered as pregnant). Every counselor’s appliance is connected to a battery back-up system which can power the system for over 10 hours without grid power; the back-up battery system is also capable of powering the central server which captures the data.
Each component of eVCT was designed with a keen eye towards local applicability, low cost and either redundancy or ability for “plug & play� replacement. Specific examples include:
Most importantly, Baobab technology has been deployed and proven in a number of applications, including Pediatrics, Registration, Pharmaceutical Management, and HIV/AIDS treatment, among others. Baobab is continually refining its technology and implementation model based on feedback from users, innovations and incubation projects from its staff, and input from partners. Finally, the overall cost of a complete eVCT system is cost-competitive with a paper-based system (which requires investment in a personal computer and associated software and technology).
The eVCT system is currently being used at the following locations:
During the pilot implementation of eVCT at the MACRO location, a study was conducted to assess the impact of the system implementation on a paper-based site. The study concluded the following:
- All 12 respondents reported they preferred to use the touchscreen system versus paper forms.
- All 12 respondents reported the touchscreen was faster to complete than paper
- Of the 12 respondents, 11 reported having occasional technical problems, primarily related to prolonged power outages. Based on this feedback, the UPS-based back-up system was replaced with the deep-cycle battery technology innovation
- Responses indicated that the introduction of the touchscreen computer into the counseling session had no negative impact on the counseling process.
- Twenty-three clients (38%) reported not noticing use of the touchscreen computer during the VCT session
- Negative feedback received through open-ended questions focused on issues unrelated to the use of the touchscreen during VCT, such as long wait times at the VCT center.
For the complete documentation on Baobab’s HIV eVCT System, see the following document: Deploying Baobab Health Partners HIV eVCT System
Add comment August 30th, 2006