An Open Source Approach To Developing Applications -- Without Programmers
OIO is an application development environment that is designed for users, not programmers. It is essentially a tool for creating Web-based forms and reports that serve as a front-end to a PostGres, Oracle or other database.
OIO is designed for the medical world. the project's Web site -- http://www.txoutcome.org -- describes it as "a highly flexible web-based data management system that manages users, patients, and information about patients."
The concept, however, could be extended to other areas. "The same system," says the Web site, "can just as easily manage information about customers, invoices, shipments, and accounts."
A priesthood of programmers
Ho's aims to revolutionize application development, by enabling users to do the work themselves, without calling on what he calls the "priesthood of programmers," where people who know C++ or Java serve as an interface to the technology.
There is "significant overhead" in the development of most applications today, he says, "with programmers interviewing users, trying to figure out what they want, building something, and going back and asking them if that's what they had in mind."
It can take more time to describe what you want to someone else than to do it yourself, says Ho. "That's why we don't have secretaries typing up letters in anymore. We'll still need programmers, but not for the same things as we do now."
Ho compares OIO with the advent of sophisticated end-user tools like spreadsheets or desktop databases such as Borland's Filemaker or Microsoft's Access, which enabled non-programmers to create applications that previously could only be created using programming languages like Cobol or C.
OIO's object-oriented interface means that end users can customize OIO forms to meet their needs without having to know the structure of the underlying database. "They can create forms or reports without knowing anything about PostGres or Oracle, or how many tables they're using. For them it's just a matter of defining the forms," he says.
Ho began working on OIO in 1998. Today it is in use in the Psychiatry department at Harbor-UCLA Medical Center, both for tracking patient information and for research. It's also in use in the departments of rheumatology and surgery there, as well as in the medical school at the University of Pennsylvania, and several hospitals abroad. Several other hospitals are evaluating it, including Case Western Reserve University Hospital in Cleveland, which is considering using OIO for tracking in anesthesia outcomes.
OIO is based on the open source application server Zope, and written using the open source scripting language Python. Because it is entirely open source, says Ho, it's easy to share work done at UCLA or elsewhere with colleagues across the country, and doctors can easily customize OIO's forms to meet their specific needs.
"Most of the information that we doctors record is the same," Ho says, "with only perhaps 10% difference between sites. OIO aims to allow customization, really quickly, by anyone, including non-programmers, and then allow them to share it easily with other users."
Being able to customize the forms also means that data can be shared between clinical departments and researchers, according to Ho.
"A lot of researchers are very interested in mining clinical data," he says "but there are obstacles standing in the way, both legal, such as patient consent and confidentiality, and technical. You can strip a number of fields off of clinical data to make it anonymous, but with commercial software, it's not easy. Our system makes it easy to do that, so you can make it anonymous at very low cost, which enables research to happen."