ГОСТ Р HCO/HL7 27931-2015
общения, которое в поле MSA-1 «Код подтверждения» содержит код «АЕ» («Прикладное
подтверждение: ошибка») или «AR» («Прикладное подтверждение: отказ»). Более де
тальная информация об ошибке должна быть включена в поле ERR-1 «Коди место ошиб
ки». Учтите, что поле MSA-6 «Причина ошибки» оставлено только для обратной совме
стимости тех приложений, которые не используют сегмент ERR. До сих пор этот метод
реагирования на ошибку был идентичен методам передачи информации об ошибках в со
общениях подтверждения вне зависимости от того, какой тип исходного сообщения под
тверждается. Но дополнительно, поскольку это ответ на запрос, важно включить в ответ
ное сообщение сегмент QAK, содержащий тег запроса, по которому можно установить,
для какого экземпляра запроса выявлена ошибка. Это особенно важно, если ответ на за
прос может передаваться в нескольких сообщениях.
Таким образом, сегмент ERR должен использоваться для описания ошибок, вы
званных следующими причинами:
ошибка в формате сообщения;
ошибка в формулировке запроса - неправильный тег запроса, неправильные па
раметры.
Информация, переданная в сегменте ERR, перекрывает ту, что передается в поле
QAK-2 «Состояние выполнения запроса».
Известны три общие ситуации, в которых требуется передача ответа об ошибке за
проса:
Ситуация 1. Ошибка в формате сообщения
Ошибочно само сообщение запроса. Синтаксический анализатор не может извлечь
из него содержание запроса. Ошибочен конверт сообщения, например, оно имеет непра
вильный формат.
Единственно правильная реакция состоит в посылке отрицательного сообщения
подтверждения АСК, содержащего сегменты MSH, MSA и ERR. Таким образом, сервер со
здает сообщение АСК, у которого поле MSA-1 «Код подтверждения» содержит код «AR»,
смысл которого описан выше. Взаимодействие приложений завершено.
Сит уация 2. Ошиб ка в форм улировке з апр оса
Сообщение запроса получено сервером и имеет правильный формат, но по некото
рой причине сервер не может обработать запрос, например, он неправильно сформули
рован.
Ответное сообщение идентифицирует ошибку и описывает ее в сегменте ERR. От
ветное сообщение содержит сегменты MSH, MSA, ERR, QAK и сегмент определения за
проса, если таковой был передан. По сути сервер создает подтверждение, в котором поле
1027