Use Archetypes and ADL file in Java

Hi everybody I'm Alessandro OpenEhr is I'm working on for my thesis.For the
moment I'm using java in the ADLParser file for the openEHR EHRS-.
blood_pressure.-OBSERVATION v1.0 adl. I wanted to know, via java objects,
how to handle this archetype in java and assign values, such as the systolic
pressure. More generally, how can I access the OpenEhr archetypes in java?
I attach the file that I have produced so far.

Thank you for your attention, good job.

Alessandro http://old.nabble.com/file/p31266646/Test_Archetype.java
Test_Archetype.java

Alessandro Fass wrote:

Hi Alessandro,

ADL defines the structure of your clinical data, In practice, ADL defines an instance of the archetype object model (AOM), that instance is the one you can handle from java. But the clinical data values must be set on the reference information model (RM). So, you must have: an implementation of the AOM, an ADLParser that parses ADL to an instance of AOM, and an implementation of the RM, and processing the AOM you can create an empty instance of the RM (empty because you have no clinical data yet).

Here you can find a project (my degree thesis) that implements openEHR, and can generate any clinical record (is Java based): http://code.google.com/p/open-ehr-gen-framework/downloads/list

Pablo Pazos Gutierrez wrote:

Hi Alessandro,

ADL defines the structure of your clinical data, In practice, ADL defines
an instance of the archetype object model (AOM), that instance is the one
you can handle from java. But the clinical data values must be set on the
reference information model (RM). So, you must have: an implementation of
the AOM, an ADLParser that parses ADL to an instance of AOM, and an
implementation of the RM, and processing the AOM you can create an empty
instance of the RM (empty because you have no clinical data yet).

Here you can find a project (my degree thesis) that implements openEHR,
and can generate any clinical record (is Java based):
http://code.google.com/p/open-ehr-gen-framework/downloads/list

--
Kind regards,
Ing. Pablo Pazos Gutiérrez
LinkedIn: http://uy.linkedin.com/in/pablopazosgutierrez
Blog: http://informatica-medica.blogspot.com/
Twitter: http://twitter.com/ppazos

Date: Tue, 29 Mar 2011 06:24:25 -0700
From: padiglionestation@gmail.com
To: openehr-technical@openehr.org
Subject: Use Archetypes and ADL file in Java

Hi everybody I'm Alessandro OpenEhr is I'm working on for my thesis.For
the
moment I'm using java in the ADLParser file for the openEHR EHRS-.
blood_pressure.-OBSERVATION v1.0 adl. I wanted to know, via java objects,
how to handle this archetype in java and assign values, such as the
systolic
pressure. More generally, how can I access the OpenEhr archetypes in
java?
I attach the file that I have produced so far.

Thank you for your attention, good job.

Alessandro http://old.nabble.com/file/p31266646/Test_Archetype.java
Test_Archetype.java
--
View this message in context:
http://old.nabble.com/Use-Archetypes-and-ADL-file-in-Java-tp31266646p31266646.html
Sent from the openehr-technical mailing list archive at Nabble.com.

_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
                 
_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

Thanks for your reply and for the documents that I have passed.From what I
understood ADL class represents an instance of AOM right?If you would like
to know how I can map the archetype on an RM? Let me explain better: how ADL
I openEHR-EHR-OBSERVATION. blood_pressure. v1. I like adl access its
properties via the RM Observation? You can find some examples in this
regard? I apologize but I am beginning with OpenEhr.

Hi Alessandro!

What is it that you want to do in the thesis? If you tell us a bit
more about the goal it might be easier to give you some hints along
the way.

Is it a master thesis or some other kind of thesis? What is the time-span?

Good luck with getting into openEHR!

Best regards,
Erik Sundvall
erik.sundvall@liu.se http://www.imt.liu.se/~erisu/ Tel: +46-13-286733

P.s. On my research page under "Teaching"
http://www.imt.liu.se/~erisu/#teaching you'll find links to some
master thesis projects that might have some useful introductory
chapters etc.

Erik Sundvall-2 wrote:

Hi Alessandro!

What is it that you want to do in the thesis? If you tell us a bit
more about the goal it might be easier to give you some hints along
the way.

Is it a master thesis or some other kind of thesis? What is the time-span?

Good luck with getting into openEHR!

Best regards,
Erik Sundvall
erik.sundvall@liu.se http://www.imt.liu.se/~erisu/ Tel: +46-13-286733

P.s. On my research page under "Teaching"
http://www.imt.liu.se/~erisu/#teaching you'll find links to some
master thesis projects that might have some useful introductory
chapters etc.

Pablo Pazos Gutierrez wrote:

Hi Alessandro,

ADL defines the structure of your clinical data, In practice, ADL
defines
an instance of the archetype object model (AOM), that instance is the
one
you can handle from java. But the clinical data values must be set on
the
reference information model (RM). So, you must have: an implementation
of
the AOM, an ADLParser that parses ADL to an instance of AOM, and an
implementation of the RM, and processing the AOM you can create an empty
instance of the RM (empty because you have no clinical data yet).

Here you can find a project (my degree thesis) that implements openEHR,
and can generate any clinical record (is Java based):
http://code.google.com/p/open-ehr-gen-framework/downloads/list

--
Kind regards,
Ing. Pablo Pazos Gutiérrez
LinkedIn: http://uy.linkedin.com/in/pablopazosgutierrez
Blog: http://informatica-medica.blogspot.com/
Twitter: http://twitter.com/ppazos

Date: Tue, 29 Mar 2011 06:24:25 -0700
From: padiglionestation@gmail.com
To: openehr-technical@openehr.org
Subject: Use Archetypes and ADL file in Java

Hi everybody I'm Alessandro OpenEhr is I'm working on for my thesis.For
the
moment I'm using java in the ADLParser file for the openEHR EHRS-.
blood_pressure.-OBSERVATION v1.0 adl. I wanted to know, via java
objects,
how to handle this archetype in java and assign values, such as the
systolic
pressure. More generally, how can I access the OpenEhr archetypes in
java?
I attach the file that I have produced so far.

Thank you for your attention, good job.

Alessandro http://old.nabble.com/file/p31266646/Test_Archetype.java
Test_Archetype.java
--
View this message in context:
http://old.nabble.com/Use-Archetypes-and-ADL-file-in-Java-tp31266646p31266646.html
Sent from the openehr-technical mailing list archive at Nabble.com.

_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

Thanks for your reply and for the documents that I have passed.From what
I
understood ADL class represents an instance of AOM right?If you would
like
to know how I can map the archetype on an RM? Let me explain better: how
ADL
I openEHR-EHR-OBSERVATION. blood_pressure. v1. I like adl access its
properties via the RM Observation? You can find some examples in this
regard? I apologize but I am beginning with OpenEhr.

--
View this message in context:
http://old.nabble.com/Use-Archetypes-and-ADL-file-in-Java-tp31266646p31275301.html
Sent from the openehr-technical mailing list archive at Nabble.com.

_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

_______________________________________________
openEHR-technical mailing list
openEHR-technical@openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

Hi Erik. the objective of my thesis is to represent, through OpenEhr, values
of analysis (eg.CGE, Ekg, Eeg, etc.) a patient, store in a db (MySql).Once
stored in the db values analysis are taken and compared with standard values
to determine if the patient is in imminent danger of life or not.This is
represented by a code and stored in the db with the analysis of the patient.
Thank you for your interest.

Hi Alessandro,
Let me say this in advance; none of what is written below is there to
discourage you, or to express any negative remarks about your
intention.
I think the best thing I can do is to give you a picture of where you
are now, and others may help in other ways.

You have a thesis to complete, which is what I would see as
implementing an openEHR based information system, then performing some
analysis to infer about a particular state (in danger or not)

Based on your questions, I think you need to understand openEHR better
first, before attempting to implement an actual system. If you think
that you can just download some sort of installation package and start
using it to enter/store/read data right away, this is not as easy as
you think it would be. We'll get to this.

First, you need to read openEHR documentation, to understand what
openEHR is all about. You need to understand the roles of the
following: ADL, Archetypes, Reference Model, Templates (probably not
as important as the others for you) and the relationship between them.
If you try to move forward without having at least an intermediate
understanding of these, you'll certainly have issues and you will lose
time. The documentation of openEHR is really good, and it is available
as pdf files. It is however a dense set of documents, so don't expect
to go over them in two days and figure it all out.

After you fell you have an understanding of how this all works, you
can start hunting for existing work. There are various attempts to
deliver software that may help you out in doing what you're doing, but
you'll have to work on them to see if they are actually going to help
you. Tim Cook, Pablo, and I have provided software in open source
form, but you need to work on these options. I for one can say that my
work is still immature, and will take time to become a one shop
solution to all things you'd like to do with openEHR.

In short, try to establish a solid understanding of openEHR first,
then move the implementation matters, or you'll lose valuable time.
As you progress, you can ask your questions here, and I'm sure you'll
get help from the community.

Good luck!

Seref

Hi Alessandro,

Think of ADL as a format for plain text files, an ADL file represent an instance of the AOM classes (that’s why you have to parse ADL into AOM).

For working with the RM, take the blood pressure observation archetype as an example. In our RM implementation (http://code.google.com/p/open-ehr-gen-framework/) you have an Observation class (http://code.google.com/p/open-ehr-gen-framework/source/browse/trunk/open-ehr-gen/grails-app/domain/hce/core/composition/content/entry/Observation.groovy) you have a “data” attribute of type History (http://code.google.com/p/open-ehr-gen-framework/source/browse/trunk/open-ehr-gen/grails-app/domain/hce/core/datastructure/history/History.groovy), History can have many Event (http://code.google.com/p/open-ehr-gen-framework/source/browse/trunk/open-ehr-gen/grails-app/domain/hce/core/datastructure/history/Event.groovy), and each Event. Event have a “data” attribute of type ItemStructure. ItemStructure is an abstract class, so only with the RM implementation, you don’t know what is the structure and how to set this information, that information is in the instance of the blood pressure archetype, you can find it here: http://www.openehr.org/knowledge/
In this archetype, you’ll see that the Event.data is defined as ItemTree, not as ItemStructure, and ItemTree is a concrete class of ItemStructure.

The point here is: you have to process the AOM instance to know what is the concrete RM structure that represent your clinical concept, like “blood pressure”. Then, you create your RM instance and set data values the same way you create an instance of any object oriented model.

Hope that helps.

It may also help to understand ADL as an ‘abstract syntax’ in the same way that OWL-abstract is. There is an XML form of OWL (RDF), and the same goes for ADL - we don’t have a proper name for it, but it is essentially an XML serialisation of the Archetype Object Model (AOM). Abstract syntaxes are created by designers because they express some kind of formal statements comprehensible to a human being, and can also be made computable by writing a parser for them. All higher level programming languages (i.e. anything except assembler or machine language) are abstract syntaxes.

Section 2 of http://www.openehr.org/svn/specification/TRUNK/publishing/architecture/am/aom1.5.pdf (the current AOM 1.5 draft) will probably help you understand a bit more.

  • thomas