ГОСТ Р HCO/HL7 27951—2016
целого числа с другим также представляет собой целое число. Поэтому для свойства целого числа «plus» (сложе
ние) требуется аргумент, а именно другое целое число.
Имеют ли семантические свойства аргументы или нет. не является сколько-нибудь принципиальным отли
чием. Семантическое свойство типа данных, не имеющее аргументов, не обязательно представляет собой «поле
комплексного типа данных». Например, для целочисленных значений можно определить свойство is-zero. прини
мающее булевское значение «true», если число равно нулю, и «false», если оно отлично от нуля. Это отнюдь не
означает, что свойство is-zero должно быть явным компонентом любого представления целого числа.
Семантическое свойство типа данных, имеющее аргументы, не имеет специфических операционных обо
значений наподобие «вызова процедуры», «передачи аргументов», «возвращения значений», «инициирования ис
ключений» и т. д. Все перечисленное относится к реализации типовданных в компьютерных системах, но не имеет
отношения к семантике типов данных.
Настоящий стандарт затрагивает только семантику типов данных. В нем не обсуждается ни синтаксис
представления значений (даже абстрактный синтаксис), ни интерфейс операций над значениями данных.
В. 1.4 Необходимость абстрагирования
Почему в настоящем стандарте делается такой акцент на абстрагирование от синтаксиса представле
ния и реализации операций?
Такой вид абстрактной семантической спецификации типа данных необходим в стандартах HL7 по весьма
практическим соображениям. Одной из важных особенностей конструирования стандартов HL7 Версии 3 является
открытость по отношению к технологиям представления и реализации. Предполагается, что все спецификации
стандартов HL7 Версии 3 будут представляться в форме, независимой от технологий представления и реализа
ции. Комитет HL7 отдает себе отчет о том. что какое-то время некоторые технологии представления и реализации
являются более популярными, но технологии подвержены изменениям, и при изменении технологии представле
ние данных также изменится. Основной областью применения стандартов HL7 является обработка информации в
сфере здравоохранения, не зависящая от технологии, обеспечивающей эту обработку. Комитет HL7 рассчитывает,
что спецификации, не зависящие от современной технологии, будут оставаться полезными даже после очередной
«смены технологической парадигмы».
Спецификация типовданных ближе к технологии реализации, нежели большинстводругих информационных
стандартов HL7. Поэтому существует определенная опасность, что описания типов данных окажутся слишком за
висимыми от современных технологий реализации.
Большинство стандартов HL7 посвящено сложным деловым объектам. Такие объекты, обладающие боль
шим числом информационных атрибутов, могут быть определены с помощью абстрактного синтаксиса, в котором
компоненты объектов описываются в терминах типов данных. Напротив, определение типов данных в терминах
абстрактного синтаксиса приносит мало пользы, поскольку компоненты соответствующих синтаксический кон
струкций сами должны иметь типы данных*’
Почему настоящий стандарт столь цикличен? Почему тип данных «ANY» определен в терминах спе
циализации самого себя?
Настоящий стандарт должен быть независимым от конкретной реализации, следовательно, абстрактным, не
предназначенным для реализации. В этом отношении цикличность не является проблемой, поскольку не вносит
никакой неопределенности в содержание спецификации.
Почему в настоящей спецификации не определен набор примитивных типов данных, с помощью ко
торых комплексные типы данных могут быть определены в терминах абстрактного синтаксиса?
Технология любой конкретной реализации стандартов HL7 должна опираться исключительно на встроенные
типы данных. Поэтому необходимо иметь возможность очень гибкого отображения абстрактных типов данных HL7
на типы данных, встроенные в конкретную технологию реализации. Соответствие спецификации реализуемой тех
нологии (ImplementaWe Technology Specification. ITS) семантической спецификации может быть обеспечено просто
с помощью отображения конструкций, используемых этой технологией, на семантику типов данных HL7 Версии
3. С точки зрения семантики не имеет никакого значения, является ли тип данных примитивным или
комплексным, и ответ может различаться для разных технологий реализации.
К примеру, настоящий стандарт описывает строку символов как тип данных со многими свойствами (напри
мер. кодировка, язык и т. д.). Однако во многих технологиях реализации строки символов являются примитивными
типами данных первого класса. Рекомендуется использовать такие нативные типы данных вместо структур, рабо
лепно представляющих все семантические свойства как «компоненты». Настоящий стандарт требует лишь то. что
свойства, определенные для значений данных, должны каким-то образом выводиться из выбранного представле
ния. а само представление особого значения не имеет. Не столь важно, используются ли «примитивные» или «ком
плексные» типы данных, с малым или большим числом «компонентов», определяемых как «поля» или «методы».
Другим примером могут служить такие представления вещественного числа, какдесятичное представление,
представление с плавающей точкой и представление в виде масштабированного целого числа. Все они являются
нативными для разных технологий реализации. Некоторые из них имеют свойства, которыми другие не обладают.
11 По этой причине Абстрактная синтаксическая нотация версии один (АСН.1). стандартизованная ISO. не
может рассматриваться как формализм, пригодный для семантических спецификаций типов данных.
282