Using Archie with non-builtin reference model


I’m trying to use the Archie tools with an in-house BMM reference model, that is not builtin. The examples seem to use the builtin reference models.

Any direction would be appreciated.

Do I need to generate Java classes for the Reference Model classes? If so, any advice on that would be helpful as well?


Hi Joey, welcome!
Am I correct you are trying to use Archie with a reference model that’s expressed as BMM but is not the openehr reference model? That’s quite exotic!
I’m not sure Archie supports that. But I’m somewhat sure it’s not been tested. @pieterbos
Would you be willing to elaborate on why you build an in house reference model?
Where you missing features from the openehr rm? Or are you in a different industry?

Archie should fully support your use case. What you need to do depends on what you need. If you want to model archetypes, or validate them, just adding the BMM and an archetype profile is enough. This class can be used as an example on how to do that: archie/referencemodels/src/main/java/org/openehr/referencemodels/ at master · openEHR/archie · GitHub

Then use your implementation in place of this, with the same examples.

If you want to actually represent data in the RM and want the tools Archie provides for that to work as well, that is more work - also more work for me to explain. You will need to implement the java classes plus something to return the metadata - a reflection based base class is provided in Archie for that last bit, but it will likely require some tinkering with a different RM to get that working 100%>

And then some things, such as the example generator, have custom code for the openEHR RM because it is rather hard to do in a generic way for all possible RMs. Those will need to be adapted if you want that.

Thanks Joost and Pieter,

Yes, I am in healthcare informatics. I also understand that it is not the norm to create a new reference model. I will direct message you the reasons. [Edit: I can’t figure out how to direct message on this forum?]

We have a working BMM and an AOM profile, that works in the ADL Workbench.

For now I just want to be able to programmatically validate our Archetypes against the BMM, so I’ll work on following the code in BuiltinReferenceModels for now. But yes, eventually we will need to validate data instances against the Archetypes/BMM.


1 Like

Hi Joost,

I did reply to your private message, but there was a remove button on an extra blank message after your first message with the text content, which I clicked. Not sure if that removed you from the private thread?