How to start an application with openEHR

Hi,

i'm Juan from Colombia and i want to start to develop a web application
using openEHR in the core arch of the app.
i'm new on openEHR and i've downloaded the java implementation of the model
, but i've not founded an example or a kind of a tutorial to learn how to
start my app.

The goal of my app is insert, search and retrieve medical data.

Regards,

Juan

Hi Juan

No one has answered so I will.
The gap between your web application and the openEHR resources available on the web are still considerable.

You have a few choices if you want to get there as quickly as possible:

  1. Join the Ruby or Python implementation efforts
  2. Join the Java effort which will be more sophisticated but probably take longer to get an application up
  3. Talk to people with products that you can use to do what you want.
    Cheers, Sam

snapper1 wrote:

(attachments)

OceanInformaticsl.JPG

Hi Sam and all,

I would like to add some newbie questions and also give some feedback on the
openEHR website and information I found so far - really as an absolute
newbie.
My background: I'm a software engineer living and working in China now for
almost 3 years, using a lot of open source software and components; I don't
have a medical background.

A while ago I was searching the web for open source EHR systems, which have
a solid basis, not hacked, a good (preferably 'scientific') backing and
supportive community. Beside OpenEHR I also came across two other systems
(openMRS, Tolven), of which I also looked at openMRS closer.

I read about the architecture, checked out both openMRS and openEHR projects
from SVN, and I built both projects (java implementation) successfully. Also
installed at the Ocean archetype tools.

Now for an absolute newbie I'd like to say: after reading (some of) the
openEHR documents, it got clear to me what openEHR is about and how it can
be used. But before I read them, just trying to gather the most important
information from the website (by evaluating a suitable system), it didn't
get clear to me at a first glance that openEHR is actually not a ready-to-go
EHR system, but more a specification. Of course after a while I got to know
it, but I was still wondering and in search of some kind of reference
implementation for a whole system.
Let's say, like after I've built the openMRS project, I could login to
something, see and feel a real application. I was in search of something
similar among the openEHR subprojects. Just a small sample application, not
expecting a fully featured EHR system.

Now -- I understand the purpose of openEHR specification, and I know that
it's 'just' a specification and it shouldn't be fixed to any concrete
implementation, but I am wondering, since I assume that somebody in the
community is actually using openEHR in real-life-applications, it seems
there's no such thing like the famous 'pet store' reference implementation
that Sun is using to demonstrate their JEE specification. For example I am
wondering about best-practice persistence management for
templates/archetypes.
Of course, EHR systems and their requirements differ and developers favour
different technologies, some use rich clients, some use web clients (maybe
some systems don't even have a client and just serve as middleware), some
use a SOA approach, some use relational db, some use pure XML dbs, some
hibernate/ejb, and so on and so on....

To sum it up, I am wondering (or it seems to me) that there is hardly any
discussion about real system implementation regarding such things like
persistence in the mailing list, or somebody who has actually built a real
app, that could be used by newbies to start from. For example, I think most
(client-based) EHR systems will have core features like user management,
basic demographics management. It would be helpful to learn how such things
like demographics are actually implemented in a real system (just as an
example, of course the ways to implement are endless). Or how a GUI is built
(how it can be generated from templates/archetypes?). A lot of questions I
assume lot of people in the community already dealt with in their real-life
implementations).

I learned that Greg Caulton has implemented some openEHR support into his
patientOS solution. I am wondering, are there any other open source 'real
app' projects, that are built upon the openEHR specification from ground up,
or is there such 'Sun's pet-store' sub project planned? Will the java
implementation project extend any further, or will have a subproject?

You see, as a newbie I have some best-practice questions, but I didn't want
to bother the mailing list with it. I can imagine, lot of newbies - also
like Juan - have similar questions. So I just wanted to add my feedback to
this thread as well, maybe it's helpful.

Mathias

Hi Mathias, there are a few things missing, you have to write them
yourself, or find someone who shares his work.

To keep it short for now, you need a persistence-layer, in which you can
store the RM-objects. There are many ways to build this, hibernate, XML,
object-database....

You also need a service/API-layer, from which an application can connect
to your kernel. Like the persistence-layer, you must design and write
this yourself.

In short, that is about it, and then you have your OpenEhr application. :wink:

This is exactly the issue that the Python implementation intends to
address. http://www.openehr.org/wiki/display/dev/Python+developer's
+page

The openEHR information model comes wrapped by a robust open source
application server. There is still work to be done but MUCH is already
done.

If you have an interest in using openEHR in a Python environment joins
us http://lists.chime.ucl.ac.uk/mailman/listinfo/ref_impl_python to see
where you can help. We need poeple at all levels of open source project
development.

Cheers,
Tim

Hi Bert, hi Tim,

thanks for the quick reply.

Bert Verhees wrote:

You also need a service/API-layer, from which an application can connect
to your kernel. Like the persistence-layer, you must design and write
this yourself.
In short, that is about it, and then you have your OpenEhr application.
:wink:

Yes, you're right, that's basically what makes a real app, but since
everybody probably seems to write it himself, I was just wondering if
somebody has actually published some of the codes/approaches or some people
have joint developments. Of course, in some cases this kind of work is how
IT consultants and sw engineers make a living and/or due to legal/contract
reasons, developments cannot be published. But I want to make sure that I
don't start from scratch if there's already something out there I am
missing, that already builts on top of openEHR.
Thanks for the offer regarding questioning. I will let you know if specific
questions come up. I am actually still studying the docs in more detail at
the moment. It might keep me busy for a while.

@Tim: I will probably go with the java implementation, since it's my
language for quite some years now.

Mathias

Hi Mathias and all,

I’ve read the docs of the site, including the reference information models and i found the openEHR specifications like a start point, in this moment i’ve finished my pregraduate project and i’ve started based on this project (only specifications and models) a new app to manage EHRs but based on a medical desktop approach. In that project i want to include HL7 messages and CDA documents to interoperate between the internal apps, and to outside apps use IHE profiles (PIX, PDQ and XDS) for demographics and medicals records exchange.

Hi Mathias

I think it is important to consider what needs to be the same and where diversity is important. We have concentrated on efficiency and interoperability, which for us means standardised content specification (archetypes) and ease of integrating differing formats in use such as HL7. As the specification grows it is easy to see how the good bits of IHE can be added.

As a company building solutions in this space we do not provide the clinical application, or the demographics. We provide a standard EHR service (not an EHR system) and link to the other components. This may save as much as 70% of the coding and integration of messages etc can all be done through a standard adaptor component (so those using our back end don’t need to write the integration code). Further, we should be able to share the templates used for integration.

This might seem rather basic for people like you who want to build an entire system, but it is really aimed at getting a non-proprietary platform in place that can provide what is needed for cost-effective and connected computing in health care. Collaborative configuration, integration and shared decision support are all possible as a result - but applications can vary a great deal.

Cheers, Sam

Mathias Lin wrote:

(attachments)

OceanInformaticsl.JPG