SeekHealth is our effort to allow healthcare providers to aggregate thousands of appointments and consultation information. The SeekHealth API allows healthcare providers to bring features for both their internal and external users.
- SeekHealth API Documentation: https://documenter.getpostman.com/view/12748512/TzCQcnSk
- SG Verify Demo App: https://github.com/ndi-trusted-data/sg-verify-demo-app
- SingPass Verify API: https://api.singpass.gov.sg/library/verify/developers/overview
- Flask Login Documentation: https://flask-login.readthedocs.io/en/latest/
- WTForms Documentations: https://wtforms.readthedocs.io/en/2.3.x/
Please ensure that you have the following installed on your machine. You can follow this installation guide.
-
Python 3
-
Visual Studio Code
-
Docker Desktop
-
WAMP Server
-
Google Chrome
-
Google Chrome Extension Installed with Allow CORS: Access-Control-Allow-Origin (https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf/related?hl=en)
Make sure that your WAMP Server and Docker is running. Please ensure that the default port of MYSQL is 3306. Change the port number by Right Click WAMP Icon -> Tools-> under port use by MySQL-> use a port Other than XXXX. WAMP will be restarted.
-
Start WAMP server.
-
Go to phpMyAdmin and log in.
Username: root
Password:
-
Import the sql statements in the following order under the database folder
-
g1t6_patient
-
g1t6_doctor
-
g1t6_appt
- if values are not added, please copy the SQL statements from the database folder into appointment schema.
-
g1t6_prescription
-
g1t6_employee
-
Open Postman App and import ESD_G9T2.postman_collection.json
. Run the requests to test the endpoints. Alternatively, you can access SeekHealth's API through our public Postman documentation.
-
Build the docker images.
cd executables docker-compose up -d
-
Please check that all the images and containers are running using
docker images
anddocker ps
in your command prompt. Usingdocker images
, you should see the following images with tagg1t6
.Login
- borenlew/login_log:g1t6_v2
- borenlew/patientlogin:g1t6_v2
- borenlew/employeelogin:g1t6_v2
- borenlew/singpass:g1t6_v2
Complex Microservices
- jthm/consultationinfo:g1t6
- borenlew/bookingappt:g1t6_v2
Simple Microservices
- jthm/patient:g1t6
- jthm/prescription:g1t6
- jthm/appt:g1t6_v3
- borenlew/doctor:g1t6_v2
RabbitMQ
- rabbitmq:3-management
We have a total of 8 scenarios across 3 user interfaces (UI). You can refer to the walkthrough under "recorded scenarios" folder.
Create a SeekHealth account through http://localhost:5800/signup. SingPass Verification will be done through http://localhost:3003.
If you are already a SeekHealth user, sign in through http://localhost:5800/login.
- Username: tanxiaohui98
- Password: tanxiaohui98
Login_Log.py is listening as an AMQP service and error logs would be recorded in the event of unrecognized credentials to login.
Click on MAKE AN APPOINTMENT
button.
Select the following options under dropdown list.
- Department: Cardiologists
- Doctor: Tommy
- Timeslot: Thu, 15 Jul 2021 03:30:00 GMT
Click on MAKE AN APPOINTMENT
button and a popup confirmation can be seen.
Under the navigation bar, Upcoming Appointment
allows you to view all your scheduled appointment and Doctors
allow you to view all the available timeslots for you to book future appointments.
Click on the Log Out
tab under the navigation bar so that the session can end.
Sign In through http://localhost:5900/login.
- Username: tommy123
- Password: tommy123
Please select doctor
as the role.
Once signed in, all scheduled appointments can be seen.
Before the medical consultation, you can view the patient's details by clicking on View Patient Details
button.
During the medical consultation, a new consultation detail can be added via the Add Consultation Details
button. The patient is diagnosed with the following symptoms.
- Diagnosis: dry cough, shortness of breath, fever
- Medicine Name: ibuprofen
- Dosage: 200mg
After the consultation, click on the Add
button and a confirmation can be seen.
End the session via http://localhost:5900/logout.
Sign in through http://localhost:5900/login.
- Username: liying123
- Password: liying123
Please select pharmacist
as the role.
When preparing the medication, you can search for the prescription via patient ID.
End the session via http://localhost:5900/logout.