ГОСТ Р HCO/HL7 27951—2016
На формальном языке определения типов данных параметризованные расширения типовданных могут быть опи
саны следующим шаблоном *template<ANY Т> typeGenericrypeExtensi’onWarnespecializes Т { ... };». Эти расши
рения наследуют большинство свойств своего базового типа данных и добавляют к ним некоторые специфичные
свойства. Поскольку параметризованное расширение типаданных является специализацией своего базового типа,
то значение расширения типа данных гложет быть использовано в качестве значения своего базового типа данных.
П ри м ечание — Значения расширенных типов могут быть подставлены вместо значений своего базо
вого типа. Однако в спецификации реализуемой технологии могут быть наложены некоторые ограничения на то.
какие расширения являются приемлемыми. В частности, расширения не должны определяться для тех компонен
тов. которые содержат значения свойств типов данных. Таким образом, хотя любые значения данных могут быть
аннотированы вне спецификации типа данных, спецификация реализуемой технологии может не
предусматривать способ аннотирования свойства типаданных. В настоящее время комитет HL7 не позволяет
использовать параме тризованные расширения типов данных за исключением тех ситуаций, когда такие
расширения явно разрешены (в настоящей спецификации или в других спецификациях комитета HL7) для тех
вариантов использования, где важна такая сложная функциональность. В этих случаях экземпляры указанных
параметризованных расширений типов данных должны быть специально и явно отражены в моделях HL7 RIM.
MIM, RMIM и HMD (если применимы) в результате утверждения техническим комитетом1).
В.4.1 Тип данных компонента истории HXIT (специализация типа данных Т)
Определение: параметризованный тип данных, добавляющий интервал времени к любому значению любого
типа данных. Этот интервал указывает время, в течение которого информация, представленная данным значени
ем. действительна или была действительна.
Если базовый тип данных Т не обладает свойством validTime (время действительности), то тип данных НХГГ
добавляет эту функциональность к базовому типу. Если же базовый тип данных Т обладает свойством времени
действительности (в настоящее время это свойство имеется только у типа данных EN), то это свойство отобража ется
на свойство времени действительности, предусмотренное в типе данных HXIT2’.
template<ANY Т>
type Historyltem<T> alias KXIT*T> specializes T |
IVL<TS> validTime;
);
B.4.1.1 Свойство validTime: IVL<TS>
Определение: интервал времени, в течение которого данная информация была действительной, либо явля
ется действительной, либо ожидается действительной. Любой конец интервала может быть открытым или закры
тым. бесконечным или неопределенным.
В.4.2 Тип данных истории HIST (специализация типа данных SET<HXIT>)
Определение: множество значений данных, имеющих свойство времени действительности и тем самым со
ответствующих типу данных HXIT. Информация об истории не ограничена прошлым, в ней могут присутствовать
ожидаемые будущие значения.
Тип данных HIST предназначен для хранениядействительных исторических (и будущих) значений элемента,
а не для журнализации значений, которые конкретная система присваивала этому элементу.
templatesANY Т>
type History<T> alias KIST«T> specializes SET-cHXITrT» I
HXIT<T> earliest;
HIST exceptEarliest;
HXIT<T> latest;
HIST exceptLatest;
Настоящий стандарт накладывает на себя определенные ограничения, обеспечивающие существующим
системам удобный переход на него. Однако в формальной спецификации параметризованные расширения со
хранены как подставляемые вместо своих базовых типов. В будущем это самоограничение может быть отменено. В
новых разработках рекомендуется предусмотреть некоторую обобщенную поддержку этих параметризованных
расширений типов данных.
2| Следует учесть, что типы данных являются спецификациями абстрактных свойств значений. Настоящий
стандарт не указывает, как эти значения должны быть представлены в спецификации реализуемой технологии или
реализованы в прикладной программе. В частности, он не указывает, как представленные компоненты должны
быть поименованы или в каком порядке они должны следовать. Кроме того, семантическая иерархия генерализа ции
может отличаться от иерархии классов, выбранной для реализации (если технология реализации обеспечи вает
наследование). Следует помнить о различии между типом (интерфейсом) и реализацией (конкретной струк турой
данных, классом). Спецификация реализуемой технологии должна содержать отображение свойств любого
определенного в ней типа данных на семантические свойства, определенные в настоящем стандарте.
398