Примечание:
Этот вопрос не просит совета о том, какую библиотеку использовать; Я раскатываю свой.
Я читаю спецификацию HL7 v2.5.1, чтобы создать движок синтаксического анализа для iOS и Windows.
Мой вопрос связан с компонентом Диапазон допустимости имени в поле Имя пациента (PID-5). Но я думаю, что это применимо ко всем компонентам DR (Date Range).
В Главе 3: Управление пациентами на странице 75 приведена следующая информация:
Компоненты: {... пропущено ...} ^ ‹Диапазон допустимости имени (DR)› ^ {... пропущено ...}
Подкомпоненты для диапазона допустимости имени (DR): ‹Дата / время начала диапазона (TS)› & ‹Дата / время окончания диапазона (TS)›
Подкомпоненты для даты / времени начала диапазона (TS): ‹Время (DTM)› & ‹Степень точности (ID)›
Подкомпоненты для даты / времени окончания диапазона (TS): ‹Время (DTM)› & ‹Степень точности (ID)›
Я понимаю, как структурированы поля, компоненты и подкомпоненты и как используются их разделители ... или, по крайней мере, я так думаю. Однако приведенная выше информация сбивает меня с толку относительно того, как будут выражены данные. Я искал, но не могу найти подходящий образец сообщения для такого рода данных. Основываясь на моем понимании структур данных HL7, вот как будут кодироваться данные:
PID|||01234||JONES^SUSIE^Q^^^^^^^199505011201&M&199505011201&M^199505011201&M&199505011201&M
Проблема здесь, конечно, в том, что наличие подкомпонентов, встроенных в подкомпоненты, оставляет вас неуверенным, как именно анализировать данные и какие данные куда направляются.
Я просмотрел Главу 2: Контроль, Приложение A и нашел этот текст на странице 160:
Примечание: DR не может быть юридически выражен, если он встроен в другой тип данных. Его использование ограничено полем сегмента.
Таким образом, похоже, что стандарт, указанный для PID-5, недействителен. Я не видел сообщений от моей системы, которые даже генерируют эту информацию, так что это может быть спорным вопросом для моего конкретного случая, но я не люблю разрабатывать решения с известными дырами. Кто-нибудь сталкивался с этим «в дикой природе»?