PROforma is a "task network language" (TNL) developed at Cancer Research UK for designing and deploing decision support and workflow services and is now being maintained and developed at Oxford University and Edinburgh University. It is a formal specification language (as that term is used in software engineering) and a knowledge representation language (as understood in AI) for modelling processes.
PROforma is a logic programming language which is extended to support constructs like plans, decisions, data definitions and a number of control mechanisms (Fox et al 2002). It has a declarative syntax and a well-defined operational semantics (Sutton and Fox, 2003). PROforma supports the definition of clinical guidelines and protocols in terms of:
- A small set of task classes that can be composed into networks representing arbitrarily complex plans or procedures, and a similarly small set of attributes which control task enactment.
- Logical conditions which describe situations, events, constraints, task pre- and post-conditions, and data interpretation rules that influence execution of each task and transfer of control between tasks.
The PROforma process model is based on an ontology of tasks (plans, decisions, actions and enquiries) which is intended to be minimal to keep the language as simple and uniform as possible. All four task types share common attributes which are inherited from the root class (called a “keystone”). All tasks may, for example, have attributes representing the goal of the task, triggering events, pre-conditions which must be satisfied if the task is to be enacted, and post-conditions which will be true if the task is completed successfully. All tasks have distinguishing attributes as well. Plans, for example, have a characteristic structure in terms of nested components (tasks and sub-plans) and plans have special trigger conditions which define when it should be terminated or aborted. Decisions are modelled in terms of collections of decision options, logical rules and functions for constructing arguments for and against options, and “commitment” rules. Actions and enquiries have attributes that support their role in interacting with the external environment.
Further information
OpenClinical
The OpenClinical.net project is developing novel methods for creating and disseminating computer-interpretable medical knowledge for supporting clinical decision-making, care planning, workflow management, and other point-of-care services. The motivation is the need to deliver consistently high quality patient care due to demands on services and the explosive growth in current knowledge about diseases and best treatments. OpenClinical.net hosts a repository of applications on behalf of a community of application developers (www.openclinical.net).
OpenClinical.net has been set up as an extension to the www.openclinical.org web portal. OpenClinical.org’s mission was to promote awareness and use of decision support and other knowledge technologies for patient care and clinical research; OpenClinical.net’s mission is to demonstrate how to deliver those services. Since 2002 OC.org has established a reputation for independent, trustworthy and up-to-date information about relevant developments in clinical decision support and knowledge management technologies.
The goals of OpenClinical.net include
- demonstrate software tools and editorial processes for creating, publishing and maintaining knowledge-based services for supporting healthcare professionals at all stages in a patient’s care;
- build a repository of knowledge content which can be used or adapted for delivering point of care services in a range of medical specialties;
- implement a “lifecycle” for application development, spanning the formalization of medical knowledge to the delivery of services.