Files:
Trie.py
: Implementation of Trie data structure for prefix treediagnosis_search.py
: Flask app with API for autocomplete and updating/storing query with selected diagnosis
Create a new virtualenv named 'hd', activate it, and install requirements:
virtualenv hd
. hd/bin/activate
pip install -r requirements.txt
Run diagnosis_search.py
to start web service:
chmod a+x diagnosis_search.py
./diagnosis_search.py
Now the webservice is running on localhost:5000/
- GET
api/search/<prefix>
: return autocompleted words for<prefix>
- PUT
api/search
: create or update a{query: <string>, selected: <string>}
object in database - GET
api/search
: return all query-diagnosis pairs in database
You may use curl
command to make API calls:
- GET request for autocompleted words with prefix "ar":
curl -i http://localhost:5000/api/search/ar
- PUT request to update or create an entry for query "he" with selected diagnosis "heart disease":
curl -i -H "Content-Type: application/json" -X PUT -d '{"query":"he", "selected":"heart disease"}' http://localhost:5000/api/search
- GET current database entries for selected diagnoses matched with queries:
curl -i http://localhost:5000/api/search