In short: Let’s start experimenting with adding vendor neutral hints (e.g. in templates) that can help both automated user interface generators and “manual” form editors create forms with more logic. Details follow.
Current use-case background
There is a current need in multi-vendor projects (at least in Sweden) where we would like at least some GUI/form logic to be possible to author once nationally and then be reused in several different vendor solutions (Cambio, TietoEVRY/Better, SECTRA structured reporting forms. And perhaps e.g. Medblocks & NeoEHR later?)
openEHR historical discussion background
Previous mail list discussions (from 2008) regarding GUI-hints in openEHR templates. Some highlights:
- Start: GUI-hints in openEHR templates? (Was: PatientOS archetype to form demo (of sorts))
- Discussion examples:
- Summary: GUI-hints in openEHR templates? (Was: PatientOS archetype to form demo (of sorts))
Initial suggestion
- Let’s start some experiments with (shared vendor neutral) template annotations and/or “ADL(2?) rules” reusing part of the design patterns of “EnableWhen” in FHIR Questionnaires that could (optionally) be used by form building tools as input for creating (possibly vendor specific) conditional logic in forms (like what is now available in e.g. Better’s, DIPS’s and Cambio’s tools)
- Maybe later look at
- “Presentation mode visibility” hints - see option in Better’s EHR studio
- “Hide on form” hints - e.g. useful for marking intermediate level branch levels that are mostly needed for logic storage structure but not contributing to end-users’ understanding at a GUI-level in the template-specific use case.
- “LOD” - level of detail hints - for subtrees/parts that can be initially collapsed/hidden when screen space (or attention span) is limited. (Like the “More…”-buttons in Clinergy/PEN&PAD)
- SelectWhen hints - Select an item in a multiple choice list when a condition based on data in other parts of the form is met.
- Copy data between fields (and possibly discuss the Pandora’s box of “simple” calculations & aggregations based on data from multiple source fields)
When this was discussed in a SEC meeting and following discussioins after the meeting @pieterbos and others suggested lookin at the “rules”-mechanism in ADL (Rules are definitely useful within an archetype - with ADL2 possibly also in templates across data from different archetypes). Nedap are using such rules and the implementation is open source in Archie. It outputs things such as ‘set the value at this path to this’, and ‘this part of the data must exist (is mandatory)’.
@pieterbos also said that Nedap has an implementation running at archetype-editor.nedap.healthcare. (where you can sign up and login, create a repository). Using the basic editor you can only define sums and averages. If you click ‘advanced editor’ at the bottom, you can see and edit the rules to achieve quite a lot more, and there’s a form implementation that executes them as well. Note that this form only does compositions, observations and evaluations. It also outputs a copy of the object provided as input, modified by the rule evaluation, plus whatever assertions failed and succeeded, of course. For editing the rules by hand, he recommended the visual studio code extension, but it cannot execute them on data
Note: User interface hints may not be of interest to all (and thus not expected to be supported by all) but very useful for some, please consider that when responding and let’s explore options.