Exemple #1
0
def test_personal_history_section():
    text = 'Past Medical History: ADHD Comment: medication PCOS Comment: 1980'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == {MedicalHistoryFlag.PERSONAL}
    assert set(results.iter_terms(include_section=True)) == {
        'pcos', 'past medical history:'
    }
Exemple #2
0
def test_family_history_section_difficult():
    text = 'Review of patient\'s family history indicates:\n asthma daughter\n pcos aunt'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == {
        MedicalHistoryFlag.FAMILY, MedicalHistoryFlag.DEGREE2
    }
    assert set(results.iter_terms()) == {'pcos', 'aunt'}
def test_family_history_none():
    text = 'FAMILY HISTORY:  History of PCOS (poly cystic ovarian syndrome) in family: none'
    exp_flags = (MedicalHistoryFlag.FAMILY_NEG, )
    exp_data = ('pcos', 'none', 'poly cystic ovarian', 'none')
    results = get_medical_history(text, 'pcos', r'poly\s*cystic ovar\w+')
    assert set(results.iter_flags()) == set(exp_flags)
    assert set(results.iter_terms()) == set(exp_data)
Exemple #4
0
def test_family_history_section():
    text = 'Review of patient\'s family history indicates: PCOS daughter'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == {
        MedicalHistoryFlag.FAMILY, MedicalHistoryFlag.DEGREE1
    }
    assert set(results.iter_terms(include_all=True)) == {
        'pcos', 'family history', 'family history indicates:', 'daughter'
    }
Exemple #5
0
def test_medical_history_dx_code(text, exp_flag, exp_data):
    results = get_medical_history(text, 'pcos', r'polycystic ovar\w+', 'e28.2')
    assert set(results.iter_flags()) == {exp_flag}
    assert set(results.iter_terms()) == exp_data
Exemple #6
0
def test_ignore_problem_list():
    text = 'Problem List: PCOS Mother of same blood type'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == set()
    assert set(results.iter_terms()) == set()
Exemple #7
0
def test_ignore_assessment():
    text = 'Assessment: family history of pcos'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == set()
    assert set(results.iter_terms()) == set()
Exemple #8
0
def test_personal_history_section_intervening_section():
    text = 'Past Medical History: ADHD Comment: medication asthma Comment: 1980 Current prescriptions: ... pcos'
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == set()
    assert set(results.iter_terms()) == set()
Exemple #9
0
def test_separators():
    text = 'Family history of diabetes mellitus (DM) • PCOS'
    results = get_medical_history(text, 'pcos')
    assert len(results) == 1
    assert results[0].exclude_flag == ExcludeFlag.DIFFERENT_SECTION
    assert results[0].medical_history_flag == MedicalHistoryFlag.FAMILY
Exemple #10
0
def test_read_about():
    text = 'Aunt read about pcos'
    results = get_medical_history(text, 'pcos')
    assert len(results) == 1
    assert results[0].exclude_flag == ExcludeFlag.NOT_RELEVANT
    assert results[0].medical_history_flag == MedicalHistoryFlag.DEGREE2
Exemple #11
0
def test_period_as_immediate_divider():
    text = 'Aunt. Has pcos'
    results = get_medical_history(text, 'pcos')
    assert len(results) == 1
    assert results[0].exclude_flag == ExcludeFlag.DIFFERENT_SENTENCE
    assert results[0].medical_history_flag == MedicalHistoryFlag.DEGREE2
def test_family_history(text, exp_flags, exp_data):
    results = get_medical_history(text, 'pcos', r'poly\s*cystic ovar\w+')
    assert set(results.iter_flags()) == set(exp_flags)
    assert set(results.iter_terms()) == set(exp_data)
def test_past_dx_of(text, exp_flag):
    results = get_medical_history(text, 'pcos')
    assert set(results.iter_flags()) == {exp_flag}
Exemple #14
0
def test_no_medical_history(text, exp_data):
    results = get_medical_history(text, 'pcos', 'polycystic')
    assert len(results) == 0
    assert len(list(results.iter_terms())) == 0