We’ve gotten some good feedback on our proposed data type design, and we have a new one to run by you. If at all possible, we’d like to centralize feedback around these blog posts so that we only have to go to one place and so that everybody can read all the feedback (yes, that’s a hint for those who sent us feedback by email).
The first bit of feedback was “do you really need both Medication and Medication Prescription?” After a bit of discussion, we’ve decided that we’re going to remove the Medication Prescription type and instead put the prescription-specific information into an optional prescription element on the Medication type.
We also had some feedback about being able to support more complex dosage schemes than what can be expressed using dose/strength/frequency/route. We considered doing this during the design, but after a bit of discussion came to the conclusion that doing so would add a significant amount of complexity to the type without a significant benefit in our highest-priority scenarios. We therefore decided not to add that support to the coded part of the type, though it can be specified in the prescription instructions element.
Here is our revised design for Medication. Medication Fill is also listed but is unchanged from our previous proposal. Required elements are in bold.
Medication
Some of the existing fields are moved to the Medication Fill type, and fields such as dose & dose unit are replaced with a field named "dose", which is of the "general measurement" type (see below for more information on general measurement).
| Element |
Type |
Description |
| Name |
string |
Patient-understandable name for the medication |
| Code |
Codable value |
Code/codes for the medication. Vocabs include RxNorm, NDC |
| Dose |
General measurement |
Patient-understandable dose plus structured value and unit. Examples: 1 tablet, 50ml |
| Strength |
General measurement |
Patient-understandable strength plus structured value and units. Examples: 25mg, 15mg/ml |
| Frequency |
General measurement |
Patient-understandable frequency plus structured value and units Example: Once a day |
| Route |
Codable value |
The route of the medication. Vocab=medication-routes. |
| Indication |
String |
Why the patient is taking medication |
| Date-started |
Approx-date |
Date the patient started taking the medication |
| Date-discontinued |
Approx-date |
Date the patient stopped taking the medication |
| Prescribed |
Codable value |
Whether the medication is prescribed, self-prescribed, etc. |
| Prescription |
Prescription |
Details of a prescribed medication. |
Prescription
This is a sub-type that contains information that is specific to the prescription
| Element |
Type |
Description |
| PrescribedBy |
Person |
The physician who prescribed this medication |
| Date-prescribed |
Approx-date |
Date the medication was prescribed |
| Amount-prescribed |
General measurement |
The amount prescribed |
| Substitution |
Codable value |
Whether the medication should be dispensed as written or whether substitution is allowed. |
| Refills |
Non-negative integer |
Original number of refills |
| Days-Supply |
Non-negative integer |
Number of days supply |
| Prescription expiration |
date |
The date when the prescription expires |
| Instructions |
String |
Instructions that go along with the prescription |
| Prescription Number |
String |
Prescription Number |
Mediation Fill
Records the act of filling or refilling a prescription.
| Element |
Type |
Description |
| Name |
string |
Patient-understandable name for the medication |
| Date-filled |
Approx-date |
Date of this fill |
| Refills-left |
Non-negative integer |
The number of future refills that are allowed. |
| Days-Supply |
Non-negative integer |
Number of days supply |
| Pharmacy |
Organization |
The pharmacy that filled the prescription |
| Prescription Number |
String |
Prescription Number |
General Measurement
The general measurement type is somewhat analagous to the codable value type. It contains a "display" field, which contains a user-readable value, and also one or more value & unit pairs, where the value is a double and the unit is expressed as a codable value.
A dose of 200 mg would be stored as follows:
display: "200 mg"
value: 200
units: mg, coded from the measurement-units vocabulary