On Mon, 1 Mar 2004, J. Antas wrote:

> Thomas Beale wrote:
>
> > Others here and elsewhere of course have thought about the problem (for
> > many years) of making data models that really do work for all of the
> > domain,

Thomas and J.,
  The 2-level modeling approach promises certain benefits, but there are
still significant unsolved problems. For example:
  1) how best to divide the single model into 2 levels?
    1.5) What are the implications of different ways of dividing up the 2
       levels?
  2) how to extend/change the upper level (metamodel) without breaking
       existing lower level (metadata) objects (e.g. OIO forms, OpenEHR
       archetypes)?
    2.5) how to support interoperation between different 2-level systems?

> Rationally I do agree with you. I am sure that they are better models.

Two-level systems may make certain tasks easier (e.g.  supporting specific
types of system changes), but they also make many things more complex and
harder. These trade-offs merit systematic study and further discussion.

(Hopefully as work on OpenEHR, OIO, GnuMed, Care2x, TORCH, OSCAR, FreeMed,
etc progress, we will be able to contribute to this discussion.)

> But my problem in the first place was:
> How are they doing in real life, do they really work?

Exactly!

If a tool helps you and I build systems faster and more reliably in
real-life, that's what counts. The debate is not really about single or
2-level model, but how we can more easily support change/customization
and interoperations.

After working with the OIO project for the past 5 years, I would say
the following:

 1) Custom "one-model" programming is still needed.
 2) Two-level models are useful for modeling highly-repeated patterns.
 3) Deciding which patterns to model and how to model them is
    still an art. Note that there are increasing number of 2-level systems
    and they are all different.

> At which hospitals, clinics are they doing their work?
> People using them like to use it?
> Are those models generalizable?
> At which countries are they working?

I would further add

"How easy is it to integrate with foreign one-model systems?"

> > Andrew's OIO product has a similar goal; the HL7v3 RIM is another such model;
>
> These are two lines of thought that we are trying to "assimilate".
> OIO because it is beautifully simple way to code a very complex concept.

There is never free lunch; there are concepts that OIO cannot model
in its simplistic "2-level modeler":
  1) These are pretty much the same concepts that paper-based systems have
       have hard time modeling.
  2) Identifying these limitations may lead to ways to overcome them (but
       at a cost of adding complexity).
  3) Just like there can never be a perfect one-model system, maybe it is
       also true that there cannot be a single, perfect 2-level system? If
       so, we really should start planning to build interoperability
       between 2-level systems (e.g. between OpenEHR and OIO).

...
> So, you see, we must be pragmatic,
...
> Show us a reliable, working, hydrogen motor and we will use it and will
> give you all the credits for it too.

Hybrid system with 2 motors, gasoline + hydrogen? Care2x + OIO?

...
> I could tell you how are they doing in 16 more countries with Care2x.

This certainly shows the power of a well-designed one-model system.

OIO was first released in 2000 but it still not as widely used as Care2x.
As far as I know, OIO has been used only in Italy, Russia, Sri Lanka,
U.K., and U.S..

...
> So, you see, this is pragmatism at work, there is no "my baby" syndrome.
> It is plain earth-to-earth "if yours is better and if it comes with no
> strings attached (read if it it is FLOSS) we will use it".

The vision of 2-level systems (at least as I see it) is to provide the
metamodel level (e.g. archetypes, forms, workflows) and let other people
(e.g. one-model developers, domain experts) create the metadata level
(e.g.  actual forms-instances, clinical guidelines/protocols).

Thus, the end product(s) will always have to be "our babies". :-)

> That has been the most constant thing in the Care2x project and perhaps
> one of its greatest strengths: if someone comes along with a *working*
> better approach, we drop ours and just adapt to the new code.

Not at all, we really need to work together. I know OIO cannot succeed
without collaborators who are willing to create practical forms and
workflows. I am sure OpenEHR has the same needs.

> We may even find some mutants along the way, but the only way to know if
> they are "adaptative" or not is... to try them. And I assure you, we do
> try a lot.
...

Have you had chance to try OIO yet? Please let us know what you think of
it!

Best regards,

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org

Reply via email to