Electronic Medical Record Interchange (EMRi)
Home About Links Model Project Page

What is EMRi?
There are currently a large variety of EMR (Electronic Medical Record) handling packages, both open-source and proprietary, that are currently available. There is no standard way for these systems to communicate, so Electronic Medical Records are stranded on one system. Some limited function utilities exist to do these conversions, but they work on a very limited number of systems. EMRi is meant to bridge that gap by allowing any system to communicate with any other system, and eventually to allow Electronic Medical Records to be securely transferrable digitally, as well as transporting lab reports and other such information from one place to another while maintaining the integrity and security of the medical record.

What technologies is EMRi based on?
EMRi is based on XML-RPC. It has client and server implementations in almost every widely-used language (C/C++, Perl, PHP, Python, Java, etc), and is a well-documented remote procedural call specification. It uses standard HTTP or secure HTTP (HTTPS) to transmit its data, so it is as secure as the transport it uses.

But isn't there project XYZ that does ABC already?
Well, no. Not really. There are a few efforts out there to develop distributed medical records, but none of them have any kind of concurrent versioning scheme, and none of them seem to be friendly to non-CORBA languages. Also, none of them are in wide use, as far as we know.

But I like CORBA/COM/whatever! How can I use this?
There are CORBA/COM/etc bridges that are available to make communication between a CORBA provider and an XML-RPC provider possible. Just check freshmeat.

What pieces of software can I download/buy that use EMRi?
None. Well, at least not yet. EMRi is a set of XML-RPC calls, a topology map, and a few fields in some programs' databases. Some applications may be gearing up to support EMRi when it comes online, but none support it 100% right now, as the infrastructure it relies upon is not fully in place yet.

How do I make my medical application work with EMRi?
In a few steps:

  1. Familiarize yourself with the XML-RPC mechanism that your language-of-choice uses.
  2. Add a few fields to your EMR record. Add a field for the versioning number (should be pretty big), a field for the universal patient ID number (something that has to be agreed upon), an origin host field (for the FQDN of the machine that "owns" the record), and a large field for all of the differences between your EMR and everyone elses'.
  3. Send our project coordinator an email. Let him know you're interested in using EMRi. He'll help you with the rest.

Where is the API?
In progress. There actually *is* an API, but releasing it before it is complete enough to run the system will cause enormous problems, as version incompatibilities are sure to result. Be patient, it's coming, and it's coming sooner than you think.

Sorry about the lack of information. This page is still under construction.

© 2001 under the GNU Lesser Public License (LGPL) Pages by Jeff