exponenta event banner

EventMode

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

Описание

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

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

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

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

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

scheduledExImes = StartTime + (0:RepeatCount) * Интервал + Отставание,

где 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'
amountParam = 
   SimBiology Parameter Array

   Index:    Name:    Value:    Units:   
   1         A        50        milligram

rateParam                  = addparameter(model,'R',10);
rateParam.ValueUnits       = 'milligram/hour'
rateParam = 
   SimBiology Parameter Array

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

Создание дозы с ее помощью Amount и Rate для свойств установлены параметры величины и скорости «A» и «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 для свойства stop. Эта настройка приводит к тому, что любое продолжающееся событие дозы останавливается на 26 часах.

dose.EventMode = 'stop';

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

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

Figure contains an axes. The axes contains 2 objects of type line. These objects represent drug, A.

Кроме того, можно разрешить завершение текущего события дозы перед применением нового количества дозы путем установки EventMode для продолжения.

dose.EventMode = 'continue';

Моделирование модели. При этом событие второй дозы продолжается до 26 часов.

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

Figure contains an axes. The axes contains 2 objects of type line. These objects represent drug, A.