kcelia commited on
Commit
7681953
1 Parent(s): e6384a7

chore: version 5

Browse files
README.md CHANGED
@@ -6,7 +6,7 @@ colorTo: blue
6
  sdk: gradio
7
  sdk_version: 3.33.1
8
  app_file: app.py
9
- pinned: True
10
  tags:
11
  - FHE
12
  - PPML
@@ -22,7 +22,7 @@ python_version: 3.10.6
22
 
23
  ## Running the application on your machine
24
 
25
- From this directory, i.e. `health_prediction`, you can proceed with the following steps.
26
 
27
  ### Do once
28
 
 
6
  sdk: gradio
7
  sdk_version: 3.33.1
8
  app_file: app.py
9
+ pinned: true
10
  tags:
11
  - FHE
12
  - PPML
 
22
 
23
  ## Running the application on your machine
24
 
25
+ From this directory, i.e., `health_prediction`, you can proceed with the following steps.
26
 
27
  ### Do once
28
 
app.py CHANGED
@@ -2,8 +2,9 @@ import subprocess
2
  import time
3
  from typing import Dict, List, Tuple
4
 
5
- import gradio as gr # pylint: disable=import-error
6
  import numpy as np
 
7
  import requests
8
  from symptoms_categories import SYMPTOMS_LIST
9
  from utils import (
@@ -13,6 +14,8 @@ from utils import (
13
  INPUT_BROWSER_LIMIT,
14
  KEYS_DIR,
15
  SERVER_URL,
 
 
16
  clean_directory,
17
  get_disease_name,
18
  load_data,
@@ -37,7 +40,29 @@ def is_none(obj) -> bool:
37
  Returns:
38
  bool: True if the object is None or empty, False otherwise.
39
  """
40
- return all((obj is None, (obj is not None and len(obj) < 1)))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
 
43
  # <!> This function has been paused due to UI issues.
@@ -106,22 +131,25 @@ def get_features_fn(*checked_symptoms: Tuple[str]) -> Dict:
106
  """
107
  if not any(lst for lst in checked_symptoms if lst):
108
  return {
109
- error_box1: gr.update(
110
- visible=True, value="Enter a default disease or select your own symptoms"
111
- ),
112
  }
113
 
114
  if len(pretty_print(checked_symptoms)) < 5:
115
  print("Provide at least 5 symptoms.")
116
  return {
117
- error_box1: gr.update(visible=True, value="Provide at least 5 symptoms"),
118
- user_vect_box1: get_user_symptoms_from_checkboxgroup([]),
119
  }
120
 
121
-
122
  return {
123
  error_box1: gr.update(visible=False),
124
- user_vect_box1: get_user_symptoms_from_checkboxgroup(pretty_print(checked_symptoms)),
 
 
 
 
 
 
125
  }
126
 
127
 
@@ -141,7 +169,7 @@ def key_gen_fn(user_symptoms: List[str]) -> Dict:
141
  if is_none(user_symptoms):
142
  print("Error: Please submit your symptoms or select a default disease.")
143
  return {
144
- error_box2: gr.update(visible=True, value="Please submit your symptoms first!."),
145
  }
146
 
147
  # Generate a random user ID
@@ -167,9 +195,11 @@ def key_gen_fn(user_symptoms: List[str]) -> Dict:
167
 
168
  return {
169
  error_box2: gr.update(visible=False),
170
- key_box: serialized_evaluation_keys_shorten_hex,
171
- user_id_box: user_id,
172
- key_len_box: f"{len(serialized_evaluation_keys) / (10**6):.2f} MB",
 
 
173
  }
174
 
175
 
@@ -186,7 +216,9 @@ def encrypt_fn(user_symptoms: np.ndarray, user_id: str) -> None:
186
  print("Error in encryption step: Provide your symptoms and generate the evaluation keys.")
187
  return {
188
  error_box3: gr.update(
189
- visible=True, value="Please provide your symptoms and generate the evaluation keys."
 
 
190
  )
191
  }
192
 
@@ -210,9 +242,9 @@ def encrypt_fn(user_symptoms: np.ndarray, user_id: str) -> None:
210
 
211
  return {
212
  error_box3: gr.update(visible=False),
213
- user_vect_box2: user_symptoms,
214
- quant_vect_box: quant_user_symptoms,
215
- enc_vect_box: encrypted_quantized_user_symptoms_shorten_hex,
216
  }
217
 
218
 
@@ -228,8 +260,9 @@ def send_input_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
228
  return {
229
  error_box4: gr.update(
230
  visible=True,
231
- value="Please ensure that the evaluation key has been generated "
232
- "and the symptoms have been submitted before sending the data to the server",
 
233
  )
234
  }
235
 
@@ -242,7 +275,9 @@ def send_input_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
242
  f"The key has been generated correctly - {evaluation_key_path.is_file()=}"
243
  )
244
 
245
- return {error_box4: gr.update(visible=True, value="Please generate the private key first.")}
 
 
246
 
247
  if not encrypted_input_path.is_file():
248
  print(
@@ -252,7 +287,7 @@ def send_input_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
252
  return {
253
  error_box4: gr.update(
254
  visible=True,
255
- value="Please encrypt the data with the private key first.",
256
  ),
257
  }
258
 
@@ -291,9 +326,12 @@ def run_fhe_fn(user_id: str) -> Dict:
291
  return {
292
  error_box5: gr.update(
293
  visible=True,
294
- value="Please ensure that the evaluation key has been generated "
295
- "and the symptoms have been submitted before sending the data to the server",
296
- )
 
 
 
297
  }
298
 
299
  data = {
@@ -311,18 +349,19 @@ def run_fhe_fn(user_id: str) -> Dict:
311
  error_box5: gr.update(
312
  visible=True,
313
  value=(
314
- "An error occurred on the Server Side. "
315
  "Please check connectivity and data transmission."
316
  ),
317
  ),
318
- fhe_execution_time_box: gr.update(visible=True),
319
  }
320
  else:
 
321
  print(f"response.ok: {response.ok}, {response.json()} - Computed")
322
 
323
  return {
324
  error_box5: gr.update(visible=False),
325
- fhe_execution_time_box: gr.update(value=f"{response.json()} seconds"),
326
  }
327
 
328
 
@@ -338,8 +377,8 @@ def get_output_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
338
  return {
339
  error_box6: gr.update(
340
  visible=True,
341
- value="Please ensure that the evaluation key has been generated "
342
- "and the symptoms have been submitted before sending the data to the server",
343
  )
344
  }
345
 
@@ -367,12 +406,13 @@ def get_output_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
367
  return {error_box6: gr.update(visible=False), srv_resp_retrieve_data_box: "Data received"}
368
 
369
 
370
- def decrypt_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
371
  """Dencrypt the data on the `Client Side`.
372
 
373
  Args:
374
  user_id (str): The current user's ID
375
  user_symptoms (np.ndarray): The user symptoms
 
376
 
377
  Returns:
378
  Decrypted output
@@ -382,8 +422,8 @@ def decrypt_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
382
  return {
383
  error_box7: gr.update(
384
  visible=True,
385
- value="Please ensure that the symptoms have been submitted and the evaluation "
386
- "key has been generated",
387
  )
388
  }
389
 
@@ -395,10 +435,14 @@ def decrypt_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
395
  return {
396
  error_box7: gr.update(
397
  visible=True,
398
- value="Please ensure that the symptoms have been submitted, the evaluation "
399
- "key has been generated and step 5 and 6 have been performed on the Server "
400
- "side before decrypting the prediction",
401
- )
 
 
 
 
402
  }
403
 
404
  # Load the encrypted output as bytes
@@ -412,11 +456,31 @@ def decrypt_fn(user_id: str, user_symptoms: np.ndarray) -> Dict:
412
  # Deserialize, decrypt and post-process the encrypted output
413
  output = client.deserialize_decrypt_dequantize(encrypted_output)
414
 
415
- print(output)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
 
417
  return {
418
  error_box7: gr.update(visible=False),
419
- decrypt_target_box: get_disease_name(output.argmax()),
420
  }
421
 
422
 
@@ -426,15 +490,17 @@ def reset_fn():
426
  clean_directory()
427
 
428
  return {
429
- # disease_box: None,
430
- user_id_box: None,
431
  user_vect_box1: None,
432
- user_vect_box2: None,
433
- quant_vect_box: None,
434
- enc_vect_box: None,
435
- key_box: None,
436
- key_len_box: None,
437
- fhe_execution_time_box: None,
 
 
 
438
  decrypt_target_box: None,
439
  error_box7: gr.update(visible=False),
440
  error_box1: gr.update(visible=False),
@@ -448,31 +514,36 @@ def reset_fn():
448
  **{box: None for box in check_boxes},
449
  }
450
 
451
- def change_tab(next_tab):
452
- print(next_tab)
453
- return gr.Tabs.update(selected=next_tab)
454
 
455
  CSS = """
456
- /* #them {color: dark-yellow} */
457
- /* #them {font-size: 25px} */
458
- /* #them {font-weight: bold} */
459
  .gradio-container {background-color: white}
 
460
  /* .feedback {font-size: 3px !important} */
461
- #svelte-s1r2yt {color: orange}
462
  #svelte-s1r2yt {font-size: 25px}
463
  #svelte-s1r2yt {font-weight: bold}
464
  /* #them {text-align: center} */
465
  """
466
 
 
 
 
 
 
 
467
  if __name__ == "__main__":
468
 
469
  print("Starting demo ...")
470
 
471
  clean_directory()
472
 
473
- (X_train, X_test), (y_train, y_test), valid_symptoms = load_data()
474
 
475
  with gr.Blocks(css=CSS) as demo:
 
476
 
477
  # Link + images
478
  gr.Markdown(
@@ -494,20 +565,31 @@ if __name__ == "__main__":
494
  </p>
495
 
496
  <p align="center">
497
- <img width="100%" height="30%" src="https://raw.githubusercontent.com/kcelia/Img/main/health_prediction_img.png">
498
  </p>
499
  """
500
  )
501
 
502
- with gr.Tabs(eelem_id ="svelte-s1r2yt", lem_classes="svelte-s1r2yt") as tabs:
503
- with gr.TabItem("1. Symptoms Selection", id=0):
504
- gr.Markdown("<span style='color:orange'>Client Side</span>")
505
- gr.Markdown("## Step 1: Provide your symptoms")
506
- gr.Markdown(
507
- "You can provide your health condition either by checking "
508
- "the symptoms available in the boxes or by selecting a known disease with "
509
- "its predefined set of symptoms."
510
- )
 
 
 
 
 
 
 
 
 
 
 
511
 
512
  # Box symptoms
513
  check_boxes = []
@@ -523,59 +605,66 @@ if __name__ == "__main__":
523
  )
524
  check_boxes.append(check_box)
525
 
526
- error_box1 = gr.Textbox(label="Error", visible=False)
527
 
528
  # <!> This part has been paused due to UI issues.
529
 
530
  # Default disease, picked from the dataframe
531
- # disease_box = gr.Dropdown(list(sorted(set(df_test["prognosis"]))),
532
- # label="Disease:")
533
- # disease_box.change(
534
- # fn=fill_in_fn,
535
- # inputs=[disease_box, *check_boxes],
536
- # outputs=[*check_boxes],
537
- # )
 
 
 
 
 
 
 
 
538
 
539
  # User symptom vector
540
  user_vect_box1 = gr.Textbox(label="User Symptoms Vector:", interactive=False)
541
 
542
  # Submit botton
543
- submit_button = gr.Button("Submit")
544
-
545
- submit_button.click(
546
- fn=get_features_fn,
547
- inputs=[*check_boxes],
548
- outputs=[user_vect_box1, error_box1],
549
- )
550
 
551
  # Clear botton
552
- clear_button = gr.Button("Reset Space")
 
 
 
 
553
 
554
- next_tab = gr.Button('Next Step')
555
- next_tab.click(lambda _:gr.Tabs.update(selected=1), None, tabs)
556
-
557
  with gr.TabItem("2. Data Encryption", id=1):
558
- gr.Markdown("<span style='color:orange'>Client Side</span>")
559
- gr.Markdown("## Step 2: Generate the keys")
 
 
 
 
 
560
 
561
- gen_key_btn = gr.Button("Generate the keys")
562
- error_box2 = gr.Textbox(label="Error", visible=False)
563
 
564
- with gr.Row():
565
- # User ID
566
- with gr.Column(scale=1, min_width=600):
567
- user_id_box = gr.Textbox(label="User ID:", interactive=False)
568
- # Evaluation key size
569
- with gr.Column(scale=1, min_width=600):
570
- key_len_box = gr.Textbox(label="Evaluation Key Size:", interactive=False)
571
 
572
  # Evaluation key (truncated)
573
- with gr.Column(scale=2, min_width=600):
574
- key_box = gr.Textbox(
575
- label="Evaluation key (truncated):",
576
- max_lines=3,
577
- interactive=False,
578
- )
579
 
580
  gen_key_btn.click(
581
  key_gen_fn,
@@ -588,24 +677,31 @@ if __name__ == "__main__":
588
  ],
589
  )
590
 
591
- gr.Markdown("## Step 3: Encrypt the symptoms")
592
-
593
- encrypt_btn = gr.Button("Encrypt the symptoms with the private key")
594
- error_box3 = gr.Textbox(label="Error", visible=False)
595
 
 
 
596
 
597
  with gr.Row():
598
  with gr.Column(scale=1, min_width=600):
599
  user_vect_box2 = gr.Textbox(
600
- label="User Symptoms Vector:", interactive=False
 
 
601
  )
602
 
603
  with gr.Column(scale=1, min_width=600):
604
- quant_vect_box = gr.Textbox(label="Quantized Vector:", interactive=False)
 
 
 
 
605
 
606
  with gr.Column(scale=1, min_width=600):
607
  enc_vect_box = gr.Textbox(
608
- label="Encrypted Vector:", max_lines=3, interactive=False
 
 
609
  )
610
 
611
  encrypt_btn.click(
@@ -620,15 +716,15 @@ if __name__ == "__main__":
620
  )
621
 
622
  gr.Markdown(
623
- "## Step 4: Send the encrypted data to the "
624
- "<span style='color:orange'>Server Side</span>"
625
  )
626
 
627
- error_box4 = gr.Textbox(label="Error", visible=False)
628
 
629
  with gr.Row().style(equal_height=False):
630
  with gr.Column(scale=4):
631
- send_input_btn = gr.Button("Send the encrypted data")
632
  with gr.Column(scale=1):
633
  srv_resp_send_data_box = gr.Checkbox(
634
  label="Data Sent", show_label=False, interactive=False
@@ -639,26 +735,29 @@ if __name__ == "__main__":
639
  inputs=[user_id_box, user_vect_box1],
640
  outputs=[error_box4, srv_resp_send_data_box],
641
  )
642
-
 
643
  with gr.Row().style(equal_height=True):
644
  with gr.Column(scale=1):
645
- prev_tab = gr.Button('Previous Step')
646
- prev_tab.click(lambda _:gr.Tabs.update(selected=0), None, tabs)
647
 
648
  with gr.Column(scale=1):
649
- next_tab = gr.Button('Next Step')
650
- next_tab.click(lambda _:gr.Tabs.update(selected=2), None, tabs)
651
-
652
-
653
 
654
  with gr.TabItem("3. FHE execution", id=2):
655
- gr.Markdown("<span style='color:orange'>Server Side</span>")
656
- gr.Markdown("## Step 5: Run the FHE evaluation")
 
 
 
 
657
 
658
- run_fhe_btn = gr.Button("Run the FHE evaluation")
659
- error_box5 = gr.Textbox(label="Error", visible=False)
660
  fhe_execution_time_box = gr.Textbox(
661
- label="Total FHE Execution Time:", interactive=False
662
  )
663
 
664
  run_fhe_btn.click(
@@ -667,28 +766,25 @@ if __name__ == "__main__":
667
  outputs=[fhe_execution_time_box, error_box5],
668
  )
669
 
 
670
  with gr.Row().style(equal_height=True):
671
  with gr.Column(scale=1):
672
- prev_tab = gr.Button('Previous Step')
673
  prev_tab.click(lambda _: gr.Tabs.update(selected=1), None, tabs)
674
 
675
  with gr.Column(scale=1):
676
- next_tab = gr.Button('Next Step')
677
  next_tab.click(lambda _: gr.Tabs.update(selected=3), None, tabs)
678
-
679
-
680
 
681
  with gr.TabItem("4. Data Decryption", id=3):
682
- gr.Markdown("<span style='color:orange'>Client Side</span>")
683
- gr.Markdown(
684
- "## Step 6: Get the data from the <span style='color:orange'>Server Side</span>"
685
- )
686
 
687
- error_box6 = gr.Textbox(label="Error", visible=False)
688
 
689
  with gr.Row().style(equal_height=True):
690
  with gr.Column(scale=4):
691
- get_output_btn = gr.Button("Get data")
692
  with gr.Column(scale=1):
693
  srv_resp_retrieve_data_box = gr.Checkbox(
694
  label="Data Received", show_label=False, interactive=False
@@ -700,11 +796,17 @@ if __name__ == "__main__":
700
  outputs=[srv_resp_retrieve_data_box, error_box6],
701
  )
702
 
703
- gr.Markdown("## Step 7: Decrypt the output")
704
 
705
- decrypt_target_btn = gr.Button("Decrypt the output")
706
- error_box7 = gr.Textbox(label="Error", visible=False)
707
- decrypt_target_box = gr.Textbox(abel="Decrypted Output:", interactive=False)
 
 
 
 
 
 
708
 
709
  decrypt_target_btn.click(
710
  decrypt_fn,
@@ -712,8 +814,20 @@ if __name__ == "__main__":
712
  outputs=[decrypt_target_box, error_box7],
713
  )
714
 
715
- prev_tab = gr.Button('Previous Step')
716
- prev_tab.click(lambda _:gr.Tabs.update(selected=2), None, tabs)
 
 
 
 
 
 
 
 
 
 
 
 
717
 
718
  clear_button.click(
719
  reset_fn,
@@ -728,6 +842,9 @@ if __name__ == "__main__":
728
  error_box5,
729
  error_box6,
730
  error_box7,
 
 
 
731
  user_id_box,
732
  key_len_box,
733
  key_box,
 
2
  import time
3
  from typing import Dict, List, Tuple
4
 
5
+ import gradio as gr # pylint: disable=import-error
6
  import numpy as np
7
+ import pandas as pd
8
  import requests
9
  from symptoms_categories import SYMPTOMS_LIST
10
  from utils import (
 
14
  INPUT_BROWSER_LIMIT,
15
  KEYS_DIR,
16
  SERVER_URL,
17
+ TARGET_COLUMNS,
18
+ TRAINING_FILENAME,
19
  clean_directory,
20
  get_disease_name,
21
  load_data,
 
40
  Returns:
41
  bool: True if the object is None or empty, False otherwise.
42
  """
43
+ return obj is None or (obj is not None and len(obj) < 1)
44
+
45
+
46
+ def display_default_symptoms_fn(default_disease: str) -> Dict:
47
+ """
48
+ Displays the symptoms of a given existing disease.
49
+
50
+ Args:
51
+ default_disease (str): Disease
52
+ Returns:
53
+ Dict: The according symptoms
54
+ """
55
+ df = pd.read_csv(TRAINING_FILENAME)
56
+ df_filtred = df[df[TARGET_COLUMNS[1]] == default_disease]
57
+
58
+ return {
59
+ default_symptoms: gr.update(
60
+ visible=True,
61
+ value=pretty_print(
62
+ df_filtred.columns[df_filtred.eq(1).any()].to_list(), delimiter=", "
63
+ ),
64
+ )
65
+ }
66
 
67
 
68
  # <!> This function has been paused due to UI issues.
 
131
  """
132
  if not any(lst for lst in checked_symptoms if lst):
133
  return {
134
+ error_box1: gr.update(visible=True, value="⚠️ Please provide your chief complaints."),
 
 
135
  }
136
 
137
  if len(pretty_print(checked_symptoms)) < 5:
138
  print("Provide at least 5 symptoms.")
139
  return {
140
+ error_box1: gr.update(visible=True, value="⚠️ Provide at least 5 symptoms"),
141
+ user_vect_box1: None,
142
  }
143
 
 
144
  return {
145
  error_box1: gr.update(visible=False),
146
+ user_vect_box1: gr.update(
147
+ visible=True, value=get_user_symptoms_from_checkboxgroup(pretty_print(checked_symptoms))
148
+ ),
149
+ recap_symptoms_box: gr.update(
150
+ visible=True,
151
+ value=pretty_print(checked_symptoms, case_conversion=str.capitalize, delimiter=", "),
152
+ ),
153
  }
154
 
155
 
 
169
  if is_none(user_symptoms):
170
  print("Error: Please submit your symptoms or select a default disease.")
171
  return {
172
+ error_box2: gr.update(visible=True, value="⚠️ Please submit your symptoms first."),
173
  }
174
 
175
  # Generate a random user ID
 
195
 
196
  return {
197
  error_box2: gr.update(visible=False),
198
+ key_box: gr.update(visible=False, value=serialized_evaluation_keys_shorten_hex),
199
+ user_id_box: gr.update(visible=True, value=user_id),
200
+ key_len_box: gr.update(
201
+ visible=False, value=f"{len(serialized_evaluation_keys) / (10**6):.2f} MB"
202
+ ),
203
  }
204
 
205
 
 
216
  print("Error in encryption step: Provide your symptoms and generate the evaluation keys.")
217
  return {
218
  error_box3: gr.update(
219
+ visible=True,
220
+ value="⚠️ Please ensure that your symptoms have been submitted and "
221
+ "that you have generated the evaluation key.",
222
  )
223
  }
224
 
 
242
 
243
  return {
244
  error_box3: gr.update(visible=False),
245
+ user_vect_box2: gr.update(visible=False, value=user_symptoms),
246
+ quant_vect_box: gr.update(visible=False, value=quant_user_symptoms),
247
+ enc_vect_box: gr.update(visible=True, value=encrypted_quantized_user_symptoms_shorten_hex),
248
  }
249
 
250
 
 
260
  return {
261
  error_box4: gr.update(
262
  visible=True,
263
+ value="⚠️ Please check your connectivity \n"
264
+ "⚠️ Ensure that the symptoms have been submitted and the evaluation "
265
+ "key has been generated before sending the data to the server.",
266
  )
267
  }
268
 
 
275
  f"The key has been generated correctly - {evaluation_key_path.is_file()=}"
276
  )
277
 
278
+ return {
279
+ error_box4: gr.update(visible=True, value="⚠️ Please generate the private key first.")
280
+ }
281
 
282
  if not encrypted_input_path.is_file():
283
  print(
 
287
  return {
288
  error_box4: gr.update(
289
  visible=True,
290
+ value="⚠️ Please encrypt the data with the private key first.",
291
  ),
292
  }
293
 
 
326
  return {
327
  error_box5: gr.update(
328
  visible=True,
329
+ value="⚠️ Please check your connectivity \n"
330
+ "⚠️ Ensure that the symptoms have been submitted, the evaluation "
331
+ "key has been generated and the server received the data "
332
+ "before processing the data.",
333
+ ),
334
+ fhe_execution_time_box: None,
335
  }
336
 
337
  data = {
 
349
  error_box5: gr.update(
350
  visible=True,
351
  value=(
352
+ "⚠️ An error occurred on the Server Side. "
353
  "Please check connectivity and data transmission."
354
  ),
355
  ),
356
+ fhe_execution_time_box: gr.update(visible=False),
357
  }
358
  else:
359
+ time.sleep(1)
360
  print(f"response.ok: {response.ok}, {response.json()} - Computed")
361
 
362
  return {
363
  error_box5: gr.update(visible=False),
364
+ fhe_execution_time_box: gr.update(visible=True, value=f"{response.json():.2f} seconds"),
365
  }
366
 
367
 
 
377
  return {
378
  error_box6: gr.update(
379
  visible=True,
380
+ value="⚠️ Please check your connectivity \n"
381
+ "⚠️ Ensure that the server has successfully processed and transmitted the data to the client.",
382
  )
383
  }
384
 
 
406
  return {error_box6: gr.update(visible=False), srv_resp_retrieve_data_box: "Data received"}
407
 
408
 
409
+ def decrypt_fn(user_id: str, user_symptoms: np.ndarray, threshold: int = 0.5) -> Dict:
410
  """Dencrypt the data on the `Client Side`.
411
 
412
  Args:
413
  user_id (str): The current user's ID
414
  user_symptoms (np.ndarray): The user symptoms
415
+ threshold (float): Probability confidence threshold
416
 
417
  Returns:
418
  Decrypted output
 
422
  return {
423
  error_box7: gr.update(
424
  visible=True,
425
+ value="⚠️ Please check your connectivity \n"
426
+ "⚠️ Ensure that the client has successfully received the data from the server.",
427
  )
428
  }
429
 
 
435
  return {
436
  error_box7: gr.update(
437
  visible=True,
438
+ value="⚠️ Please ensure that: \n"
439
+ "- the connectivity \n"
440
+ "- the symptoms have been submitted \n"
441
+ "- the evaluation key has been generated \n"
442
+ "- the server processed the encrypted data \n"
443
+ "- the Client received the data from the Server before decrypting the prediction",
444
+ ),
445
+ decrypt_target_box: None,
446
  }
447
 
448
  # Load the encrypted output as bytes
 
456
  # Deserialize, decrypt and post-process the encrypted output
457
  output = client.deserialize_decrypt_dequantize(encrypted_output)
458
 
459
+ top3_diseases = np.argsort(output.flatten())[-3:][::-1]
460
+ top3_proba = output[0][top3_diseases]
461
+
462
+ if (
463
+ (top3_proba[0] < threshold)
464
+ or (np.sum(top3_proba) < threshold)
465
+ or (abs(top3_proba[0] - top3_proba[1]) < threshold)
466
+ ):
467
+ out = (
468
+ "The prediction appears uncertain; including more symptoms may improve the results.\n\n"
469
+ "Here are the top3 predictions:"
470
+ )
471
+ else:
472
+ out = "Based on the information provided, here are the top3 predictions:"
473
+
474
+ out = (
475
+ f"{out}\n\n"
476
+ f"1. « {get_disease_name(top3_diseases[0])} » with a probability of {top3_proba[0]:.2%}\n"
477
+ f"2. « {get_disease_name(top3_diseases[1])} » with a probability of {top3_proba[1]:.2%}\n"
478
+ f"3. « {get_disease_name(top3_diseases[2])} » with a probability of {top3_proba[2]:.2%}\n"
479
+ )
480
 
481
  return {
482
  error_box7: gr.update(visible=False),
483
+ decrypt_target_box: out,
484
  }
485
 
486
 
 
490
  clean_directory()
491
 
492
  return {
493
+ user_id_box: gr.update(visible=False, value=None, interactive=False),
 
494
  user_vect_box1: None,
495
+ recap_symptoms_box: gr.update(visible=False, value=None),
496
+ default_symptoms: gr.update(visible=True, value=None),
497
+ disease_box: gr.update(visible=True, value=None),
498
+ user_vect_box2: gr.update(visible=False, value=None, interactive=False),
499
+ quant_vect_box: gr.update(visible=False, value=None, interactive=False),
500
+ enc_vect_box: gr.update(visible=True, value=None, interactive=False),
501
+ key_box: gr.update(visible=True, value=None, interactive=False),
502
+ key_len_box: gr.update(visible=False, value=None, interactive=False),
503
+ fhe_execution_time_box: gr.update(visible=True, value=None, interactive=False),
504
  decrypt_target_box: None,
505
  error_box7: gr.update(visible=False),
506
  error_box1: gr.update(visible=False),
 
514
  **{box: None for box in check_boxes},
515
  }
516
 
 
 
 
517
 
518
  CSS = """
519
+ #them {color: grey}
520
+ #them {font-size: 24px}
521
+ #them {font-weight: bold}
522
  .gradio-container {background-color: white}
523
+ .gradio-button {color: red; font-size: 20px;}
524
  /* .feedback {font-size: 3px !important} */
525
+ #svelte-s1r2yt {color: grey}
526
  #svelte-s1r2yt {font-size: 25px}
527
  #svelte-s1r2yt {font-weight: bold}
528
  /* #them {text-align: center} */
529
  """
530
 
531
+ back_to_top_btn_html = """
532
+ <button id="toTopBtn" onclick="'parentIFrame' in window ? window.parentIFrame.scrollTo({top: 0, behavior:'smooth'}) : window.scrollTo({ top: 0 })">
533
+ <a style="color:white; text-decoration:none;">Back to Top!</a>
534
+ </button>
535
+ """
536
+
537
  if __name__ == "__main__":
538
 
539
  print("Starting demo ...")
540
 
541
  clean_directory()
542
 
543
+ (X_train, X_test), (y_train, y_test), valid_symptoms, diseases = load_data()
544
 
545
  with gr.Blocks(css=CSS) as demo:
546
+ gr.HTML(back_to_top_btn_html)
547
 
548
  # Link + images
549
  gr.Markdown(
 
565
  </p>
566
 
567
  <p align="center">
568
+ <img width="100%" height="30%" src="https://raw.githubusercontent.com/kcelia/Img/main/cover_image.png">
569
  </p>
570
  """
571
  )
572
 
573
+ gr.Markdown("# Introduction")
574
+ gr.Markdown(
575
+ "Welcome to our Healthcare Prediction space using Fully Homomorphic Encryption (FHE) with Concrete ML library."
576
+ )
577
+ gr.Markdown(
578
+ "Through this user-friendly and secure client-server interface you can confidently submit your chief complaints, which you have locally "
579
+ "encrypted on your end and transmitted to an untrusted server for processing.\n\n"
580
+ "Thanks to the FHE scheme, the remote server is able to perform computations without ever decrypting the data and return result the encrypted to the client for local decryption. \n\n\n"
581
+ "FHE ensures end-to-end data encryption and guarantees patient privacy."
582
+ )
583
+ gr.Markdown(
584
+ "Disclaimer: We are not medical professionals. For accurate diagnosis and treatment, "
585
+ "please consult a qualified healthcare provider."
586
+ )
587
+
588
+ with gr.Tabs(eelem_id="them") as tabs:
589
+ with gr.TabItem("1. Chief Complaints", id=0):
590
+ gr.Markdown("<span style='color:grey'>Client Side</span>")
591
+ gr.Markdown("## Provide your chief complaints")
592
+ gr.Markdown("Provide at least 5 chief complaints by filling in the boxes below. ")
593
 
594
  # Box symptoms
595
  check_boxes = []
 
605
  )
606
  check_boxes.append(check_box)
607
 
608
+ error_box1 = gr.Textbox(label="Error", visible=False)
609
 
610
  # <!> This part has been paused due to UI issues.
611
 
612
  # Default disease, picked from the dataframe
613
+ gr.Markdown(
614
+ "You can choose an existing disease and explore its associated symptoms."
615
+ )
616
+
617
+ with gr.Row():
618
+ with gr.Column(scale=2):
619
+ disease_box = gr.Dropdown(sorted(diseases), label="Diseases 👆")
620
+ with gr.Column(scale=5):
621
+ default_symptoms = gr.Textbox(
622
+ label="Related Symptoms:", visible=True, interactive=False
623
+ )
624
+
625
+ disease_box.change(
626
+ fn=display_default_symptoms_fn, inputs=[disease_box], outputs=[default_symptoms]
627
+ )
628
 
629
  # User symptom vector
630
  user_vect_box1 = gr.Textbox(label="User Symptoms Vector:", interactive=False)
631
 
632
  # Submit botton
633
+ submit_button = gr.Button("Submit 👆")
 
 
 
 
 
 
634
 
635
  # Clear botton
636
+ clear_button = gr.Button("Reset Space 🔁")
637
+ # Next tab
638
+ gr.Markdown("")
639
+ next_tab = gr.Button("Next Step 👉")
640
+ next_tab.click(lambda _: gr.Tabs.update(selected=1), None, tabs)
641
 
 
 
 
642
  with gr.TabItem("2. Data Encryption", id=1):
643
+ gr.Markdown("<span style='color:grey'>Client Side</span>")
644
+ gr.Markdown("## Key Generation")
645
+ gr.Markdown(
646
+ "In FHE schemes, a secret (enc/dec)ryption keys are generated for encrypting and decrypting data owned by the client. \n\n"
647
+ "Additionally, a public evaluation key is generated, enabling external entities to perform homomorphic operations on encrypted data, without the need to decrypt them. \n\n"
648
+ "The evaluation key will be transmitted to the server for further processing."
649
+ )
650
 
651
+ gen_key_btn = gr.Button("Generate the evaluation key 👆")
652
+ error_box2 = gr.Textbox(label="Error", visible=False)
653
 
654
+ user_id_box = gr.Textbox(label="User ID:", interactive=False, visible=True)
655
+ # Evaluation key size
656
+
657
+ key_len_box = gr.Textbox(
658
+ label="Evaluation Key Size:", interactive=False, visible=False
659
+ )
 
660
 
661
  # Evaluation key (truncated)
662
+ key_box = gr.Textbox(
663
+ label="Evaluation key (truncated):",
664
+ max_lines=3,
665
+ interactive=False,
666
+ visible=False,
667
+ )
668
 
669
  gen_key_btn.click(
670
  key_gen_fn,
 
677
  ],
678
  )
679
 
680
+ gr.Markdown("## Encrypt the data")
 
 
 
681
 
682
+ encrypt_btn = gr.Button("Encrypt the data using the 🔒 private secret key 👆")
683
+ error_box3 = gr.Textbox(label="Error ❌", visible=False)
684
 
685
  with gr.Row():
686
  with gr.Column(scale=1, min_width=600):
687
  user_vect_box2 = gr.Textbox(
688
+ label="User Symptoms Vector:",
689
+ interactive=False,
690
+ visible=False,
691
  )
692
 
693
  with gr.Column(scale=1, min_width=600):
694
+ quant_vect_box = gr.Textbox(
695
+ label="Quantized Vector:",
696
+ interactive=False,
697
+ visible=False,
698
+ )
699
 
700
  with gr.Column(scale=1, min_width=600):
701
  enc_vect_box = gr.Textbox(
702
+ label="Encrypted Vector:",
703
+ max_lines=3,
704
+ interactive=False,
705
  )
706
 
707
  encrypt_btn.click(
 
716
  )
717
 
718
  gr.Markdown(
719
+ "## Send the encrypted data to the "
720
+ "<span style='color:grey'>Server Side</span>"
721
  )
722
 
723
+ error_box4 = gr.Textbox(label="Error", visible=False)
724
 
725
  with gr.Row().style(equal_height=False):
726
  with gr.Column(scale=4):
727
+ send_input_btn = gr.Button("Send the encrypted data 👆")
728
  with gr.Column(scale=1):
729
  srv_resp_send_data_box = gr.Checkbox(
730
  label="Data Sent", show_label=False, interactive=False
 
735
  inputs=[user_id_box, user_vect_box1],
736
  outputs=[error_box4, srv_resp_send_data_box],
737
  )
738
+
739
+ gr.Markdown("\n\n")
740
  with gr.Row().style(equal_height=True):
741
  with gr.Column(scale=1):
742
+ prev_tab = gr.Button("👈 Previous Step")
743
+ prev_tab.click(lambda _: gr.Tabs.update(selected=0), None, tabs)
744
 
745
  with gr.Column(scale=1):
746
+ next_tab = gr.Button("Next Step 👉")
747
+ next_tab.click(lambda _: gr.Tabs.update(selected=2), None, tabs)
 
 
748
 
749
  with gr.TabItem("3. FHE execution", id=2):
750
+ gr.Markdown("<span style='color:grey'>Server Side</span>")
751
+ gr.Markdown("## Run the FHE evaluation")
752
+ gr.Markdown(
753
+ "Once the server receives the encrypted data, it can process and compute the output without ever decrypting the data just as it would on clear data.\n\n"
754
+ "This server employs a logistic regression model that has been trained on this [data-set](https://github.com/anujdutt9/Disease-Prediction-from-Symptoms/tree/master/dataset)."
755
+ )
756
 
757
+ run_fhe_btn = gr.Button("Run the FHE evaluation 👆")
758
+ error_box5 = gr.Textbox(label="Error", visible=False)
759
  fhe_execution_time_box = gr.Textbox(
760
+ label="Total FHE Execution Time:", interactive=False, visible=True
761
  )
762
 
763
  run_fhe_btn.click(
 
766
  outputs=[fhe_execution_time_box, error_box5],
767
  )
768
 
769
+ gr.Markdown("\n\n")
770
  with gr.Row().style(equal_height=True):
771
  with gr.Column(scale=1):
772
+ prev_tab = gr.Button("👈 Previous Step")
773
  prev_tab.click(lambda _: gr.Tabs.update(selected=1), None, tabs)
774
 
775
  with gr.Column(scale=1):
776
+ next_tab = gr.Button("Next Step 👉 ")
777
  next_tab.click(lambda _: gr.Tabs.update(selected=3), None, tabs)
 
 
778
 
779
  with gr.TabItem("4. Data Decryption", id=3):
780
+ gr.Markdown("<span style='color:grey'>Client Side</span>")
781
+ gr.Markdown("## Get the data from the <span style='color:grey'>Server Side</span>")
 
 
782
 
783
+ error_box6 = gr.Textbox(label="Error", visible=False)
784
 
785
  with gr.Row().style(equal_height=True):
786
  with gr.Column(scale=4):
787
+ get_output_btn = gr.Button("Get data 👆")
788
  with gr.Column(scale=1):
789
  srv_resp_retrieve_data_box = gr.Checkbox(
790
  label="Data Received", show_label=False, interactive=False
 
796
  outputs=[srv_resp_retrieve_data_box, error_box6],
797
  )
798
 
799
+ gr.Markdown("## Decrypt the output")
800
 
801
+ recap_symptoms_box = gr.Textbox(
802
+ label="Summary of chief complaints:", visible=False, max_lines=3
803
+ )
804
+
805
+ decrypt_target_btn = gr.Button(
806
+ "Decrypt the output with the 🔒 private secret decryption key 👆"
807
+ )
808
+ error_box7 = gr.Textbox(label="Error ❌", visible=False)
809
+ decrypt_target_box = gr.Textbox(label="Decrypted Output:", interactive=False)
810
 
811
  decrypt_target_btn.click(
812
  decrypt_fn,
 
814
  outputs=[decrypt_target_box, error_box7],
815
  )
816
 
817
+ with gr.Row().style(equal_height=True):
818
+ with gr.Column(scale=1):
819
+ prev_tab = gr.Button("👈 Previous Step")
820
+ prev_tab.click(lambda _: gr.Tabs.update(selected=2), None, tabs)
821
+
822
+ with gr.Column(scale=1):
823
+ next_tab = gr.Button("👈 👈 Go back to start")
824
+ next_tab.click(lambda _: gr.Tabs.update(selected=0), None, tabs)
825
+
826
+ submit_button.click(
827
+ fn=get_features_fn,
828
+ inputs=[*check_boxes],
829
+ outputs=[user_vect_box1, error_box1, recap_symptoms_box],
830
+ )
831
 
832
  clear_button.click(
833
  reset_fn,
 
842
  error_box5,
843
  error_box6,
844
  error_box7,
845
+ disease_box,
846
+ default_symptoms,
847
+ recap_symptoms_box,
848
  user_id_box,
849
  key_len_box,
850
  key_box,
data/Testing_preprocessed.csv CHANGED
@@ -1,43 +1,43 @@
1
- itching,skin_rash,nodal_skin_eruptions,continuous_sneezing,shivering,chills,joint_pain,stomach_pain,acidity,ulcers_on_tongue,muscle_wasting,vomiting,burning_micturition,spotting_urination,fatigue,weight_gain,anxiety,cold_hands_and_feets,mood_swings,weight_loss,restlessness,lethargy,patches_in_throat,irregular_sugar_level,cough,high_fever,sunken_eyes,breathlessness,sweating,dehydration,indigestion,headache,yellowish_skin,dark_urine,nausea,loss_of_appetite,pain_behind_the_eyes,back_pain,constipation,abdominal_pain,diarrhoea,mild_fever,yellow_urine,yellowing_of_eyes,acute_liver_failure,fluid_overload,swelling_of_stomach,swelled_lymph_nodes,malaise,blurred_and_distorted_vision,phlegm,throat_irritation,redness_of_eyes,sinus_pressure,runny_nose,congestion,chest_pain,weakness_in_limbs,fast_heart_rate,pain_during_bowel_movements,pain_in_anal_region,bloody_stool,irritation_in_anus,neck_pain,dizziness,cramps,bruising,obesity,swollen_legs,swollen_blood_vessels,puffy_face_and_eyes,enlarged_thyroid,brittle_nails,swollen_extremeties,excessive_hunger,extra_marital_contacts,drying_and_tingling_lips,slurred_speech,knee_pain,hip_joint_pain,muscle_weakness,stiff_neck,swelling_joints,movement_stiffness,spinning_movements,loss_of_balance,unsteadiness,weakness_of_one_body_side,loss_of_smell,bladder_discomfort,foul_smell_of_urine,continuous_feel_of_urine,passage_of_gases,internal_itching,toxic_look_(typhos),depression,irritability,muscle_pain,altered_sensorium,red_spots_over_body,belly_pain,abnormal_menstruation,dischromic_patches,watering_from_eyes,increased_appetite,polyuria,family_history,mucoid_sputum,rusty_sputum,lack_of_concentration,visual_disturbances,receiving_blood_transfusion,receiving_unsterile_injections,coma,stomach_bleeding,distention_of_abdomen,history_of_alcohol_consumption,fluid_overload.1,blood_in_sputum,prominent_veins_on_calf,palpitations,painful_walking,pus_filled_pimples,blackheads,scurving,skin_peeling,silver_like_dusting,small_dents_in_nails,inflammatory_nails,blister,red_sore_around_nose,yellow_crust_ooze,prognosis,prognosis_encoded
2
- 1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Fungal Infection,14
3
- 0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Allergy,3
4
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Gerd,16
5
- 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Chronic Cholestasis,8
6
- 1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Drug Reaction,13
7
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Peptic Ulcer,34
8
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Aids,1
9
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Diabetes ,11
10
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Gastroenteritis,15
11
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Bronchial Asthma,5
12
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypertension ,23
13
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Migraine,30
14
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Cervical Spondylosis,6
15
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Paralysis (Brain Hemorrhage),32
16
- 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Jaundice,28
17
- 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Malaria,29
18
- 1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Chicken Pox,7
19
- 0.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Dengue,10
20
- 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Typhoid,38
21
- 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis A,18
22
- 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis B,19
23
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis C,20
24
- 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis D,21
25
- 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis E,22
26
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Alcoholic Hepatitis,2
27
- 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Tuberculosis,37
28
- 0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Common Cold,9
29
- 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Pneumonia,35
30
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Dimorphic Hemmorhoids (Piles),12
31
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Heart Attack,17
32
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Varicose Veins,40
33
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypothyroidism,26
34
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hyperthyroidism,24
35
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypoglycemia,25
36
- 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Osteoarthristis,31
37
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Arthritis,4
38
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Paroymsal Positional Vertigo,33
39
- 0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Acne,0
40
- 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Urinary Tract Infection,39
41
- 0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,Psoriasis,36
42
- 0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,Impetigo,27
43
- 1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,Fungal Infection,14
 
1
+ itching,skin_rash,nodal_skin_eruptions,continuous_sneezing,shivering,chills,joint_pain,stomach_pain,acidity,ulcers_on_tongue,muscle_wasting,vomiting,burning_micturition,spotting_urination,fatigue,weight_gain,anxiety,cold_hands_and_feets,mood_swings,weight_loss,restlessness,lethargy,patches_in_throat,irregular_sugar_level,cough,high_fever,sunken_eyes,breathlessness,sweating,dehydration,indigestion,headache,yellowish_skin,dark_urine,nausea,loss_of_appetite,pain_behind_the_eyes,back_pain,constipation,abdominal_pain,diarrhea,mild_fever,yellow_urine,yellowing_of_eyes,acute_liver_failure,swelling_of_stomach,swelled_lymph_nodes,malaise,blurred_and_distorted_vision,phlegm,throat_irritation,redness_of_eyes,sinus_pressure,runny_nose,congestion,chest_pain,weakness_in_limbs,fast_heart_rate,pain_during_bowel_movements,pain_in_anal_region,bloody_stool,irritation_in_anus,neck_pain,dizziness,cramps,bruising,excess_body_fat,swollen_legs,swollen_blood_vessels,puffy_face_and_eyes,enlarged_thyroid,brittle_nails,swollen_extremeties,excessive_hunger,frequent_unprotected_sexual_intercourse_with_multiple_partners,drying_and_tingling_lips,slurred_speech,knee_pain,hip_joint_pain,muscle_weakness,stiff_neck,swelling_joints,movement_stiffness,spinning_movements,loss_of_balance,unsteadiness,weakness_of_one_body_side,loss_of_smell,bladder_discomfort,foul_smell_of_urine,continuous_feel_of_urine,passage_of_gases,internal_itching,toxic_look_(typhus),irritability,muscle_pain,altered_sensorium,red_spots_over_body,abnormal_menstruation,dischromic_patches,watering_from_eyes,increased_appetite,polyuria,family_history,mucoid_sputum,rusty_sputum,lack_of_concentration,visual_disturbances,receiving_blood_transfusion,receiving_unsterile_injections,stomach_bleeding,distention_of_abdomen,chronic_alcohol_abuse,severe_fluid_overload,blood_in_sputum,prominent_veins_on_calf,palpitations,painful_walking,pus_filled_pimples,blackheads,scurving,skin_peeling,silver_like_dusting,small_dents_in_nails,inflammatory_nails,blister,red_sore_around_nose,yellow_crust_ooze,prognosis,prognosis_encoded
2
+ 1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Fungal Infection,14
3
+ 0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Allergy,3
4
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Gerd,16
5
+ 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Chronic Cholestasis,8
6
+ 1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Drug Reaction,13
7
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Peptic Ulcer,34
8
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Aids,1
9
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Diabetes ,11
10
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Gastroenteritis,15
11
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Bronchial Asthma,5
12
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypertension ,23
13
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Migraine,30
14
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Cervical Spondylosis,6
15
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Paralysis (Brain Hemorrhage),32
16
+ 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Jaundice,28
17
+ 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Malaria,29
18
+ 1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Chicken Pox,7
19
+ 0.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Dengue,10
20
+ 0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Typhoid,38
21
+ 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis A,18
22
+ 1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis B,19
23
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis C,20
24
+ 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis D,21
25
+ 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hepatitis E,22
26
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Alcoholic Hepatitis,2
27
+ 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Tuberculosis,37
28
+ 0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Common Cold,9
29
+ 0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Pneumonia,35
30
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Dimorphic Hemmorhoids (Piles),12
31
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Heart Attack,17
32
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Varicose Veins,40
33
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypothyroidism,26
34
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hyperthyroidism,24
35
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Hypoglycemia,25
36
+ 0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Osteoarthristis,31
37
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Arthritis,4
38
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Paroxymsal Positional Vertigo,33
39
+ 0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Acne,0
40
+ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,Urinary Tract Infection,39
41
+ 0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,Psoriasis,36
42
+ 0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,Impetigo,27
43
+ 1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,Fungal Infection,14
data/Training_preprocessed.csv CHANGED
The diff for this file is too large to render. See raw diff
 
deployment_logit/client.zip ADDED
Binary file (2.91 kB). View file
 
deployment_logit/server.zip ADDED
Binary file (2.64 kB). View file
 
deployment_logit/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.6"}
deployment_logit_11/client.zip ADDED
Binary file (2.91 kB). View file
 
deployment_logit_11/server.zip ADDED
Binary file (2.63 kB). View file
 
deployment_logit_11/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.6"}
deployment_logit_12/client.zip ADDED
Binary file (2.89 kB). View file
 
deployment_logit_12/server.zip ADDED
Binary file (5.2 kB). View file
 
deployment_logit_12/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.6"}
deployment_logit_13/client.zip ADDED
Binary file (2.89 kB). View file
 
deployment_logit_13/server.zip ADDED
Binary file (5.22 kB). View file
 
deployment_logit_13/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.6"}
deployment_xgb/client.zip ADDED
Binary file (88.5 kB). View file
 
deployment_xgb/server.zip ADDED
Binary file (8.53 kB). View file
 
deployment_xgb/versions.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"concrete-ml": "1.0.3", "concrete-python": "1.0.0", "python": "3.10.6"}
symptoms_categories.py CHANGED
@@ -7,16 +7,16 @@ Each variable contains a list of symptoms sthat can be pecific to a part of the
7
  of similar symptoms.
8
  """
9
 
10
- DIGESTIVE_SYSTEM_SYPTOMS = {
11
- "Digestive_system_symptoms": [
 
12
  "stomach_pain",
13
  "acidity",
14
  "vomiting",
15
  "indigestion",
16
  "constipation",
17
  "abdominal_pain",
18
- "diarrhoea",
19
- "belly_pain",
20
  "nausea",
21
  "distention_of_abdomen",
22
  "stomach_bleeding",
@@ -33,8 +33,8 @@ DIGESTIVE_SYSTEM_SYPTOMS = {
33
  ]
34
  }
35
 
36
- SKIN_SYPTOMS = {
37
- "Skin_related_symptoms": [
38
  "itching",
39
  "skin_rash",
40
  "pus_filled_pimples",
@@ -50,11 +50,12 @@ SKIN_SYPTOMS = {
50
  "yellow_crust_ooze",
51
  "dischromic_patches",
52
  "nodal_skin_eruptions",
 
53
  ]
54
  }
55
 
56
  ORL_SYMPTOMS = {
57
- "ORL_SYMPTOMS": [
58
  "loss_of_smell",
59
  "continuous_sneezing",
60
  "runny_nose",
@@ -70,7 +71,7 @@ ORL_SYMPTOMS = {
70
  }
71
 
72
  THORAX_SYMPTOMS = {
73
- "THORAX_RELATED_SYMPTOMS": [
74
  "breathlessness",
75
  "chest_pain",
76
  "cough",
@@ -84,7 +85,7 @@ THORAX_SYMPTOMS = {
84
  }
85
 
86
  EYES_SYMPTOMS = {
87
- "Eyes_related_symptoms": [
88
  "sunken_eyes",
89
  "redness_of_eyes",
90
  "watering_from_eyes",
@@ -95,7 +96,7 @@ EYES_SYMPTOMS = {
95
  }
96
 
97
  VASCULAR_LYMPHATIC_SYMPTOMS = {
98
- "VASCULAR_LYMPHATIC_SYMPTOMS": [
99
  "cold_hands_and_feets",
100
  "swollen_blood_vessels",
101
  "swollen_legs",
@@ -104,14 +105,13 @@ VASCULAR_LYMPHATIC_SYMPTOMS = {
104
  "prominent_veins_on_calf",
105
  "yellowing_of_eyes",
106
  "puffy_face_and_eyes",
107
- "fluid_overload",
108
- "fluid_overload.1",
109
  "swollen_extremeties",
110
  ]
111
  }
112
 
113
  UROLOGICAL_SYMPTOMS = {
114
- "UROLOGICAL_SYMPTOMS": [
115
  "burning_micturition",
116
  "spotting_urination",
117
  "yellow_urine",
@@ -124,7 +124,7 @@ UROLOGICAL_SYMPTOMS = {
124
  }
125
 
126
  MUSCULOSKELETAL_SYMPTOMS = {
127
- "MUSCULOSKELETAL_SYMPTOMS": [
128
  "joint_pain",
129
  "muscle_wasting",
130
  "muscle_pain",
@@ -143,13 +143,12 @@ MUSCULOSKELETAL_SYMPTOMS = {
143
  ]
144
  }
145
 
146
- FEELING_SYMPTOMS = {
147
- "FEELING_SYMPTOMS": [
148
  "anxiety",
149
  "restlessness",
150
  "lethargy",
151
  "mood_swings",
152
- "depression",
153
  "irritability",
154
  "lack_of_concentration",
155
  "fatigue",
@@ -158,13 +157,8 @@ FEELING_SYMPTOMS = {
158
  "increased_appetite",
159
  "weight_loss",
160
  "loss_of_appetite",
161
- "obesity",
162
  "excessive_hunger",
163
- ]
164
- }
165
-
166
- OTHER_SYMPTOMS = {
167
- "OTHER_SYMPTOMS": [
168
  "ulcers_on_tongue",
169
  "shivering",
170
  "chills",
@@ -174,36 +168,27 @@ OTHER_SYMPTOMS = {
174
  "sweating",
175
  "internal_itching",
176
  "mild_fever",
177
- "toxic_look_(typhos)",
178
  "acute_liver_failure",
179
  "dehydration",
180
  "headache",
181
- "extra_marital_contacts",
182
  "drying_and_tingling_lips",
183
  "altered_sensorium",
184
- ]
185
- }
186
-
187
- PATIENT_HISTORY = {
188
- "PATIENT_HISTORY": [
189
  "family_history",
190
  "receiving_blood_transfusion",
191
  "receiving_unsterile_injections",
192
- "history_of_alcohol_consumption",
193
- "coma",
194
  ]
195
  }
196
 
197
  SYMPTOMS_LIST = [
198
- SKIN_SYPTOMS,
199
  EYES_SYMPTOMS,
200
  ORL_SYMPTOMS,
201
  THORAX_SYMPTOMS,
202
- DIGESTIVE_SYSTEM_SYPTOMS,
203
  UROLOGICAL_SYMPTOMS,
204
  VASCULAR_LYMPHATIC_SYMPTOMS,
205
  MUSCULOSKELETAL_SYMPTOMS,
206
- FEELING_SYMPTOMS,
207
- PATIENT_HISTORY,
208
- OTHER_SYMPTOMS,
209
  ]
 
7
  of similar symptoms.
8
  """
9
 
10
+
11
+ DIGESTIVE_SYSTEM_SYMPTOMS = {
12
+ "DIGESTIVE_SYSTEM_CONCERNS": [
13
  "stomach_pain",
14
  "acidity",
15
  "vomiting",
16
  "indigestion",
17
  "constipation",
18
  "abdominal_pain",
19
+ "diarrhea",
 
20
  "nausea",
21
  "distention_of_abdomen",
22
  "stomach_bleeding",
 
33
  ]
34
  }
35
 
36
+ SKIN_SYMPTOMS = {
37
+ "SKIN_CONCERNS": [
38
  "itching",
39
  "skin_rash",
40
  "pus_filled_pimples",
 
50
  "yellow_crust_ooze",
51
  "dischromic_patches",
52
  "nodal_skin_eruptions",
53
+ "toxic_look_(typhus)",
54
  ]
55
  }
56
 
57
  ORL_SYMPTOMS = {
58
+ "ORL_CONCERNS": [
59
  "loss_of_smell",
60
  "continuous_sneezing",
61
  "runny_nose",
 
71
  }
72
 
73
  THORAX_SYMPTOMS = {
74
+ "THORAX_CONCERNS": [
75
  "breathlessness",
76
  "chest_pain",
77
  "cough",
 
85
  }
86
 
87
  EYES_SYMPTOMS = {
88
+ "EYES_CONCERNS": [
89
  "sunken_eyes",
90
  "redness_of_eyes",
91
  "watering_from_eyes",
 
96
  }
97
 
98
  VASCULAR_LYMPHATIC_SYMPTOMS = {
99
+ "VASCULAR_LYMPHATIC_CONCERNS": [
100
  "cold_hands_and_feets",
101
  "swollen_blood_vessels",
102
  "swollen_legs",
 
105
  "prominent_veins_on_calf",
106
  "yellowing_of_eyes",
107
  "puffy_face_and_eyes",
108
+ "severe_fluid_overload",
 
109
  "swollen_extremeties",
110
  ]
111
  }
112
 
113
  UROLOGICAL_SYMPTOMS = {
114
+ "UROLOGICAL_CONCERNS": [
115
  "burning_micturition",
116
  "spotting_urination",
117
  "yellow_urine",
 
124
  }
125
 
126
  MUSCULOSKELETAL_SYMPTOMS = {
127
+ "MUSCULOSKELETAL_CONCERNS": [
128
  "joint_pain",
129
  "muscle_wasting",
130
  "muscle_pain",
 
143
  ]
144
  }
145
 
146
+ GENERAL_SYMPTOMS = {
147
+ "GENERAL_CONCERNS": [
148
  "anxiety",
149
  "restlessness",
150
  "lethargy",
151
  "mood_swings",
 
152
  "irritability",
153
  "lack_of_concentration",
154
  "fatigue",
 
157
  "increased_appetite",
158
  "weight_loss",
159
  "loss_of_appetite",
160
+ "excess_body_fat",
161
  "excessive_hunger",
 
 
 
 
 
162
  "ulcers_on_tongue",
163
  "shivering",
164
  "chills",
 
168
  "sweating",
169
  "internal_itching",
170
  "mild_fever",
 
171
  "acute_liver_failure",
172
  "dehydration",
173
  "headache",
174
+ "frequent_unprotected_sexual_intercourse_with_multiple_partners",
175
  "drying_and_tingling_lips",
176
  "altered_sensorium",
 
 
 
 
 
177
  "family_history",
178
  "receiving_blood_transfusion",
179
  "receiving_unsterile_injections",
180
+ "chronic_alcohol_abuse",
 
181
  ]
182
  }
183
 
184
  SYMPTOMS_LIST = [
185
+ SKIN_SYMPTOMS,
186
  EYES_SYMPTOMS,
187
  ORL_SYMPTOMS,
188
  THORAX_SYMPTOMS,
189
+ DIGESTIVE_SYSTEM_SYMPTOMS,
190
  UROLOGICAL_SYMPTOMS,
191
  VASCULAR_LYMPHATIC_SYMPTOMS,
192
  MUSCULOSKELETAL_SYMPTOMS,
193
+ GENERAL_SYMPTOMS,
 
 
194
  ]
utils.py CHANGED
@@ -16,7 +16,7 @@ INPUT_BROWSER_LIMIT = 635
16
  SERVER_URL = "http://localhost:8000/"
17
 
18
  CURRENT_DIR = Path(__file__).parent
19
- DEPLOYMENT_DIR = CURRENT_DIR / "deployment4"
20
  KEYS_DIR = DEPLOYMENT_DIR / ".fhe_keys"
21
  CLIENT_DIR = DEPLOYMENT_DIR / "client_dir"
22
  SERVER_DIR = DEPLOYMENT_DIR / "server_dir"
@@ -31,8 +31,12 @@ TESTING_FILENAME = "./data/Testing_preprocessed.csv"
31
 
32
  # pylint: disable=invalid-name
33
 
 
34
 
35
- def pretty_print(inputs):
 
 
 
36
  """
37
  Prettify and sort the input as a list of string.
38
 
@@ -43,20 +47,21 @@ def pretty_print(inputs):
43
  List: The prettified and sorted list of inputs.
44
 
45
  """
46
- # Convert to a list if necessary
47
- if not isinstance(inputs, (List, Tuple)):
48
- inputs = list(inputs)
49
-
50
  # Flatten the list if required
51
  pretty_list = []
52
  for item in inputs:
53
  if isinstance(item, list):
54
- pretty_list.extend([" ".join(subitem.split("_")).title() for subitem in item])
55
  else:
56
- pretty_list.append(" ".join(item.split("_")).title())
57
 
58
- # Sort and prettify the input
59
  pretty_list = sorted(list(set(pretty_list)))
 
 
 
 
 
60
 
61
  return pretty_list
62
 
@@ -113,7 +118,12 @@ def load_data() -> Union[Tuple[pandas.DataFrame, numpy.ndarray], List]:
113
  y_test = df_test[TARGET_COLUMNS[0]]
114
  X_test = df_test.drop(columns=TARGET_COLUMNS, axis=1, errors="ignore")
115
 
116
- return (X_train, X_test), (y_train, y_test), X_train.columns.to_list()
 
 
 
 
 
117
 
118
 
119
  def load_model(X_train: pandas.DataFrame, y_train: numpy.ndarray):
 
16
  SERVER_URL = "http://localhost:8000/"
17
 
18
  CURRENT_DIR = Path(__file__).parent
19
+ DEPLOYMENT_DIR = CURRENT_DIR / "deployment_logit_11"
20
  KEYS_DIR = DEPLOYMENT_DIR / ".fhe_keys"
21
  CLIENT_DIR = DEPLOYMENT_DIR / "client_dir"
22
  SERVER_DIR = DEPLOYMENT_DIR / "server_dir"
 
31
 
32
  # pylint: disable=invalid-name
33
 
34
+ from typing import List, Tuple
35
 
36
+
37
+ def pretty_print(
38
+ inputs, case_conversion=str.title, which_replace: str = "_", to_what: str = " ", delimiter=None
39
+ ):
40
  """
41
  Prettify and sort the input as a list of string.
42
 
 
47
  List: The prettified and sorted list of inputs.
48
 
49
  """
 
 
 
 
50
  # Flatten the list if required
51
  pretty_list = []
52
  for item in inputs:
53
  if isinstance(item, list):
54
+ pretty_list.extend(item)
55
  else:
56
+ pretty_list.append(item)
57
 
58
+ # Sort
59
  pretty_list = sorted(list(set(pretty_list)))
60
+ # Replace
61
+ pretty_list = [item.replace(which_replace, to_what) for item in pretty_list]
62
+ pretty_list = [case_conversion(item) for item in pretty_list]
63
+ if delimiter:
64
+ pretty_list = f"{delimiter.join(pretty_list)}."
65
 
66
  return pretty_list
67
 
 
118
  y_test = df_test[TARGET_COLUMNS[0]]
119
  X_test = df_test.drop(columns=TARGET_COLUMNS, axis=1, errors="ignore")
120
 
121
+ return (
122
+ (X_train, X_test),
123
+ (y_train, y_test),
124
+ X_train.columns.to_list(),
125
+ df_train[TARGET_COLUMNS[1]].unique().tolist(),
126
+ )
127
 
128
 
129
  def load_model(X_train: pandas.DataFrame, y_train: numpy.ndarray):