Hi Randolph,

The problem with ORM systems would ultimately be a rather bloated schema and 
hard-wired classes to accommodate that schema.
Yes and no, it depends on your configuration. One configuration could end up 
using only on talbe with many columns, other configurations could break up this 
table to normalize the schema.
I don't understand the "hard-wired classes to accommodate that schema", the 
openEHR RM is an Object Oriented model, a programmer should implement the model 
on the ORM tool and the schema should be generated from those classes, in fact 
is the schema what accommodates to the classes. So, for new versions of the RM, 
a new schema could be generated, an mappings between those schemas could be 
generated to (for data migration, if needed).
Yes, ORM lets you automate the creation of DB data structures and classes, but, 
once created, they become part of the schema and your DLLs, which is fine until 
you have many hundreds of them (tables and classes defined in autogenerated 
code, etc.). 


Yes, you'll end up with a schema, a fixed one, that depends on the RM version 
you use, if the RM version change, the schema should change too, but the RM 
version you'll use will be very stable, nd I'm sure that only one version of 
the RM will be in use at a time.
ORM generates the schema for the classes (source code), not the classes for the 
schema, so we don't have "autogenerated code". This is my experience and the 
way I think this should be done, because the openEHR Reference Model is Object 
Oriented, so a programmer could easily program those classes and user an ORM 
tool to generate the database structure.
DLLs?

Kind regards,Pablo.

Randy Neall
Veriquant, L.L.C.


On Thu, Feb 16, 2012 at 5:26 PM, pablo pazos <pazospablo at hotmail.com> wrote:



Hi M?rcio, 


There is no standard persistence model, the persistence mechanism is not in the 
standard scope.


There are many ways of storing openEHR RM instances (archetyped data), the only 
thing to take into account is that the information to store will be highly 
hierarchical.


Said that, in EHRGen [1] we use a relational model with an Object-Relational 
Mapping [2] tool (GORM from Grails Framework[3]). The advantage of that is that 
you have a complete and validated RM instance persisted on the DB, and you can 
query for complete objects or single data ELEMENTS. I've written ORM tools 
myself [4] and the main problem is the amount of joins you need to load a 
complete structure, but in my experience you never load a complete structure 
for a real time interaction with the user, and you alway can cach? some data.



This approach is straight forward, because all you need are the classes of the 
RM, and you delegate DB stuff to the ORM tool.


Other models are viable too, like K/V [5] or EAV [6] approaches (mentioned by 
Bert). This approaches are fast for saving and loading data, the problem is 
that you need to have some complex logic above that for constructing a complete 
RM instance on memory, because K/V is a flat representation of a higly 
hierarchical tree structure.



Other models I didn't try yet are Object Oriented DBs and Document Oriented DBs 
(XML, JSON, ...) [6]. I think DODBs are a good option, fast for store highly 
hierarchical structures, but you need to write some ugly queries if you want 
your data back :D



Hope that helps.


[1] http://code.google.com/p/open-ehr-gen-framework/ 
[2] http://grails.org/
[3] http://en.wikipedia.org/wiki/Object-relational_mapping 
[4] http://code.google.com/p/yupp/
[5] http://en.wikipedia.org/wiki/NoSQL
[6] http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model 


-- 
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





From: [email protected]
Date: Thu, 16 Feb 2012 16:53:19 -0300
Subject: openEHR - Persistence of Data
To: openehr-technical at openehr.org 



Hello guys, 


i'm starting a research about the persistence model of Archetype data, that 
stores the information entered by the user of the system. 


I would like to know if there is a indication of the openEHR standard for what 
kind of model schema should be used in DataBase, and if there are researchs in 
this area.


Thanks in advance,


M?rcio Costa
B.Sc. in Computer Science @ Cin/UFPE

M.Sc. Candidate in Computer Science @ CIn/UFPE
MSN: mdckoury at gmail.com



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

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





_______________________________________________
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical                 
                          
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20120217/68f5d9e3/attachment.html>

Reply via email to