Hi Thilo,

What made you create a MVC/ORM framework (YUPP) similar to Grails instead of 
just using Grails (as you did in your open-EHR-Gen framework). What are the 
benefits besides that you don't need a servlet container to run it?


I started to work with PHP about 9 years ago. In 2004 I developed a small CMS 
(SWP-CMS) . In order to make a better CMS I thought a small framework could 
help. So I started the Yupp project. In 2007 I started to work with Grails, and 
I borrowed some ideas from there, some ideas from Seam (another Java MVC 
framework), and some PHP framewokrs like Cake, Zend, etc. The idea was to 
create something with the best of the state of the art in MVC frameworks.


Do you have a link to such a CDA template (enhanced with some openEHR ideas) 
somewhere?

Now I just have some proof of concept templates. I send you one attached. The 
idea is to complete the template definition and to build the XSD to validate 
the template structure.


How do o-EHR-Gen and miniclin compare regarding their uses? When do you use one 
when the other? Is miniclin - as its name suggests - aimed at smaller, more at 
hoc clinical form based applications?
 

The idea behind miniClin is to create a minimal EHR with CDA support. This 
system could run in any system with Apache and PHP (MySQL is optional because 
you can persist directly to CDA XML files. The objective of the EHR-Gen is a 
framework to build a complete EHR system based on openEHR archetypes.


Yes, the DB schema is autogenerated from the domain model classes, so the 
schema is very generic and doesn't change if you add new archetypes or 
templates to your app. This generic approach obviously has a side effect on 
performace, but is also a boost on development time.

How long do load and save operations take? 

To generate an empty form from archetypes it takes 2-3 seconds.
To generate an edit form (equal to the empty form but with data loaded from the 
DB) it takes 5-10 secs.
To bind data from input and save the RM structures on the DB it takes 7-15 secs.

Obviously, these times depend on the complexity of the archetypes.



Our big goal is to build a tools chain, so anyone can define some archetypes, 
add them in a template, deploy the archetypes and templates into the Open 
EHR-Gen Framework, and you will have a complete application for clinical 
recording. Over this application, anyone can build their own plugins, so you 
can add integration with other systems, conversion to/from other information 
models, etc.


Sounds fantastic. An exactly what the openEHR community needs to be able to 
easily demonstrate archetypes in action.

How much adaption would it involve get the open-EHR-gen framework running on my 
computer with another template?

You need to build your templates, and add them to the config file 
(http://code.google.com/p/open-ehr-gen-framework/source/browse/trunk/open-ehr-gen/grails-app/conf/Config.groovy).
 There you'll see a mapping like this:

templates {
    hce {
        trauma {
            INGRESO = ['triage']
            ADMISION = ['prehospitalario', 'contexto_del_evento']
            ANAMNESIS = ['resumen_clinico']
            EVALUACION_PRIMARIA = [
                                   'via_aerea',
                                   'columna_vertebral',
                                   'ventilacion',
                                   'estado_circulatorio',
                                   'disfuncion_neurologica'
                                  ]
            PARACLINICA = ['pedido_imagenes', 'pedido_laboratorio']
            EVALUACION_SECUNDARIA = ['exposicion_corporal_total']
            DIAGNOSTICO = ['diagnosticos']
            COMUNES = ['movimiento_paciente']
        }
        emergencia {
            ACCIONES = ['adm_sust']
            DIAGNOSTICO = ['diagnosticos']
        }
        ambulatorio {
            
        }
        quirurgica {
            
        }
    }
}
This mapping has all the clinical processes in your EHR, here you can see the 
trauma process, with all it's stages and all the records in each stage. Each 
record is a template (you can see the template names here; 
http://code.google.com/p/open-ehr-gen-framework/source/browse/#svn/trunk/open-ehr-gen/templates/hce/trauma)

So in trauma.EVALUACION_PRIMARIA stage (primary evaluation), you have the air 
way, breathing, circulation and disability records (the ABCD). Here 
(https://docs.google.com/leaf?id=0B27lX-sxkymfNGQ5MmU5ZjctMGU3ZC00ODdjLWE0ZWMtNDQ4MmQxMGYzYzRl&sort=name&layout=list&pid=0B27lX-sxkymfYzI5YzBjMWEtZGI5My00NGNiLThmNmQtOGNhZmE0ZWEwNDll&cindex=1)
 you can find the generated GUI for the EVALUACION_PRIMARIA-via_aerea template 
(this is primary evaluation-airway). You can see some tabs in the top that let 
you go to the other records in this primary evaluation stage.

If you change something on the config template mapping, the app will instantly 
show the changes without restarting the app, because all (gui, bind, save, etc) 
is generated on the fly. May be you'll have to clean the ArchetypeManager and 
TemplateManager caches.



I hope this can help you.
If you have any questions, please contact me.

Cheers,
Pablo.



                                          
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101129/9e7840f3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: resumen_clinico2.xml
Type: text/xml
Size: 4200 bytes
Desc: not available
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101129/9e7840f3/attachment.xml>

Reply via email to