Я не могу проверить сообщения ORU_R01 и ADT_A04 (HL7 v2.3.1) с помощью HAPI API (версия 2.2) на соответствие сгенерированному профилю соответствия из MWB (Message Workbench).
- Первая проблема связана с именем, присвоенным группе сегментов MWB в профиле соответствия для сообщения ORU_R01, где PATIENT_RESULT — это имя группы сегментов, сгенерированное MWB (Message Workbench), и < strong>PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI — это способ, которым HAPI ссылается на ту же группу сегментов в своем API.
- Если я заменю PATIENT_RESULT на PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI в профиле, тогда профиль станет действительным для синтаксического анализатора API HAPI.
Ниже приведены журналы проверки для вышеупомянутой проблемы:
- ValidationException - PATIENT_RESULT не найдено в сообщении
- ValidationException — структура PIDPD1NK1NTEPV1PV2ORCOBRNTEOBXNTECTI отображается в сообщении, но не в профиле.
Вторая проблема заключается в сегменте OBX для типа данных, который будет использоваться в поле OBX.5. Поскольку мое сообщение содержит несколько OBX, а также имеет несколько типов данных, скажем NM и ST в поле OBX.2. Таким образом, я не могу иметь фиксированный тип данных для OBX.5 в профиле соответствия, поэтому я попробовал «VARIES», предоставленный HAPI API для заполнителя типа данных в профиле соответствия в объявлении типа данных OBX.5. Но это тоже не сработало.
Ниже приведены журналы проверки для вышеупомянутой проблемы:
ValidationException — тип данных HL7 NM не соответствует типу данных профиля РАЗЛИЧИВАЕТСЯ в OBX-5
ValidationException - тип данных HL7 ST не соответствует типу данных профиля РАЗЛИЧНО в OBX-5
Ниже сообщение:
- MSH|^~\&|aa|bb|cc|3910|200903230934||ORU^R01^ORU_R01|75535037-123781|P^T|2.3.1
- ЭВН|A31|200903230934
- PID|1||29^^||Test300^Leticia^^^^^L||19770202|M||
- OBX||NM|abc||121||||||F||
- OBX||ST|def||jaiswal||||||F||
Ниже приведен фрагмент профиля:
<SegGroup Name="**PATIENT_RESULT**" LongName="PATIENT_RESULT" Usage="R" Min="1" Max="*">
<SegGroup Name="**PATIENT**" LongName="PATIENT" Usage="O" Min="0" Max="1">
<Segment Name="**PID**" LongName="patient identification segment" Usage="R" Min="1" Max="1">
<Field Name="Set ID - PID" Usage="O" Min="0" Max="1" Datatype="SI" Length="4" ItemNo="00104">
<Segment Name="OBX" LongName="observation/result segment" Usage="O" Min="0" Max="*">
<Field Name="Set ID - OBX" Usage="O" Min="0" Max="1" Datatype="SI" Length="4" ItemNo="00569">
<Reference>OBX-1</Reference>
</Field>
<Field Name="Value Type" Usage="R" Min="1" Max="1" Datatype="ID" Length="3" Table="0125" ItemNo="00570">
<Reference>OBX-2</Reference>
</Field>
<Field Name="Observation Identifier" Usage="R" Min="1" Max="1" Datatype="CE" Length="1000" ItemNo="00571">
<Reference>OBX-3</Reference>
<Component Name="identifier" Usage="O" Datatype="ST" Length="1000">
<Reference>OBX-3-1</Reference>
</Component>
<Component Name="text" Usage="O" Datatype="ST" Length="1000">
<Reference>OBX-3-2</Reference>
</Component>
<Component Name="name of coding system" Usage="O" Datatype="ST" Length="3">
<Reference>OBX-3-3</Reference>
</Component>
<Component Name="alternate identifier" Usage="O" Datatype="ST" Length="3">
<Reference>OBX-3-4</Reference>
</Component>
<Component Name="alternate text" Usage="O" Datatype="ST" Length="3">
<Reference>OBX-3-5</Reference>
</Component>
<Component Name="name of alternate coding system" Usage="O" Datatype="ST" Length="3">
<Reference>OBX-3-6</Reference>
</Component>
</Field>
<Field Name="Observation Sub-ID" Usage="O" Min="1" Max="1" Datatype="ST" Length="20" ItemNo="00572">
<Reference>OBX-4</Reference>
</Field>
<Field Name="Observation Value" Usage="O" Min="0" Max="1" Datatype="**VARIES**" Length="65536" ItemNo="00573">
<Reference>OBX-5</Reference>
</Field>
С уважением, Амар Джайсвал