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® выражение для генерации списка времени дозы (график дозы) всякий раз, когда событие изменяет какой-либо параметр дозы, используя обновленные значения параметров:

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'
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.