Требования к протоколу
|
Type
|
Level
|
MID
|
UID
|
PREFIX
|
STATUS
|
CANCEL_REASON
|
TAGS
|
REFS
|
Title
|
Statement
|
Rationale
|
Comment
| ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
TEXT
|
|
|
Термины:
Протокол содержит идентификатор, ревизию документа, ссылку на схему, название, описание и упорядоченную последовательность шагов. Каждый расходник протокола имеет локальный идентификатор, назначение, место и ссылку на модель. Планшет содержит описание состава одной типовой лунки. Состав включает названия компонентов, роли при необходимости и объёмы. Описание предполагает одинаковое содержимое всех рабочих лунок. Оно не утверждает, что все лунки заняты. |
|||||||||||||||||||||||||
|
SECTION
|
1 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Храните ссылку на схему в объекте schema отдельно от ревизии протокола (as in [LINK: VER-001]). |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Храните даты в формате RFC 3339. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Запрещайте неизвестные обязательные типы шагов. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Разрешайте чтение неизвестных необязательных метаданных. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Определите обязательность каждого поля через JSON Schema. |
|||||||||||||||||||||
|
SECTION
|
2 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Ссылайтесь на совместимую модель прибора по UUID и ревизии определения. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте требуемые возможности через required_capabilities. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Не привязывайте протокол к серийному номеру прибора. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Разрешайте ограничение минимальной версии исполнителя. |
|||||||||||||||||||||
|
SECTION
|
3 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Объявляйте каждый расходник протокола один раз. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Назначайте каждому расходнику протокола локальный идентификатор. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Ссылайтесь на модель расходника по UUID и ревизии определения. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Назначайте расходник посадочному месту. Разрешайте назначать одному месту несколько расходников, используемых в разные моменты выполнения протокола. |
Смена расходника во время выполнения относится к исполнителю. Шаг ссылается на используемый расходник, а не непосредственно на место. |
||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Проверяйте наличие каждого выбранного планшета в списке supported_plates модели прибора. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Проверяйте наличие каждого выбранного колпачка в списке supported_sleeves модели прибора. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте назначение расходника в протоколе. |
Допустимые назначения первой версии:
|
||||||||||||||||||||
|
SECTION
|
4 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Проверяйте наличие определения каждого компонента, на который ссылается состав наполнения |
Порядок полей JSON не влияет на ссылки. Определение может находиться внутри протокола. |
||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Указывайте объём на одну лунку. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Сравнивайте сумму объёмов компонентов одной лунки с максимальным рабочим объёмом для совместимого планшета. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Храните цвет только как редакторскую подсказку. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Не используйте цвет для исполнительной логики. |
|||||||||||||||||||||
|
SECTION
|
5 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Представляйте протокол упорядоченным массивом шагов. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Назначайте каждому шагу уникальный UUIDv4, не зависящий от названия, типа и положения шага в последовательности. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте тип шага через поле kind. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Связывайте технологический шаг с расходником через ссылку. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Не связывайте шаг напрямую с посадочным местом. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Не храните координаты осей в технологическом шаге. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Не храните номера двигателей в технологическом шаге. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Указывайте ограниченный тайм-аут для ожидающих шагов. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте допустимую политику ошибки через перечисление. |
Политика первой версии должна поддерживать abort и operator_decision. |
||||||||||||||||||||
|
SECTION
|
6 |
|
|
|
|
|||||||||||||||||||||||
|
TEXT
|
|
|
|
|||||||||||||||||||||||||
|
SECTION
|
6.1 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте число повторов целым положительным значением. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Описывайте перемешивание массивом стадий. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Указывайте амплитуду в миллиметрах. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Указывайте скорость в миллиметрах в минуту. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Children:
|
Указывайте длительность или число циклов. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Запрещайте одновременное указание двух режимов завершения. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Описывайте исходное положение колпачка относительно дна лунки или расчётного уровня жидкости. |
Уровень жидкости относится к состоянию без колпачка. Максимальный рабочий объём не определяет уровень после погружения. |
Примеры положений: above_liquid, liquid_surface, liquid_middle, well_bottom_offset. |
|||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Определите единицы и допустимый диапазон амплитуды. |
Расчёт фактической траектории выполняет внешняя система. |
||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Определите допустимый диапазон технологической скорости по справочнику модели прибора. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Указывайте лабораторное назначение перемешивания в поле purpose одним из значений lysis, wash, drying, elution или custom. |
|||||||||||||||||||||
|
SECTION
|
6.2 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Связывайте сбор и высвобождение магнитных частиц с целевым планшетом. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Для сбора магнитных частиц указывайте положительное целое число циклов и положительную длительность удержания в секундах. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Для высвобождения магнитных частиц указывайте исходное положение колпачка и положительную длительность в секундах. |
|||||||||||||||||||||
|
SECTION
|
6.3 |
|
|
|
|
|||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Связывайте нагрев с целевым расходником. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Определяйте нагреватель через посадочное место. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Проверяйте наличие нагревателя у места. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Проверяйте температуру по безопасному диапазону прибора. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Разделяйте установку температуры и ожидание температуры. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Parents:
|
Указывайте допустимое отклонение температуры. |
|||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
Указывайте тайм-аут ожидания. |
||||||||||||||||||||||
|
REQUIREMENT
|
|
|
|
|
|
|
Определяйте действие нагревателя после завершения протокола. |