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
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:
- Familiarize yourself with the XML-RPC mechanism that your
- 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
- 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.