Appendix

Acknowledgements

Primary Author

  • Thomas Beale, Ars Semantica (UK); openEHR Foundation Management Board.

Contributors

This specification benefited from formal and informal input from the openEHR and wider health informatics community. The openEHR Foundation would like to recognise the following people for their contributions.

  • Danielle Santos Alves, RN, midwife, Federal University of Pernambuco (UFPE), Brazil

  • Borut Fabjan, Program Manager, Better, Slovenia

  • Matija Kejžar, Software Engineer, Better, Slovenia

  • Bostjan Lah, Senior Architect, Marand, Slovenia

  • Eugeny Leonov, Solit Clouds, Moscow, Russia

  • Vladimir V Makarov, Department of Information Technologies, City of Moscow

  • Ian McNicoll MD, FreshEHR, UK

  • Bjørn Næss, DIPS, Norway

  • Pablo Pazos Gutierrez, Senior engineer, CaboLabs, Uruguay

  • Pekka Pesola, Engineer, Tieto, Finland

  • Matija Polajnar, PhD, Software Engineer, Better, Slovenia

Support

The work reported in this specification has been funded by the following organisations:

  • City of Moscow

  • Better d.o.o., Slovenia (was Marand)

  • DIPS, Norway

  • Ars Semantica, UK

Intellectual Origins

Many of the design ideas presented in this specification came from analysis of use cases from industry sources. In particular, the openEHR implementers Marand and DIPS provided significant detailed requirements, use cases, and design ideas.

Additionally the Activity-Based Design (ABD) project at Intermountain Healthcare (2015-), on which the primary author worked part time proved an important source of cross-fertilisation. The latter project is led by David Edwards and Alan James (chief architect), within the clinical quality program, under Dr Brent James, Chief Quality Officer at Intermountain Healthcare. ABD has a sophisticated architecture based on a custom archetype / template framework, adaptive workflow concepts, application generation and real-time speech recognition. It has pioneered a number of concepts used in the current specification, including the separation of definition, materialised and runtime levels of representation.

Lastly, a review of research literature and standards was conducted. Many of the ideas in YAWL [1] and its underlying research influenced this specification. The authors also reviewed various standards, including the OMG’s BPMN and CMMN.

Trademarks

  • 'openEHR' is a trademark of the openEHR Foundation.

  • 'OMG' is a trademark of the Object Management Group. == Conformance

Conformance of a data or software artifact to an openEHR specification is determined by a formal test of that artifact against the relevant openEHR Implementation Technology Specification(s) (ITSs), such as an IDL interface or an XML-schema. Since ITSs are formal derivations from underlying models, ITS conformance indicates model conformance.

Amendment Record

Issue Details Raiser Completed

PROC Release 1.7.1

1.7.1

SPECPROC-56. Change the status and license of PROC component.

openEHR SEC

10 Nov 2025

PROC Release 1.7.0

1.7.0

SPECPROC-52. Retire Process component and all its specifications.

openEHR SEC

07 Aug 2024

PROC Release 1.6.0

1.6.0

SPECPROC-45. Add Process component Overview document. Remove most of Section 2 - Background and part of Section 4.1.

T Beale

21 Dec 2020

SPECPROC-44. Correct PLAN_TIME_ORIGIN enum order and add values. See [_plan_time_origin_enumeration].

M Kejžar

18 Sep 2020

SPECPROC-43. Add inheritance to separate CALLBACK_NOTIFICATION from other Plan Event types;
SPECPROC-33. Support progressive data set creation;
SPECPROC-39. Correct error in TASK_LIFECYCLE state enumeration: remove resumed state; also correct mentions of aborted state to abandoned; add enumeration Integer values; improve text.

M Polajnar,
M Kejžar,
T Beale

29 May 2020

PROC Release 1.5.0

1.5.0

SPECPROC-34. Clarify evaluate order and semantics of REPEAT_SPEC.

M Polajnar,
T Beale

05 May 2020

SPECPROC-22. Change method of 'manual notification' for callbacks; remove manually_notified: Boolean from CALLBACK_NOTIFICATION.

M Polajnar,
T Beale

16 Apr 2020

SPECPROC-12. Define lifecycle state for parallel Task Groups, including decision groups. Moved lifecycle state to 6.2.3; update 6.3.2; update Aggregate Lifecycle State section (7.3).

B Naess,
M Polajnar,
T Beale

19 Mar 2020

SPECPROC-32. Improve Introduction and Requirements Discussion.

D Santos Alves,
T Beale

26 Jan 2020

SPECPROC-30. Adjustments to Events model.
change TASK_WAIT.start_window: REMINDER[0..1] to PLAN_ITEM.reminders: REMINDER[*];
add invariant to TIMER_WAIT to prevent it having a timeout;
make REMINDER a generic EVENT_WAIT to allow it to be fired by any event, not just a timer event;
remove DELAY_EVENT; move its delay attribute to PLAN_EVENT,
SPECPROC-31. Simplifications to Conditional structures: remove BLOCKING_GROUP, BLOCKING_BRANCH.

M Polajnar,
T Beale

03 Jan 2020

1.4.2

SPECPUB-7: Convert citations to bibtex form.

T Beale

15 Dec 2019

SPECPROC-28. Improve definition of TIMELINE_MOMENT and TIMER_EVENT; add PLAN_TIME_ORIGIN enum; remove CALENDAR_TIME class. SPECPROC-29. Add guideline_step to PLAN_ITEM; make Work Plan and Task Plan guideline refs more flexible.

M Kejžar,
T Beale

09 Aug 2019

1.4.1

SPECPROC-26. Dataset improvements: make DATASET_SPEC inherit from LOCATABLE; support form sub-sections. SPECPROC-27. Add classification attribute to WORK_PLAN and PLAN_ITEM.

M Kejžar,
T Beale

22 Jul 2019

1.4.0

SPECPROC-24. Add Order tracking to model: add class ORDER_REF; add WORK_PLAN.order_list; add TASK_PLAN.order_tags.

M Kejžar,
M Polajnar,
T Beale,
B Naess

29 May 2019

1.3.0

SPECPROC-22. Enable Callbacks to be manually notified - add manually_notified: Boolean to CALLBACK_NOTIFICATION.

T Beale

01 May 2019

SPECPROC-23. Correct CLOCK_TIME.time type to Iso8601_time.

B Fabjan

25 Apr 2019

SPECPROC-20. Add period to TASK_REPEAT class.

M Kejžar,
T Beale

12 Apr 2019

SPECPROC-19. Refine model of concurrency in TASK_GROUP: add class CONCURRENCY_MODE; improve explanation of TASK_GROUP;
Add concurrency_mode = xor_one_path invariant to CHOICE_GROUP.

T Beale

18 Mar 2019

SPECPROC-18. Support custom actions for callback receipt of events;
Improve diagrams and explanation on Task wait states and Events;
Add CALLBACK_WAIT.custom_actions;
Add REMINDER.repeats;
Add TASK_WAIT.next_state

T Beale,
B Naess

11 Mar 2019

SPECPROC-17. Specialise DATASET_SPEC into Capture and Review forms.
SPECPROC-16. Change WORK_PLAN.top_level_plans and LINKED_PLAN.target to direct links.

M Kejžar,
B Naess,
T Beale

04 Jan 2019

1.2.0

SPECPROC-15. Convert DELAY_EVENT.source to a direct reference.

M Polajnar

21 Nov 2018

1.1.2

SPECPROC-2. Change date/time types to Iso8601_xxx types from Foundation Types spec.
SPECPROC-11. Add WORK_PLAN.indications;
Improve documentation of TIMELINE_MOMENT;
SPECPROC-13. Clarify Work Plan instantiation and distribution semantics:
Add section 4.4.1 Phases of Work;
Add subsection to section 2.5 on Distributed plans.

B Naess,
M Kejžar,
T Beale

31 Oct 2018

1.1.1

SPECPROC-9. Add sub-section on Time and Work in Background section.
SPECPROC-10. Add BLOCKING_GROUP and BLOCKING_BRANCH classes and EVENT_ACTION.receiver_thread_next_state.

T Beale

21 Jun 2018

1.1.0

SPECPROC-6. Adjust SYSTEM_CALL definition;
Add PARAMETER_DEF and PARAMETER_MAPPING types.
SPECPROC-7. Provide support in decision structures for automated / decision support / ad hoc modes;
Add CHOICE_GROUP, CHOICE_BRANCH, ADHOC_GROUP, ADHOC_BRANCH classes, and an attribute for marking any group as overridable at execution time.

T Beale,
M Kejžar

15 Jan 2018

1.0.4

SPECPROC-3. Context value model adjustments;
Adjust CONTEXT_EXPRESSION type to have name;
Add CONTEXT_CONSTANT, EXTERNAL_VARIABLE and LOCAL_VARIABLE types.

T Beale

04 Dec 2017

1.0.3

SPECPROC-5. Correct DECISION_BRANCH method of specifying value.

T Beale

04 Dec 2017

1.0.2

SPECPROC-4. Refine SYSTEM_CALL model, describe variable referencing.

M Kejžar,
M Polajnar,
T Beale

02 Dec 2017

1.0.1

SPECPROC-2 Fix various typos; add missed BOOLEAN_CONTEXT_EXPRESSION; Remove duplicate attribute WORK_PLAN.events.

M Kejžar

24 Oct 2017

PROC Release 1.0.0

1.0.0

SPECPROC-1. Further documentation improvements; Added explanations for resume semantics; added RESUME_ACTION class.

T Beale

17 Oct 2017

0.9.0

SPECPROC-1. Restructure document; Various refactoring of Event classes; global calendar, timeline.

T Beale

12 Oct 2017

0.8.2

SPECPROC-1. Workshop Sep 25-28 and follow-up calls;
Significant updates to model;
Include event-based design;
Moved spec to new PROC openEHR component.

B Fabjan,
B Lah,
B Naess,
M Kejžar,
E Leonov,
V Makarov,
T Beale

10 Oct 2017

0.8.1

New Task subtypes; re-design 'system request' concept; build out callback classes; remove explicit notifications from model.
Improve performer model. Add more design material. Improved Task state machine.

T Beale

25 Aug 2017

0.8.0

Incorporate changes from Workshop 28/29 July. Change principal performer to Group level; add specialised Task types; add system request.

B Lah,
B Naess,
M Kejžar,
E Leonov,
T Beale

06 Jul 2017

0.7.2

Incorporate review comments from Boštjan Lah.

B Lah,
T Beale

20 Jun 2017

0.7.1

Rework runtime model.

T Beale

07 Jun 2017

Incorporate review comments from Pablo Pazos.

P Pazos,
T Beale

06 Jun 2017

0.7.0

Major rewrite, incorporating structure, parallelism, decision paths, and execution history.

T Beale

31 May 2017

0.6.0

SPECRM-58. Initial writing.

T Beale,
B Naess,
I McNicoll

26 Jan 2017

References
  • [1] A. H. M. T. Hofstede, W. M. P. van der Aalst, M. Adams, and N. Russell, Modern Business Process Automation: YAWL and its Support Environment. Springer-Verlag, 2010. doi: 10.1007/978-3-642-03121-2.