12601162_Visuals.ppt (3.552Mb)

advertisement
Clinical cardiovascular identification with
limited data and fast forward simulation
6th IFAC SYMPOSIUM ON MODELLING AND CONTROL IN BIOMEDICAL
SYSTEMS
C. E. Hann1, J. G. Chase1, G. M. Shaw2, S. Andreassen3, B. W. Smith3
1Department
of Mechanical Engineering, University of Canterbury, Christchurch, New Zealand
of Intensive Care Medicine, Christchurch Hospital, Christchurch, New Zealand
3 Centre for Model-based Medical Decision Support, Aalborg University, Aalborg, Denmark
2 Department
Diagnosis and Treatment
• Problem: Cardiac disturbances difficult to diagnose
– Limited data
– Reflex actions
• Solution: Minimal Model + Patient-Specific Parameter ID
–
–
–
–
Interactions of simple models to create complex dynamics
Primary parameters
Identification must use common ICU measurements
E.g. increased resistance in pulmonary artery  pulmonary embolism,
atherosclerotic heart disease
• However: Identification for diagnosis requires fast parameter ID
– Must occur in “clinical real-time”
– Limits model and method complexity (e.g. parameter numbers, non-linearities, …)
Heart Model
D.E.’s and PV diagram
V  Q1  Q2
P  P  Q1 R1
Q1  1 2
L1
P  P3  Q2 R2
Q 2  2
L2
P2  e(t ) Ees (V  Vd )  (1  e(t )) P0 (e (V V0 )  1),
e(t )  e 80( t 0.375)
2
Fast Forward Simulation
• Formulate in terms of Heaviside functions:
V  H (Q1 )Q1  H (Q2 )Q2
( P  P2  R1Q1 )
Q1  H ( H ( P1  P2 )  H (Q1 )  0.5) 1
L1
( P  P3  R2Q2 )
Q 2  H ( H ( P2  P3 )  H (Q2 )  0.5) 2
L2
H ( K (t ))  0, K (t )  0
 1, K (t )  0

H ( K (t )) 
 1 
1 1  1
  tan K (t )   tan 1 
 
2 
K
(
t
)


• No looking for sign changes and restarting DE solver
done automatically
• E.g. filling (P1>P2, P2 ):
H ( H ( P1  P2 )  H (Q1 )  0.5)  1, P2  P1 , Q1  0
 0, P2  P1 , Q1  0
(close on flow)
Fast Forward Simulation
•
Ventricular interaction  solve every time step (slow)
e(t ) Ees, spt (Vspt  Vd , spt )  (1  e(t )) P0, spt (e
spt (Vspt V0,spt )
 e(t ) Ees,lvf (Vlv  Vspt )  (1  e(t )) P0,lvf (e
lvf (Vlv V0,spt )
 e(t ) Ees,rvf (Vrv  Vspt )  (1  e(t )) P0,rvf (e
Substitute: e
•
sptVspt
 asptVspt  bspt , e
 1)
lvf Vlv
 1)
rvf (Vrv V0,spt )
 1)
 alvf Vlv  blvf , e
rvf Vrv
 arvf Vrv  brvf
Linear in Vspt Analytical solution  very fast
Method (20 Heart beats)
CPU time (s)
Event solver
101.9
First Heaviside
36.8
2.8
Simpler Heaviside
18.8
5.4
Simpler Heaviside + Vspt formula 3.1
Speed increase factor
32.9
Reflex Actions
•
•
•
•
Vaso-constriction - contract veins
Venous constriction – increase venous dead space
Increased HR
Increased ventricular contractility
Varying HR as a linear function of DPao
 Simple interactions to create overall complex
dynamic behaviour in the full system model
Disease States
•
Pericardial Tamponade:
–
–
•
Pulmonary Embolism:
–
•
Not enough oxygen to myocardium (e.g. from blocked coronary artery)
Decrease: Ees,lvf, Increase: P0,lvf  A more complex set of changes/interactions
Septic shock:
–
–
•
Increase: Rpul
Current Status:
•
Clinical results for Pulmonary Embolism
•
Simulated results for others
Cardiogenic shock:
–
–
•
Build up of fluid in pericardium
Decrease: dead space volume V0,pcd
Blood poisoning
Decrease: Rsys = systemic resistance
Hypovolemic shock:
–
Severe decrease in total blood volume = sum of individual volumes
A Healthy Human Baseline
Output
Value
Volume in left ventricle
111.7/45.7 ml
Volume in right ventricle
112.2/46.1 ml
Cardiac output
5.3 L/min
Max Plv
119.2 mmHg
Max Prv
26.2 mmHg
Pressure in aorta
116.6/79.1 mmHg
Pressure in pulmonary artery
25.7/7.8 mmHg
Avg pressure in pulmonary vein
2.0 mmHg
Avg pressure in vena cava
2.0 mmHg
Simulation of Disease States
•
Pericardial Tamponade
Ppu – 7.9 mmHg
CO – 4.1 L/min
MAP – 88.0 mmHg
•
Pulmonary Embolism: Rpul increases as embolism induced
~60-75% change in mean value
•
All other disease states similarly capture physiological trends and magnitudes
Integral Method - Concept
x  ax  b sin( t )  c, x (0)  1
a  0.5, b  0.2, c  0.8
•
Discretised solution analogous to
measured data
(simple example with
analytical solution )
• Work backwards and find a,b,c
• Current method – solve D. E. numerically or
analytically
1.85
x (t ) 
1.8
 (ab cos t  ba 2 sin t  ca 2  c ))
1.75
1.7
- Find best least squares fit of x(t) to the data
1.65
x
- Non-linear, non-convex optimization,
computationally intense
1.6
q
1.55
1.5
P1  P2
R
• integral method
– reformulate in terms of integrals
1.45
1.4
12
1
( eat ( a  c  ab  ca 2  a 3 )
(a  1)a
2
– linear, convex optimization, minimal computation
13
14
15
16
time
17
18
19
Integral Method - Concept
Integrate x  ax  b sin( t )  c, both sides from t0 to t ( t0  4 )
•
t x dt  t (ax  b sin( t )  c) dt
t
t
0
0
 x(t )  x(t0 )  a t x dt  b t sin( t ) dt  c t 1 dt

•
t
t
t
0
0
0
x(t )  x(t0 )  a t x dt  b(cos( t0 )  cos(t ))  c(t  t0 )
t
0
Choose 10 values of t, between t0  4 and 6 form 10 equations in
3 unknowns a,b,c
a tt x dt  b(1  cos( ti ))  c(ti  t0 )  x (ti )  x (t0 ), i  1,,10
0
Integral Method - Concept
 tt x dt cos( t0 )  cos( t1 ) t1  t0  a   x (t1 )  x (t0 ) 

  

 

  b   


 t
  

x
dt
cos(
t
)

cos(
t
)
t

t
c
x
(
t
)

x
(
t
)

0
10
10
0  
0 
 10
t
1
0
10
0
•
Linear least squares (unique solution)
Method
Starting point
CPU time (seconds)
Solution
Integral
-
0.003
[-0.5002, -0.2000, 0.8003]
Non-linear
[-1, 1, 1]
4.6
[-0.52, -0.20, 0.83]
Non-linear
[1, 1, 1]
20.8
[0.75, 0.32, -0.91]
•
Integral method is at least 1000-10,000 times faster depending on starting point
•
Thus very suitable for clinical application
Adding Noise & ID
•
•
•
Add 10% uniform distributed noise to outputs to identify
Conservative value that is larger than what has been encountered clinically
Sample at 100-200 Hz
•
Capture disease states, assume Ppa, Pao, Vlv_max, Vlv_min, chamber flows.
Identifying Disease State Using
All Variables - Simulated
•
•
Pericardial Tamponade: Find all parameters, look for change in V0,pcd
Change
True value
(ml)
Optimized
Value
Error (%)
First
180
176
2.22
Second
160
158
1.25
Third
140
138
1.43
Fourth
120
117
2.50
Fifth
100
100
0
•
All other variables
effectively unchanged
from baseline
Pulmonary Embolism: Find all parameters, look for change in Rpul
Change
True value
(mmHg s ml-1)
Optimized Value
Error (%)
First
0.1862
0.1907
2.41
Second
0.2173
0.2050
5.67
Third
0.2483
0.2694
8.50
Fourth
0.2794
0.2721
2.60
Fifth
0.3104
0.2962
4.59
•
All other variables
effectively unchanged
from baseline
Identifying Disease State Using
All Variables - Simulated
•
•
Cardiogenic shock: Find all parameters, look for change in [Ees,lvf, P0,lvf]
Change
True values
Optimized
Value
Error (%)
First
[2.59,0.16]
[2.61,0.15]
[0.89,5.49]
Second
[2.30,0.19]
[2.30,0.18]
[0.34,4.39]
Third
[2.02,0.23]
[2.02,0.21]
[0.43,8.03]
Fourth
[1.73,0.26]
[1.70,0.24]
[1.48,9.85]
Fifth
[1.44,0.30]
[1.43,0.27]
[0.47,9.39]
•
All other variables
effectively unchanged
from baseline
•
All other variables
effectively unchanged
from baseline
Septic Shock: Find all parameters, look for change in Rsys
Change
True value
(mmHg s ml-1)
Optimized
Value
Error (%)
First
1.0236
1.0278
0.41
Second
0.9582
0.9714
1.37
Third
0.8929
0.8596
3.73
Fourth
0.8276
0.8316
0.49
Fifth
0.7622
0.7993
4.86
Identifying Disease State using
All Variables - Simulated
•
Hypovolemic Shock: Find all parameters, look for change in total stressed blood volume
Change
True value
(ml)
Optimized
Value
Error (%)
First
1299.9
1206.5
7.18
Second
1177.3
1103.7
6.26
Third
1063.1
953.8
10.28 (hmm!)
Fourth
967.8
1018.9
5.28
Fifth
928.5
853.4
8.10
•
All other variables
effectively unchanged
from baseline
New for MCBMS! Clinical Results
•
•
Pulmonary embolism induced in pigs (collaborators in Liege, Belgium)
Identify changes in Rpul including reflex actions and all variables
•
•
Use only: Pao, Ppa, min/max(Vlv, Vrv) to ID all parameters
Far fewer measurements than in simulation
Left Ventricle (30 mins)
Right Ventricle (30 mins)
Animal Model Results – PV loops
Left Ventricle
(120 mins)
Left Ventricle
(180 mins)
Right Ventricle
(120 mins)
Right Ventricle
(120 mins)
Animal Model Results Over Time
PV loops (Pig 2)
Pulmonary resistance
(Pig 2)
Reflex actions
(Pig 2)
Septum
Volume
(Pig 2)
Right ventricle
expansion index
(Pig 2)
Rpul – All pigs
Conclusions
•
Minimal cardiac model  simulate time varying disease states
– Accurately captures physiological trends and magnitudes
– Accurately captures a wide range of dynamics
– Fast simulation methods available
•
Integral-based parameter ID  patient specific models
– Simulation: ID errors from 0-10%, with 10% noise
– Animal model: Pressures (Total Error) =2.22±2.17 mmHg (< 5%)
Volumes (Total Error) = 2.37±2.01 ml (< 5%)
•
Identifiable using a minimal number of common measurements
– Rapid ID method, easily implemented in Matlab
– Rapid ID = Rapid diagnostic feedback
•
Future Work = septic shock (Dec 2006), and other disease states (2007)
Acknowledgements
Engineers and Docs
Dr Geoff Chase
Dr Geoff Shaw
Belgium
Dr Thomas Desaive
The Danes The Honorary
Danes
Prof Steen
Andreassen
Dr Bram Smith
Honorary Kiwis
Christina Starfinger
Questions ???
Download