Drug Recommendation Static Demo

Printer-friendly version

What is the recommended pharmaceutical intervention for a given patient, Sam?

Explanation: Here we provide the resulting recommendation for the patient sam.
The ADA 2018 guidelines have a list of requirements for diagnosing a patient with diabetes, and these guidelines are to assist in detecting the extent of severity of the illness, and both the patient's comorbid conditions and their contraindications. These details will be used to provide pharmaceutical treatment suggestions for a patient. The suggestions are generated by the help of SWRL rules that a backed by the guidelines. After the rules generate the suggested treatment plan, they are returned to the physician using the SPARQL query. The query first searches for all the patients, then it matches the patients to all their treatment plans, then it does a regular expression filter for the specific patient (in this case Sam). it returns the name of the patient and the suggested pharmaceutical treatment plan.

Walk through the workflow: The following are the steps to return the pharmaceutical intervention for any given patient?

First, a patient’s profile is input into the system.

Patient Information

In order to generate a recommendation, the system requires as input the patients clinical data, in the form of laboratory tests, the anthropometric properties, the diseases or conditions present within the patient. all these are entered into the system by the physician and are used as the input for the reasoner. The system then ensures the patients Hemoglobin A1c and Fasting Plasma glucose are above the threshold recommended by the ADA guidelines, to ensure the patient has diabetes mellitus.

Patient Medication

After the diagnosis has been confirmed, the system begins to reason about the pharmaceutical interventions for the patient firstly by categorizing the patient into his/her drug subplan, that is if the patient is in monotherapy, dual therapy or triple therapy. After the subplan is identified the comorbidities and/or contraindications are identified, as the presence of any of these will greatly affect the type of drug available to the patient.

Patient Drug

The ADA guidelines provides recommendations for several common comorbid conditions such as hypertension, neuropathy, nephropathy, stroke, obesity and so on. They also take into consideration the patient’s estimated glomerular filtration rate (eGFR) and the cardiovascular risk before the make recommendations. The contraindications for the drugs are outlined in table 8.1 of chapter 8 of ADA guidelines.

Patient Dosage

Drug has its dosage which comes from the Measurement class. Dosage has some units which is obtained from the unit class.

Patient Treatment Document

Finally, the system obtains a recommended drug for the patient by following the recommendations described within chapter 8 of ADA standards of care guideline.


  1. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  2. PREFIX owl: <http://www.w3.org/2002/07/owl#>
  3. PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
  4. PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
  5. PREFIX dbt: <https://tw.rpi.edu/Courses/Ontologies/2018/DiabetesTreatmentSupport/DiabetesTreatmentSupport/>
  6. SELECT DISTINCT ?patient ?suggestedDrug WHERE {
  7. ?patient rdf:type dbt:Patient .
  8. ?patient rdfs:label ?patientName .
  9. ?patient dbt:hasTreatmentDocument ?treatmentDocument .
  10. ?treatmentDocument dbt:hasSuggestedDrug ?suggestedDrug .
  11. FILTER (regex(str(?patientName), "patient Sam") ) .
  12. }LIMIT 10


patient suggestedDrug
Sam Metformin

Click here to go back to Demonstration and Queries page

This was developed as a part of the Ontology Engineering course supervised by Prof. Deborah McGuinness and Ms. Elisa Kendall at RPI in Fall'18