Тук са показани разликите между избраната и текущата версия на страницата.
Both sides previous revision Предходна версия Следваща версия | Предходна версия | ||
start [2017/09/27 16:30] admin [Същност на интеграцията] |
start [2020/10/27 10:59] (текуща) admin [Увод] |
||
---|---|---|---|
Ред 3: | Ред 3: | ||
===== Увод ===== | ===== Увод ===== | ||
- | {{:hl7.png?70 |}} Настоящият документ описва възможностите за интеграция на [[http://ilab.skyware-group.com|ЛИС iLab]] с външни системи като болнични информационни системи (БИС, HIS), електронно медицинско досие (ЕМД, EHR) и други чрез комуникация по стандарта [[http://www.hl7.org/|HL7]], версия **2.5.1** (pipe delimited). Ползването на по-стари версии на протокола (например 2.3.1) е възможно, макар някои сегменти да не са налични (например сегмента SPM), като оттам следва и по-ограничена функционалност. Настоящата документация предполага базово познаване на стандарта HL7, като тук са изяснени определени съобщения, сегменти и полета и начина на функциониране на диалога, като синтаксиса и кодовете на самия стандарт HL7 не са предмет на този документ. | + | {{:hl7.png?70 |}} Настоящият документ описва възможностите за интеграция на [[http://ilab.skyware-group.com|ЛИС iLab]] с външни системи като болнични информационни системи (БИС, HIS), електронно медицинско досие (ЕМД, EHR) и други чрез комуникация по стандарта [[http://www.hl7.org/|HL7]], версия **2.5.1**. Ползването на по-стари версии на протокола (например 2.3.1) е възможно, макар някои сегменти да не са налични (например сегмента SPM), като оттам следва и по-ограничена функционалност. Настоящата документация предполага базово познаване на стандарта HL7, като тук са изяснени определени съобщения, сегменти и полета и начина на функциониране на диалога, [[http://www.hl7.org/implement/standards/product_brief.cfm?product_id=185|като синтаксиса и кодовете на самия стандарт HL7]] не са предмет на този документ. |
- | + | ||
- | {{:github.png?35 |}} **Примерен код** (VB.NET) за генериране и обработка на съобщения, можете да откриете в нашето хранилище в Github - [[https://github.com/kalatchev/HL7Samples]]. | + | |
===== Същност на интеграцията ===== | ===== Същност на интеграцията ===== | ||
- | Интеграцията между БИС/ЕМД и ЛИС iLab в текущата версия (2.5) се състои в **предаването на поръчки** за лабораторни изследвания от страна на БИС/ЕМД (HIS) към ЛИС (LIS) от една страна (съобщение **OML_O21**) | + | Интеграцията между БИС/ЕМД и ЛИС iLab в текущата версия (3.0) се състои в **предаването на поръчки** за лабораторни изследвания от страна на БИС/ЕМД (HIS) към ЛИС (LIS) от една страна (съобщение **[[oml-o21|OML_O21]]**) |
{{:his-lis.png?500|}} | {{:his-lis.png?500|}} | ||
- | и **предаването на лабораторни резултати от страна на ЛИС** към БИС/ЕМД от друга (съобщение **ORU_R01**). | + | и **предаването на лабораторни резултати от страна на ЛИС** към БИС/ЕМД от друга (съобщение **[[oru-r01|ORU_R01]]**). |
{{:lis-his.png?500|}} | {{:lis-his.png?500|}} | ||
Получаващата съобщение страна винаги отговаря със съобщение **ACK**. | Получаващата съобщение страна винаги отговаря със съобщение **ACK**. | ||
+ | |||
+ | При желание от страна на БИС, ЛИС може да изпраща и **съобщения за промяна на статуса** (съобщение **[[oml-o21-status|OML_O21]]**) на поръчки | ||
+ | |||
+ | {{:lis-his-sc.png?500|}} | ||
**Възможни са и еднопосочни интеграции** - само изпращане на резултати или само получаване на поръчки. | **Възможни са и еднопосочни интеграции** - само изпращане на резултати или само получаване на поръчки. | ||
Ред 26: | Ред 28: | ||
==== Операции ==== | ==== Операции ==== | ||
- | Заявяващата страна (БИС/ЕМД) изпраща **OML^O21** съобщения, чрез които реализира следните операции: | + | Заявяващата страна (БИС/ЕМД) изпраща **[[oml-o21|OML_O21]]** съобщения, чрез които реализира следните операции: |
* <color #22b14c>**Нова**</color> поръчка; | * <color #22b14c>**Нова**</color> поръчка; | ||
* <color #00a2e8>**Модификация**</color> на поръчка; | * <color #00a2e8>**Модификация**</color> на поръчка; | ||
* <color #ed1c24>**Анулиране**</color> на поръчка. | * <color #ed1c24>**Анулиране**</color> на поръчка. | ||
- | ЛИС изпраща **ORU^R01** съобщения, чрез които: | + | ЛИС изпраща **[[oru-r01|ORU_R01]]** съобщения, чрез които: |
* <color #22b14c>**Рапортува резултат**</color>. | * <color #22b14c>**Рапортува резултат**</color>. | ||
+ | |||
+ | ЛИС може да изпраща и **[[oml-o21-status|OML_O21]]** съобщения, чрез които: | ||
+ | * <color #22b14c>**Рапортува промяна на статус на поръчка**</color>. | ||
==== Идентификация на поръчки и резултати ==== | ==== Идентификация на поръчки и резултати ==== | ||
БИС/ЕМД съхранява при себе си поръчките и ги идентифицира уникално (ЛИС не генерира идентификатор на получени поръчки). Именно с идентификатора на поръчка се прави модификация или анулиране на поръчката. От своя страна, ЛИС съхранява и уникално идентифицира всички изпълнени поръчки. В iLab лабораторните поръчки се наричат визити и представляват съвкупност от едно или повече изследвания за даден пациент, за даден момент във времето. При изпращане на резултат, ЛИС указва за коя визита са резултатите, и ако тя е следствие на получена от БИС поръчка - идентификатора на тази поръчка. | БИС/ЕМД съхранява при себе си поръчките и ги идентифицира уникално (ЛИС не генерира идентификатор на получени поръчки). Именно с идентификатора на поръчка се прави модификация или анулиране на поръчката. От своя страна, ЛИС съхранява и уникално идентифицира всички изпълнени поръчки. В iLab лабораторните поръчки се наричат визити и представляват съвкупност от едно или повече изследвания за даден пациент, за даден момент във времето. При изпращане на резултат, ЛИС указва за коя визита са резултатите, и ако тя е следствие на получена от БИС поръчка - идентификатора на тази поръчка. | ||
+ | |||
+ | ==== Символно кодиране (Encoding) ==== | ||
+ | |||
+ | Всички съобщения по настоящата реализация на HL7 се кодират с [[https://bg.wikipedia.org/wiki/UTF-8|UTF-8]]. Нормално в съобщенията може да има специални символи, като например μ, %, ‰ и т.н., които не поделжат на escape sequence. Някои специални символи обаче следва да се предават чрез escape sequence, например символа **^** следва да се предава като \S\ тъй като служи за разделител в синтаксиса на HL7. | ||