This project implements a Clinical Decision Support System (CDSS) using fuzzy logic. The system evaluates clinical inputs, such as temperature, heart rate, and blood pressure, to suggest diagnostic decisions ranging from "Stable" to "Critical."
-
Inputs:
- Temperature (°F): Low, Normal, High.
- Heart Rate (bpm): Bradycardia, Normal, Tachycardia.
- Blood Pressure (mmHg): Low, Normal, High.
-
Output:
- Diagnosis levels: Stable, Alert, and Critical.
-
Fuzzy Logic:
- Uses fuzzy rules to interpret inputs and compute the diagnosis.
-
Visualization:
- Graphical representation of membership functions.
- Visualization of the diagnosis process.
Make sure the following Python libraries are installed:
numpy
scikit-fuzzy
matplotlib
You can install them using:
pip install numpy scikit-fuzzy matplotlib
-
Clone the repository:
git clone https://github.com/your-username/cdss-fuzzy-logic.git cd cdss-fuzzy-logic
-
Run the script:
python cdss_fuzzy_logic.py
-
Input clinical parameters:
- Enter the temperature, heart rate, and blood pressure as prompted.
-
View the output:
- The script computes and displays the diagnosis level and suggested action.
The project includes visualizations for:
-
Membership Functions:
- Displays the fuzzy sets for each input and output variable.
-
Diagnosis Process:
- Shows the computed diagnosis with a visual representation of fuzzy rules.
Input:
- Temperature: 100°F
- Heart Rate: 110 bpm
- Blood Pressure: 150 mmHg
Output:
Diagnosis Level: 87.45
Decision: Critical condition. Immediate medical attention required.
Graphical Visualization:
- Membership function plots.
- Diagnosis level visualization.
cdss-fuzzy-logic/
├── cdss_fuzzy_logic.py # Main Python script for the CDSS
├── README.md # Project documentation
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Feel free to submit a pull request or open an issue.
Neha Kohli