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.