CHANGELOG

Versioning scheme

Version - 2.7.4 (30/03/2025)

Added another button to the remedy suggestion system so that the user can choose between the old version and the new doctors' version. The doctors' version was running very slow and we saw that the bottle-neck was in PostgreSQL running many queries for the final matrix table. Since serverless sqlite3 appears to be much faster (at least 30 times), we now create a temporary sqlite3 database in memory (:memory:) and create two temporary tables to hold the necessary data. Huge speedup observed, with almost no overhead.

Version - 2.6.4 (28/07/2024)

Changed algorithm and code for the Doctors' use. Below the table with suggested remedies now appear two new tables. One of them lists the details of the hits from CLIPS including the specific defrules which have been fired. The second table is a matrix-like display of symptoms along the rows and remedies along the columns (ordered by total score) with the individual scores displayed at each intersection between a symptom and a remedy. This is done by intercepting the activations in the CLIPS agenda before executing the actual `run' command. A new SQL table `defrule_remedy_map' has been introduced along with code in the administration section to generate its entries.

There is now a checkbox to decide whether the (optional) search feature for the symptoms during the process of entering new patient symptoms will be simple wild-card or fuzzy.

Many new repertory entries have been made in the meanwhile.

Version - 1.5.3 (03/07/2023)

Implemented a fuzzy match of the user's symptom input string with `defanged strings' from the `clips_fuzzy_string_check' table. The CLIPS lhs entries from the `symptom' table are `unfolded' by splitting on `or' constructs and then all the combinations across the `|' symbols are taken to create entries for the `clips_fuzzy_string_check' table. A new admin. program `clips_fuzzy_symptom_match' has been written to create these strings. `chikitsha_enter.C' and `chikitsha_enter_new.C' have been modified accordingly.

Version - 1.4.3 (28/01/2023)

Added levenshtein distance analysis on top of the trigram stage. We take 10 best trigram matches and then take the lowest levenshtein distance on that set.

Version - 1.3.3 (25/01/2023)

Introduced fuzzy search on the patient-entered symptom string, with trigram-based match with a `words' table. Created the `words' table by parsing the clips_lhs strings of symptom with a Haskell program `create_words_table'. `chikitsha_enter_new' (C++) now has a Haskell subroutine `fuzzyfy_hs' which is called via FFI to check the patient-entered symptom string.

Version - 0.2.2 (20/12/2022)

Anirban Ghosh made substantial additions to the database.

Version - 0.2.1 (13/11/2022)

Fixed silly mistake in search codes for aggravation and amelioration searches and also used `LOWER' to make the search case-agnostic for aggravations, ameliorations and symptoms.

Version - 0.1.1 (5/11/2022)

Fixed some issues with internal tokens in the chikitsha module - log-out was not being handled properly.

Version -0.0.1 (1/11/2022)

Changed over to this version after adding some documentation to the sneak-peek.