Как правильно работать с форматом HL7 в рамках .NET?
Поступило предложение для программы обменна данными в рамках медицинском микро компании, одним из правил есть работа с HL7, но больше никакой конкретики. От заказа я не отказался, т.к. система не является очень сложной, но столкнулся с проблемой понимания этого HL7.
Понятное дело, что я с ноги влетел в интернет, что бы обучиться новым знаниям в сфере, с которой не так уж и много работал, но я обнаружил... Ничего ¯_(ツ)_/¯
Что такое HL7 v3? Что некий медицинский цифровой формат для данных, который начал разрабатываться в 1998 году и выпустился в 2005 году (Вроде бы как). И ещё очень много другой воды, но я не нашёл ничего, что хоть как-то объясняло как с ним работать. Вообще ничего конкретного, тем более, для .NET. То ли это какой-то протокол, то ли это какой-то сервер, или это просто стандарт для оформления классов в моей программе, ограничение надёжности передачи информации.
Может кто-то имел дело, объясните пожалуйста, что к чему и как с этим работать, или может я что-то прям упустил.
Что говорит GPT по этому поводу. Есть библиотека NHapi которая вроде бы как порт Hapi с Java, но в интернете лучше вообще не гуглить Hapi, потому что, как оказывается это протокол... Который продают за деньги...
В общем, остро нуждаюсь в объяснении
Дополнительно:
С ходу нашёл:
https://hl7.org/fhir/
https://github.com/HL7/fhir
https://github.com/SaravananSubramanian/hl7
https://github.com/search?q=HL7&ref=opensearch&typ...
Ответы:
Я тоже не работал с HL7, но если просуммировать что нашел, то:
- HL7 - Health Level 7
- Это прикладной протокол (протокол приложений), как 7 уровень OSI. Описывает данные для приложения. Как например, HTTP - текстовый и ничего про TCP
- Т.к. это стандарт, то есть множество реализаций (Version 2, Version 3, CDA, CDD и другие)
- Предназначен для работы с медицинскими документами (электронный документооборот)
Без этих всяких GPT нашел библиотеки:
- clear-hl7-net - реализация Version 2.0 лежит на гитхабе для netstandard2.1 и net7.0
- целая статья на хабре, в которой гора этих реализация
Лично от меня: я бы не советовал браться за этот заказ - слишком велики риски и ответственность высокая (тут жизнь людей)
-
- clear-hl7-net - реализация Version 2.0 лежит на гитхабе для netstandard2.1 и net7.0
Нужна новая библиотека под .NET 8. Там последний коммит год назад
- Nik Faraday, и в чем проблема? просто убери net7 из фреймворков проекта и все, netstandard2.1 достаточно
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для работы с форматом HL7 в рамках .NET можно использовать различные библиотеки и инструменты. Одним из самых популярных способов является использование библиотеки NHAPI (NHibernate HL7 API). NHAPI предоставляет удобные классы и методы для работы с сообщениями HL7.
Для начала, необходимо установить NHAPI через NuGet пакет менеджер в Visual Studio. После установки библиотеки, можно начать работу с HL7 сообщениями.
Пример работы с HL7 сообщением в рамках .NET с использованием NHAPI:
using NHapi.Base.Parser; string hl7Message = "HL7 сообщение здесь"; PipeParser parser = new PipeParser(); var message = parser.Parse(hl7Message); // Получение значения из сообщения string patientName = message.GetElement("PID-5-1").Value;В данном примере, мы используем PipeParser для парсинга HL7 сообщения и получения нужных значений из него. Метод GetElement позволяет получить значение определенного элемента в сообщении.
Также, существуют и другие библиотеки для работы с HL7 в .NET, такие как HAPI (HL7 API) или HL7-dotnet. Выбор конкретной библиотеки зависит от ваших предпочтений и требований проекта.
Важно помнить, что работа с форматом HL7 может быть сложной из-за его специфической структуры и правил. Поэтому, рекомендуется изучить документацию по HL7 и ознакомиться с примерами работы с сообщениями для более эффективной работы с данным форматом в рамках .NET.