ГОСТ Р HCO/HL7 27951—2016
В.2.27.1 Свойство упорядочения lessOrEqual: BL
Определение: предикат, выражающий рефлексивное, симметричное и транзитивное отношение порядка
между двумя значениями количества.
Отношение lessOrEqual определено на полностью упорядоченном подмножестве типа данных Quantity, то
есть подмножестве, для всех элементов которого задан определенный порядок (например, целые и вещественные
числа полностью упорядочены).
Напротив, в частично упорядоченном множестве некоторые, но не все пары элементов сопоставимы с по
мощью отношения порядка (например, структура дерева или множество физических величин представляют со бой
частично упорядоченные множества). Два значения данных х и у упорядоченного типа данных сопоставимы
(x.compares(y)), если между ними существует отношение lessOrEqual (меньше или равно) в ту или иную сторону (х
S у или у S х).
Отношение частичного порядка генерирует полностью упорядоченные подмножества, объединение которых
составляет полное множество (например, множество всех величин длины является полностью упорядоченным
подмножеством во множестве всех физических величин).
Например, структура дерева частично упорядочена, если корень считать меньше или равным листу, но при
этом отношения порядка между листьями может не быть. Физические величины также частично упорядочены, по
скольку отношение порядка определено только для величин одной размерности (например, между двумя длина
ми, но не между длиной и временем). Полностью упорядоченное подмножество дерева представляет собой путь,
который транзитивно соединяет лист с корнем. Физическая размерность времени представляет собой полностью
упорядоченное подмножество физических величин.
•invariant (QTY х, у,
г\
where x.nont*ull.and(y.nonNulll.sna(z.nontiulll
\
x.
lessOrEqual
<x>
;/* рефлексивное
*?
/* асимметричное
*/
l*
транзитивное */
x.lessOrEqual(y(.implies(у.lessOrEqual(x>},not;
x.lessOrEqual(y!.and(y.lessOrEqualu>)
.impliestx.lessOrEqual(z>>
i ;
B.2.27.2 Свойство equal: BL (унаследовано от типа данныхANY)
Определение: равенство является рефлексивным, симметричным и транзитивным отношением между дву
мя значениями данных. Равенство возможно только между правильными значениями, пустые значения никогда не
равны (даже если имеют одинаковую причину пустоты).
у
2
2
x.equal(y>.equal(y.equal(x>l;
x.
equal<>
.and(y.
equal(}l.implies(x.equal(}>
x.equal(y).Implies(x.dataType.equal(y.dataType>;
If
Способ установления равенства должен быть определен для каждого типа данных. Если иное не указано,
то два значения данных равны, если они не различимы, то есть если у них нет различающихся семантических
свойств. Это общее определение равенства может быть *переолределеноо в типе данных с помощью указания
собственного отношения равенства. Такое переопределение отношения равенства гложет быть использовано для
исключения семантических свойств из проверки на равенство. Если в типе данных какие-то семантические свой
ства исключены из его определения равенства, это означает, что определенные свойства (или аспекты свойств),
не ставшие частью проверки на равенство, не существенны для смысла значения.
Например, физическая величина имеет два семантических свойства: (1) вещественное число. (2) кодирован
ная единица измерения. Однако при проверке на равенство необходимо учитывать тот факт. что. к примеру. 1 метр
равен 100 сантиметрам. Таким образом, независимые равенства двух семантических свойств являются слишком
строгим критерием равенства двух величин. Поэтому в определении типа данных физической величины необходи
мо переопределить отношение равенства.
В.2.27.3 Свойство compares: BL
Определение: предикат, указывающий, чтоданное значение и операнд являются сравнимыми и можно опре
делить. какое из них больше другого.
Две величины являются сравнимыми, если они являются элементами общего полностью упорядоченного
подмножества пространства значений их типовданных. Определение сравнения основано на свойстве lessOrEqual.
invariant(Quantity х, у, z)
where x.nonKull.and(y.nonNull>,and(z.nonNuli; (
x,.equal(x>;
/*
retlexivity
*/
/» symmetry */
/*
transitivity
*/
356