File size: 2,648 Bytes
fcdda81 | 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 | """
Clinical Action and Recommendation Engine.
Generates targeted lifestyle and follow-up care steps based on patient risk attributions.
"""
class MedicalRecommendationEngine:
def __init__(self):
pass
def generate_patient_guidelines(self, risk_category_string, attribution_dataframe):
"""
Generates actionable care steps tailored to the patient's top risk contributors.
"""
care_guidelines = []
# Tiered care tracking based on global risk categories
if "Severe" in risk_category_string:
care_guidelines.append("Cardiovascular specialist review advised immediately.")
care_guidelines.append("Monitor blood pressure and vital signs regularly.")
elif "Moderate" in risk_category_string:
care_guidelines.append("Schedule a follow-up clinical review within 14 business days.")
care_guidelines.append("Begin systematic tracking of daily vitals.")
else:
care_guidelines.append("Maintain routine annual check-ups as scheduled.")
# Extract and sort features to find the top risk contributors
if not attribution_dataframe.empty and "Impact_Percentage" in attribution_dataframe.columns:
sorted_features = attribution_dataframe.sort_values(by="Impact_Percentage", ascending=False)
top_contributors = sorted_features["Feature"].head(2).tolist()
for feature_name in top_contributors:
if feature_name == "HighBP":
care_guidelines.append("Initiate a low-sodium dietary plan and track blood pressure daily.")
elif feature_name == "BMI":
care_guidelines.append("Discuss a supervised weight management and exercise plan.")
elif feature_name == "Smoker":
care_guidelines.append("Provide resources for smoking cessation and tobacco alternatives.")
# Ensure a fallback guideline is always present
if not care_guidelines:
care_guidelines.append("Consult with your primary care physician for personalized health planning.")
return care_guidelines
if __name__ == "__main__":
import pandas as pd
mock_attributions = pd.DataFrame({
"Feature": ["HighBP", "BMI", "Smoker"],
"Impact_Percentage": [18.5, 14.2, 2.1]
})
engine = MedicalRecommendationEngine()
guidelines_list = engine.generate_patient_guidelines("Severe Cardiovascular Risk", mock_attributions)
print("[SUCCESS] Actionable care guidelines generated successfully:")
for line in guidelines_list:
print(f" • {line}") |