예제 #1
0
    def test_file(self):
        # Extract message from file
        self.assertTrue(hl7.isfile(sample_file))
        messages = hl7.split_file(sample_file)
        self.assertEqual(len(messages), 1)

        # message can be parsed
        msg = hl7.parse(messages[0])

        # message has expected content
        self.assertEqual([s[0][0] for s in msg], ['MSH', 'EVN', 'PID', 'PD1', 'NK1', 'PV1'])
예제 #2
0
    def test_file(self):
        # Extract message from file
        self.assertTrue(hl7.isfile(sample_file))
        messages = hl7.split_file(sample_file)
        self.assertEqual(len(messages), 1)

        # message can be parsed
        msg = hl7.parse(messages[0])

        # message has expected content
        self.assertEqual([s[0][0] for s in msg],
                         ["MSH", "EVN", "PID", "PD1", "NK1", "PV1"])
예제 #3
0
def parse_hl7_file(file_data):
    """Opens file and parses it with hl7 lib.
    :param file_data: file lines
    """
    if not file_data:
        return []

    message = ""
    for line in file_data:
        message += line.decode("utf-8")

    message_list = []
    message = "\r".join(message.splitlines())
    message = hl7.split_file(message)
    for mess in message:
        parsed_message = hl7.parse(mess)
        res_dict = dict_by_action(parsed_message)
        if res_dict:
            message_list.append(res_dict)

    return message_list