File size: 2,885 Bytes
acaf471
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
"""
Test script to verify report generation is using the new Medical Anthropologist prompt
"""
import sys
import os
sys.path.append('Backend')

# Load .env from Backend directory
try:
    from dotenv import load_dotenv
    load_dotenv('Backend/.env')
except ImportError:
    print("Note: dotenv not available, using system environment variables")

# Now import after dotenv is loaded
from utils.report_generator import generate_comprehensive_report

# Test data
test_original_text = "我这两天一直觉得肚子钝痛,不是那种特别剧烈的,就是一直隐隐作痛。有时候会觉得按到那个部位的时候会更明显一点,躺着会好一点,还挺烦有点受不了的感觉。"

test_structured_data = {
    'pain_type': 'Nociceptive (aching, dull, tingling, constant, tender)',
    'location': 'Abdomen',
    'temporal_pattern': 'Constant',
    'intensity': '不是那种特别剧烈的 [Not that particularly severe]',
    'emotion': 'exhausted, depressed',
    'functional_impact': '走路或者按到那个的时候会更明显一点,躺着会好一点 [more noticeable when walking or pressing the area, better when lying down]'
}

test_ontology_mappings = [
    {'original_term': '钝痛', 'mapped_english': 'dull', 'pain_type': 'nociceptive'},
    {'original_term': '隐隐作痛', 'mapped_english': 'aching', 'pain_type': 'nociceptive'},
    {'original_term': '一直', 'mapped_english': 'constant', 'pain_type': 'temporal'}
]

test_clinical_recommendations = [
    {
        'triggered_by_rule': 'Nociceptive Pain Assessment',
        'recommendation': 'Standard pain assessment and management pathway recommended. Consider detailed clinical interview for further characterization.',
        'confidence': 'medium'
    }
]

test_detected_language = 'Chinese'

print("=" * 80)
print("TESTING REPORT GENERATOR")
print("=" * 80)
print("\nCalling generate_comprehensive_report()...\n")

try:
    report = generate_comprehensive_report(
        original_text=test_original_text,
        structured_data=test_structured_data,
        ontology_mappings=test_ontology_mappings,
        clinical_recommendations=test_clinical_recommendations,
        detected_language=test_detected_language
    )
    
    print("=" * 80)
    print("GENERATED REPORT:")
    print("=" * 80)
    print(report)
    print("\n" + "=" * 80)
    
    # Check if it's using the new format
    if "📝 Patient's Description" in report:
        print("✅ SUCCESS: Using new Medical Anthropologist format!")
    elif "Patient Presentation:" in report:
        print("❌ FAIL: Still using old template format!")
        print("\nThis means the function is hitting the exception handler.")
    else:
        print("⚠️ UNKNOWN: Cannot determine format")
        
except Exception as e:
    print(f"❌ ERROR: {e}")
    import traceback
    traceback.print_exc()

print("=" * 80)