Delphi считывает данные с устройства spirolabIII с помощью HL7

Я уже разработал приложение для управления клиникой для клиник контроля аллергии, которое хранит медицинские файлы пациентов и результаты анализов в базе данных и генерирует отчеты для анализа.

есть раздел для хранения результатов спирометрии в базе данных. в настоящее время я получаю результаты из файла Excel, который экспортируется WinspiroPro (приложение, поставляемое с устройствами spirolab) и сохраняю их в базе данных.

Несколько дней назад я наткнулся на слово «HL7», которое, по-видимому, является стандартным протоколом для связи с этими медицинскими устройствами, поэтому я могу напрямую получать результаты с устройства с помощью Delphi.

также в инструкции по эксплуатации прибора спиролаб указано, что прибор совместим с этой системой.

теперь мой вопрос, как я могу реализовать эту систему (HL7) в delphi?

Спасибо


person Agha    schedule 14.03.2014    source источник
comment
Вы пробовали это? -› google.com/#q=delphi+HL7+library   -  person J...    schedule 14.03.2014
comment
Первое, что нужно знать, это какую версию HL7 поддерживает ваше устройство. Версия 2.х и 3.х и совсем другие звери. V3 основан на XML, а V2 основан на полях с разделителями. Оба основаны на тексте. Сообщения V2 не так сложно разобрать (получить) или создать (отправить). Передача может быть файловой или TCP/IP (старые системы даже используют RS232).   -  person fpiette    schedule 14.03.2014


Ответы (2)


Как это обычно бывает с такого рода межпрофессиональными стандартами, вам нужно заплатить, чтобы получить их, по крайней мере, на http://www.hl7.org в этом случае.

Если я поищу в сети, могут быть существующие инструменты, которые вы можете использовать, или посмотреть, как они работают внутри:

person Stijn Sanders    schedule 14.03.2014
comment
Около года назад HL7.org опубликовал свои стандарты для широкой публики. Вы можете найти заявление и стандарты, перейдя по этой ссылке - hl7.org/ реализовать/стандарты/nocost.cfm?ref=nav - person SQLSavant; 14.03.2014
comment
Если вы можете скачать их там, там должен быть один или несколько документов под названием Транспортная спецификация. Я подозреваю, что любая спецификация транспорта основана либо на TCP, либо на HTTP, оба из которых доступны в Delphi. - person Stijn Sanders; 14.03.2014
comment
Я ценю ваш ответ. Я нашел несколько решений и библиотек. Я обнаружил, что могу использовать простой IdTcpClient для подключения к HL7-совместимому устройству. чего я не могу понять, так это того, что спирометр можно подключить к компьютеру с помощью USB-кабеля или RS 232; но для использования IdTcpClient требуется адрес хоста и номер порта. как я могу читать данные с USB или RS232 с помощью IdTcpClient? - person Agha; 15.03.2014
comment
Я знаю, я опаздываю на дискуссию, но все же я хотел бы внести свои пять копеек. Во всяком случае, я думаю, что вы не будете подключаться напрямую к спирометру, но программное обеспечение WinspiroPro имеет интерфейс HL7. Скорее всего, это исходящий интерфейс, отправляющий данные в систему EPR, поэтому вам придется реализовать прослушиватель HL7 в вашей существующей системе для анализа и хранения данных, отправленных из Winspiro. - person Tarmo R; 31.03.2014

HL7 не привязан к конкретному транспортному уровню. Это протокол на уровне приложения, седьмой уровень 7-уровневой модели ISO, следовательно, уровень 7. Он описывает сообщения и события, когда эти сообщения должны быть отправлены.

Это просто дает некоторые рекомендации, как сделать передачу сообщений на нижележащих слоях, например. MLLP с коммуникацией через сокет tcp. Но в принципе вы можете использовать любые транспортные уровни, какие захотите, будь то прямая связь через сокеты, передача файлов или что-то еще.

Хотя большинство систем теперь могут использовать TCP, также можно использовать HL7 с другими базовыми транспортными протоколами, такими как RS232. Если я правильно помню, в руководствах по реализации документации также был пример о передаче/соединении сообщений с RS232. И да, документация и стандартная документация протокола бесплатны после регистрации.

Вы запрашивали у своего провайдера версию WinspiroPRO с поддержкой HL7? Возможно, он уже поддерживает связь через сокет с помощью tcp.
В противном случае вам либо потребуется доступ к исходному коду ldTCPCClient и замена части tcp на часть RS232, либо вам придется использовать программное обеспечение только для синтаксического анализа/сборки (разборки/сортировки) HL7. сообщения вместе с программным обеспечением, которое обрабатывает транспортный уровень.
Кстати, только из названия я предполагаю, что ldTCPclient не подходит для ваших нужд, так как вам, вероятно, понадобится хост, а не клиентский компонент.

person sqlab    schedule 15.03.2014