Hi Randolph,
OK, what you say is reassuring. One of the things I had admired about OpenEHR was what I thought you were violating with ORM, which, in many contexts does exactly what I described, but evidently not in yours.
That depends on each implementation, we decided to implement the RM as close as possible to the specs. The ORM tool does the heavy work managing all the SQL stuff (we don’t write SQL we do object-oriented queries using a criteria API http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html).
The schema is generated when you start the server, so all the process is automatic, and no need to generated or regenerate classes.
I don’t quite understand why a schema would be generated when the server starts if the schema does not change relative to domain-specific content. But this is a minor point, something I don’t need to understand.
That’s the way the framework works (http://grails.org/). But I must specify that the schema is generated when the server starts when you are in “DEVELOPMENT” mode. In “PRODUCTION” mode, this schema generation is done the first time you deploy the application on an application server. But this is just how the tool we choose work…
Also, your “classes” are themselves apparently quite abstract, allowing all kinds of content to be housed in them, thus reducing the number of classes to some maneagable number.
Nope, we have RM classes and framework classes that handle all the logic. There is one class implemented in EHRGen by each class on the openEHR RM specs (or at least it should). So, no abstract classes here (“abstract” in OO has other meaning), only classes straight from the specs, this is a considerable quantity but it’s a fixed number (not growing). You can see the classes in our SVN repo.
We had around 80+ classes implemented from the openEHR RM specs. Now we don’t support classes like EHR, EHR_STATUS, LINK and some others, but we plan to do it. Those are no needed for a small EMR system.
Am I correct that GUI generation, the one thing you say you do generate, is simply a matter of generating html?
Yep, just html with forms for data entry, and labels for data display.
If you are interested in the project, you could download and try it and you’ll see the things I told you here (an image is better than a thousand words :D)
Kind regards,
Pablo.
Thanks very much!
Randy Neall