This is an automated email from the ASF dual-hosted git repository. quinn pushed a commit to branch camel-2.23.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.23.x by this push: new b47ef96 NO JIRA - Simplify test data b47ef96 is described below commit b47ef963ca264f9fd530977b288693f1f04b51e9 Author: Quinn Stevenson <qu...@pronoia-solutions.com> AuthorDate: Tue Jul 2 13:38:33 2019 -0600 NO JIRA - Simplify test data --- .../component/mllp/MllpTcpServerCharsetTest.java | 70 +++------------- ...onsumerOptionalEndOfDataWithValidationTest.java | 2 +- ...onsumerRequiredEndOfDataWithValidationTest.java | 2 +- ...umerRequiredEndOfDataWithoutValidationTest.java | 2 +- ...tProducerEndOfDataAndValidationTestSupport.java | 29 +++---- ...rConsumerEndOfDataAndValidationTestSupport.java | 8 +- .../camel/component/mllp/internal/Hl7UtilTest.java | 93 +++++++++------------- .../camel/test/mllp/Hl7TestMessageGenerator.java | 23 ++---- 8 files changed, 76 insertions(+), 153 deletions(-) diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerCharsetTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerCharsetTest.java index e48d6a5..1ed737e 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerCharsetTest.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerCharsetTest.java @@ -32,65 +32,17 @@ import org.junit.Rule; import org.junit.Test; public class MllpTcpServerCharsetTest extends CamelTestSupport { - static final String TEST_MESSAGE = - "MSH|^~\\&|KinetDx|UCLA Health System|||201801301506||ORU^R01|18030543772221|P|2.3^^||||||ISO_IR 100|" + '\r' - + "PID|1||1117922||TESTER^MARY||19850627|F" + '\r' - + "OBR|1||55510818|ECH10^TRANSTHORACIC ECHO ADULT COMPLETE^IMGPROC|||20180126103542|||||||||029137^LEIBZON^ROMAN^^^^^^EPIC^^^^PROVID|||||Y|20180130150612|||F" - + "|||||||029137^Leibzon^Roman^^MD^^^^EPIC^^^^PROVID" + '\r' - + "DG1|1|I10|^I10^ HTN (essential)^I10" + '\r' - + "DG1|2|I10|R94.31^Abnormal EKG^I10" + '\r' - + "OBX|1|FT|&GDT|| Thousand Oaks Cardiology||||||F" + '\r' - + "OBX|2|FT|&GDT|| 100 Moody Court, Suite 200||||||F" + '\r' - + "OBX|3|FT|&GDT|| Thousand Oaks, CA 91360||||||F" + '\r' - + "OBX|4|FT|&GDT|| Phone: 805-418-3500||||||F" + '\r' - + "OBX|5|FT|&GDT|| ||||||F" + '\r' - + "OBX|6|FT|&GDT||TRANSTHORACIC ECHOCARDIOGRAM REPORT||||||F" + '\r' - + "OBX|7|FT|&GDT|| ||||||F" + '\r' - + "OBX|8|FT|&GDT||Patient Name: Date of Exam: 1/26/2018||||||F" + '\r' - + "OBX|9|FT|&GDT||Medical Rec #: Accession #: ||||||F" + '\r' - + "OBX|10|FT|&GDT||Date of Birth: Height: 74 in||||||F" + '\r' - + "OBX|11|FT|&GDT||Age: Weight: 230 lbs||||||F" + '\r' - + "OBX|12|FT|&GDT||Gender: BSA: 2.31 m²||||||F" + '\r' - + "OBX|13|FT|&GDT||Referring Physician: 029137 ROMAN LEIBZON Blood Pressure: /||||||F" + '\r' - + "OBX|14|FT|&GDT||Diagnosis: I10- HTN (essential); R94.31-Abnormal EKG||||||F" + '\r' - + "OBX|15|FT|&GDT|| ||||||F" + '\r' - + "OBX|16|FT|&GDT||MEASUREMENTS:||||||F" + '\r' - + "OBX|17|FT|&GDT||LVIDd (2D) 5.16 cm LVIDs (2D) 3.14 cm||||||F" + '\r' - + "OBX|18|FT|&GDT||IVSd (2D) 0.93 cm LVPWd (2D) 1.10 cm||||||F" + '\r' - + "OBX|19|FT|&GDT||LA (2D) 4.00 cm Ao Root (2D) 3.00 cm||||||F" + '\r' - + "OBX|20|FT|&GDT||FINDINGS:||||||F" + '\r' - + "OBX|21|FT|&GDT||Left Ventricle: The left ventricular size is normal. Left ventricular wall thickness is normal. LV wall motion is normal. The ejection fraction by Simpson's " - + "Biplane method is 60 %. Normal LV diastolic function. MV deceleration time is 127 msec.||||||F" + '\r' - + "OBX|22|FT|&GDT||MV E velocity is 0.77 m/s. MV A velocity is 0.56 m/s. E/A ratio is 1.36.||||||F" + '\r' - + "OBX|23|FT|&GDT||Lateral E/e' ratio is 6.0. Medial E/e' ratio is 8.7.||||||F" + '\r' - + "OBX|24|FT|&GDT||Left Atrium: The left atrium is mildly dilated in size. The LA Volume index is 30.8 ml/m².||||||F" + '\r' - + "OBX|25|FT|&GDT||Right Atrium: The right atrium is normal in size. RA area is 17 cm2. RA volume is 42 ml.||||||F" + '\r' - + "OBX|26|FT|&GDT||Right Ventricle: The right ventricular size is normal. Global RV systolic function is normal. TAPSE 24 mm. The RV free wall tissue Doppler S' wave measures 16.7 cm/s. " - + "The right ventricle basal diameter measures 26 mm. The right ventricle mid cavity measures 23 mm. The right ventricle longitudinal diameter measures 65 mm.||||||F" + '\r' - + "OBX|27|FT|&GDT||Mitral Valve: Mitral annular calcification noted. Trace mitral valve regurgitation. There is no mitral stenosis.||||||F" + '\r' - + "OBX|28|FT|&GDT||Aortic Valve: The aortic valve appears trileaflet. Trace aortic valve regurgitation. The LVOT velocity is 1.16 m/s. The peak aortic valve velocity is 1.19 m/s. " - + "No aortic valve stenosis.||||||F" + '\r' - + "OBX|29|FT|&GDT||Tricuspid Valve: The tricuspid valve appears normal in structure. Trace tricuspid regurgitation is present. The peak velocity of TR is 2.55 m/s.||||||F" + '\r' - + "OBX|30|FT|&GDT||Pulmonic Valve: Trivial pulmonary valve regurgitation. No evidence of pulmonary valve stenosis.||||||F" + '\r' - + "OBX|31|FT|&GDT||Pericardium: There is no pericardial effusion.||||||F" + '\r' - + "OBX|32|FT|&GDT||Aorta: The aortic root size is normal. The aortic valve annulus measures 25 mm. The sinus of Valsalva measures 33 mm. The sinotubular junction measures 30 mm. " - + "The proximal ascending aorta measures 30 mm.||||||F" + '\r' - + "OBX|33|FT|&GDT||Pulmonary Artery: Based on the acceleration time in the RV outflow tract, the PA pressure is not likely to be elevated. The calculated pulmonary artery pressure " - + "(or right ventricular systolic pressure) is 29 mmHg, if the right atrial pressure is 3 mmHg. Normal PA systolic pressure.||||||F" + '\r' - + "OBX|34|FT|&GDT||IVC: Normal inferior vena cava in diameter with respiratory variation consistent with normal right atrial pressure.||||||F" + '\r' - + "OBX|35|FT|&GDT|| ||||||F" + '\r' - + "OBX|36|FT|&GDT||IMPRESSION:||||||F" + '\r' - + "OBX|37|FT|&GDT|| 1. Normal left ventricular size.||||||F" + '\r' - + "OBX|38|FT|&GDT|| 2. The calculated ejection fraction (Simpson's) is 60 %.||||||F" + '\r' - + "OBX|39|FT|&GDT|| 3. Normal LV diastolic function.||||||F" + '\r' - + "OBX|40|FT|&GDT|| 4. Mildly dilated left atrium in size.||||||F" + '\r' - + "OBX|41|FT|&GDT||029137 Roman Leibzon MD||||||F" + '\r' - + "OBX|42|FT|&GDT||Electronically signed by 029137 Roman Leibzon MD on 1/30/2018 at 3:06:12 PM||||||F" + '\r' - + "OBX|43|FT|&GDT|| ||||||F" + '\r' - + "OBX|44|FT|&GDT||Sonographer: Liana Yenokyan||||||F" + '\r' - + "OBX|45|FT|&GDT|| ||||||F" + '\r' - + "OBX|46|FT|&GDT||*** Final ***||||||F\r"; - + static final String TEST_MESSAGE = + "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|20161206193919||ORM^O01|00001|D|2.3||||||ISO_IR 100|" + '\r' + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + '\r' + + "NTE|1||Free text for entering clinical details|" + '\r' + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + '\r' + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + '\r' + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + '\n'; + static final String TARGET_URI = "mock://target"; @Rule diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerOptionalEndOfDataWithValidationTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerOptionalEndOfDataWithValidationTest.java index eb46b68..b038338 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerOptionalEndOfDataWithValidationTest.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerOptionalEndOfDataWithValidationTest.java @@ -77,7 +77,7 @@ public class MllpTcpServerConsumerOptionalEndOfDataWithValidationTest extends Tc NotifyBuilder done = new NotifyBuilder(context()).whenDone(1).create(); - mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("EVN", "EVN" + MllpProtocolConstants.END_OF_BLOCK)); + mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("PID", "PID" + MllpProtocolConstants.END_OF_BLOCK)); assertTrue("Exchange should have completed", done.matches(5, TimeUnit.SECONDS)); } diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithValidationTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithValidationTest.java index b0132b2..8ddb088 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithValidationTest.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithValidationTest.java @@ -76,7 +76,7 @@ public class MllpTcpServerConsumerRequiredEndOfDataWithValidationTest extends Tc NotifyBuilder done = new NotifyBuilder(context()).whenDone(1).create(); - mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("EVN", "EVN" + MllpProtocolConstants.END_OF_BLOCK)); + mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("PID", "PID" + MllpProtocolConstants.END_OF_BLOCK)); assertFalse("Exchange should not have completed", done.matches(5, TimeUnit.SECONDS)); } diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithoutValidationTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithoutValidationTest.java index d0a1fb6..6c015b3 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithoutValidationTest.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/MllpTcpServerConsumerRequiredEndOfDataWithoutValidationTest.java @@ -70,7 +70,7 @@ public class MllpTcpServerConsumerRequiredEndOfDataWithoutValidationTest extends NotifyBuilder done = new NotifyBuilder(context()).whenDone(1).create(); - mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("EVN", "EVN" + MllpProtocolConstants.END_OF_BLOCK)); + mllpClient.sendFramedData(Hl7TestMessageGenerator.generateMessage().replaceFirst("PID", "PID" + MllpProtocolConstants.END_OF_BLOCK)); assertFalse("Exchange should not have completed", done.matches(5, TimeUnit.SECONDS)); } diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpClientProducerEndOfDataAndValidationTestSupport.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpClientProducerEndOfDataAndValidationTestSupport.java index 4893f7e..0a1b94c 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpClientProducerEndOfDataAndValidationTestSupport.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpClientProducerEndOfDataAndValidationTestSupport.java @@ -39,35 +39,28 @@ public abstract class TcpClientProducerEndOfDataAndValidationTestSupport extends static final int READ_TIMEOUT = 500; static final String TEST_MESSAGE = - "MSH|^~\\&|ADT|EPIC|JCAPS|CC|20161206193919|RISTECH|ADT^A08|00001|D|2.3^^|||||||" + '\r' - + "EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC||" + '\r' - + "PID|1|2100355^^^MRN^MRN|2100355^^^MRN^MRN||MDCLS9^MC9||19700109|F||U|111 HOVER STREET^^LOS ANGELES^CA^90032^USA^P^^LOS ANGELE|LOS ANGELE|" - + "(310)725-6952^P^PH^^^310^7256952||ENGLISH|U||60000013647|565-33-2222|||U||||||||N||" + '\r' - + "PD1|||UCLA HEALTH SYSTEM^^10|10002116^ADAMS^JOHN^D^^^^^EPIC^^^^PROVID||||||||||||||" + '\r' - + "NK1|1|DOE^MC9^^|OTH|^^^^^USA|(310)888-9999^^^^^310^8889999|(310)999-2222^^^^^310^9992222|Emergency Contact 1|||||||||||||||||||||||||||" + '\r' - + "PV1|1|OUTPATIENT|RR CT^^^1000^^^^^^^DEPID|EL|||017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID|017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID||||||" - + "CLR|||||60000013647|SELF|||||||||||||||||||||HOV_CONF|^^^1000^^^^^^^||20150107161438||||||||||" + '\r' - + "PV2||||||||20150107161438||||CT BRAIN W WO CONTRAST||||||||||N|||||||||||||||||||||||||||" + '\r' - + "ZPV||||||||||||20150107161438|||||||||" + '\r' - + "AL1|1||33361^NO KNOWN ALLERGIES^^NOTCOMPUTRITION^NO KNOWN ALLERGIES^EXTELG||||||" + '\r' - + "DG1|1|DX|784.0^Headache^DX|Headache||VISIT" + '\r' - + "GT1|1|1000235129|MDCLS9^MC9^^||111 HOVER STREET^^LOS ANGELES^CA^90032^USA^^^LOS ANGELE|(310)725-6952^^^^^310^7256952||19700109|F|P/F|SLF|" - + "565-33-2222|||||^^^^^USA|||UNKNOWN|||||||||||||||||||||||||||||" + '\r' - + "UB2||||||||" + '\r' + "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|20161206193919||ORM^O01|00001|D|2.3|||||||" + '\r' + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + '\r' + + "NTE|1||Free text for entering clinical details|" + '\r' + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + '\r' + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + '\r' + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + '\n'; static final String EXPECTED_AA = - "MSH|^~\\&|JCAPS|CC|ADT|EPIC|20161206193919|RISTECH|ACK^A08|00001|D|2.3^^|||||||" + '\r' + "MSH|^~\\&|INHOUSE|RTH00|REQUESTING|ICE|20161206193919||ACK^O01|00001|D|2.3|||||||" + '\r' + "MSA|AA|00001|" + '\r' + '\n'; static final String EXPECTED_AR = - "MSH|^~\\&|JCAPS|CC|ADT|EPIC|20161206193919|RISTECH|ACK^A08|00001|D|2.3^^|||||||" + '\r' + "MSH|^~\\&|INHOUSE|RTH00|REQUESTING|ICE|20161206193919||ACK^O01|00001|D|2.3|||||||" + '\r' + "MSA|AR|00001|" + '\r' + '\n'; static final String EXPECTED_AE = - "MSH|^~\\&|JCAPS|CC|ADT|EPIC|20161206193919|RISTECH|ACK^A08|00001|D|2.3^^|||||||" + '\r' + "MSH|^~\\&|INHOUSE|RTH00|REQUESTING|ICE|20161206193919||ACK^O01|00001|D|2.3|||||||" + '\r' + "MSA|AE|00001|" + '\r' + '\n'; diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java index 95fd691..97aaeaf 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/TcpServerConsumerEndOfDataAndValidationTestSupport.java @@ -307,7 +307,7 @@ public abstract class TcpServerConsumerEndOfDataAndValidationTestSupport extends NotifyBuilder done = new NotifyBuilder(context()).whenDone(1).create(); - mllpClient.sendMessageAndWaitForAcknowledgement(Hl7TestMessageGenerator.generateMessage().replaceFirst("EVN", "EVN" + MllpProtocolConstants.START_OF_BLOCK)); + mllpClient.sendMessageAndWaitForAcknowledgement(Hl7TestMessageGenerator.generateMessage().replaceFirst("PID", "PID" + MllpProtocolConstants.START_OF_BLOCK)); assertTrue("Exchange should have completed", done.matches(15, TimeUnit.SECONDS)); } @@ -325,7 +325,7 @@ public abstract class TcpServerConsumerEndOfDataAndValidationTestSupport extends for (int i = 0; i < messageCount; ++i) { String message = (i == (messageCount / 2)) - ? Hl7TestMessageGenerator.generateMessage(i + 1).replaceFirst("EVN", "EVN" + MllpProtocolConstants.START_OF_BLOCK) + ? Hl7TestMessageGenerator.generateMessage(i + 1).replaceFirst("PID", "PID" + MllpProtocolConstants.START_OF_BLOCK) : Hl7TestMessageGenerator.generateMessage(i + 1); log.debug("Sending message {}", Hl7Util.convertToPrintFriendlyString(message)); @@ -355,7 +355,7 @@ public abstract class TcpServerConsumerEndOfDataAndValidationTestSupport extends String message = Hl7TestMessageGenerator.generateMessage(i); if (i == invalidMessageNumber) { - mllpClient.sendFramedData(message.replaceFirst("EVN", "EVN" + MllpProtocolConstants.END_OF_BLOCK)); + mllpClient.sendFramedData(message.replaceFirst("PID", "PID" + MllpProtocolConstants.END_OF_BLOCK)); assertTrue("Exchange containing invalid message should have completed", invalidMessageDone.matches(5, TimeUnit.SECONDS)); // The component may reset the connection in this case, so reconnect if needed /* @@ -390,7 +390,7 @@ public abstract class TcpServerConsumerEndOfDataAndValidationTestSupport extends for (int i = 1; i <= messageCount; ++i) { String message = Hl7TestMessageGenerator.generateMessage(i); if (i == messageCount / 2) { - mllpClient.sendFramedData(message.replaceFirst("EVN", "EVN" + MllpProtocolConstants.END_OF_BLOCK)); + mllpClient.sendFramedData(message.replaceFirst("PID", "PID" + MllpProtocolConstants.END_OF_BLOCK)); assertTrue("Invalid message should have completed", done.matches(15, TimeUnit.SECONDS)); mllpClient.disconnect(); mllpClient.connect(); diff --git a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java index 58adaa5..ac07c1e 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/component/mllp/internal/Hl7UtilTest.java @@ -34,64 +34,49 @@ import static org.junit.Assert.fail; public class Hl7UtilTest { // @formatter:off static final String TEST_MESSAGE = - "MSH|^~\\&|ADT|EPIC|JCAPS|CC|20161206193919|RISTECH|ADT^A08|00001|D|2.3^^|||||||" + '\r' - + "EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC||" + '\r' - + "PID|1|2100355^^^MRN^MRN|2100355^^^MRN^MRN||MDCLS9^MC9||19700109|F||U|111 HOVER STREET^^LOS ANGELES^CA^90032^USA^P^^LOS ANGELE|" - + "LOS ANGELE|(310)725-6952^P^PH^^^310^7256952||ENGLISH|U||60000013647|565-33-2222|||U||||||||N||" + '\r' - + "PD1|||UCLA HEALTH SYSTEM^^10|10002116^ADAMS^JOHN^D^^^^^EPIC^^^^PROVID||||||||||||||" + '\r' - + "NK1|1|DOE^MC9^^|OTH|^^^^^USA|(310)888-9999^^^^^310^8889999|(310)999-2222^^^^^310^9992222|Emergency Contact 1|||||||||||||||||||||||||||" + '\r' - + "PV1|1|OUTPATIENT|RR CT^^^1000^^^^^^^DEPID|EL|||017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID|017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID||||||" - + "CLR|||||60000013647|SELF|||||||||||||||||||||HOV_CONF|^^^1000^^^^^^^||20150107161438||||||||||" + '\r' - + "PV2||||||||20150107161438||||CT BRAIN W WO CONTRAST||||||||||N|||||||||||||||||||||||||||" + '\r' - + "ZPV||||||||||||20150107161438|||||||||" + '\r' - + "AL1|1||33361^NO KNOWN ALLERGIES^^NOTCOMPUTRITION^NO KNOWN ALLERGIES^EXTELG||||||" + '\r' - + "DG1|1|DX|784.0^Headache^DX|Headache||VISIT" + '\r' - + "GT1|1|1000235129|MDCLS9^MC9^^||111 HOVER STREET^^LOS ANGELES^CA^90032^USA^^^LOS ANGELE|(310)725-6952^^^^^310^7256952||19700109|F|P/F|SLF|" - + "565-33-2222|||||^^^^^USA|||UNKNOWN|||||||||||||||||||||||||||||" + '\r' - + "UB2||||||||" + '\r'; - - static final String EXPECTED_ACKNOWLEDGEMENT_PAYLOAD_START = MllpProtocolConstants.START_OF_BLOCK + "MSH|^~\\&|JCAPS|CC|ADT|EPIC|"; - - static final String EXPECTED_ACKNOWLEDGEMENT_PAYLOAD_END = "||ACK^A08|00001A|D|2.3^^|||||||\r" - + "MSA|AA|00001\r" + "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|20161206193919||ORM^O01|00001|D|2.3|||||||" + '\r' + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + '\r' + + "NTE|1||Free text for entering clinical details|" + '\r' + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + '\r' + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + '\r' + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r'; + + static final String EXPECTED_ACKNOWLEDGEMENT_PAYLOAD_START = MllpProtocolConstants.START_OF_BLOCK + "MSH|^~\\&|INHOUSE|RTH00|REQUESTING|ICE|"; + + static final String EXPECTED_ACKNOWLEDGEMENT_PAYLOAD_END = "||ACK^O01|00001A|D|2.3|||||||" + '\r' + + "MSA|AA|00001" + '\r' + MllpProtocolConstants.END_OF_BLOCK + MllpProtocolConstants.END_OF_DATA; static final String EXPECTED_ACKNOWLEDGEMENT_PAYLOAD = MllpProtocolConstants.START_OF_BLOCK - + "MSH|^~\\&|JCAPS|CC|ADT|EPIC|20161206193919||ACK^A08|00001A|D|2.3^^|||||||\r" - + "MSA|AA|00001\r" + + "MSH|^~\\&|INHOUSE|RTH00|REQUESTING|ICE|20161206193919||ACK^O01|00001A|D|2.3|||||||" + '\r' + + "MSA|AA|00001" + '\r' + MllpProtocolConstants.END_OF_BLOCK + MllpProtocolConstants.END_OF_DATA; static final String EXPECTED_MESSAGE = - "MSH|^~\\&|ADT|EPIC|JCAPS|CC|20161206193919|RISTECH|ADT^A08|00001|D|2.3^^|||||||" + "<0x0D CR>" - + "EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC||" + "<0x0D CR>" - + "PID|1|2100355^^^MRN^MRN|2100355^^^MRN^MRN||MDCLS9^MC9||19700109|F||U|111 HOVER STREET^^LOS ANGELES^CA^90032^USA^P^^LOS ANGELE|LOS ANGELE|(310)725-6952^P^PH^^^310^7256952" - + "||ENGLISH|U||60000013647|565-33-2222|||U||||||||N||" + "<0x0D CR>" - + "PD1|||UCLA HEALTH SYSTEM^^10|10002116^ADAMS^JOHN^D^^^^^EPIC^^^^PROVID||||||||||||||" + "<0x0D CR>" - + "NK1|1|DOE^MC9^^|OTH|^^^^^USA|(310)888-9999^^^^^310^8889999|(310)999-2222^^^^^310^9992222|Emergency Contact 1|||||||||||||||||||||||||||" + "<0x0D CR>" - + "PV1|1|OUTPATIENT|RR CT^^^1000^^^^^^^DEPID|EL|||017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID|017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID||||||CLR|||||60000013647|SELF" - + "|||||||||||||||||||||HOV_CONF|^^^1000^^^^^^^||20150107161438||||||||||" + "<0x0D CR>" - + "PV2||||||||20150107161438||||CT BRAIN W WO CONTRAST||||||||||N|||||||||||||||||||||||||||" + "<0x0D CR>" - + "ZPV||||||||||||20150107161438|||||||||" + "<0x0D CR>" - + "AL1|1||33361^NO KNOWN ALLERGIES^^NOTCOMPUTRITION^NO KNOWN ALLERGIES^EXTELG||||||" + "<0x0D CR>" - + "DG1|1|DX|784.0^Headache^DX|Headache||VISIT" + "<0x0D CR>" - + "GT1|1|1000235129|MDCLS9^MC9^^||111 HOVER STREET^^LOS ANGELES^CA^90032^USA^^^LOS ANGELE|(310)725-6952^^^^^310^7256952||19700109|F|P/F|SLF|565-33-2222|||||^^^^^USA|||UNKNOWN" - + "|||||||||||||||||||||||||||||" + "<0x0D CR>" - + "UB2||||||||" + "<0x0D CR>"; + "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|20161206193919||ORM^O01|00001|D|2.3|||||||" + "<0x0D CR>" + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + "<0x0D CR>" + + "NTE|1||Free text for entering clinical details|" + "<0x0D CR>" + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + "<0x0D CR>" + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + "<0x0D CR>" + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + "<0x0D CR>" + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + "<0x0D CR>" + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + "<0x0D CR>"; // @formatter:on - static final String MSH_SEGMENT = "MSH|^~\\&|0|90100053675|JCAPS|CC|20131125122938|RISMD|ORM|28785|D|2.3"; + static final String MSH_SEGMENT = "MSH|^~\\&|0|90100053675|INHOUSE|RTH00|20131125122938||ORM|28785|D|2.3"; // @formatter:off static final String REMAINING_SEGMENTS = - "PID|1||4507626^^^MRN^MRN||RAD VALIDATE^ROBERT||19650916|M||U|1818 UNIVERSITY AVE^^MADISON^WI^53703^USA^^^||(608)251-9999|||M|||579-85-3510||| " + '\r' - + "PV1||OUTPATIENT|NMPCT^^^WWNMD^^^^^^^DEPID||||011463^ZARAGOZA^EDWARD^J.^^^^^EPIC^^^^PROVID|011463^ZARAGOZA^EDWARD^J.^^^^^EPIC^^^^PROVID" - + "|||||||||||90100053686|SELF||||||||||||||||||||||||201311251218|||||||V" + '\r' - + "ORC|RE|9007395^EPC|9007395^EPC||Final||^^^201311251221^201311251222^R||201311251229|RISMD^RADIOLOGY^RADIOLOGIST^^|||SMO PET^^^7044^^^^^SMO PET CT||||||||||||||||I" + '\r' - + "OBR|1|9007395^EPC|9007395^EPC|IMG7118^PET CT LIMITED CHEST W CONTRAST^IMGPROC^^PET CT CHEST||20131125|||||Ancillary Pe|||||||NMPCT|MP2 NM INJ01^MP2 NM INJECTION ROOM 01^PROVID" - + "|||201311251229||NM|Final||^^^201311251221^201311251222^R||||^test|E200003^RADIOLOGY^RESIDENT^^^^^^EPIC^^^^PROVID" - + "|812644^RADIOLOGY^GENERIC^ATTENDING 1^^^^^EPIC^^^^PROVID~000043^RADIOLOGY^RADIOLOGISTTWO^^^^^^EPIC^^^^PROVID|U0058489^SWAIN^CYNTHIA^LEE^||201311251245" + '\r' - + "OBX|1|ST|&GDT|1|[11/25/2013 12:28:14 PM - PHYS, FIFTYFOUR]50||||||Final||||" + '\r'; + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + '\r' + + "NTE|1||Free text for entering clinical details|" + '\r' + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + '\r' + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + '\r' + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r'; // @formatter:on static final byte[] TEST_MESSAGE_BYTES = TEST_MESSAGE.getBytes(); @@ -226,7 +211,7 @@ public class Hl7UtilTest { */ @Test(expected = MllpAcknowledgementGenerationException.class) public void testGenerateAcknowledgementPayloadWithoutEnoughFields() throws Exception { - final byte[] testMessage = TEST_MESSAGE.replace("|RISTECH|ADT^A08|00001|D|2.3^^|||||||", "").getBytes(); + final byte[] testMessage = TEST_MESSAGE.replace("||ORM^O01|00001|D|2.3|||||||", "").getBytes(); MllpSocketBuffer mllpSocketBuffer = new MllpSocketBuffer(new MllpEndpointStub()); Hl7Util.generateAcknowledgementPayload(mllpSocketBuffer, testMessage, "AA"); @@ -239,8 +224,8 @@ public class Hl7UtilTest { */ @Test public void testGenerateAcknowledgementPayloadWithoutEndOfSegment() throws Exception { - String junkMessage = "MSH|^~\\&|ADT|EPIC|JCAPS|CC|20161206193919|RISTECH|ADT^A08|00001|D|2.3^^|||||||" - + "EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC||"; + String junkMessage = "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|20161206193919||ORM^O01|00001|D|2.3|||||||" + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||"; MllpSocketBuffer mllpSocketBuffer = new MllpSocketBuffer(new MllpEndpointStub()); Hl7Util.generateAcknowledgementPayload(mllpSocketBuffer, junkMessage.getBytes(), "AA"); @@ -248,7 +233,7 @@ public class Hl7UtilTest { String actual = mllpSocketBuffer.toString(); assertThat(actual, startsWith(EXPECTED_ACKNOWLEDGEMENT_PAYLOAD_START)); - assertThat(actual, endsWith("|EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC|\r" + assertThat(actual, endsWith("PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2|||||||||||||\r" + "MSA|AA|00001\r" + MllpProtocolConstants.END_OF_BLOCK + MllpProtocolConstants.END_OF_DATA)); } @@ -390,7 +375,7 @@ public class Hl7UtilTest { assertEquals("", Hl7Util.bytesToPrintFriendlyStringBuilder(TEST_MESSAGE_BYTES, 1000000, -14).toString()); assertEquals("", Hl7Util.bytesToPrintFriendlyStringBuilder(TEST_MESSAGE_BYTES, 1000000, 1000000).toString()); - assertEquals("ADT^A08|00001|D|2.3^^|||||||<0x0D CR>EVN|A08|2015010716144", Hl7Util.bytesToPrintFriendlyStringBuilder(TEST_MESSAGE_BYTES, 50, 100).toString()); + assertEquals("ORM^O01|00001|D|2.3|||||||<0x0D CR>PID|1||ICE999999^^^", Hl7Util.bytesToPrintFriendlyStringBuilder(TEST_MESSAGE_BYTES, 54, 100).toString()); } /** @@ -570,8 +555,8 @@ public class Hl7UtilTest { builder = new StringBuilder(); - Hl7Util.appendBytesAsPrintFriendlyString(builder, TEST_MESSAGE_BYTES, 50, 100); - assertEquals("ADT^A08|00001|D|2.3^^|||||||<0x0D CR>EVN|A08|2015010716144", builder.toString()); + Hl7Util.appendBytesAsPrintFriendlyString(builder, TEST_MESSAGE_BYTES, 54, 100); + assertEquals("ORM^O01|00001|D|2.3|||||||<0x0D CR>PID|1||ICE999999^^^", builder.toString()); } /** @@ -663,4 +648,4 @@ public class Hl7UtilTest { assertEquals("", Hl7Util.findMsh18(testMessage.getBytes())); } -} \ No newline at end of file +} diff --git a/components/camel-mllp/src/test/java/org/apache/camel/test/mllp/Hl7TestMessageGenerator.java b/components/camel-mllp/src/test/java/org/apache/camel/test/mllp/Hl7TestMessageGenerator.java index 8bb8bba..ff38742 100644 --- a/components/camel-mllp/src/test/java/org/apache/camel/test/mllp/Hl7TestMessageGenerator.java +++ b/components/camel-mllp/src/test/java/org/apache/camel/test/mllp/Hl7TestMessageGenerator.java @@ -25,21 +25,14 @@ public final class Hl7TestMessageGenerator { static String messageControlIdFormat = "%05d"; static String hl7MessageTemplate = - "MSH|^~\\&|ADT|EPIC|JCAPS|CC|<MESSAGE_TIMESTAMP>|RISTECH|ADT^A08|<MESSAGE_CONTROL_ID>|D|2.3^^|||||||" + '\r' - + "EVN|A08|20150107161440||REG_UPDATE_SEND_VISIT_MESSAGES_ON_PATIENT_CHANGES|RISTECH^RADIOLOGY^TECHNOLOGIST^^^^^^UCLA^^^^^RRMC||" + '\r' - + "PID|1|2100355^^^MRN^MRN|2100355^^^MRN^MRN||MDCLS9^MC9||19700109|F||U|111 HOVER STREET^^LOS ANGELES^CA^90032^USA^P^^LOS ANGELE|LOS ANGELE|(310)" - + "725-6952^P^PH^^^310^7256952||ENGLISH|U||60000013647|565-33-2222|||U||||||||N||" + '\r' - + "PD1|||UCLA HEALTH SYSTEM^^10|10002116^ADAMS^JOHN^D^^^^^EPIC^^^^PROVID||||||||||||||" + '\r' - + "NK1|1|DOE^MC9^^|OTH|^^^^^USA|(310)888-9999^^^^^310^8889999|(310)999-2222^^^^^310^9992222|Emergency Contact 1|||||||||||||||||||||||||||" + '\r' - + "PV1|1|OUTPATIENT|RR CT^^^1000^^^^^^^DEPID|EL|||017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID|017511^TOBIAS^JONATHAN^^^^^^EPIC^^^^PROVID||||||CLR|||||60000013647|SELF" - + "|||||||||||||||||||||HOV_CONF|^^^1000^^^^^^^||20150107161438||||||||||" + '\r' - + "PV2||||||||20150107161438||||CT BRAIN W WO CONTRAST||||||||||N|||||||||||||||||||||||||||" + '\r' - + "ZPV||||||||||||20150107161438|||||||||" + '\r' - + "AL1|1||33361^NO KNOWN ALLERGIES^^NOTCOMPUTRITION^NO KNOWN ALLERGIES^EXTELG||||||" + '\r' - + "DG1|1|DX|784.0^Headache^DX|Headache||VISIT" + '\r' - + "GT1|1|1000235129|MDCLS9^MC9^^||111 HOVER STREET^^LOS ANGELES^CA^90032^USA^^^LOS ANGELE|(310)" - + "725-6952^^^^^310^7256952||19700109|F|P/F|SLF|565-33-2222|||||^^^^^USA|||UNKNOWN|||||||||||||||||||||||||||||" + '\r' - + "UB2||||||||" + '\r' + "MSH|^~\\&|REQUESTING|ICE|INHOUSE|RTH00|<MESSAGE_TIMESTAMP>||ORM^O01|<MESSAGE_CONTROL_ID>|D|2.3|||AL|NE|||" + '\r' + + "PID|1||ICE999999^^^ICE^ICE||Testpatient^Testy^^^Mr||19740401|M|||123 Barrel Drive^^^^SW18 4RT|||||2||||||||||||||" + '\r' + + "NTE|1||Free text for entering clinical details|" + '\r' + + "PV1|1||^^^^^^^^Admin Location|||||||||||||||NHS|" + '\r' + + "ORC|NW|213||175|REQ||||20080808093202|ahsl^^Administrator||G999999^TestDoctor^GPtests^^^^^^NAT|^^^^^^^^Admin Location | 819600|200808080932||RTH00||ahsl^^Administrator||" + '\r' + + "OBR|1|213||CCOR^Serum Cortisol ^ JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|2|213||GCU^Serum Copper ^ JRH06 |||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + + "OBR|3|213||THYG^Serum Thyroglobulin ^JRH06|||200808080932||0.100||||||^|G999999^TestDoctor^GPtests^^^^^^NAT|819600|ADM162||||||820|||^^^^^R||||||||" + '\r' + '\n'; private Hl7TestMessageGenerator() {