encrypted_health_prediction / symptoms_categories.py
kcelia's picture
chore: update
13fb76e unverified
raw
history blame
5.32 kB
"""
In this file, we roughly split up a list of symptoms, taken from "./training.csv" file, avalaible
through: "https://github.com/anujdutt9/Disease-Prediction-from-Symptoms/tree/master/dataset"
into medical categories, in order to make the UI more plesant for the users.
Each variable contains a list of symptoms sthat can be pecific to a part of the body or to a list
of similar symptoms.
"""
import itertools
import pandas as pd
DIGESTIVE_SYSTEM_SYPTOMS = {
"Digestive system syptoms": [
"stomach_pain",
"acidity",
"vomiting",
"indigestion",
"constipation",
"abdominal_pain",
"diarrhoea",
"belly_pain",
"nausea",
"distention_of_abdomen",
"stomach_bleeding",
"pain_during_bowel_movements",
"passage_of_gases",
"brittle_nails",
"red_spots_over_body",
"swelling_of_stomach",
"bloody_stool",
"yellowish_skin",
"irritation_in_anus",
"pain_in_anal_region",
"abnormal_menstruation",
]
}
SKIN_SYPTOMS = {
"Skin related symptoms": [
"itching",
"skin_rash",
"pus_filled_pimples",
"blackheads",
"scurving",
"skin_peeling",
"silver_like_dusting",
"small_dents_in_nails",
"inflammatory_nails",
"blister",
"red_sore_around_nose",
"bruising",
"yellow_crust_ooze",
"dischromic_patches",
"nodal_skin_eruptions",
]
}
ORL_SYPTOMS = {
"ORL_SYPTOMS": [
"loss_of_smell",
"continuous_sneezing",
"runny_nose",
"patches_in_throat",
"throat_irritation",
"sinus_pressure",
"enlarged_thyroid",
"loss_of_balance",
"unsteadiness",
"dizziness",
"spinning_movements",
]
}
THORAX_SYMPTOMS = {
"THORAX_RELATED_SYMPTOMS": [
"breathlessness",
"chest_pain",
"cough",
"rusty_sputum",
"phlegm",
"mucoid_sputum",
"congestion",
"blood_in_sputum",
"fast_heart_rate",
]
}
EYES_SYMPTOMS = {
"Eyes_related_symptoms": [
"sunken_eyes",
"redness_of_eyes",
"watering_from_eyes",
"blurred_and_distorted_vision",
"pain_behind_the_eyes",
"visual_disturbances",
]
}
VASCULAR_LYMPHATIC_SYMPTOMS = {
"VASCULAR_LYMPHATIC_SYMPTOMS": [
"cold_hands_and_feets",
"swollen_blood_vessels",
"swollen_legs",
"swelled_lymph_nodes",
"palpitations",
"prominent_veins_on_calf",
"yellowing_of_eyes",
"puffy_face_and_eyes",
"fluid_overload",
"fluid_overload.1",
"swollen_extremeties",
]
}
UROLOGICAL_SYMPTOMS = {
"UROLOGICAL_SYMPTOMS": [
"burning_micturition",
"spotting_urination",
"yellow_urine",
"bladder_discomfort",
"foul_smell_of_urine",
"continuous_feel_of_urine",
"polyuria",
"dark_urine",
]
}
MUSCULOSKELETAL_SYMPTOMS = {
"MUSCULOSKELETAL_SYMPTOMS": [
"joint_pain",
"muscle_wasting",
"muscle_pain",
"muscle_weakness",
"knee_pain",
"stiff_neck",
"swelling_joints",
"movement_stiffness",
"hip_joint_pain",
"painful_walking",
"weakness_of_one_body_side",
"neck_pain",
"back_pain",
"weakness_in_limbs",
"cramps",
]
}
FEELING_SYMPTOMS = {
"FEELING_SYPTOMS": [
"anxiety",
"restlessness",
"lethargy",
"mood_swings",
"depression",
"irritability",
"lack_of_concentration",
"fatigue",
"malaise",
"weight_gain",
"increased_appetite",
"weight_loss",
"loss_of_appetite",
"obesity",
"excessive_hunger",
]
}
OTHER_SYPTOMS = {
"OTHER_SYPTOMS": [
"ulcers_on_tongue",
"shivering",
"chills",
"irregular_sugar_level",
"high_fever",
"slurred_speech",
"sweating",
"internal_itching",
"mild_fever",
"toxic_look_(typhos)",
"acute_liver_failure",
"dehydration",
"headache",
"extra_marital_contacts",
"drying_and_tingling_lips",
"altered_sensorium",
]
}
PATIENT_HISTORY = {
"PATIENT_HISTORY": [
"family_history",
"receiving_blood_transfusion",
"receiving_unsterile_injections",
"history_of_alcohol_consumption",
"coma",
]
}
SYMPTOMS_LIST = [
SKIN_SYPTOMS,
EYES_SYMPTOMS,
ORL_SYPTOMS,
THORAX_SYMPTOMS,
DIGESTIVE_SYSTEM_SYPTOMS,
UROLOGICAL_SYMPTOMS,
VASCULAR_LYMPHATIC_SYMPTOMS,
MUSCULOSKELETAL_SYMPTOMS,
FEELING_SYMPTOMS,
PATIENT_HISTORY,
OTHER_SYPTOMS,
]
def test(file_path="./Training.csv"):
df = pd.read_csv(file_path, index_col=0)
valid_column = df.columns
all_symptoms = [category.values() for category in SYMPTOMS_LIST]
all_symptoms = list(itertools.chain.from_iterable(all_symptoms))
all_symptoms = list(itertools.chain.from_iterable(all_symptoms))
set(valid_column) - set(all_symptoms), set(all_symptoms) - set(valid_column)
if __name__ == "__main__":
test()