exponenta event banner

EventMode

Определите, как события, которые изменяют параметры дозы, влияют на происходящее дозирование

Описание

EventMode является свойством объектов ScheduleDose и RepeatDose. Это свойство определяет, продолжить ли продолжающуюся дозу, то есть, дозу с уровнем вливания не по умолчанию или длительностью дозы, к завершению, когда событие изменяет параметр, на который ссылается свойство дозы. Свойства дозы, которые можно параметризовать: Amount, Rate, Interval, StartTime, RepeatCount, LagParameterName и DurationParameterName.

Если EventMode установлен в 'continue', продолжающаяся доза продолжается к завершению, когда параметры дозы изменений события и обновленные параметры влияют только на последующие дозы. Если EventMode установлен в 'stop', продолжающаяся доза останавливается сразу, когда параметры дозы изменяются, и последующие дозы используют обновленные параметры.

Чтобы решить, был ли параметр изменен, SimBiology сравнивает старое значение параметра к новому значению. Например, следующее событие не изменяет значение параметров doseStartTime: addevent(model,'time >= 5','doseStartTime = doseStartTime * 1').

Любое изменение в параметрах дозы влияет на расписание сгенерированных доз. Если симуляция достигает момента времени для запланированной дозы, доза применяется. Если событие изменяет параметры дозы, SimBiology обновляет расписание дозы, игнорирует любые дозы, запланированные перед текущим временем симуляции, и применяет только последующие дозы. Предположим, что вы параметризовали свойство StartTime дозы. Обновление параметра с событием вызывает, чтобы регенерировать расписание дозы. Если существуют какие-либо ранее запланированные дозы перед текущим временем симуляции, они проигнорированы.

По умолчанию SimBiology® использует следующее выражение MATLAB®, чтобы сгенерировать список времен дозы (расписание дозы) каждый раз, когда событие изменяет любой параметр дозы, с помощью обновленных значений параметров:

scheduledDoseTimes = StartTime  + (0:RepeatCount) * Interval + Lag,

где StartTime, RepeatCount и Interval являются свойствами объекта дозы. Lag является параметром задержки для дозы, на которую ссылается свойство LagParameterName.

Характеристики

ПрименяетсяОбъекты: RepeatDose, ScheduleDose
Тип данныхСимвольный вектор
Значения данных

'stop' (значение по умолчанию) или 'continue'

ДоступЧтение-запись

Примеры

развернуть все

Создайте простую модель с линейным устранением, параметром суммы и параметром уровня.

model                      = sbiomodel('simple model');
compartment                = addcompartment(model,'Central',1);
compartment.CapacityUnits  = 'liter';
species                    = addspecies(model,'drug');
species.InitialAmountUnits = 'milligram';

% Elimination rate
elimParam                  = addparameter(model,'kel',0.1);
elimParam.ValueUnits       = '1/hour';

% Elimination reaction
reaction                   = addreaction(model,'drug -> null');
reaction.ReactionRate      = 'kel*drug';

% Add amount and rate parameters
amountParam                = addparameter(model,'A',50);
amountParam.ConstantValue  = false;
amountParam.ValueUnits     = 'milligram'
   SimBiology Parameter Array

   Index:    Name:    Value:    ValueUnits:
   1         A        50        milligram
rateParam                  = addparameter(model,'R',10);
rateParam.ValueUnits       = 'milligram/hour'
   SimBiology Parameter Array

   Index:    Name:    Value:    ValueUnits:
   1         R        10        milligram/hour

Создайте дозу с ее набором свойств Amount и Rate к сумме и параметрам уровня и 'R', соответственно.

dose                       = adddose(model,'adaptive dose','repeat');
dose.Amount                = 'A';
dose.Rate                  = 'R';

Установите другие свойства дозы.

dose.TargetName            = 'drug';
dose.StartTime             = 0;
dose.TimeUnits             = 'hour';
dose.Interval              = 24;
dose.RepeatCount           = 7;

Подготовьте конфигурацию модели, чтобы моделировать модель в течение 7 дней.

configset           = getconfigset(model);
configset.StopTime  = 7*24;
configset.TimeUnits = 'hour';

Добавьте, что событие, чтобы сбросить дозу составляет 10 во время> = 26.

event = addevent(model,'time >= 26','A = 10');

Установите свойство EventMode 'остановиться'. Эта установка заставляет любое продолжающееся событие дозы останавливаться в 26 часов.

dose.EventMode = 'stop';

Моделируйте модель. Вторые остановки события дозы в 26 часов и последующие события дозы продолжают новую сумму дозы 10.

[time, drugAndAmount] = sbiosimulate(model,dose);
figure
plot(time, drugAndAmount); 
legend('drug','A');

Также можно позволить продолжающемуся событию дозы заканчиваться прежде, чем применить новую сумму дозы установкой EventMode, чтобы 'продолжиться'.

dose.EventMode = 'continue';

Моделируйте модель. В этом случае второе событие дозы продолжается к 26 часам.

[time, drugAndAmount] = sbiosimulate(model,dose);
figure
plot(time, drugAndAmount); 
legend('drug','A');