def test_assign_value_traversal(self): segment_str = 'PID|1||123-456-789^^^HOSPITAL^MR||SURNAME^NAME^A|||M|||1111 SOMEWHERE STREET^^SOMEWHERE^^^USA||555-555-2004~444-333-222|||M\r' m1 = Message('OML_O33') m2 = Message('OML_O33') m1.pid.value = segment_str m2.pid.value = segment_str self.assertEqual(m1.to_er7(), m2.to_er7())
def ack(self, resp_type='AA'): """ Build ACK response for incoming message. :type resp_type: str :param resp_type: 'AA' for ACK, 'AR' for Reject, 'AE' for Application Error :rtype: HL7apy.core.Message :return: ACK ('AA') or NAK ('AE', 'AR') message """ resp_types = ('AA', 'AR', 'AE') if resp_type not in resp_types: raise ValueError( "Invalid ACK type. Expected one of: {}".format(resp_types)) resp = Message('ACK', version='2.5.1') resp.msh.msh_3 = 'LIS' resp.msh.msh_4 = 'LIS Facility' resp.msh.msh_5 = self.msg.msh.msh_3 resp.msh.msh_6 = Config.LABNAME resp.msh.msh_9 = 'ACK^R22^ACK' resp.msh.msh_10 = self.run_info.msg_guid resp.msh.msh_11 = 'P' resp.msh.msh_12 = '2.5.1' resp.msh.msh_18 = 'UNICODE UTF-8' resp.msh.msh_21 = 'LAB-29^IHE' resp.add_segment('MSA') resp.msa.msa_1 = resp_type resp.msa.msa_2 = self.run_info.msg_guid if resp_type != 'AA': pass end_resp = add_mllp_frame(resp.to_er7()) assert isinstance(end_resp, bytes) return end_resp
def test_assign_value_unknown_message(self): msg = _get_test_msg() a = Message() parsed_a = parse_message(msg, validation_level=VALIDATION_LEVEL.QUIET) a.value = msg self.assertEqual(a.name, 'OML_O33') self.assertEqual(a.to_er7(), parsed_a.to_er7())
def test_msg_to_string_empty(self): """ It tests the to_er7 message for an empty message """ from datetime import datetime msg = Message('RSP_K11') self.assertRegexpMatches(msg.to_er7(), 'MSH|^~\\&|||||d+|||||2.5')
def test_msg_to_string_empty(self): """ It tests the to_er7 message for an empty message """ from datetime import datetime msg = Message('RSP_K11') self.assertEqual(msg.to_er7(), 'MSH|^~\\&|||||%s|||||2.5' %datetime.strftime(datetime.now(), '%Y%m%d%H%M%S') )
def test_assign_value(self): msg = _get_test_msg() a = Message('OML_O33', validation_level=VALIDATION_LEVEL.QUIET) parsed_a = parse_message(msg, validation_level=VALIDATION_LEVEL.QUIET) a.value = msg self.assertEqual(a.to_er7(), parsed_a.to_er7()) b = Message('OML_O33', validation_level=VALIDATION_LEVEL.STRICT) b.value = msg parsed_b = parse_message(msg, validation_level=VALIDATION_LEVEL.STRICT) self.assertEqual(b.to_er7(), parsed_b.to_er7()) self.assertEqual(b.children.indexes.keys(), parsed_b.children.indexes.keys()) c = Message('ADT_A01', validation_level=VALIDATION_LEVEL.QUIET) with self.assertRaises(OperationNotAllowed): c.value = msg msg = msg.replace('^', 'x') with self.assertRaises(OperationNotAllowed): a.value = msg c = Message('OML_O33', version='2.6') with self.assertRaises(OperationNotAllowed): c.value = msg
def test_assign_value_traversal(self): m1 = Message('OML_O33') m2 = Message('OML_O33') m1.oml_o33_specimen.value = self.oml_o33_specimen m2.oml_o33_specimen = self.oml_o33_specimen self.assertEqual(m1.to_er7(), m2.to_er7())