ГОСТ ISO/HL7 21731—2013
7.1.11 Класс ManagedParticipation (в предметной области Acts)
Атрибуты класса ManagedParticipation:
- id:: SET<II>
- statusCode:: CS>
Класс ManagedPartidpation является специализацией класса Participation.
Определение
к
лассаManagedParticipation:
участие, которое может меняться с течением времени,
в связи с чем его состоянием и идентичностью надо управлять.
Примеры:
лечащий врач пациента может уйти в отпуск, поэтому важно знать, когда его участие
возобновится.
Обоснование:
класс ManagedParticipation определен как подкласс класса Participation, чтобы явно
указать, что не все участия не имеют состояния. В общем случае, если о подзадаче, реализуемой с помо
щью участия, надо иметь больше информации, и этой подзадачей надо управлять, то вместо применения
парадигмы участия НАДО моделировать эту подзадачу как компонент основного действия.
Однако в некоторых случаях представление о том. вчем именно состоят эти подзадачи и что именно
выполняют участники, является не очень определенным и поэтому их моделирование вформе компонен
тов оказывается неоднозначным или затруднительным. Для таких случаев предназначен класс
ManagedPartidpation. который расширяет базовый класс Participation двумя атрибутами: идентификатором id
и кодом состояния statusCode. Классы ManagedPartidpation должны применяться с чрезвычайными пре
досторожностями, чтобы избежать путаницы с действиями, моделируемыми в виде классов Act. и не со
здаватьдля участий инфраструктуру управления, подобную той. что уже существует для действий.
В следующих подпунктах описаны атрибуты класса ManagedParticipation.
7.1.11.1 ManagedParticipation.id:: SET<II> (0..*)
Определение:
уникальный идентификатор, с помощью которого можно идентифицировать конкретный
экземпляр класса ManagedParticipation среди всех экземпляров этого класса, имеющих ассоциации с тем
же самым экземпляром класса Act и с тем же самым экземпляром класса Role. (См. описание класса
ManagedPartidpation.)
7.1.11.2 ManagedParticipation.statusCode:: CS (0..1)
Словарныйдомен:
ManagedPartidpationStatus (CNE)
Определение:
код. указывающий, описывает ли экземпляр класса ManagedParticipation готовящее
ся, активное, завершенное или отмененное участие. (См. описание класса ManagedParticipation.)
7.1.11.3 Переходы состояний класса ManagedParticipation
Диаграмма перехода состояний класса ManagedPartidpation показана на рисунке 7. Управляемое
участие может иметь следующие состояния:
- active (активно) — подсостояние состояния normal: это состояние отражает тот факт, что участие
продолжается:
- cancelled (отменено) — подсостояние состояния normal: участие было отмененодо того, как стало
активным;
- completed (завершено)— подсостояние состояния normal: участие успешно завершено;
- normal (нормальное): «типичное» состояние. Исключает состояние nullified, которое указывает, что
экземпляр участия был создан по ошибке;
- nullified (аннулировано): это состояние является терминальным состоянием экземпляра участия,
созданного по ошибке;
- pending (готовящееся)— подсостояние состояния normal: это состояние отражает тот факт, что уча
стие еще не стало активным.
Между состояниями действия возможны следующие переходы:
- revise (пересмотреть)— из состояния active в состояние active;
- complete (завершить) — из состояния active в состояние completed;
- reactivate (активизировать заново)— из состояния completed всостояние active;
- revise (пересмотреть) — из состояния completed в состояние completed;
- nullify (аннулировать)— из состояния normal всостояние nullified;
- create (создать) — из начального (пустого) состояния в состояние active;
- create (создать) — из начального (пустого) состояния в состояние completed:
- create (создать) — из начального (пустого) состояния в состояние pending;
- activate (активизировать) — из состояния pending всостояние active;
- cancel (отменить) — из состояния pending в состояние cancelled;
- revise (пересмотреть) — из состояния pending в состояние pending.
39