ГОСТ Р ИCO/HL7 27931-2015
ганизации: позволить ли клиентам иметь относительную свободу составления выражений
запроса либо жестко контролировать состав возвращаемых данных и операции запроса.
В следующих абзацах сравниваются и противопоставляются свойства каждого варианта
модели запросов HL7. Различие между ними лежит в основном в той обработке, которая
необходима на стороне сервера.
Запрос с простым параметром
Первый вариант называется запросом с простым параметром (Query By Parameter
- QBP). В таком запросе входные параметры задаются в последовательных полях сег
мента HL7. Серверу достаточно прочитать значения параметров из этих полей и вставить
их во внутреннюю функцию, обеспечивающую необходимую выборку данных.
Это наиболее базовый формат запроса,для описания которого серверу достаточно
указать фиксированный список параметров в своем заявлении о соответствии. (Напри
мер, сервер может требовать от запрашивающей системы, чтобы та указала номер меди
цинской карты, дату начала и дату конца.) При инициировании запроса клиент присваива
ет каждому параметру конкретное значение. Это аналогично вызову хранимой процедуры
в базе данных.
Сегмент определения параметров (а именно, QPD) можно рассматривать как
обобщение сегментов QRD и QRF, используемых в запросах в исходной форме. Каждое
поле сепиентов QRD и QRF соответствует одному параметру экземпляра сегмента QPD.
Настоящий стандарт рекомендует преобразовать запросы, в которых используются сег
менты QRD и QRF, в версию запроса с параметром, вновь предложенную в версии 2.4.
Стандартный способ реализации выполнения такого запроса сервером состоит в
подстановке входных значений в параметры, описанные в заявлении о соответствии. За
тем вызывается существующая процедура, которой передаются эти параметры. Она
обеспечивает выборку возвращаемых данных. Основная часть этой работы уже была вы
полнена при разработке этой предопределенной процедуры или функции.
Запрос по шаблону
Запрос по шаблону (Query By Example - QBE) представляет собой расширение за
проса с параметром (QBP), в котором параметры поиска передаются в сегменте, в кото
ром они обычно присутствуют, а не в полях сегмента QPD. Например, если требуется вы
полнить запрос «поиск кандидатов», используя QBE, то надо передать демографическую
информацию, по которой производится поиск, в соответствующих полях сегментов PID и
PD1, оставляя пустыми те поля, которые не используются при поиске. Если, к примеру,
религия не принадлежит к числу параметров поиска, то при передаче в запросе сегмента
РЮ поле PID-17 должно быть оставлено пустым. Параметры, которые естественным об-
964