Overview of the Application
I am building a Ruby on Rails application to organize medications, using MySQL. The goal of this application is to provide dosage specific treatment recommendations, and also provide more general information about the utility of drugs to treat various conditions.
Current Entities
“Drug” - Example: “Abilify”
“Dosage” - Example: “10mg”
“Condition" - Example: “Depression”
Potential Entities For Required Use Cases
“Prescription” (Drug + Dosage + Condition) => This is required for dosage specific data, for a specific condition. Clinical research may be attached to this entity.
“Therapy" (Drug + Dosage) => This is required because it represents how most medications are priced, and how most medications are interchanged between 3rd party health applications, using a government standards primary key known as a RxNorm Concept Unique Identifier.
“Usage” (Drug + Condition) => This is required for connecting drugs to conditions, without consideration to dosage. Some drugs are used to treat many conditions.
Concern
These three models, if implemented, create duplicate relationships between either drug and condition, or drug and dosage. How can we build out a normalized system that supports our needs for both dosage and condition specific tools, as well as dosage and condition agnostic tools?
Example
“Abilify 5 mg for depression“ => The “Prescription” entity would allow us to attach clinical studies, and alternatives, for 5 mg of Abilify in the treatment of depression. The “Therapy” entity would allow us to find pricing, as well as 3rd party supplemental data, for 5 mg of Abilify. The “Usage” entity would allow us to track all conditions that Abilify is used to treat, along with their efficacy in treating these various conditions.