HL7 Поле очистки от шпионов OBX-5.5.1

#hl7

Вопрос:

Привет Всем,

В настоящее время я работаю над пользовательским сценарием в HL7 Spy Внутренней гавани. Почти все идет хорошо, но у меня возникают трудности с очисткой встроенных PDF-файлов. Логика: если OBX-5.2 == «PDF», то установите OBX-5.5.1 = «PDF». Мой примерный код приведен ниже:

 public HL7Message getStrippedMessage()
{
  HL7Message message = GetParsedMessage();
  
  foreach(var obx in message.OBXs)
  {
    if(obx.ObservationValue_05.ElementAt(2).TX_01.Value == "PDF")
    {
      obx.ObservationValue_05.ElementAt(5).TX_01.Value = "PDF";
    }
  }
  return message;
}
 

Что он делает в настоящее время, спросите вы? Он возвращает неизмененное сообщение HL7. Я уверен, что ни «если», ни задание в нем не отформатированы правильно, даже если они компилируются без проблем. Может ли кто-нибудь посоветовать, как я буду проверять и изменять, соответственно, эти поля?

большое спасибо

Ответ №1:

Получил возможность поговорить здесь с разработчиком и обнаружил, что это на самом деле довольно просто. OBX-5, будучи кодированной записью, обрабатывается совершенно иначе, чем другие поля. Это решение, вероятно, довольно очевидно для тех, у кого больше опыта, но я замкнулся в каком-то туннельном видении.

 public HL7Message getStrippedMessage()
{
  HL7Message message = GetParsedMessage();
  
  foreach (var obx in message.OBXs) {
    if (obx[5, 1, 2] == "PDF")
      obx[5, 1, 5] = "PDF";
    }
  return message;
}