Expert system, which simulates online medical consultation
Expert system, which simulates online consultation with doctor.
Project is split into three components:
Client application is simple React application, which runs on localhost:3000
.
Prolog server side contains knowledge database db.pl
and server api.pl
which creates HTTP server on localhost:8080
.
Python server contains database in Network2.xdsl
file, genereated using GeNIe Modeler. api.py
which is entry point, creates a HTTP server on localhost:5000
.
There are currently defined two API endpoints:
GET
/api/symptons
- used to get list of all possible symptoms from databasePOST
api/diagnose
- used to make a diagnosis
docker-compose up --build
Then open http://localhost:3000/
in your web browser.
Keep in mind that server side files are copied into container during the build, because of that after any changes applied to the prolog and python containers must be recreated. Using local interpreters for debugging is recommended.
This part is required to run a python server
Python server use package called pysmile, which is wrapper on engine SMILE Engine created by https://www.bayesfusion.com/. Academic users can download our software without cost for academic teaching and research.
Please register on this site and download pysmile.so
and pysmile_license.py
.
Next, put both of them in python-server
directory.