ГОСТ Р ИСО 13606-2—2012
allow_archetype SECTION occurrences • {0..*} « {
include
id « {/.*\.iso-ehr\.sectionV..*\..*/)
exclude
id « {/.*\.iso-ehrV.section\.patient_details\..*/)
}
}
>
В ограничении слота архетипа можно указать, чтодопустимый архетипдолжен содержатьопределен
ное ключевое слово или определенный путь.
8.2.3.10 Смешанные структуры
Выше были описаны три типа структур, описывающих ограничения комплексных объектов:
- структуры комплексных объектов— любой узел, начинающийся именем типа, за которым следуют
фигурные скобки, внутри которых содержатся ограничения атрибутов, инварианты и т.д.;
- внутренние ссылки — ссылка на любой узел, начинающаяся ключевым словом use_node. за кото
рым следует имя типа; такие узлы соответствуют ограничению комплексного объекта, определенного в
этом же архетипе ранее;
- слоты архетипов — любой узел, начинающийся ключевым словом allow_archetype, за которым сле
дует имя типа; такие узлы задают ограничение комплексного объекта, определенное в каком-либо другом
архетипе.
В любом узле все три типа структур могут сосуществовать.
Пример
SECTION [at2000] е {
items cardinality е {0..*; ordered)е {
ENTRY [at2001] e {- - и т.д. - -}
allow_archetype ENTRY e {- - и т. д. - -}
use_node ENTRY [at0001]/some_path[at0004]/
ENTRY [at2002] e {- - и т.д. - -}
use_node ENTRY /[at1002]/some_path[at1012J/
use_node ENTRY /[at1005]/some_path[at1052J/
ENTRY[at2003] e {- - и т. д. - -}
}
>
8.2.4 Ограничения примитивных типов данных
8.2.4.1 Общая информация
В языке cADL ограничения атрибутов, имеющих примитивные типы данных, могут факультативно
формулироваться без имени типа. Один уровень фигурных скобок может быть опущен.
Пример
some_attr matches {some_pattem}
вместо:
some_attr matches {
PRIMITIVE_TYPE matches {
some_pattern
}
>
8 2.4.2 Ограничения строк
8.2.4.2.1 Общая информация
Строки могут быть ограничены двумя способами: с использованием фиксированной строки и с ис
пользованием регулярного выражения. Все ограничения строк чувствительны к регистру ввода.
8.2.4.2.2 Список строк
Атрибут со строковым значением может быть ограничен списком строк (с использованием синтаксиса
языка dADL для списков строк), включая простую одиночную строку.
Пример
species matches {"platypus")
species matches {"platypus", "kangaroo")
species matches {“platypus", "kangaroo", "wombat")
72