ГОСТ Р HCO/HL7 27951— 2016
Например, представление в виде масштабированного целого числа обеспечивает фиксированную точность и отно
сительно небольшой диапазон значений. Представление в виде числа с плавающей точкой обеспечивает перемен
ную точность и большой диапазон значений, однако информация о точности при этом потеряна. Представление в
виде десятичного числа обеспечивает переменную точность и сохраняет информацию о точности {но при этом
медленнее обрабатывается). Семантика типов данных должна не зависеть от таких случайных свойств различных
представлений и должна определять существенные свойства, которые могут быть представлены с помощью лю бой
технологии.
В.1.5 Необходимость в стандарте типов данных HL7
Зачем комитету HL7 понадобился собственный стандарт типов данных? Почему нельзя было просто
воспользоваться стандартом другого разработчика?
Как упоминалось в предыдущем разделе, во всех технологиях реализации, предложенных комитетом HL7.
используется некоторая система типов данных, но в разных технологиях системы типов данных обладают опреде
ленными отличиями. Кроме того, во многих технологиях реализации используемая система типовданных является
недостаточно мощной для представления понятий, необходимых в стандартах HL7 прикладного уровня.
Например, понятия физических величин, точности, диапазонов, отсутствующих значений и неопределенно
сти. необходимые в научных вычислениях и при обработке информации в сфере здравоохранения, предусмотрены
мало в каких технологиях реализации.
С другой стороны, в технологиях реализации проводятся различия, которые не релевантны абстрактной
семантике, например, вещественные числа с фиксированной и плавающей точкой. 8.16. 32 или 64-битовые целые
числа, дата и время и штамп даты и времени.
Для данной спецификации в качестве входной информации использовался целый ряд систем типов данных.
К ним относятся системы, используемые в основных языках программирования, включая BASIC. Pascal. MODULA-2,
С, C++, JAVA. ADA. LISP и SCHEME. Использовались и системы типов данных, не зависящие от языков
програм мирования. например. Абстрактная синтаксическая нотация версии один (АСН.1), язык описания
интерфейсов IDL (Interface Definition Language) и язык объектных ограничений OCL {Object Constraint Language),
разработанные орга низацией OMG (Object Management Group), языки манипулирования данными SQL92 и SQL 99.
не зависящие от язы ка типы данных, описанные в стандарте ИСО 11404. а также типы данных, описанные в
спецификации XML Schema Part 2. Рассматривались также типыданных, используемые в стандартах
информатизации здоровья, в том числе HL7 Версии 2.x. стандарты сообщений обмена медицинскими данными,
принятые техническим комитетом CEN ТС 251. архитектура электронной медицинской карты EHCRA(Electronic
Health Record Architecture) и стандарт DICOM.
В.1.6 Требования
При разработке типов данных, описанных в настоящей спецификации, учитывался ряд требований, включая
следующие:
- требования, связанные с процессом моделирования:
- требования реализации;
- совместимость с другими стандартами типов данных;
- функциональные требования, описанные в других стандартах HL7, где используются типы данных.
Среди них наибольшее внимание уделялось последней группе. Эти типы данных обеспечивают функцио
нальность. требуемую стандартами HL7. Все эти требования не всегда совместимы и в настоящей спецификации
можно найти ряд мест, где конкретное решение не слишком оптимально для какой-либо из четырех указанных
выше групп требований. В некоторых из этих случаев в подразделе требований перечислены конкретные требова
ния. в соответствии с которыми предложено данное решение. Эти подразделы требований являются не норматив
ными. а справочными.
Требование
В Эталонной информационной модели R1M определен ряд базовых классов, на которых основаны все ин
формационные модели предметных областей. Каждый из этих базовых классов имеет ряд атрибутов, которым
присвоены определенные типы данных. Когда эти классы используются (в качестве клонов) в моделях предметных
областей, тодля уточнения и ограничения использования атрибутов в клонированном классе типы данных атрибу
тов могут быть заменены другими типами.
В настоящей спецификации должны быть определены правила подобной замены типов данных. В качестве
основы для правил замены в ней используется метафора специализации, поскольку она понятна и широко исполь
зуется как в теории, так и на практике, и такие правила легче воспринимаются и управляются по сравнению с дру гими
альтернативами. Однако использование специализации может привести к результатам, которые некоторым могут
показаться непривычными.
В.1.7 Формы определений типов данных
В настоящей спецификации используется несколько форм определений типов данных, а именно текстовое
описание, диаграммы классов на языке UML. таблицы и формальное определение.
В.1.7.1 Язык формального определения типов данных
Формальное определение типов данных используется, чтобы наиболее однозначным образом описать се
мантику предлагаемых типов данных. Этот язык определения типов данных детально описан в подразделе В.1.9
«Введение в формальный язык определения типов данных DTDL (Formal Data Type Definition Language)».
283