Как проанализировать множественный сегмент OBR в HL7 с помощью HAPI TERSER
Как проанализировать множественный сегмент OBR в HL7, используя HAPI, используя terser
У меня есть пример сообщения HL7, как это
MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.5
PID|1||MRN101||DOE^JOHN^A||20000101|M||W|1 Campus Martius^^Detroit^MI^48226||(313)227-7300||EN|S|||111-11-1111|||H
PV1|1|U| 12E^1211^01||||1689885733^ORANGE TEAM, OMNI|||Med||||Tra|||99999999^SMITH^KEVIN^^^^MD|I|000000000000|YY|P||||||||||||||||||||Ac|||20130224080500
ORC|RE|F78520223|000000000^LA||CM||||20130226020200|||| PICU|||^RESULT PERFORMED|||RES
OBR|1|F78520223|1305611705^LA|0101301^COMPLETE BLOOD COUNT^COMPLETE BLOOD COUNT|||20130226010600|20130226020200||2632||||20130226014200||333333^GEORGE, BOB|||||0001305611705|20130226020200|||F||^^^20130226043000^^EA~^^^^^EA
OBX|1|NM|0106550^WHITE BLOOD CELL COUNT^WHITE BLOOD CELL COUNT||7.9|10e9/L|4.3-11.0||||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|2|NM|0104650^RBCx10e12^RBCx10e12||4.09|10e12/L|4.53-5.73|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|3|NM|0102150^HEMOGLOBIN^HEMOGLOBIN||12.9|g/dL|13.6-17.4|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|4|NM|0102100^HEMATOCRIT^HEMATOCRIT||37.5|%|40.7-50.8|L|||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
OBX|5|NM|0103500^MEAN CORPUSCULAR VOLUME^MEAN CORPUSCULAR VOLUME||91.7|fL|81.6-96.8||||F|||20130226020200|34333^Kelly, Bacon^^00010033^MOLIS XE2|RES
NTE|1||Test performed at Tulsa
я используюterser.get("/.OBX-3-1"));
для доступа к родительскому сегменту OBX. Как добраться до дочерних OBX-сегментов с помощью terser
2 ответа
OBX вложен в группу OBSERVATION (которая, в свою очередь, вложена в другие группы). На самом деле, не сегмент OBX повторяется, а группа OBSERVATION. Таким образом, ваше более короткое выражение будет что-то вроде terser.get("/.OBSERVATION(i)/OBX-3-1");
где в вашем случае я бегу от 0 до 3.
ура христианин
Я думаю, что вы должны использовать terser.get(/OBX(повтор)-3-1). Например, terser.get(/OBX(2)-3-1) должен быть равен 0102150. Помните, что повторение начинается с 0, поэтому OBX (2) ссылается на OBX|3|NM|0102150^HEMOGLOBIN^..,
Вы можете найти более счастливый пример о повторениях здесь:
Я написал пару постов по этому вопросу. Вы можете найти их:
http://ignaciosuay.com/how-to-use-hapi-terser-with-hl7/
http://ignaciosuay.com/how-to-set-repetitions-in-hl7-messages-using-hapi-terser/
Приветствия Игнасио