Я пишу приложение на C#, которое должно иметь возможность отправлять и получать сообщения HL7 на лабораторное оборудование для ветеринарного бизнеса и обратно.
Поскольку я новичок в протоколе HL7, я Я искал и нашел веб-страницу https://www.saravanansubramanian.com/, где показано, как создавать, отправлять, анализировать и т. д. сообщения HL7, и я следил за учебниками для .NET и NHAPI, однако, глядя В руководстве по интерфейсу связи оборудования я увидел сообщение с именем OUL_R22 «Незапрошенное сообщение о наблюдении, ориентированном на образец», которое, как я полагаю, используется для отправки лабораторному оборудованию запроса на обработку образца (тестов), который был помещен в оборудование.
Насколько я понимаю, лабораторное оборудование отправит результаты испытаний в одном и том же сообщении.
Кстати, оборудование а Fujifilm NX600
На веб-странице показано только, как создать некоторые типы сообщений, значит, мне нужно следовать той же философии кодирования для других типов сообщений?
using NHapi.Model;
using NHapi.Model.V25.Message;
using System.Globalization;
namespace NHapiCreateMessage
{
internal class MessageBuilder
{
private ADT_A01 _adtMessage;
/* se puede pasar en un domitio o transferencia de datos como parámetro
* cuando se está integrando con los datos de la aplicación.*/
public ADT_A01 Build()
{
var currentDateTimeString = GetCurrentTimeStamp();
_adtMessage = new ADT_A01();
CreateMshSegment(currentDateTimeString);
CreateEvnSegment(currentDateTimeString);
CreatePidSegment();
CreatePv1Segment();
return _adtMessage;
}
private void CreateMshSegment(string currentDateTimeString)
{
var mshSegment = _adtMessage.MSH;
mshSegment.FieldSeparator.Value = "|";
mshSegment.EncodingCharacters.Value = "^~\\&";
mshSegment.SendingApplication.NamespaceID.Value = "System";
mshSegment.SendingFacility.NamespaceID.Value = "Facility";
mshSegment.ReceivingApplication.NamespaceID.Value = "Remote System";
mshSegment.ReceivingFacility.NamespaceID.Value = "Remote Facility";
mshSegment.DateTimeOfMessage.Time.Value = currentDateTimeString;
//mshSegment.DateTimeOfMessage.TimeOfAnEvent.Value = currentDateTimeString;
mshSegment.MessageControlID.Value = GetSequenceNumber();
mshSegment.MessageType.MessageCode.Value = "ADT";
//mshSegment.MessageType.MessageType.Value = "ADT";
mshSegment.MessageType.TriggerEvent.Value = "A01";
mshSegment.VersionID.VersionID.Value = "2.5";
mshSegment.ProcessingID.ProcessingID.Value = "P";
}
private void CreateEvnSegment(string currentDateTimeString)
{
var evn = _adtMessage.EVN;
evn.EventTypeCode.Value = "A01";
evn.RecordedDateTime.Time.Value = currentDateTimeString;
}
private void CreatePidSegment()
{
var pid = _adtMessage.PID;
var patientName = pid.GetPatientName(0);
patientName.FamilyName.Surname.Value= "Lopez";
patientName.GivenName.Value = "Jaime";
pid.SetIDPID.Value = "378785433211";
var patientAddress = pid.GetPatientAddress(0);
patientAddress.StreetAddress.StreetName.Value = "Alguna Calle";
patientAddress.StreetAddress.DwellingNumber.Value = "123";
patientAddress.City.Value = "Alguna Ciudad";
patientAddress.StateOrProvince.Value = "GT";
patientAddress.Country.Value = "MX";
}
private void CreatePv1Segment()
{
var pv1 = _adtMessage.PV1;
pv1.PatientClass.Value = "O"; //represent an Out Patient
var assignedPatientLocation = pv1.AssignedPatientLocation;
assignedPatientLocation.Facility.NamespaceID.Value = "Some Treatment Facility";
assignedPatientLocation.PointOfCare.Value = "Some Point of Care";
pv1.AdmissionType.Value = "ALERT";
var refferingDoctor = pv1.GetReferringDoctor(0);
refferingDoctor.IDNumber.Value = "456789";
refferingDoctor.FamilyName.Surname.Value = "Perez";
refferingDoctor.GivenName.Value = "Jose";
refferingDoctor.IdentifierTypeCode.Value = "456789";
pv1.AdmitDateTime.Time.Value = GetCurrentTimeStamp();
}
private static string GetCurrentTimeStamp()
{
return DateTime.Now.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture);
}
private static string GetSequenceNumber()
{
const string facilityNumberPrefix = "1234"; //El número de la unidad
return facilityNumberPrefix + GetCurrentTimeStamp();
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... sing-nhapi
Анализ сообщения HL7 OUL_R22 с использованием NHAPI ⇐ C#
Место общения программистов C#
-
Anonymous
1730909070
Anonymous
Я пишу приложение на C#, которое должно иметь возможность отправлять и получать сообщения HL7 на лабораторное оборудование для ветеринарного бизнеса и обратно.
Поскольку я новичок в протоколе HL7, я Я искал и нашел веб-страницу https://www.saravanansubramanian.com/, где показано, как создавать, отправлять, анализировать и т. д. сообщения HL7, и я следил за учебниками для .NET и NHAPI, однако, глядя В руководстве по интерфейсу связи оборудования я увидел сообщение с именем OUL_R22 «Незапрошенное сообщение о наблюдении, ориентированном на образец», которое, как я полагаю, используется для отправки лабораторному оборудованию запроса на обработку образца (тестов), который был помещен в оборудование.
Насколько я понимаю, лабораторное оборудование отправит результаты испытаний в одном и том же сообщении.
Кстати, оборудование а Fujifilm NX600
На веб-странице показано только, как создать некоторые типы сообщений, значит, мне нужно следовать той же философии кодирования для других типов сообщений?
using NHapi.Model;
using NHapi.Model.V25.Message;
using System.Globalization;
namespace NHapiCreateMessage
{
internal class MessageBuilder
{
private ADT_A01 _adtMessage;
/* se puede pasar en un domitio o transferencia de datos como parámetro
* cuando se está integrando con los datos de la aplicación.*/
public ADT_A01 Build()
{
var currentDateTimeString = GetCurrentTimeStamp();
_adtMessage = new ADT_A01();
CreateMshSegment(currentDateTimeString);
CreateEvnSegment(currentDateTimeString);
CreatePidSegment();
CreatePv1Segment();
return _adtMessage;
}
private void CreateMshSegment(string currentDateTimeString)
{
var mshSegment = _adtMessage.MSH;
mshSegment.FieldSeparator.Value = "|";
mshSegment.EncodingCharacters.Value = "^~\\&";
mshSegment.SendingApplication.NamespaceID.Value = "System";
mshSegment.SendingFacility.NamespaceID.Value = "Facility";
mshSegment.ReceivingApplication.NamespaceID.Value = "Remote System";
mshSegment.ReceivingFacility.NamespaceID.Value = "Remote Facility";
mshSegment.DateTimeOfMessage.Time.Value = currentDateTimeString;
//mshSegment.DateTimeOfMessage.TimeOfAnEvent.Value = currentDateTimeString;
mshSegment.MessageControlID.Value = GetSequenceNumber();
mshSegment.MessageType.MessageCode.Value = "ADT";
//mshSegment.MessageType.MessageType.Value = "ADT";
mshSegment.MessageType.TriggerEvent.Value = "A01";
mshSegment.VersionID.VersionID.Value = "2.5";
mshSegment.ProcessingID.ProcessingID.Value = "P";
}
private void CreateEvnSegment(string currentDateTimeString)
{
var evn = _adtMessage.EVN;
evn.EventTypeCode.Value = "A01";
evn.RecordedDateTime.Time.Value = currentDateTimeString;
}
private void CreatePidSegment()
{
var pid = _adtMessage.PID;
var patientName = pid.GetPatientName(0);
patientName.FamilyName.Surname.Value= "Lopez";
patientName.GivenName.Value = "Jaime";
pid.SetIDPID.Value = "378785433211";
var patientAddress = pid.GetPatientAddress(0);
patientAddress.StreetAddress.StreetName.Value = "Alguna Calle";
patientAddress.StreetAddress.DwellingNumber.Value = "123";
patientAddress.City.Value = "Alguna Ciudad";
patientAddress.StateOrProvince.Value = "GT";
patientAddress.Country.Value = "MX";
}
private void CreatePv1Segment()
{
var pv1 = _adtMessage.PV1;
pv1.PatientClass.Value = "O"; //represent an Out Patient
var assignedPatientLocation = pv1.AssignedPatientLocation;
assignedPatientLocation.Facility.NamespaceID.Value = "Some Treatment Facility";
assignedPatientLocation.PointOfCare.Value = "Some Point of Care";
pv1.AdmissionType.Value = "ALERT";
var refferingDoctor = pv1.GetReferringDoctor(0);
refferingDoctor.IDNumber.Value = "456789";
refferingDoctor.FamilyName.Surname.Value = "Perez";
refferingDoctor.GivenName.Value = "Jose";
refferingDoctor.IdentifierTypeCode.Value = "456789";
pv1.AdmitDateTime.Time.Value = GetCurrentTimeStamp();
}
private static string GetCurrentTimeStamp()
{
return DateTime.Now.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture);
}
private static string GetSequenceNumber()
{
const string facilityNumberPrefix = "1234"; //El número de la unidad
return facilityNumberPrefix + GetCurrentTimeStamp();
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79161077/parse-hl7-oul-r22-message-using-nhapi[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия