Как сохранить (в БД) поле из сегмента, если это поле имеет разное значение в разных версиях HL7?
Нужен ваш экспертный совет по этому вопросу.
В версии 2.4 HL7 MSH-21 является необязательным повторением идентификатора (ID) заявления о соответствии. В версии 2.6 HL7 MSH-21 является необязательным повторением идентификатора профиля сообщения (EI). Они имеют в виду одно и то же? Теперь, если кто-то разрабатывает таблицу базы данных, в которой он хочет хранить информацию MSH, каков наилучший подход, чтобы избежать такой неоднозначности? В общем, когда поле имеет разное значение в разных версиях HL7 (и поле не устарело) и кто-то хочет сохранить их в таблице, это должен быть лучший подход. Заранее спасибо.
2 ответа
Зависит от цели хранения этих данных:
- Если цель состоит в том, чтобы сохранить то, что было получено, чтобы вы могли устранить неполадки в случае возникновения проблемы, вы должны сохранить ее как есть (сохранить то, что было в MSH.21, независимо от того, с какой семантикой это связано). Я бы даже подумал о сохранении полученного сообщения без каких-либо манипуляций / преобразования.
- Если целью является сохранение фактических данных, семантика должна быть драйвером. В HL7 семантика не всегда связана с положением данных. Это довольно обычные люди двигают вещи вокруг. Семантика больше связана с тем, как поставщик системы интерпретировал / внедрил стандарт. Вы, вероятно, также подумаете о нормализации данных.
Реализация обоих вариантов - это, вероятно, путь...
Что касается поля идентификатора профиля сообщения MSH-21 v2.6, то стандарт v2.6 гласит:
До версии 2.5 это поле называлось ID заявления о соответствии. Для обратной совместимости здесь может использоваться идентификатор Заявления о соответствии.