I would like to know the best way possible to tackle the scenario below:
Our Radiology system source messages look like this:
000001046MSH|^~&|RAD|UCHC|||200812231014||ORU|RMS|P|2.3||
PID|1|000T99000651|000009002257|000000014146|TEST^PEAR^^^||197805060000|F|
PV1||O|IC2^IC2^^UCHC||||008320^MENOUTIS MD^JOHN^|008320^MENOUTIS MD^JOHN|^^|ORA|||||N^N^U||008320^MENOUTIS MD^JOHN^||000000014146||||||||||||||||||||UCHC|
OBR|| ^ |97150|CAT4230015 ^CT HEAD W + WO CONTRAST |||200812230952|||DMC|||||^^^ |008320^JOHN MENOUTIS MD||||||200812231014|||||1^^^^^R^^ROUTINE|||||999991&DEFAULT&DOCTOR&&&|
NTE|||TEST FOR NEXT GEN
OBX|1|TX|CAT0015GDT||COMPUTERIZED AXIAL TOMOGRAPHY REPORT~***Preliminary Addendum****~~CAT 0015 – CT HEAD W + WO CONTRAST (A#:97150,12/23/2008)~INDICATIONS: TEST FOR NEXT GEN~~Addendum to correct result.~~RESULT: ~Test result for Next Gen.~~~IMPRESSION: ~Test result for Next Gen.~~TECHNOLOGIST: DMC~~~~~Interpreting Physician: DOCTOR DEFAULT on 12/23/2008 10:11~Reviewed By: ~Transcribed by / Date: DMC on 12/23/2008 10:07~Approved Electronically by / Date: on ~Distribution: JOHN MENOUTIS MD~||||||C|
0000001067MSH|^~&|RAD|UCHC|||200812231017||ORU|RMS|P|2.3||
PID|1|000T99000651|000009002257|000000014146|TEST^PEAR^^^||197805060000|F|
PV1||O|IC2^IC2^^UCHC||||008320^MENOUTIS MD^JOHN^|008320^MENOUTIS MD^JOHN|^^|ORA|||||N^N^U||008320^MENOUTIS MD^JOHN^||000000014146||||||||||||||||||||UCHC|
OBR|| ^ |97150|CAT4230015 ^CT HEAD W + WO CONTRAST |||200812230952|||DMC|||||^^^ |008320^JOHN MENOUTIS MD||||||200812231017|||||1^^^^^R^^ROUTINE|||||999991&DEFAULT&DOCTOR&&&|
NTE|||TEST FOR NEXT GEN
OBX|1|TX|CAT0015GDT||COMPUTERIZED AXIAL TOMOGRAPHY REPORT~***Final Addendum***~~CAT 0015 – CT HEAD W + WO CONTRAST (A#:97150,12/23/2008)~INDICATIONS: TEST FOR NEXT GEN~~Addendum to correct result.~~RESULT: ~Test result for Next Gen.~~~IMPRESSION: ~Test result for Next Gen.~~TECHNOLOGIST: DMC~~~~~Interpreting Physician: DOCTOR DEFAULT on 12/23/2008 10:11~Reviewed By: ~Transcribed by / Date: DMC on 12/23/2008 10:07~Approved Electronically by / Date: DOCTOR DEFAULT on 12/23/2008 10:17~Distribution: JOHN MENOUTIS MD~||||||C|
As you can see that all the result come in one obx. Before I send it out to NextGen, I am spliting it on ~ and sending out multiple OBX’s. Nextgen do not want any preliminary results and I am filtering it out using a preproc. The result status comes in P, C and F. My filtering looks for P in the last field of OBX and kills the message. My problem is that NextGen would like Final addendum which comes with a status of C. Preliminary Addendum also comes with a status of C. The string will always have either ***Preliminary Addendum*** or ***Final Addendum*** with a flag of C in OBX 11. How can I search msg and If I find the string ***Preliminary Addendum***, Kill the message. I have written a post proc but I think I should kill before the xlate. Any help is greatly appreciated.