Continuous Integration and Testing (DevOps) for Archetype Development

Hi all,
Working on standardising the archetype development process for Wales and wondered if anyone had developed standardised testing or continuous integration processes for archetype and template development. Specifically, the cascading effect of updating archetypes that have already made it into production?


I think DIPS has a tool for checking their templates against last version of published archetypes at the international CKM. Correct, @bna?

Yes. We developed a function to evaluate archetypes in an operational template. By using the web service provided by the CKMs we investigate if the paths are ok regarding node identifiers, data types, etc.

We developed this +5 yrs ago. Its not used widely.

Is it available or only on your platform @bna?

Have a look at the work that @vanessap did for her MSc, which compares AD repos with int CKM via the relevant APIs. Both Ocean CKM and Archetype Designer have extensive APIs. I don’t think there is an available tool that does what you want John, but we certainly have quite a lot of the plumbing needed to get there. I’m adapting the wtdoc tool that @bna created to fold in Vanessa’s idea so that a template report will generate a list of local vs. remote archetypes GitHub - freshehr/wt2docx: Asciidoc generator for Archetype Designer web templates

We also need to expose more archetype metadata in .opts esp. the semantic versions and their ‘original namespace’.

1 Like

Thanks all.

We may well be embarking on a largish project and I have written a standard operating procedure. Even if we do not have a solution now, I’d be keen to explore a way forward with a standardised process etc.

1 Like

Hi @johnmeredith we will add some archetype/template quality checks and dependency checks to the openEHR Toolkit this year. We are now working in the next release that focus on mode data generators, after that we will dedicate some time to the archetype/template dependencies.

1 Like

Its a very simple function embedded in our IDE.

Its more or less like this:

Given a repo with templates,
Find all archetype roots with their paths
Then look up the archetypes in some CKMs
Identify unique nodes and their slots.
Finally compare the result from the template with the facit defined in the archetype.

I assume any developer with som openEHR SDK at hand can work out such a function in a reasonable time frame :crossed_fingers::wink:

1 Like