def setUp(self): rpdr_note1 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'note1') rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi2', 'MRN_Type': 'mrn_type2', 'Report_Number': '1232', 'MRN': '1232', 'Report_Type': 'report_type2', 'Report_Description': 'report_description2' }, 'note2') rpdr_note3 = extract_values.RPDRNote( { 'EMPI': 'empi3', 'MRN_Type': 'mrn_type3', 'Report_Number': '1233', 'MRN': '1233', 'Report_Type': 'report_type3', 'Report_Description': 'report_description3' }, 'note3') self.rpdr_notes = [rpdr_note1, rpdr_note2, rpdr_note3]
def setUp(self): self.rpdr_note = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'ventilate')
def test_extract_date_one_digit_day(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'date is 2-2-22') note_phrase_matches = extract_values._extract_phrase_from_notes( 2, ['date'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(1, len(phrase_matches)) self.assertEqual('2-2-22', phrase_matches[0].extracted_value)
def test_extract_numerical(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'ef 2.0') note_phrase_matches = extract_values._extract_phrase_from_notes( 1, ['ef'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(1, len(phrase_matches)) self.assertEqual(2.0, phrase_matches[0].extracted_value)
def test_match_space_surround1(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, ' ventilate') note_phrase_matches = extract_values._extract_phrase_from_notes( 0, ['ventilate'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(1, len(phrase_matches)) phrase_match = phrase_matches[0] self.assertEqual(1, phrase_match.extracted_value)
def test_many_matches_same_phrase(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'ventilate ventilate alex alex alex ventilate, ventilate alex') note_phrase_matches = extract_values._extract_phrase_from_notes( 0, ['ventilate'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(4, len(phrase_matches)) for phrase_match in phrase_matches: self.assertEqual(1, phrase_match.extracted_value)
def test_match_beginning_punctuation_ignore_true(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'ventilate.') rpdr_note2.remove_punctuation_from_note() note_phrase_matches = extract_values._extract_phrase_from_notes( 0, ['ventilate'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(1, len(phrase_matches)) phrase_match = phrase_matches[0] self.assertEqual(1, phrase_match.extracted_value)
def test_multiple_matches_different_phrase(self): phrase_match_context = extract_values.PhraseMatchContexts(0, 0) rpdr_note2 = extract_values.RPDRNote( { 'EMPI': 'empi1', 'MRN_Type': 'mrn_type1', 'Report_Number': '1231', 'MRN': '1231', 'Report_Type': 'report_type1', 'Report_Description': 'report_description1' }, 'ventilate g-tube') note_phrase_matches = extract_values._extract_phrase_from_notes( 0, ['ventilate', 'g-tube'], rpdr_note2, phrase_match_context) phrase_matches = note_phrase_matches.phrase_matches self.assertEqual(2, len(phrase_matches)) self.assertEqual(0, phrase_matches[0].match_start) self.assertEqual(10, phrase_matches[0].match_end) for phrase_match in phrase_matches: self.assertEqual(1, phrase_match.extracted_value)