Back Up
        
Analgesia Database
 
 

Relief of acute pain is important. Welcome to our analgesia database. The main features of our database are:

  1. Operates on a PalmOS-based personal digital assistant (PDA);
  2. SQL-based (using a subset of SQL implemented in C++ on the PDA) --- SQL can be embedded within a simple scripting language;
  3. A clean user interface which is duplicated on a desktop machine, with potential for cross-platform roll-out using a variety of databases (due to use of Perl and ODBC);
  4. Distributed under the GNU Public licence, eschewing the usual tendency of medical software developers to hide their code. All development tools are freely available on the Internet.

This page contains links to documentation and components of the database. Most important is total availability under the GNU Public Licence (GPL). A copy of the GPL can be obtained from the Free Software Foundation.

Principles

The principles of our project are:

  • A clean interface
  • Simplicity and minimal size
  • Use of a small, relevant subset of established standards
  • Cross-platform design
  • Distribution under the GPL ('Think free as in freedom of information')
  • A focus on medical safety

Standards

We have tried to avoid slavish adherence to standards, however standards we consider important are:

  • SQL (notably SQL-99)
  • The SQL CLI (aka ODBC)
  • IEEE754r

Development, documentation and release

This project is continually being developed. We are releasing it in logical stages, at an unhurried pace, as we feel appropriate. We intend to use feedback derived from comments on the early components to `fine tune' later components (many of which have been developed and are functional, but have not yet been released).

This project is still in its infancy (well, childhood, as it's 2 years old). The code is not mature and will change without warning. Do NOT use this program or derivatives of it for patient management. All of the code should be considered experimental at this stage.

Our planned sequence:

  1. A Paper form, with rationale and design philosophy. We think it's important to get the paper right, before making a fuss about the computer program!
    (Ver 1.00 Available 7/7/2005: as a PDF document, and in the original LaTeX format);

  2. An overview of the PDA user interface:
    (Ver 1.00 Available 7/7/2005: as a PDF document);

  3. Database principles and SQL source:
    (Ver 0.95 Available 3/8/2005 as PDF: Part I and Part II (partial). Part II still needs an enormous amount of work to bring it up to date!

  4. Desktop program written in Perl, with ODBC connectivity:
    (Ver 0.90 Available 3/8/2005: as a PDF document and as the original LaTeX source).
    Necessary data files (mainly SQL) are available as a zipped file here. You will need to unzip them into a data subdirectory contained within the directory where you put your Perl file, as described in the documentation. If you don't want to use our `DogWagger' idea described below, then here's the derived Perl file!
    NB The SQL and data tables I've made available over here are simply for playing, as I've not yet updated all of the code to be compatible with the documentation of Sections 1--3. Heck, there's still a lot of work to do in Section 3, too.

    If you run the Perl program pain.pl, then you'll need to click on the `Create Database', `Make menus', and `Make people' buttons before the MENU button will work! If you wish to translate tables into PDB format for PalmOS, then in addition to the data subdirectory, you'll also need to make a pdb subdirectory.

  5. PDA (PalmOS) program written in C++, with SQL for PDA, full scripting language:
    (Written but needs some revision and extensive documentation, which should be available in September 2005).

  6. IR conduit
    (Not yet developed; target date end 2005)

  7. Meta-interface (easy management of scripting language and PDA user interface)
    (Speculative; target Early 2006)

  8. Ports to other operating systems: this depends largely on you.

  9. Oh yes, we have many other ideas. Here's one of them:


DogWagger --- an idea!

Last Sunday (31/7/2005) I thought of the analogy between a program and a large dog. Programmers, especially amateurs like myself often concentrate on the programming (which can be a dog!) and relegate documentation to the role of the stumpy little tail of a Rottweiler. Now what if we could always associate the two seamlessly? Then I had my idea. Put all of the code into the LaTeX documentation as verbatim sections, then write a Perl program to strip out everything except the verbatim sections! I'm sure this has been done before, but here it is anyway. So far, I've only implemented this idea with the desktop Perl program! Try it on the LaTeX source above.


We welcome comments and constructive criticism from those who have expertise in at least one of the following areas:

  • acute pain management;
  • Perl programming;
  • SQL programming;
  • C++ programming on the PDA using GCC;
  • IEEE754r;
  • minimalist software design;
  • medical safety;
  • LaTeX.

Hey guys, we can more-or-less get by in most of the above, but deny expertise in any one of these vast subjects. We want to cast our bread on the waters, in an attempt to make something worthwhile, that will actually benefit people, and (we hope) increase the safety of acute pain management. Well, that's more or less our manifesto!

Jo van Schalkwyk
Lara Hopley


The contents of these pages and documents are all Copyright © J.M. van Schalkwyk, 2005. They in no way represent the views of his employer. They were not endorsed or sponsored by any party other than his long-suffering wife!

Date of First Publication: 7/7/2005 Last Update: 3/8/2005 Web page author: Click here!