ГОСТ Р HCO/HL7 27951—2016
Исключения:
- UnknownCodeSystem.
- CodcSystemNameldMismatch;
- UnexpectedError.
10.3.3 Проверка идентификатора понятия
Метод isConceptldValid определяет, является ли переданный ему идентификатор понятия дей
ствительным.
Входные параметры:
- conceptjd — проверяемый код понятия и его система кодирования:
- activeConceptsOnly — значение TRUE указывает, что действительными считаются только актив
ные понятия. Значение FALSE указывает, чтодействительным считается любой код понятия, известный
системе кодирования.
Исключения:
- UnknownCodeSystem;
- UnexpectedError.
10.3.4 Обозревание обозначения идентификатора понятия
10.3.4.1 Класс StringAndLanguage
Класс StringAndLanguage содержит поле текста и поле кода языка, ассоциированного с текстом.
Такая структура, состоящая из двух частей, существует по той причине, что код языка, возвращае мый
методом lookupDesignation и другими операциями, может отличаться от кода языка, указанного во
входных параметрах. Например, клиент мог запросить обозначение на языке с кодом «en-scouse»
(ливерпульский диалект английского языка), а служба может вернуть обозначение на английском языке
без указания диалекта (с кодом «еп»). Программному обеспечению клиента может потребоваться ин
формация о том. что возвращенное значение не точно совпадает с запрошенным.
В некоторых языках программирования связь с языком может являться частью возвращаемого
значения (например, при использовании протокола XML/SOAP). Для единообразия поле кода языка
language_code должно всегда передаваться в таких значениях, даже если оно избыточно.
10.3.4.2 Метод lookupDesignation
Метод lookupDesignation возвращает обозначение полученного им идентификатора понятия, наи
более подходящее для заданного языка и контекста. Метод lookupDesignation сперва пытается найти
обозначение, которое в точности соответствует заданному языку. Если такое обозначение не найдено, то
метод удаляет из кода языка крайний правый субтег. если таковой имеется, и повторяет процедуру
поиска. Этот процесс повторяется до тех пор. пока будет найдено требуемое обозначение либо оста
нется только основной тег языка. Например, для кода языка «еп-UK-south» будут сделаны попытки по
иска для языков «еп-UK-south». «еп-UK» и «еп» в указанном порядке. Обозначения на языках с кодами
«еп-US» и «fr» будут игнорироваться при поиске.
Входные параметры:
- conceptjd — код понятия и его система кодирования;
- language_code — желательный код языка для возвращаемого обозначения.
Исключения:
- UnknownLanguageCode;
- UnknownCodeSystem:
- UnknownConceptCode;
- NoApplicableDesignationFound;
- UnexpectedError.
10.3.4.3 Правила совпадения в методе lookupDesignation
В документе RFC 3066 «Tag for Identification of Languages» (теги идентификации языка) описаны
коды языков, состоящие из нескольких частей. Первая часть берется из списков двух- или трехсимволь
ных кодов, определенных в ИСО 639. при этом двухсимвольный код имеет приоритет по сравнению с
трехсимвольных, если у языка есть оба кода. Вторая часть кода языка, субтег, идентифицирует страну,
регион или другой вариант.
Метод lookupDesignation использует следующие правила совпадения с заданным кодом языка:
1) Определить, поддерживает ли система кодирования основной код языка. Если нет. сгенериро
вать исключение UnknownLanguageCode;
2) Если обнаружено обозначение, у которого код языка точно совпадает с заданным, а признак
предпочтительности preferredForLanguage имеет значение TRUE, возвратить его:
45