As I think about how technology can be used to improve our daily practice of healthcare it becomes clear that several things will have to happen.
There will need to be national (if not international) agreement on a standard format for ElectronicMedicalRecords. This format will have to be freely available to all to use, and should be built with input from as many people as possible.
This open standard can then be used to build a variety of free AND commercial tools that can all communicate, allowing data to be shared between different practitioners and institutions, while at the same time ensuring security of patient data.
In my mind, it seems that XML offers a great solution towards standardizing this format and allowing different institutions to work together. I am trying to work on such a framework, not out of some delusion that it will be adopted the world over, but because I am interested in how XML works, and this is a project that can help me learn.
We’ll see where it goes, but for the time being my work will be available on this site. I welcome input from people in a variety of ways:
- You can make changes to the actual code documents (please be sure your changes are valid!)
- You can suggest changes or raise discussion on the comment pages
Obviously, this project is in its infancy, and will likely take me a while to “finish” it, or to burn out…
The basic idea, however, is to create a structure of XML Schemas that can be used for electronic medical records.
Ideally, I believe it makes sense to have a separate file for each type of data. This is sort of analagous to the various tables that would exist in a standard relational database. In fact, I imagine that such a system might use a relational database as a backend for data storage. By definining things in this manner, I believe it would make conversions to and from such a database more straightforward.
Keep in mind that much of this may change based on trial and error, and input received on this site.
The general framework:
- medicalrecord.xsd - the “root” file that brings in other files as needed
- address.xsd - defines means of contacting people or facilities, in a manner that can be adapted for use in various countries
- person.xsd - defines people, and associated information (address, phone, email, etc)
- patient.xsd - extension of person.xsd that includes info specific to patients
- practitioner.xsd- extension of person.xsd that includes info specific to practitioners
- encounter.xsd - description of a specific encounter, be it inpatient, outpatient, or other
2004–12–11 - I have a working address framework that handles mailing address, phone, and email. Currently, I have support for US addresses and phone numbers. The goal is to make the design extensible such that it can include formatting for any country. The next step will be to add these address contexts to a “person” object
2005–04–18 - With the imminent release of Tiger and CoreData, I might pursue that rather than the xml approach at the moment. This should make it quite simple to create a rich GUI as well as a simple to use, robust data model. Then I could create an XSLT or something to convert from Apple’s XML formatting to something more appropriate (not sure exactly what their XML file format will look like.) Well know on the 29th!