DDStorm is a python application for brainstorming medical differential diagnosis. It is designed to be modular and easily configurable. It is meant to be used by the medical professionals.
DDStorm is still in development phase and not ready for deployment.
Clone the repository to your computer. Alternatively download the source code zip and extract it.
Run the bash script named start
to start the program. Alternatively run python3 __main__.py
within the program directory.
The program has a graphical user interface that can be easily used.
Add symptoms: type the symptom name in the top text entry box and click on the Add
button. Alternatively you can click on the Browse Symptoms
button to browse through a list of available symptoms and select from there.
The symptoms you add will appear in the left sided panel. Depending on the symptoms you add the list of differential diagnosis will update automatically in the right sided panel.
You can change the program configuration by editing the ddstorm.conf
file in the program directory. Available options are-
yes
will show a splash screen while starting up the program.on
will show status messages in the program main window.yes
will delete previous logs every time the program starts.DDStorm is designed to be extremely customizable. All data files are in plain text format and can be easily edited to suit the need of the user.
There are three types of files —
Library files are named after the symptom
. Names should be as concise as possible. But care should be taken to avoid confusion.
Library files are compiled flatly and the directory hierarchy is not preserved. So the files abdominal_pain/generalized.txt
and abdominal_pain/localized.txt
will result in symptoms named generalized
and localized
. To avoid such confusion the naming should be abdominal pain, generalized.txt
and abdominal pain, localized.txt
. The resulting symptoms would be easily searchable in the symptom list. E.g. if you enter abdominal pain
in the browse box, it would show abdominal pain, generalized
and abdominal pain, localized
as available symptoms.
The library files support setting custom priority. The priority can be set by naming the file as symptom.priority_number.txt
. For example in files named abdominal pain.50.txt
and abdominal pain.120.txt
the diagnosis mentioned in the second file will come first (120 has higher priority than 50). If no priority number is mentioned default priority 100
is used.
The file names may contain space
, -
or _
. DDStorm converts -
and _
to spaces
during execution.
Library files contain a single diagnosis per line. The diagnosis should be as specific as possible. Preferably there should be a corresponding entry in the index files indicating the hierarchy of the condition.
The index files represent the hierarchy of disease conditions. For example acute peritonitis
is a sub-type of peritonitis
. Now if symptom A
has a differential diagnosis of peritonitis
and symptom B
has a differential diagnosis of acute peritonitis
, their combined differential diagnosis will be the more general one i.e. peritonitis
.
The index files can be named anything. But for clarity it should be named according to the disease group it represents. For example an index files of abdominal conditions can be named abdomen.txt
.
Index files contain one disease condition per line. The sub-type of a disease must be written below it and indented by spaces
(not tabs).
For example:
peritonitis acute peritonitis
The disease conditions of the same level should have same number of spaces for indentation.
The alias files contain the alias of the disease conditions. It's useful when a same disease may be known by multiple names.
The alias files should have one disease condition per line. The aliases must be separated with ;
.
As the library files are processed flatly, without considering the directory structures, they can be freely organized in directories as needed.
The same conditions in different medical discipline can be kept in separate directories.
For example differential diagnosis of abdominal pain in medicine and surgery can be organized in medical/abdominal pain.txt
and surgery/abdominal pain.txt
respectively. The program will merge them together during execution.
Copyright © 2015-2024 Dr. Agnibho Mondal
All rights reserved
DDStorm is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Agnibho Mondal
mondal@agnibho.com
www.agnibho.com
Softwares of Agnibho
Copyright © 2013-2024 Dr. Agnibho Mondal
www.agnibho.com