Skip to main content

Modelling and performance analysis of clinical pathways using the stochastic process algebra PEPA



Hospitals nowadays have to serve numerous patients with limited medical staff and equipment while maintaining healthcare quality. Clinical pathway informatics is regarded as an efficient way to solve a series of hospital challenges. To date, conventional research lacks a mathematical model to describe clinical pathways. Existing vague descriptions cannot fully capture the complexities accurately in clinical pathways and hinders the effective management and further optimization of clinical pathways.


Given this motivation, this paper presents a clinical pathway management platform, the Imperial Clinical Pathway Analyzer (ICPA). By extending the stochastic model performance evaluation process algebra (PEPA), ICPA introduces a clinical-pathway-specific model: clinical pathway PEPA (CPP). ICPA can simulate stochastic behaviours of a clinical pathway by extracting information from public clinical databases and other related documents using CPP. Thus, the performance of this clinical pathway, including its throughput, resource utilisation and passage time can be quantitatively analysed.


A typical clinical pathway on stroke extracted from a UK hospital is used to illustrate the effectiveness of ICPA. Three application scenarios are tested using ICPA: 1) redundant resources are identified and removed, thus the number of patients being served is maintained with less cost; 2) the patient passage time is estimated, providing the likelihood that patients can leave hospital within a specific period; 3) the maximum number of input patients are found, helping hospitals to decide whether they can serve more patients with the existing resource allocation.


ICPA is an effective platform for clinical pathway management: 1) ICPA can describe a variety of components (state, activity, resource and constraints) in a clinical pathway, thus facilitating the proper understanding of complexities involved in it; 2) ICPA supports the performance analysis of clinical pathway, thereby assisting hospitals to effectively manage time and resources in clinical pathway.


Today, hospitals are asked to serve more and more patients while maintaining the quality of healthcare with limited medical staff and equipment. This situation causes many serious problems, including overcrowded emergency departments, delayed treatment of urgent patients, long waiting time and decreasing satisfaction of both doctors and patients [1]. Within such a context, it becomes essential to apply information and communications technology (ICT) to achieve more efficient hospital management. Health informatics (also named clinical informatics) applies ICT to healthcare and biomedicine for promoting public health, facilitating hospital management and reducing healthcare cost [2]. Among its various branches, clinical pathway, emerging in the 1980s [3], is a popular tool to outline the sequence and timing of actions necessary to a desired outcome with optimal efficiency [4]. The sequence of clinical actions performed by a multidisciplinary team moves a patient with a specific diagnosis progressively through a clinical experience to a desired healthcare effect [4, 5].

Clinical pathway focuses on improving the efficiency of the healthcare process for patients, especially those with acute diseases. A number of factors affect clinical pathways, including changing amount of incoming patients, uncertain diagnosis duration and other unpredictable events. To date, the lack of formal modelling methods in existing techniques [613] means the description of clinical pathway is rather vague which results that the complex behaviours involved in clinical pathway cannot be adequately understood by hospital managers. For such an issue, a mathematical model is required to accurately describe these behaviours of a clinical pathway. A novel platform for more efficient clinical pathway management, therefore, is proposed in this paper. The paper features four key elements:

  1. 1.

    A clinical pathway management platform, Imperial Clinical Pathway Analyser (ICPA), is introduced for quantitatively analysing clinical pathway. This platform can construct models of clinical pathway using existing clinical data and conducts performance analysis based on these models. The analysis results can benefit hospitals by providing crucial information for clinical pathway management.

  2. 2.

    Developed from performance evaluation process algebra (PEPA) [14], a stochastic model clinical pathway PEPA (CPP) is introduced to accurately describe different aspects of a clinical pathway, including its state transitions and treatment activities as well as their associated resources and constraints.

  3. 3.

    Using CPP, performance analysis of a clinical pathway can be conducted. The analysis results provide a variety of useful information in the clinical pathway. Firstly, resource utilisation can help hospitals to optimise resource allocation. Secondly, the passage time under different patient inputs shows patients' expected residing time in hospitals. Thirdly, the maximum number of input patients reveals the capacity of hospitals.

  4. 4.

    A stroke clinical pathway obtained from Charing Cross Hospital of Imperial College London is demonstrated. We choose this example for medical and economic reasons. Firstly, stroke is a typical acute disease and the third most common cause of death worldwide. Hence any delay in treatment may result in severe disability [15, 16]. Secondly, according to a recent National Audit Office report, 4-6% of the total NHS expenditure in the UK is spent on stroke treatment. It is predicted that the better management of stroke care can bring £20 m in annual savings, 550 fewer deaths and 1700 fewer cases of disability in the UK [17, 18].


The stroke clinical pathway investigated in this paper is for illustrative purposes. Stroke is a complex disease requiring a systematic integration of services, e.g. primary care, ambulance services, acute treatment and rehabilitation, post-acute rehabilitation, and often long-term health and care support in the community. Due to its complexity and requirement of various services, the stroke clinical pathway presents a significant challenge to existing generally fragmented health and social care services. Moving from the current fragmented approach to an integrated stroke system is a complex task. As simulation models are useful during the planning stage of complex service re-configuration, modelling methods are in demand to simulate and optimize the stroke clinical pathway. Figure 1 displays the abstraction of a general stroke clinical pathway, obtained from Charing Cross hospital of Imperial College London. A new 999 call from a patient or other hospitals initiates an instance of this pathway. The information flow is summarized as follows:

Figure 1
figure 1

An example of the stroke clinical pathway.

  1. 1.

    First, an ambulance scheduled by London Ambulance Service (LAS) picks up the patient, where a Fitness and Anthropometric Scoring Template (FAST) test is carried out.

  2. 2.

    The patient is sent to the accident and emergency (A&E) resuscitation department and referred to the stroke team, if the FAST test shows s/he potentially has a stroke. Otherwise s/he is sent to the normal emergency department.

  3. 3.

    Next, if the patient is further diagnosed to have a stroke, s/he is sent to the CT department; otherwise s/he is transferred to the normal A&E department.

  4. 4.

    If a CT scan shows the patient does not have a stroke, s/he will be switched to the non-stroke treatment department. If the patient has a haemorrhagic stroke, s/he is transferred to the Hyper-Acute Stroke Unit (HASU). If the patient has an ischemic stroke, clinicians need to further determine whether the patient needs thrombolysis therapy.

  5. 5.

    Afterwards, the patient is sent to the HASU to be cared by occupational therapists for two or three days.

  6. 6.

    Finally, the patient is discharged from hospital, and the community therapy team takes over.

As every patient has his/her own journey, modulated by clinical issues and availability of resources, the clinical pathway in Figure 1 is a model of a highly dynamic system. To model such a system, two challenges need to be addressed:

  1. 1.

    There are many uncertainties in the clinical pathway, so that a model may need to simulate pathways in a stochastic manner. For example, the stroke clinical pathway in Figure 1 has a changing number of incoming patients, and the time spent in each department for different patients may vary significantly. Patients with different diagnoses will be transferred to different departments, taking different routes through the pathway. Therefore a modelling method, which can cope with these complexities, is required.

  2. 2.

    Performance analysis for different scenarios should be supported. For example, patients would be interested in the expected time they would spend in hospital, while hospitals need to estimate the maximum number of patients they can treat every day and manage the clinical pathway in a cost-effective way. Thus a clinical pathway management platform, which can explicitly evaluate the clinical pathway performance, such as passage time and throughput, would be of interest.

Related work

The general impact of information technology on the clinical pathway like the influence of IT support on the satisfaction of both patients and medical staff is studied [810]. The clinical pathway can be implemented manually on paper [11] or electronically [12]. With a good understanding of the clinical pathway, a set of evidence-based recommendations forming guidelines for clinical practice can be developed to both formalize and optimize the care process [13]. Thus IT techniques embedded into clinical pathways can efficiently decrease undesired practice variability and improve clinician performance.

Some researchers further propose methods of modelling the clinical pathway. By using quantitative models, the influence of individual resources on overall pathway performance can be evaluated directly. However, little work has been done in the area of modelling clinical pathways with the aim of quantitatively improving system performance. Although in [19], a pathway model to facilitate the stroke care planning process is introduced, without a mathematical representation, the model performance cannot be shown explicitly. The work has been done in [20] applies the workflow graph to model the clinical pathway. Using this model, a similarity function is proposed to evaluate the temporal equivalence of two clinical pathways in order to reduce a complex pathway scenario into a simple one. In [21], ontology is used to describe the clinical pathway. This model allows the hierarchical representation of the clinical pathway, e.g., a clinical pathway can be described as a combination of a high-level outcome flow and a detailed workflow with care time constraints. However, the work done in [20] and [21] cannot build a model to explicitly measure the performance of the clinical pathway, such as throughput and passage time. Some researchers focus on analysing time and resource information in clinical pathway using stochastic Petri net. In [22], Rui et al. introduce the Probabilistic Time Constraint WorkFlow Nets (PTCWF-nets) to model a process. A static analysis method is then proposed to analyse each activity's probability of meeting its time constraints (e.g., deadline) in a process before the process is actually executed. In addition, they develop a dynamic method during the execution of the process [23]. This method can update remaining activities' probabilities of successful execution whenever some activities are completed and their actual durations are known. Time schedulability is only one aspect of performance analysis in clinical pathway and it is closely related to another aspect: resource analysis. In [24], they further apply PTCWF-nets to manage resources. Their approach can schedule a clinical pathway among multiple available resources and allocate each activity to an optimal resource, i.e., the resource that has the highest probability to finish the activity in time. Authors in [25] also attempt to model clinical pathway using Petri net. They introduce performance trees to provide a standard unifying framework for expressing performance measures and performance requirements. Benefit from performance trees, the Petri net model for clinical pathway can provide estimation of steady state distribution and passage time.

Besides the work has been done to model the clinical pathway using Petri net, process algebra is also introduced to formally specify the interactions of different entities in the clinical pathway [26]. Process algebra is a mathematical framework used to describe a complex parallel system. In this framework, both the behaviour and properties of the system are described in the form of algebra, facilitating accurate definition and rigorous reasoning about the system in mathematics. PEPA is an enhanced process algebra mainly used to describe and analyse the performance of concurrent systems [14]. It inherits most characteristics of process calculus while incorporating features to specify a stochastic model, which potentially behaves as a continuous time Markov process. Comparing PEPA with other frequently used modelling tools, a queuing network offers compositionality but lacks formal definition, while a Petri net has formal definition without good compositionality. Thus in paper [27], PEPA is used to model the healthcare system. Based on PEPA, the execution duration and throughput of the clinical pathway can be evaluated. However, the role of resources, which constrain the activities and further limit pathway outcome, is not explicitly shown in this model. Therefore, this paper proposes a general clinical pathway model based on the CPP to analyse the performance of system and optimize pathway output.

The remainder of this paper is organised as follows: the Method Section introduces the architecture of ICPA, defines the CPP model, and presents key theories in conducting performance analysis on clinical pathway; the Results Section reports our experimental tests of the CPP model's effectiveness; finally, the Conclusion Section summarises our work.


A novel clinical pathway management platform, ICPA, is proposed to effectively manage clinical data and provide feedback to hospitals, aiming to improve healthcare systems by constructing models of clinical pathways. The architecture of ICPA is shown in Figure 2. Hospitals, treating various patients, take records of patients' treatment processes. The collected clinical data is stored in clinical pathway databases. As the specific disease studied in this paper is stroke, ICPA uses national stroke related databases, such as the Stroke Improvement National Audit Programme (SINAP) database [28], and the database containing stroke clinical data in Charing Cross hospital to parameterize the stroke clinical pathway model. By constructing the stroke clinical pathway model using our formal modelling method CPP, ICPA can analyse the performance of the clinical pathway, where throughput and passage time are estimated. Using analysis results, hospitals can efficiently reconfigure the clinical pathway. Hence, ICPA is a useful clinical pathway platform for hospitals to understand problems and find bottlenecks in the disease treatment process.

Figure 2
figure 2

The architecture of ICPA platform.

The core element of ICPA is the CPP modelling method. In ICPA the constructed model, whose modelling language should follow the rules of PEPA, is first checked by the CPP Model Checker. By applying the CPP modelling method, the clinical pathway can be modelled in a stochastic manner where the time duration of each activity in the disease treatment process is a variable. Furthermore, the CPP method supports multiple parallel patients, enabling competition among patients for the same treatment resources. As the underlying stochastic model of CPP is a continuous time Markov Chain, the steady state distribution and an estimation of passage time can be produced. In the following subsections, technical details of the CPP modelling method will be discussed.

Definition of CPP

Inheriting and developed from PEPA, the basic elements of CPP are state components, resource components and activities. A state component represents the status of a patient by showing in which department the patient is being treated. A resource component is used to specify the state of each resource, which can be either busy or idle. The third component is the activity, which decides transitions between different state components. As each activity relies on one or more resources, the state transition can only take place when the associated resource components are in their idle states. Therefore, the number of resources constrains the frequency of state transitions and limits the system throughput. The model defined by CPP which represents states and resources separately is suitable for resource optimization and status monitoring of patients. Definitions of CPP are as follows.

Definition 1. In CPP, the clinical pathway is represented by a five-tuple, < S, R, Act, C, F C >, where:

  • S is a finite set of states s S, showing places that patients are being treated;

  • R is a finite set of resources, r R, required during treatment;

  • Act is a finite set of activities a Act; Each activity, a, is represented by a two-tuple (α, rate), where α is the action type and rate is one over the mean value of execution duration which is an exponentially distributed random variable;

  • C is a set of constraints c C;

  • F C is a set of functions that determine action rate: rate = f (cr 1, cr 2, . . . , c rn ) where f F C , c ri C and 1 ≤ in.

Definition 2. In CPP, the set S and R are basic components. Given that these components can be commonly denoted as P or Q, the syntax of the terms in CPP can be defined as follows:

  • The sequential operator '.' defines the order of P and Q;

  • The choice operator '+' indicates competition between P and Q;

  • The cooperation operatordetermines the interaction between P and Q over the action set L.

For example, P = d e f ( α , r a t e ) . Q means that the component P becomes Q with the completion of the activity (α, rate). The expression P + Q represents that the system can behave either as P or Q. It enables all the activities of P and Q, and the first completed activity determines how the system behaves. The cooperation operator in the expression forms the basis of composition and can specify two components working cooperatively with shared activities defined in L.

Three key parts of the CPP model

The CPP model consists of three key parts, namely state definition, resource specification and system description, which are used to show how the number of resources in the healthcare system affects the total throughput and the overall response-time for treatment.

  1. 1.

    State definition The state definition part shows how patients proceed through healthcare system. It consists of multiple state components representing places that patients are being treated. Based on their corresponding pathology states, patients with different diagnosis results are transferred to various departments. Two related state components are connected by sequential and choice operators. The sequential operator shows the time sequence of states, while the choice operator represents competition between two states. Here is an example of the state component definition:

    It shows that patient can move from the state Patientplace 1to Patientplace 2or Patientplace 3with probabilities of ρplace 2and ρplace 3after the completion of the activity whose action type is α.

    P a t i e n t p l a c e 1 = d e f ( α , ρ p l a c e 2 * r a t e α ) . P a t i e n t p l a c e 2 + ( α , ρ p l a c e 3 * r a t e α ) . P a t i e n t p l a c e 3
  2. 2.

    Resource specification The resource specification part defines all resources including equipment and medical staff required by state components. Transition between different state components requires the availability of corresponding resources. Assume the resource Resourceplace 1needed by the state component Patientplace 1is defined as

    where Resource_busyplace 1represents that the resource is currently busy in completing the activity whose action type is α, while Resource _idleplace 1shows the resource is currently idle waiting for the completion of activity whose action type is β. The activities with action type of β and α can occur in:

    where the state Patientplace 0is the previous state of Patientplace 1and Patientplace 2is the next state of Patientplace 1. With completion of the activity whose action type is β, patients can move from Patientplace 0to Patientplace 1. Meanwhile, the resource required by Patientplace 1becomes busy in treating the patient. After the treatment, denoted as the activity with the action type of α, the resource becomes idle again waiting to treat another patient.

    R e s o u r c e _ i d l e p l a c e 1 = d e f ( β , r a t e β ) . R e s o u r c e - b u s y p l a c e 1 R e s o u r c e _ b u s y p l a c e 1 = d e f ( α , r a t e α ) . R e s o u r c e - i d l e p l a c e 1
    P a t i e n t p l a c e 0 = d e f ( β , r a t e β ) . P a t i e n t p l a c e 1 P a t i e n t p l a c e 1 = d e f ( α , r a t e α ) . P a t i e n t p l a c e 2
  3. 3.

    System description The last part of the CPP model is the system description part, describing the whole clinical pathway by using the cooperation operator to denote interactions between components. Suppose only one patient defined in Eqn.4 and one resource component defined in Eqn.3 are involved in the CPP model. The cooperation between state component Patientplace 0and the resource component Resource_idleplace 1can be represented as

    where β and α are the action types on which two components Patientplace 0and Resource _ idleplace 1synchronise. More specifically, the patient which is currently in the initial state Patientpalce 0can only be scheduled to the following states when successive treatments are carried out.

    As the healthcare system usually contains multiple patients and multiple copies of resources, it is necessary to represent parallel patients and resources as follows:

    where || is the parallel combinator, equivalent to , showing that two components are in parallel. Therefore, we can describe the system which consists of multiple Patientplace 0and Resource _idleplace1 in the form of

    Although definitions in Eqn.3,4,7 can emphasize the influence of resource on patient health care process, it has a limitation. When all copies of the resource are in their busy state Resource _busyplace 1, a new coming patient cannot be transferred from Patientplace 0to Patientplace 1. The patient will be stuck in the state Patientplace 0until at least one copy of resource become idle enabling it transfer to Patientplace 1and then to Patientplace 2. In reality, even if all the copies of resource are busy, we still want the new coming patient to be able to move from Patientplace 0to Patientplace 1and then stay in Patientplace 1waiting for at least one copy of the resource becoming idle. Therefore, we need to revise the resource definition part by inserting an additional resource as follows:

    Then the system description part is:

    The number of copies of the inserted resource Wait_room 0_idle should be sufficiently large to guarantee that at least one copy is available at any time, that is NumWait_room 0Num Patient . Moreover, the action rate rate γ must be large enough to enable instant transition from Wait _room 0_busy to Wait _room 0_idle whenever at least one copy of resource is in its idle state Resource _idleplace 1.

    With definitions in Eqn.4,8,9, the CPP model for a simple clinical pathway can be constructed. For more complex clinical pathway, we can augment this model to contain more state components and more resources.

    P a t i e n t p l a c e 0 [ N u m P a t i e n t ] = d e f P a t i e n t p l a c e 0 | | . . . | | P a t i e n t p l a c e 0 N u m P a t i e n t R e s o u r c e - i d l e p l a c e 1 [ N u m R e s o u r c e 1 ] = d e f R e s o u r c e _ i d l e p l a c e 1 | | . . . | | R e s o u r c e _ i d l e p l a c e 1 N u m R e s o u r c e 1
    W a i t _ r o o m 0 _ i d l e = d e f ( β , r a t e β ) . W a i t _ r o o m 0 _ b u s y W a i t _ r o o m 0 _ b u s y = d e f ( γ , r a t e γ ) . W a i t _ r o o m 0 _ i d l e R e s o u r c e _ i d l e p l a c e 1 = d e f ( γ , r a t e γ ) . R e s o u r c e _ b u s y p l a c e 1 R e s o u r c e _ b u s y p l a c e 1 = d e f ( α , r a t e α ) . R e s o u r c e _ i d l e p l a c e 1

Key techniques of performance analysis using CPP

Rooted in a continuous time Markov process [14], CPP model can be used to estimate the performance of clinical pathway including throughput (the number of patients that the healthcare system can serve every day) and resource utilisation (the percentage of time that a resource is in use).

The underlying stochastic process

The basic idea of a Markov process is that the distribution of time until the next state change is independent of the time which has elapsed since the last state change. Let the state transition rate between states S i and S j be

q S i , S j = α S i α S j r a t e α

If there are no direct connections between these two states, then the transition rate q S i , S j =0. Let X(t) = S i indicate that at time instance t, the system behaves as S i . After a tiny amount of time δt, the probability that the system is in state S j is

Pr ( X ( t + δ t ) = S j | X ( t ) = S i ) = q S i , S j *δt+O ( δ t ) ,ij

where O(δt) goes to zero faster than δt. Suppose that the infinitesimal generator for the process Q is a square matrix whose off-diagonal elements are q S i , S j and diagonal elements are formed as the negative sum of the non-diagonal elements of each row, q S i , S i =- j i q S i , S j . The evolution of the continuous time Markov process is represented by a first order differential equation [29]:

P ( t ) = Q * P ( t ) = P ( t ) * Q , w h e r e  P ( 0 ) = I

where P(t) is a square matrix with (i, j)th entry pi, jstanding for the probability Pr(X(t) = S j |X(0) = S i ). As performance analysis is usually concerned with system behaviour over a significant period of time, it is necessary to study the steady state behaviour of the system. If the steady state distribution exists, then the proportion of time that the process spends in state S j is represented as:

π j = lim t P r ( X ( t ) = S j | X ( 0 ) = S 0 )

Therefore, we can define:

= lim t P t = π 1 π 2 π N π 1 π 2 π N π 1 π 2 π N

where N is the total number of states, subject to the normalisation condition i π i =1. Then Eqn.12 becomes:

Π = Π * Q = π 1 π 2 π N π 1 π 2 π N π 1 π 2 π N q S 1 , S 1 q S 1 , S 2 q S 1 , S N q S 2 , S 1 q S 2 , S 2 q S 2 , S N q S N , S 1 q S N , S 2 q S N , S N = 0 π 1 π 2 π N q S 1 , S i q S 2 , S i q S N , S i = 0  for  i = 1 , , N

As q S i , S i =- j i q S i , S j , then Equ.15 can be simplified to:

π i * j i q S i , S j flux out of state S i = j i π j * q S j , S i flux into state S i

We can therefore use Eqn.10,16 to obtain steady state distribution.

Here is a simple example to explain the above process. Suppose the system behaviour can be modeled by a two state Markov process whose state transition diagram is shown in Figure 3. Then the generator matrix is as follows:

Figure 3
figure 3

The state transition diagram of a two state Markov process.

Q = - 7 7 6 - 6

We can therefore get steady state distribution from:

π 1 * 7 = π 2 * 6 π 1 + π 2 = 1

which is:

π = [ π 1 , π 2 ] = [ 0 . 46 , 0 . 54 ]

Calculating the resource utilisation and system throughput

The steady state distribution π i stands for the proportion of time that the process spends in state S i . By finding in which state S i the resource is busy, we can calculate the resource utilisation. For example, if the resource at place i is busy in state S1, S3 and S4, then its utilisation can be obtained by π(Resource_busy placei ) = π(1) + π(3) + π(4). If this resource has multiple copies, we can calculate its average utilisation by

U t i l i s a t i o n R e s o u r c e p l a c e i = ( j = 1 N u m R e s o u r c e i π ( R e s o u r c e _ b u s y p l a c e i ) j ) / N u m R e s o u r c e p l a c e i

where Nu m R e s o u r c e p l a c e i is the total number of Resource placei copies.

In the clinical pathway model, suppose that there is a patient who completes the activity with the action type λ leaves the hospital. The throughput of pathway is estimated by the expected number of completed activities with action type λ. Given the definition of resource Resource placeN in the last place of the care process as follows:

R e s o u r c e - i d l e p l a c e N = d e f ( σ , r a t e σ ) . R e s o u r c e - b u s y p l a c e N R e s o u r c e - b u s y p l a c e N = d e f ( λ , r a t e λ ) . R e s o u r c e - i d l e p l a c e N

where the completion of activity (λ, rateλ) enables the resource to become idle. Then the throughput T can be represented by:

T = r a t e λ * U t i l i s a t i o n R e s o u r c e _ b u s y p l a c e N

showing that the system throughput is associated with the utilisation of the resource whose state transition depends on the type λ activity.

Let us introduce the CPP model for a simple clinical pathway (see Figure 4) to show how to analyze the resource utilisation and throughput. Suppose the CPP model is defined as follows:

Figure 4
figure 4

A simple clinical pathway. Patient in the place0 can be transferred to place1 with the completion of β activity. When the resource in the place1 is available, patient can be treated and returns to place0 after α activity.


The equilibrium state can only be maintained if the Markov process is irreducible that every state can be reached from all other states. Therefore CPP constructs a cyclic model in which the discharged patient will return to its initial state Patientplace 0. The state space of this simple CPP model is shown in Figure 5, where each state is represented by a five-tuple. For example, in state S5: (0, 1, i, b, i), the first element 0 represents the first patient is in the place0; the second element 1 represents the second patient is in the place1; the third element i represents the first waiting room is idle; the fourth element b represents the second waiting room is busy; and the last element i represents the resource in the place1 is idle.

Figure 5
figure 5

The state transition diagram of a simple CPP model.

The generator matix Q has the following form:

Q = - 2 0 . 5 0 . 5 0 . 5 0 . 5 0 0 0 0 0 0 - 1001 0 0 0 1 1000 0 0 0 0 0 - 1001 0 0 1 1000 0 0 0 0 0 0 - 1001 0 1 0 1000 0 0 0 0 0 0 - 1001 1 0 1000 0 0 0 0 0 0 0 - 1000 0 0 500 500 0 0 0 0 0 0 - 4 0 0 . 5 0 . 5 3 0 0 0 0 0 0 - 4 0 . 5 0 . 5 0 0 1 . 5 0 1 . 5 0 0 0 - 3 0 0 1 . 5 0 1 . 5 0 0 0 0 0 - 3

from which we can get the steady state distribution:

[ π 1 , π 2 , π 3 , π 4 , π 5 , π 6 , π 7 , π 8 , π 9 , π 10 ] = [ 0 . 5284 , 3 . 523 * 1 0 - 4 , 3 . 523 * 1 0 - 4 , 3 . 523 * 1 0 - 4 , 3 . 523 * 1 0 - 4 , 1 . 409 * 1 0 - 6 , 0 . 1761 , 0 . 1761 , 0 . 05895 , 0 . 05895 ]

Therefore, we can obtain resource utilisation and throughput:

U t i l i s a t i o n R e s o u r c e p l a c e 1 = π ( R e s o u r c e - b u s y p l a c e 1 ) = π 7 + π 8 + π 9 + π 10 = 0 . 47 T = 3 * U t i l i s a t i o n R e s o u r c e p l a c e 1 = 1 . 41

We can use PEPA eclipse plugin [30] to simulate the developed CPP model, from which resource utilization and throughput can be directly obtained.

Critical assessments-state explosion problem

When there are many patients and multiple copies of resources involved in the system description part, the state explosion problem occurs. For instance, when there are eight patients, eight waiting rooms and three resources in Figure 4 clinical pathway, the number of states increases from 10 to 75582. Then the dimension of generator matrix Q becomes 75582 × 75582. Hence, calculating steady state distribution by solving Eqn.16 turns out to be computational intensive and requires large storage space. To address these problems, this paper uses two methods which are state aggregation and fluid analysis.

It has been pointed out in [31, 32], by exploiting the strong equivalence relations, we can generate the aggregated CTMC where the number of states can be reduced. Consider again the simple CPP model in Eqn.23. As the states S2, S3, S4 and S5 shows that there is one patient in place 1, one patient in place 0, one waiting room is busy and the resource is idle, the aggregated state S 2 can be used to represent them without considering which patient is in place 1 and which waiting room is occupied:


Similarly, we use S 4 to represent S7 and S8, and S 5 to represent S9 and S10:


Therefore, the number of aggregated states is reduced to 5. The state transition diagram is shown in Figure 6, and the generator matrix Q' is as follows:

Figure 6
figure 6

The aggregated state transition diagram of a simple CPP model.

Q = - 2 2 0 0 0 0 - 1001 1 1000 0 0 0 - 1000 1000 0 3 0 0 - 4 1 0 3 0 0 - 3

We can get steady state distribution as:

π = [ π 1 , π 2 , π 3 , π 4 , π 5 ] = [ 0 . 5284 , 0 . 001409 , 1 . 409 * 1 0 - 6 , 0 . 3523 , 0 . 1179 ]

and further obtain resource utilisation and throughput:

U t i l i s a t i o n R e s o u r c e p l a c e 1 = π ( R e s o u r c e _ b u s y p l a c e 1 ) = π 4 + π 5 = 0 . 47 T = 3 * U t i l i s a t i o n R e s o u r c e p l a c e 1 = 1 . 41

which are similar with Eqn.26.

Although the number of states can be reduced by using the aggregation method (implemented in PEPA eclipse plugin), when the amounts of patients and resources become extremely large, the state aggregation method cannot solve the state explosion problem well. Hence, fluid analysis of stochastic process model is used in [27] to analyze systems of size 101000 states and beyond. This approach approximates the state space by using a set of ordinary differential equations to describe the time evolution of state components. Assume that, the mean number of component P i at time t is denoted as N (P i (t)), then a differential equation can be used to represent the changes in N(P i (t)) as:

N ( P i ( t ) ) = - j : P i (α.,) P j rate of  α  - action leaving  P i + j : P j (β.,) P i rate of  β  - action entering  P i

A set of differential equations to present the CPP model in Eqn.23 is as follows:

N ( P a t i e n t p l a c e 0 ( t ) ) = - 1 * m i n ( N ( P a t i e n t p l a c e 0 ( t ) ) , N ( W a i t _ r o o m 0 _ i d l e ( t ) ) ) + 3 * N ( R e s o u r c e _ b u s y p l a c e 1 ( t ) ) N ( P a t i e n t p l a c e 1 ( t ) ) = 1 * m i n ( N ( P a t i e n t p l a c e 0 ( t ) ) , N ( W a i t _ r o o m 0 _ i d l e ( t ) ) ) - 3 * N ( R e s o u r c e _ b u s y p l a c e 1 ( t ) ) N ( W a i t _ r o o m 0 _ i d l e ( t ) ) ) = - 1 * m i n ( N ( W a i t _ r o o m 0 _ i d l e ( t ) ) ) , N ( P a t i e n t p l a c e 0 ( t ) ) ) + 1000 * N ( R e s o u r c e i d l e ( t ) ) , N ( ( W a i t _ r o o m _ b u s y ( t ) ) ) N ( W a i t _ r o o m 0 _ b u s y ( t ) ) ) = 1 * m i n ( N ( W a i t _ r o o m 0 _ i d l e ( t ) ) ) , N ( P a t i e n t p l a c e 0 ( t ) ) ) - 1000 * N ( R e s o u r c e i d l e ( t ) ) , N ( ( W a i t _ r o o m 0 _ b u s y ( t ) ) ) N ( R e s o u r c e _ i d l e p l a c e 1 ( t ) ) = 3 * N ( R e s o u r c e _ b u s y p l a c e 1 ( t ) ) - 1000 * m i n ( N ( R e s o u r c e _ i d l e p l a c e 1 ( t ) ) , N ( W a i t _ r o o m 0 _ b u s y ( t ) ) ) N ( R e s o u r c e _ b u s y p l a c e 1 ( t ) ) = - 3 * N ( R e s o u r c e _ b u s y p l a c e 1 ( t ) ) + 1000 * m i n ( N ( R e s o u r c e _ i d l e p l a c e 1 ( t ) ) , N ( W a i t _ r o o m 0 _ b u s y ( t ) ) )

where the initial conditions are:

N ( P a t i e n t p l a c e 0 ( 0 ) )  =  2 N ( P a t i e n t p l a c e 1 ( 0 ) )  =  0 N ( W a i t - r o o m 0 - i d l e ( 0 ) ) = 2 N ( W a i t - r o o m 0 - b u s y ( 0 ) ) = 0 N ( R e s o u r c e - i d l e p l a c e 1 ( 0 ) ) = 1 N ( R e s o u r c e - b u s y p l a c e 1 ( 0 ) ) = 0

By solving these equations, we can obtain the time evolution of each component. The details of fluid analysis can be found in [33]. By exploring the time evolution of P i , we can find the mean time that P i reaches its maximum. For example, Figure 7 shows N(Resource_busyplace 1(t)), whose maximum can be reached within two days. With the introduction of fluid analysis, state explosion problem can be addressed.

Figure 7
figure 7

The numerical solution to the ODEs representing the mean number of Resource_busy place 1 over time.

Calculating passage time

Based on fluid analysis, the mean passage time of a patient to be discharged can be estimated by using a stochastic probe [34]. For example, if we are interested in the time by which a Patientplace 0component has done its first α activity, we can attach a probe to Patientplace 0to remember whether it has performed α activity. The probe can be defined as follows:

N o t F i n i s h e d = d e f ( α , 3 ) . F i n i s h e d F i n i s h e d = d e f ( α , 3 ) . F i n i s h e d

We can replace the Patientplace 0component in the system description part of the CPP model by the synchronised component . The modified differential equations are:


where the initial conditions are:


By summing the counts of all patient components of the form , we can get an approximation to the cumulative density function (CDF) for the time it takes for an individual Patientplace 0component to perform its first α action (see Figure 8). In this paper, we use a tool, Grouped PEPA Analyser, developed in [35] to simulate the CPP model. This tool can estimate resource utilisation and passage time based on fluid analysis.

Figure 8
figure 8

The CDF of the passage time of a patient performing the first α action.


In this section, the CPP modelling method is applied to model the stroke clinical pathway. It begins with the parameter settings of experiment. Then detailed description of the CPP model for stroke clinical pathway is shown. By simulating the pathway using the CPP modelling method, we can optimize the resource allocation, estimate the passage time and find the maximum throughput with the current resource distribution.

Experiment setup

In order to improve stroke service in London, the NHS investigates seven HASUs opened in 2010 including the one in Charing Cross Hospital. To ensure appropriate and consistent measurements, the SINAP database is used. Among the datasets published by NHS [36], the HASU activity data which contains clinical information for HASU in Charing Cross Hospital is shown in Table 1. It can be used to calculate transition probabilities in Figure 1. For example, there are 116 stroke patients, 27 stroke mimic patients and 15 TIA patients. Then in Figure 1, the transition probability for the patient from A&E to A&E referral is 27/(116+15+27) = 17%. Similarly, the transition probability from CT scan to A&E referral is 15/(116+27) = 10%.

Table 1 HASU activity data from NHS [36]

To build the formal model of stroke clinical pathway, parameters involved in pathway including execution time of each care activity and the number of resources available at each department should be estimated in advance. Some of them can be directly obtained from Table 1, where we can find the number of beds available in HASU is 20 and the median length of stay in HASU is 2 days. Moreover, NHS records the average time from 999 call to arrive hospital to be 62 minutes. As the FAST test is carried out on ambulance, the mean time of FAST test is therefore assumed to be 1 hour. Other parameters such as the number of stroke teams in A&E and CT scanners are not extracted directly from NHS databases, and they are estimated by consulting related documents and stroke experts. In this paper, we assume that there are 3 stroke teams and 3 CT scanners in Charing Cross Hospital. The number of ambulances is set to be unlimited, ignoring the influence of the ambulance in the model. Moreover, the mean lengths of stay in A&E and CT scan departments are assumed to be 0.75 hour and 3 hours, respectively. All the parameters and their value are summarized in Table 2.

Table 2 The settings of experiment

This paper applies CPP to model the main stream of the pathway where only the patients who can finally go to the HASU are analyzed. Hence the pathway in Figure 1 is simplified as it is shown in Figure 9.

Figure 9
figure 9

Simplified stroke clinical pathway.

The CPP model of the stroke clinical pathway

The pathway model contains three parts, which are state definition, resource specification and system description. The CPP representation of these three parts is as follows.

  1. 1.

    State definition

    P a t i e n t H o m e = d e f ( h a v e _ s t r o k e , r i n c o m e ) . P a t i e n t L A S ; P a t i e n t L A S = d e f ( d o _ F A S T , r d o _ F A S T ) . P a t i e n t A _ E _ R e s u s ; P a t i e n t A _ E _ R e s u s = d e f ( a s s e s _ a n d _ i n v e s t i g a t e , r a s s e s s _ a n d _ i n v e s t i g a t e ) . P a t i e n t C T _ s c a n ; P a t i e n t C T _ s c a n = d e f ( s c a n , r s c a n ) . N o r m a l _ t r e a t ; P a t i e n t N o r m a l _ t r e a t = d e f ( t r e a t _ H A S U , r t r e a t _ H A S U ) . P a t i e n t H o m e ;
  2. 2.

    Resource specification

    S t r o k e _ t e a m _ i d l e = d e f ( d o _ F A S T , r d o _ F A S T ) . S t r o k e _ t e a m _ b u s y ; S t r o k e _ t e a m _ b u s y = d e f ( a s s e s s _ a n d _ i n v e s t i g a t e , r a s s e s s _ a n d _ i n v e s t i g a t e ) . S t r o k e _ t e a m _ i d l e ; W a i t _ r o o m 1 _ i d l e = d e f ( a s s e s s _ a n d _ i n v e s t i g a t e , r a s s e s s _ a n d _ i n v e s t i g a t e ) . W a i t _ r o o m 1 _ b u s y ; W a i t _ r o o m 1 _ b u s y = d e f ( w a i t _ s c a n , r w a i t _ f o r _ c a l l i n g ) . W a i t _ r o o m 1 _ i d l e ; S c a n _ i d l e = d e f ( w a i t _ s c a n , r w a i t _ f o r _ c a l l i n g ) . S c a n _ b u s y ; S c a n _ b u s y = d e f ( s c a n , r s c a n ) . S c a n _ i d l e ; W a i t - r o o m 2 - i d l e = d e f ( s c a n , r s c a n ) . W a i t - r o o m 2 - b u s y ; W a i t - r o o m 2 - b u s y = d e f ( w a i t _ b e d , r w a i t _ f o r _ c a l l i n g ) . W a i t - r o o m 2 - i d l e ; B e d _ i d l e = d e f ( w a i t _ b e d , r w a i t _ f o r _ c a l l i n g ) . B e d _ b u s y ; B e d _ b u s y = d e f ( t r e a t _ H A S U , r t r e a t _ H A S U ) . B e d _ i d l e ;
  3. 3.

    System description The third part is the system description as follows:


In order to get the average patient incoming rate to 4, the parameter Num patient is set to 1000 and r income is 0.004.

Three performance analysis scenarios

Three scenarios are tested in this subsection to show the application of the CPP model in performance analysis. The CPP model can detect the optimal resource allocation, estimate the passage time and determine the maximum throughput of the healthcare system.

Scenario 1: Resource optimization

Initially there are 3 stroke teams, 3 scanners and 20 beds available in the stroke clinical pathway. As the average patient input is around 4, it may happen that the resource utilisation is low. Hence, we investigate the influence of resource quantity on system throughput. By varying the numbers of stroke teams, scanners and beds, we can find from Figure 10 that the largest throughput that can be achieved is 3.95 patients/day, slightly smaller than 4 patients/day. We cannot have the maximum throughput value exactly equal to the number of input patients. It can be explained from the definition of parallel input patients Patient Home [Num patient ], where Num patient is 1000 and the input rate is 0.004. Theoretically, the number of input patients per day should be 1000 * 0.004 = 4. On the first day, 4 patients on average fall ill and are treated sequentially through the clinical pathway. As the mean time for the patient staying in HASU department is 2 days, it is possible that these 4 patients are still in the pathway on the next day. Hence, they cannot return to the state Patient Home on the second day, meaning that the number of patients at Patient Home is slightly smaller than 1000. Therefore, there is a trivial difference between the maximum throughput and the number of input patients. However, this small difference does not influence the performance analysis process.

Figure 10
figure 10

Resource optimization of clinical pathway. The number of scanners varies from 1 to 3 and the number of beds ranges between 1 and 20 in each graph. The number of stroke team is set to 1 in (a), 2 in (b) and 3 in (c) respectively. The maximum throughput of 3.95 can be achieved in (a), where there are 1 stroke team, 1 scanner and 8 beds.

Figure 10 is used to show how our performance analysis result guides medical staff to find optimal resource allocation, i.e., the amount of resource is kept minimal while still maintaining the maximum throughput in the clinical pathway. The three 3D graphs look similar and they actually demonstrate the process of reducing redundant resources while keeping the throughput unchanged. In these 3D graphs, we give two examples. In the first example, the numbers of beds and scanners are reduced from 20/3 to 8/1, respectively. This example shows that twelve redundant bed resources and two scanner resources can be removed and the clinical pathway's throughput is not influenced. The second example further reduces two redundant stroke team resources and keeps the throughput unchanged.

We can obtain the optimal number of each resource in Table 3 and find that the resource utilisation can be increased while the system throughput is maintained. It is notable that the CPP model can find the optimal resource allocation with varying number of input patients. For example, with an input of 4 patients per day, the optimal resource allocation is 1 stroke team, 1 scanner and 8 beds; if the input rate increases to 0.006, meaning that there are 6 patients falling ill every day, the optimal resource allocation is found to be 1 stroke team, 1 scanner and 12 beds.

Table 3 Comparison of resource utilisation: The utilisations of resources resulting from the model with initial and optimal parameter sets are compared.

Scenario 2: Passage time estimation

Besides estimating the system throughput and resource utilisation, CPP model can further predict the mean passage time of a patient with the introduction of a stochastic probe as follows:

N o t F i n i s h e d = d e f ( t r e a t _ H A S U , r t r e a t _ H A S U ) . F i n i s h e d ; F i n i s h e d = d e f ( t r e a t _ H A S U , r t r e a t _ H A S U ) . F i n i s h e d ;

The state NotFinished becomes Finished once the activity whose action type is treat_HASU is completed. When we attach this probe to the patient state component as follows:


the mean time of a patient from falling ill to leaving the HASU can be obtained. Figure 11 shows the probability that a patient is discharged from the HASU within a specific time duration when there is 1 stroke team, 1 scanner and 8 beds available. We can see that 90% of patients can be discharged within 2.5 days and only 14% of patients can be discharged within 1 day. Estimation of the whole passage time not only tells patients when they can be discharged, but also informs doctors the resource occupation time.

Figure 11
figure 11

Passage time. It shows the probability that a patient can be discharged within a specific time. This figure is obtained when the model uses an optimal parameter set. When the model uses the initial parameter set, we get the same figure, showing that the system passage time remains the same.

Scenario 3: Maximum input estimation

We can also examine the maximum throughput with different parameter settings. For example, if the pathway model uses the initial parameters, in Figure 12 we can see that when the number of input patients increases from 1 to 100, the maximum throughput is around 10 patients/day. When the input number is 10, the throughput reaches 9.74 patients/day, slightly smaller than the maximum value (this difference has been discussed in the Resource optimization subsection). Any further increase in the number of input patients has trivial contribution to the system throughput.

Figure 12
figure 12

Maximum throughput. By varying the number of input patients, the maximum system throughput can be obtained, where the model uses the initial parameter settings.

Therefore, by simulating the CPP model, we can find the maximum number of input patients that can be supported by the healthcare system. This maximum input estimation is significant for hospital to determine whether it can accept more stroke patients or not. For example, suppose there are already 10 patients on average coming to the hospital from the surrounding area. If the national health community asks whether this hospital can serve patients from larger area, meaning that more than 10 patients will arrive every day, by estimating the maximum input this hospital can determine whether this is possible and whether more resources are required to support the increased number of patients.


This paper introduces a clinical pathway management platform, ICPA, whose core element is the stochastic model CPP. CPP can unambiguously describe a variety of elements in a clinical pathway. Using CPP, the clinical pathway can be quantitatively analyzed and this performance analysis can provide a range of useful information for facilitating clinical pathway management. A real-world stroke clinical pathway, obtained from Charing Cross hospital of Imperial College London, is employed to demonstrate the practical applicability of ICPA. Three scenarios were tested to show that ICPA can assist hospitals to improve healthcare system by 1) reducing redundant resources 2) predicting patient passage time 3) estimating the maximum patient input. The approach presented in this paper can be used effectively to manage the clinical pathways within one hospital. There are multiple revenues for extending the work and we discuss four possible directions below.

  1. 1.

    CPP model can be extended to incorporate survival analysis by collecting clinical data including patient recovery speed and survival rate. The augmented model can then be used to examine the influence of treatment delay on patients' recovery processes. Therefore, the results from the ICPA can be used to increase patient recovery probability and decrease the recovery time.

  2. 2.

    Multiple hospitals can be managed concurrently using ICPA. At present, there are seven hospitals in London with HASU departments to treat stroke patients. ICPA can be extended to combine their clinical data to build a uniform model. By analysing this model, patients can be dynamically scheduled to different hospitals in order to optimise their treatment process.

  3. 3.

    The stroke clinical pathway discussed in this paper is described in the coarse granularity. With clinical data, ICPA can be applied to analyse an element in the clinical pathway in the fine granularity. For example, the HASU department, one element of the stroke clinical pathway, needs to treat patients with multiple therapies. If this type of information can be obtained and modelled by CPP, ICPA can view HASU as a clinical pathway and conducts performance analysis on it.

  4. 4.

    A user friendly interface can be build to facilitate medical staff's access to ICPA. Currently, ICPA only provides analysis results such as optimal resource allocation to medical staff. By interpreting these performance analysis results, medical staff can optimally re-allocate medical resources and re-configure treatment process. In the future, we plan to develop a user portal to help medical staff construct the clinical pathway model by themselves.


  1. Emanuele J, Koetter L: Workflow opportunities and challenges in healthcare. 2007 BPM & Workflow Handbook. 2007, 1: 157-

    Google Scholar 

  2. Health informatics. []

  3. Zander K: Nursing case management: strategic management of cost and quality outcomes. The Journal of nursing administration. 1988, 18 (5): 23-

    CAS  PubMed  Google Scholar 

  4. Uzark K: Clinical pathways for monitoring and advancing congenital heart disease care. Progress in Pediatric cardiology. 2003, 18 (2): 131-139. 10.1016/j.ppedcard.2003.01.014.

    Article  Google Scholar 

  5. Hunter B, Segrott J: Re-mapping client journeys and professional identities: A review of the literature on clinical pathways. International journal of nursing studies. 2008, 45 (4): 608-625. 10.1016/j.ijnurstu.2007.04.001.

    Article  PubMed  Google Scholar 

  6. Pearson S, Goulart-Fisher D, Lee T: Critical pathways as a strategy for improving care: problems and potential. Annals of Internal Medicine. 1995, 123 (12): 941-

    Article  CAS  PubMed  Google Scholar 

  7. Every N, Hochman J, Becker R, Kopecky S, Cannon C: Critical pathways: a review. Circulation. 2000, 101 (4): 461-10.1161/01.CIR.101.4.461.

    Article  CAS  PubMed  Google Scholar 

  8. Schuld J, Schäfer T, Nickel S, Jacob P, Schilling M, Richter S: Impact of IT-supported clinical pathways on medical satisfaction. A prospective longitudinal cohort study. international journal of medical informatics. 2011, 80 (3): 151-156. 10.1016/j.ijmedinf.2010.10.012.

    Article  PubMed  Google Scholar 

  9. Lenz R, Blaser R, Beyer M, Heger O, Biber C, Bäumlein M, Schnabel M: IT support for clinical pathways-lessons learned. International Journal of Medical Informatics. 2007, 76: S397-S402.

    Article  PubMed  Google Scholar 

  10. Wakamiya S, Yamauchi K: A new approach to systematization of the management of paper-based clinical pathways. Computer methods and programs in biomedicine. 2006, 82 (2): 169-176. 10.1016/j.cmpb.2006.03.001.

    Article  PubMed  Google Scholar 

  11. Hauck L, Adler L, Mulla Z: Clinical pathway care improves outcomes among patients hospitalized for community-acquired pneumonia. Annals of epidemiology. 2004, 14 (9): 669-675. 10.1016/j.annepidem.2004.01.003.

    Article  PubMed  Google Scholar 

  12. Usui K, Kage H, Soda M, Noda H, Ishihara T: [Electronic clinical pathway for community acquired pneumonia (e-CP CAP)]. Nihon Kokyūki Gakkai zasshi = the journal of the Japanese Respiratory Society. 2004, 42 (7): 620-

    PubMed  Google Scholar 

  13. Abidi S, Shayegani S: Modeling the form and function of clinical practice guidelines: An ontological model to computerize clinical practice guidelines. Knowledge Management for Health Care Procedures. 2009, 5626: 81-91. 10.1007/978-3-642-03262-2_7.

    Article  Google Scholar 

  14. Hillston J: A compositional approach to performance modelling. 1996, 12, Cambridge Univ Pr

    Chapter  Google Scholar 

  15. Markus H: Improving the outcome of stroke. BMJ: British Medical Journal. 2007, 335 (7616): 359-10.1136/bmj.39296.711563.AD.

    Article  PubMed Central  PubMed  Google Scholar 

  16. Alberts M, Hademenos G, Latchaw R, Jagoda A, Marler J, Mayberg M, Starke R, Todd H, Viste K, Girgus M: Recommendations for the establishment of primary stroke centers. JAMA: the journal of the American Medical Association. 2000, 283 (23): 3102-10.1001/jama.283.23.3102.

    Article  CAS  PubMed  Google Scholar 

  17. Damage R: Faster access to better stroke care. 2005, London, United Kingdom: National Audit Office

    Google Scholar 

  18. Saka R, McGuire A, Wolfe C: Economic burden of stroke in England. London: National Audit Office. 2005

    Google Scholar 

  19. Bayer S, Petsoulas C, Cox B, Honeyman A, Barlow J: Facilitating stroke care planning through simulation modelling. Health Informatics Journal. 2010, 16 (2): 129-10.1177/1460458209361142.

    Article  PubMed  Google Scholar 

  20. Combi C, Gozzi M, Oliboni B, Juarez J, Marin R: Temporal similarity measures for querying clinical work flows. Artificial intelligence in medicine. 2009, 46: 37-54. 10.1016/j.artmed.2008.07.013.

    Article  PubMed  Google Scholar 

  21. Ye Y, Jiang Z, Diao X, Yang D, Du G: An ontology-based hierarchical semantic modeling approach to clinical pathway work flows. Computers in biology and medicine. 2009, 39 (8): 722-732. 10.1016/j.compbiomed.2009.05.005.

    Article  PubMed  Google Scholar 

  22. Han R, Liu Y, Wen L, Wang J: Probability timing constraint WF-nets and their application to timing schedulability analysis of work flow management systems. Computer Science and Information Engineering, 2009 WRI World Congress on, IEEE. 2009, 7: 669-673.

    Article  Google Scholar 

  23. Han R, Liu Y, Wen L, Wang J: Dynamically analyzing time constraints in work flow systems with fixed-date constraint. Web Conference (APWEB), 2010 12th International Asia-Pacific, IEEE. 2010, 99-105.

    Chapter  Google Scholar 

  24. Han R, Liu Y, Wen L, Wang J: A two-stage probabilistic approach to manage personal worklist in work flow management systems. On the Move to Meaningful Internet Systems: OTM 2009. 2009, 24-41.

    Chapter  Google Scholar 

  25. Suto T, Bradley J, Knottenbelt W: Performance Trees: Expressiveness and quantitative semantics. Quantitative Evaluation of Systems, 2007. QEST 2007. Fourth International Conference on the, IEEE. 2007, 41-50.

    Google Scholar 

  26. Baksi D: Formal interaction specification in public health surveillance systems using [pi]-calculus. Computer methods and programs in biomedicine. 2008, 92: 115-120. 10.1016/j.cmpb.2008.05.007.

    Article  PubMed  Google Scholar 

  27. Bradley J, Hayden R, Knottenbelt W, Suto T: Extracting response times from fluid analysis of performance models. Performance Evaluation: Metrics, Models and Benchmarks. 2008, 5119: 29-43. 10.1007/978-3-540-69814-2_4.

    Google Scholar 

  28. SINAP-latest results|Royal College of Physicians. []

  29. Albert A: Estimating the infinitesimal generator of a continuous time, finite state Markov process. The Annals of Mathematical Statistics. 1962, 33 (2): 727-753. 10.1214/aoms/1177704594.

    Article  Google Scholar 

  30. Tribastone M, Duguid A, Gilmore S: The PEPA eclipse plugin. ACM SIGMETRICS Performance Evaluation Review. 2009, 36 (4): 28-33. 10.1145/1530873.1530880.

    Article  Google Scholar 

  31. Hillston J: Compositional Markovian modelling using a process algebra. Numerical solution of Markov chains. Kluwer. 1995

    Google Scholar 

  32. Gilmore S, Hillston J, Ribaudo M: An efficient algorithm for aggregating PEPA models. Software Engineering, IEEE Transactions on. 2001, 27 (5): 449-464. 10.1109/32.922715.

    Article  Google Scholar 

  33. Hillston J: Fluid flow approximation of PEPA models. Quantitative Evaluation of Systems, 2005. Second International Conference on the, IEEE. 2005, 33-42.

    Google Scholar 

  34. Argent-Katwala A, Bradley J, Dingle N: Expressing performance requirements using regular expressions to specify stochastic probes over process algebra models. ACM SIGSOFT Software Engineering Notes. 2004, 29: 49-58. 10.1145/974043.974051.

    Article  Google Scholar 

  35. Stefanek A, Hayden R, Bradley J: GPA-Tool for rapid analysis of very large scale PEPA models. 26th UK Performance Engineering Workshop (UKPEW 2010). 2010

    Google Scholar 

  36. NHS London|Stroke data. []

Download references


The authors would like to thank Michelle Osmond and Moustafa Ghanem for their helpful remarks on this paper.

This article has been published as part of BMC Bioinformatics Volume 13 Supplement 14, 2012: Selected articles from Research from the Eleventh International Workshop on Network Tools and Applications in Biology (NETTAB 2011). The full contents of the supplement are available online at

Author information

Authors and Affiliations


Corresponding author

Correspondence to Yike Guo.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors' contributions

XY designed the method, ran simulation and drafted the manuscript. RH participated in the method design, analyzed the results and drafted the manuscript. YG defined the research theme and participated in the method design. JB performed simulation and drafted the manuscript. BC defined the research theme and helped to draft the manuscript. RD participated in the design and coordination. RK defined the research theme and participated in method design. All authors read and approved the final manuscript.

Xian Yang, Rui Han, Jeremy Bradley, Benita Cox, Robert Dickinson and Richard Kitney contributed equally to this work.

Rights and permissions

Open Access This article is published under license to BioMed Central Ltd. This is an Open Access article is distributed under the terms of the Creative Commons Attribution License ( ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Yang, X., Han, R., Guo, Y. et al. Modelling and performance analysis of clinical pathways using the stochastic process algebra PEPA. BMC Bioinformatics 13 (Suppl 14), S4 (2012).

Download citation

  • Published:

  • DOI: