ГОСТ Р HCO/HL7 27951—2016
В.1.12.2 Свойство longName: CS
Определение: значение типа CS. содержащее полное имя типа данных.
В.1.12.3 Свойство implies: BN
Тип данных вытекает (implies) из другого типа данных, если он имеет тот же тип или является его специали
зацией.
В.2 Базовые типы
В.2.1 Тип данных Boolean (BL) (специализация типа данных ANY)
Определение: тип данных BL описывает значения двузначной логики. Значением типа BL может быть или
«trueи (истина), или «false» (ложь), или. как и у других значений. NULL (пустое).
literal
type Boolean alias BL specializes ANY
values(true, false) (
BL and(BL x);
BL not;
ST;
BL or(BL x);
BL xor(BL x);
BL implies(BL x);
I;
При наличии пустого значения NULL двузначная логика расширяется до трехзначной в соответствии с табли
цей В.4.
Таблица В.4 — Таблицы истинности для булевской логики с пустыми значениями
ANDtruefalseNULL
truetruefalseNULL
falsefalsefalsefalse
NULLNULLfalseNULL
ORtrue
falseNULL
truetrue
truetrue
falsetrue
falseNULL
NULLtrue
NULLNULL
NOT
truefalse
falsetrue
NULLNULL
Когда булевская операция выполняется над двумя экземплярами типа данных, имеющими разные причины
пустоты nullFlavor. то причиной пустоты результата является первый общий предшественник этих двух разных
значений nullFlavor. Однако приложения, соответствующие настоящему стандарту, могут выбрать любого общего
предшественника.
В.2.1.1 Свойство not: BL
Определение: отрицание (not) значения типа BL превращает «true» 8 «false», «false» 8 «true» и NULL в NULL.
invariant (BL x) (
true.not.equal(false);
false.not.equal(true);
x.isNull.equal(x.not.isNull);
1;
B.2.1.2 Свойство and: BL
Определение: конъюнкция (and) является ассоциативной и коммутативной, при этом в качестве нейтрально
го элемента выступает значение «true». Конъюнкция значения «false» с любым булевским значение дает результат
«false». Эти правила справедливы, даже если один или оба операнда пусты (NULL). Конъюнкция двух операндов
со значением NULL дает результат NULL.
invariant(BLх)
\
x.and(true).equal(x);
x.and(false).equal(false);
x.
isNu
11.implies(x.and(y)
.isNull);
);
B.2.1.3 Свойство or: BL
Определение: дизъюнкция x or у дает результат «false» в том и только том случае, когда х имеет значение
«false» и у имеет значение «false».
302