Тук са показани разликите между избраната и текущата версия на страницата.
Both sides previous revision Предходна версия Следваща версия | Предходна версия | ||
ack [2017/09/21 01:42] admin [Примери] |
ack [2018/09/26 19:09] (текуща) admin [Примери] |
||
---|---|---|---|
Ред 1: | Ред 1: | ||
====== Отговор (ACK) ====== | ====== Отговор (ACK) ====== | ||
- | При отговор, в случай на грешка, може да има попълнено поле MSA.6 - Error Condition със стойности от таблица 0357: | + | На всяко изпратено съобщение, приемащата страна следва да отговори с ACK съобщение. Липсата на такъв отговор е индикация за неработеща приемаща страна и изпращащата следва да повтаря опита до достигане на някаква максимална стойност, например 3 пъти. С ACK се посочва резултата от операцията - ОК или грешка, като в случай на грешка е редно да се даде описание и код на грешката. |
+ | ===== Структура на съобщението ===== | ||
- | ^Код ^Значение ^Описание ^ | + | ACK има следната структура |
- | ^0 |Message accepted |Съобщението е прието | | + | |
- | ^100 |Segment sequence error |Грешка в последователността на сегментите | | + | |
- | ^101 |Required field missing |Липсва изискуемо поле | | + | |
- | ^102 |Data type error |Грешка във вида на данните | | + | |
- | ^103 |Table value not found |Посочена стойност липсва в дефинирана таблица | | + | |
- | ^200 |Unsupported message type |Вида на съобщението не се поддържа | | + | |
- | ^201 |Unsupported event code |Вида на събитието не се поддържа | | + | |
- | ^202 |Unsupported processing id |Неизвестно Id на съобщение | | + | |
- | ^203 |Unsupported version id |Версията на протокола не се поддържа | | + | |
- | ^204 |Unknown key identifier |Неизвестен ключов идентификатор | | + | |
- | ^205 |Duplicate key identifier |Повторение в ключов идентификатор | | + | |
- | ^206 |Application record locked |Записът е заключен | | + | |
- | ^207 |Application internal error |Вътрешна грешка в приложението | | + | |
- | Кодовете са максимално описателни, като много важни са стойностите 0, 101, 204, 205, 206 и 207: | + | ^Сегмент / Група ^Кол. по стандарт ^Кол. за iLab ^ |
- | * **0** (Message accepted): всичко е ОК, няма нужда от по-нататъшна обработка; | + | |[[segments#MSH сегмент|MSH]] - Message Header|**1** |**1** | |
- | * **101** (Required field missing): липсва изискуем идентификатор; | + | |[[segments#SFT сегмент|SFT]] - Software Segment|0..* |0..* | |
- | * **101** (Required field missing): липсва задължителен код, най-вече липсващи (или невалидни) едновременно ЕГН/ЕНЧ и ИЗ. | + | |[[segments#MSA сегмент|MSA]] - Message Acknowledgment|**1** |**1** | |
- | * **204** (Unknown key identifier): опит за актуализация или изтриване на поръчка, която не е правилно приета и не съществува в БД на ЛИС; | + | |ERR - Error |0..* |0..* | |
- | * **205** (Duplicate key identifier): опит за нова поръчка с номер (на поръчващата страна), който вече е използван (вече има заявка с такъв номер); | + | |
- | * **206** (Application record locked): опит за промяна или изтриване (анулиране) на поръчка, чието изпълнение е започнало (заключена е). | + | |
- | * **207** (Application internal error): вътрешна грешка, преимуществено проблем при връзката с базата данни. | + | |
- | При варианта допълнителна поръчка или просто актуализация, трябва да се следи за този код. Ако Той е 206, поръчващата страна трябва да направи нова поръчка, с вече различен номер и да реферира баркодовете на направената вече основна поръчка. Това е ключов момент в логиката на комуникация за да сработят допълнителните поръчки когато основната поръчка е вече заключена. Така или иначе, поръчващата страна винаги трябва да прави първо опит за актуализация на основната поръчка и ако записа е заключен – да прави нова допълнителна с референция към вече изпратените проби. Технически допустимо е изпращането на допълнителна поръчка и при все още незаключена основна, макар това да е логически необосновано и да затруднява вътрелабораторния процес. | ||
===== Примери ===== | ===== Примери ===== | ||
Примерен отговор за правилно приета поръчка. | Примерен отговор за правилно приета поръчка. | ||
<html> | <html> | ||
- | <div style="white-space: nowrap;overflow: scroll;"> | + | <div style="white-space: nowrap;overflow: scroll;padding: 7px 5px 7px 5px;background-color: rgb(240, 240, 240);font-size: 0.9em;"> |
<span style="color: #000080;"><b>MSH</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;">^</span><span style="color: #808080;">~</span>\<span style="color: #808080;">&</span><span style="color: #808080;"><b>|</b></span>iLab<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span>HIS<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918100410</span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span>ACK<span style="color: #808080;">^</span>O21<span style="color: #808080;">^</span>ACK<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918100410</span><span style="color: #808080;"><b>|</b></span>P<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">2.5.1</span><span style="color: #808080;"><b>|</b></span><br> | <span style="color: #000080;"><b>MSH</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;">^</span><span style="color: #808080;">~</span>\<span style="color: #808080;">&</span><span style="color: #808080;"><b>|</b></span>iLab<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span>HIS<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918100410</span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span>ACK<span style="color: #808080;">^</span>O21<span style="color: #808080;">^</span>ACK<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918100410</span><span style="color: #808080;"><b>|</b></span>P<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">2.5.1</span><span style="color: #808080;"><b>|</b></span><br> | ||
- | <span style="color: #000080;"><b>MSA</b></span><span style="color: #808080;"><b>|</b></span>AA<span style="color: #808080;"><b>|</b></span>bc35dd73-b91c-40dd-8962-f471d8d5fefb<span style="color: #808080;"><b>|</b></span>OK<span style="color: #808080;"><b>|</b></span><br> | + | <span style="color: #000080;"><b>MSA</b></span><span style="color: #808080;"><b>|</b></span>AA<span style="color: #808080;"><b>|</b></span>bc35dd73b9<span style="color: #808080;"><b>|</b></span>OK<span style="color: #808080;"><b>|</b></span><br> |
</div> | </div> | ||
</html> | </html> | ||
Ред 41: | Ред 25: | ||
<html> | <html> | ||
- | <div style="white-space: nowrap;overflow: scroll;"> | + | <div style="white-space: nowrap;overflow: scroll;padding: 7px 5px 7px 5px;background-color: rgb(240, 240, 240);font-size: 0.9em;"> |
- | <span style="color: #000080;"><b>MSH</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;">^</span><span style="color: #808080;">~</span>\<span style="color: #808080;">&</span><span style="color: #808080;"><b>|</b></span>iLab<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span>HISk<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918150750</span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span>ACK<span style="color: #808080;">^</span>O21<span style="color: #808080;">^</span>ACK<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918150750</span><span style="color: #808080;"><b>|</b></span>P<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">2.5.1</span><span style="color: #808080;"><b>|</b></span><br> | + | <span style="color: #000080;"><b>MSH</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;">^</span><span style="color: #808080;">~</span>\<span style="color: #808080;">&</span><span style="color: #808080;"><b>|</b></span>iLab<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span>HIS<span style="color: #808080;"><b>|</b></span>МБАЛ ЕООД<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918150750</span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span>ACK<span style="color: #808080;">^</span>O21<span style="color: #808080;">^</span>ACK<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">20170918150750</span><span style="color: #808080;"><b>|</b></span>P<span style="color: #808080;"><b>|</b></span><span style="color: #990033;">2.5.1</span><span style="color: #808080;"><b>|</b></span><br> |
- | <span style="color: #000080;"><b>MSA</b></span><span style="color: #808080;"><b>|</b></span>AR<span style="color: #808080;"><b>|</b></span>f270f9bf-39ee-402f-9a69-910352098224<span style="color: #808080;"><b>|</b></span>Order rejected. Order with same ID already exists.<span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #990033;">205</span><span style="color: #808080;"><b>|</b></span><br> | + | <span style="color: #000080;"><b>MSA</b></span><span style="color: #808080;"><b>|</b></span>AR<span style="color: #808080;"><b>|</b></span>f270f9bf39<span style="color: #808080;"><b>|</b></span>Order rejected. Order with same ID already exists.<span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #808080;"><b>|</b></span><span style="color: #990033;">205</span><span style="color: #808080;"><b>|</b></span><br> |
</div> | </div> | ||
</html> | </html> | ||