]> Softwares of Agnibho - ddstorm.git/blob - README.txt
Added documentation
[ddstorm.git] / README.txt
1 DDStorm
2 =========
3
4 What is DDStorm?
5 ================
6
7 DDStorm is a python application for brainstorming medical differential
8 diagnosis. It is designed to be modular and easily configurable. It is
9 meant to be used by the medical professionals.
10
11 DDStorm is still in development phase and not ready for deployment.
12
13 Usage
14 =====
15
16 Clone the repository to your computer. Alternatively download the
17 source code zip and extract it.
18
19 Run the bash script named 'start' to start the program. Alternatively
20 run 'python3 __main__.py' within the program directory.
21
22 The program has a graphical user interface that can be easily
23 used.
24
25 Add symptoms: type the symptom name in the top text entry box and
26 click on the <Add> button. Alternatively you can click on the
27 <Browse_Symptoms> button to browse through a list of available
28 symptoms and select from there.
29
30 The symptoms you add will appear in the left sided panel. Depending on
31 the symptoms you add the list of differential diagnosis will update
32 automatically in the right sided panel.
33
34 Configuration
35 =============
36
37 You can change the program configuration by editing the 'ddstorm.conf'
38 file in the program directory. Available options are-
39
40 library_path - The directory where default library data is located
41 custom_path - The directory where user created library data is
42 located
43 index_path - The directory where the index of disease hierarchy is
44 located
45 module_path - The directory where compiled module files will be
46 saved.
47 alias_path - The directory where symptom aliases are located
48 splash_screen - Setting this to 'yes' (without quote) will show a
49 splash screen while starting up the program
50 status_message - Setting this to 'on' (without quote) will show status
51 messages in the program main window
52 clean_log - Setting this to 'yes' (without quote) will delete
53 previous logs every time the program starts.
54
55 Editing DDStorm data
56 ====================
57
58 DDStorm is designed to be extremely customizable. All data files are
59 in plain text format and can be easily edited to suit the need of the
60 user.
61
62 There are three types of files-
63
64 Library files - Contains the actual differential diagnosis data
65 Index files - Contains the hierarchy of diseases
66 Alias files - Contains disease alias
67
68 Library files
69 -------------
70
71 * Naming conventions:
72
73 Library files are named after the "symptom". Names should be as
74 concise as possible. But care should be taken to avoid confusion.
75
76 Library files are compiled flatly and the directory hierarchy is not
77 preserved. So the files 'abdominal_pain/generalized.txt' and
78 abdominal_pain/localized.txt' will result in symptoms named
79 'generalized' and 'localized'. To avoid such confusion the naming
80 should be 'abdominal pain, generalized.txt' and
81 'abdominal pain, localized.txt'. The resulting symptoms would be
82 easily searchable in the symptom list. E.g. if you enter
83 'abdominal pain' in the browse box, it would show 'abdominal pain,
84 generalized' and 'abdominal pain, localized' as available symptoms.
85
86 The library files support setting custom priority. The priority can be
87 set by naming the file as <symptom.priority_number.txt>. For example
88 in files named 'abdominal pain.50.txt' and 'abdominal pain.120.txt'
89 the diagnosis mentioned in the second file will come first (120 has
90 higher priority than 50). If no priority number is mentioned default
91 priority '100' is used.
92
93 The file names may contain space, '-' or '_'. DDStorm converts '-' and
94 '_' to spaces during execution.
95
96 * Data structure:
97
98 Library files contain a single diagnosis per line. The diagnosis
99 should be as specific as possible. Preferably there should be a
100 corresponding entry in the index files indicating the hierarchy of the
101 condition.
102
103 Index files
104 -----------
105
106 The index files represent the hierarchy of disease conditions. For
107 example 'acute peritonitis' is a sub-type of 'peritonitis'. Now if
108 symptom 'A' has a differential diagnosis of 'peritonitis' and symptom
109 'B' has a differential diagnosis of 'acute peritonitis', their
110 combined differential diagnosis will be the more general one
111 i.e. 'peritonitis'.
112
113 The index files can be named anything. But for clarity it should be
114 named according to the disease group it represents. For example an
115 index files of abdominal conditions can be named 'abdomen.txt'.
116
117 * Data structure
118
119 Index files contain one disease condition per line. The sub-type of a
120 disease must be written below it and indented by 'spaces' (not
121 tabs).
122
123 For example:
124
125 peritonitis
126 acute peritonitis
127
128 The disease conditions of the same level should have same number of
129 spaces for indentation.
130
131 Alias files
132 -----------
133
134 The alias files contain the alias of the disease conditions. It's
135 useful when a same disease may be known by multiple names.
136
137 * Data structure
138
139 The alias files should have one disease condition per line. The
140 aliases must be separated with ';'.
141
142 Modular structure
143 -----------------
144
145 As the library files are processed flatly, without considering the
146 directory structures, they can be freely organized in directories as
147 needed.
148
149 The same conditions in different medical discipline can be
150 kept in separate directories.
151
152 For example differential diagnosis abdominal pain in medicine and
153 surgery can be organized in 'medical/abdominal pain.txt' and
154 'surgery/abdominal pain.txt' respectively. The program will merge them
155 together during execution.
156
157 Licensing
158 =========
159
160 Copyright (c) 2015 Agnibho Mondal
161 All rights reserved
162
163 This file is part of DDStorm.
164
165 DDStorm is free software: you can redistribute it and/or modify
166 it under the terms of the GNU General Public License as published by
167 the Free Software Foundation, either version 3 of the License, or
168 (at your option) any later version.
169
170 DDStorm is distributed in the hope that it will be useful,
171 but WITHOUT ANY WARRANTY; without even the implied warranty of
172 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
173 GNU General Public License for more details.
174
175 You should have received a copy of the GNU General Public License
176 along with DDStorm. If not, see <http://www.gnu.org/licenses/>.
177
178 Contacts
179 ========
180
181 Agnibho Mondal
182 mail@agnibho.com
183 www.agnibho.com