Prescription of medication for patient
Retrieving a patient’s medication orders
The logical ID of the patient to retrieve is passed as part of the URL. The logical ID is found as the result of a search.
GET https://tw171.open.allscripts.com/FHIR/Patient/id/MedicationOrder
GET https://tw171.open.allscripts.com/Patient/id/MedicationOrder?date=eq2016-01-01
Name | Required? | Type | Description |
---|---|---|---|
id | yes | URL | Patient’s logical ID. This is retrieved using the search function. |
date | no | string | A string representing a date to include in the search. See below for more information. |
A DAF MedicationOrder is returned.
Name | Type | Cardinality | Description |
---|---|---|---|
identifier | 0..* | External identifier. This would be used by another non-FHIR system. For example, a reimbursement system might issue its own ID for each prescription that is created. This is particularly important where FHIR only provides part of an entire workflow process where records have to be tracked through an entire system. | |
dateWritten | dateTime | 0..1 | Date and time when the prescription was authorized. |
status | code | 0..1 | Medication status. Valid entries include: Active, On-Hold, Completed, Entered-In-Error, Stopped, and Draft. For more information on this value set, see medication-order-status. |
dateEnded | dateTime | 0..1 | Date and time when the prescription was stopped. |
reasonEnded | CodeableConcept | 0..1 | Reason why the prescription was stopped. |
patient | Reference(Patient) | 0..1 | Link to a resource representing the person to whom the medication will be given. |
prescriber | Reference(Practitioner) | 0..1 | Healthcare professional responsible for authorizing the prescription. |
encounter | Reference(Encounter) | 0..1 | Link to a resource that identifies the particular occurrence of contact between patient and health care provider. |
reasonCodeableConcept | CodeableConcept | 0..1 | Reason or indication for writing the prescription. To be conformant, instances of this element shall include a code from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), an alternate system.code may be used instead. All orderable medication formulations represented using either a generic or brand-specific concept. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack), SCDG (semantic clinical drug group), SBDG (semantic brand drug group), SCDF (semantic clinical drug form), or SBDF (semantic brand drug form). |
reasonReference | Reference(Condition) | 0..1 | Reason or indication for writing the prescription. |
note | string | 0..1 | Information about the prescription. |
medicationCodeableConcept | CodeableConcept | 1..1 | Medication to be taken. To be conformant, instances of this element shall include a code from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the value set does not cover the concept (based on human review), an alternate system.code may be used instead. All orderable medication formulations represented using either a generic or brand-specific concept. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack), SCDG (semantic clinical drug group), SBDG (semantic brand drug group), SCDF (semantic clinical drug form), or SBDF (semantic brand drug form). This value set includes codes http://www.nlm.nih.gov/research/umls/rxnorm where TTY in SCD,SBD,GPCK,BPCK,SCDG,SBDG,SCDF,SBDF. |
medicationReference | Reference(Medication) | 1..1 | Medication being administered. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. Note: do not use Medication.name to describe the prescribed medication. When the only available information is a text description of the medication, Medication.code.text should be used. |
dosageInstruction | 0..* | How the medication is to be used by the patient. When the dose or rate is intended to change over the entire administration period (for example, tapering dose prescriptions) multiple instances of dosage instructions will need to be supplied to convey the different doses/rates. Another common example in institutional settings is ‘titration’ of an IV medication dose to maintain a specific stated hemodynamic value or range (for example, drug x to be administered to maintain AM (arterial mean) greater than 65). | |
– dosageInstruction.text | string | 0..1 | Free text dosage instructions can be used for cases where the instructions are too complex to code. The content of this attribute does not include the name or description of the medication. When coded instructions are present, the free text instructions may still be present for display to humans taking or administering the medication. It is expected that the text instructions will always be populated. If the dosage.timing attribute is also populated, then the dosage.text should reflect the same information as the timing. |
– dosageInstruction.additionalInstructions | CodeableConcept | 0..1 | Supplemental instructions. For example, “with meals.” |
– dosageInstruction.timing | Hl7.Fhir.Model.Timing | 0..1 | Timing schedule for giving the medication to the patient. The schedule data type allows many different expressions. For example, “Every 8 hours,” “Three times a day,” “1/2 an hour before breakfast for 10 days from 23-Dec 2011,” or “15 Oct 2013, 17 Oct 2013 and 1 Nov 2013”. Note: This attribute may not always be populated while the DosageInstruction.text is expected to be populated. If both are populated, then the DosageInstruction.text should reflect the content of the Dosage.timing. |
– dosageInstruction.asNeededBoolean | Boolean | 0..1 | Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included. Indicates whether the Medication is only taken when needed within a specific dosing schedule (Boolean option), or it indicates the precondition for taking the Medication (CodeableConcept). A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example “pain,” “30 minutes prior to sexual intercourse,” “on flare-up,” and so forth. Specifically if ‘boolean’ datatype is selected, then the following logic applies: If set to True, this indicates that the medication is only taken when needed, within the specified schedule. |
– dosageInstruction.asNeededCodeableConcept | CodeableConcept | 0..1 | Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. A coded specification of the anatomic site where the medication first enters the body. This identifies the body site at which the substance was administered. The codes should be taken from Vaccine Administered Body Site. All codes from system http://snomed.info/sct. The value set includes codes from the following code systems (actual value set has > 1000 codes included): 91723000 - Anatomical structure (body structure), 280115004 - Acquired body structure (body structure), 258331007 - Anatomical site notations for tumor staging (body structure), 118956008 - Altered from its original anatomical structure (morphologic abnormality), and 91722005 - Entire physical anatomical entity (body structure). |
– dosageInstruction.siteCodeableConcept | CodeableConcept | 0..1 | Body site to administer the medication. |
– dosageInstruction.siteReference | Reference(BodySite) | 0..1 | Body site to administer the medication. |
– dosageInstruction.route | CodeableConcept | 0..1 | Route by which the drug should enter the body. For more information on this value set, see route-codes. |
– dosageInstruction.method | CodeableConcept | 0..1 | Technique for administering the medication. |
– dosageInstruction.doseRange | Hl7.Fhir.Model.Range | 0..1 | Amount of medication per dose. |
– dosageInstruction.doseQuantity | Quantity | 0..1 | Amount of medication per dose. |
– dosageInstruction.rateRatio | Hl7.Fhir.Model.Ratio | 0..1 | Speed with which the medication was or will be introduced into the patient. Typically the rate for an infusion. For example, 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time. For example, 500 ml per 2 hours. Currently we do not specify a default of ‘1’ in the denominator, but this is being discussed. Other examples: 200 mcg/min or 200 mcg/1 minute; 1 liter/8 hours. It is possible to supply both a rate and a doseQuantity to provide full details about how the medication is to be administered and supplied. If the rate is intended to change over time, depending on local rules/regulations, each change should be captured as a new version of the MedicationOrder with an updated rate, or captured with a new MedicationOrder with the new rate. |
– dosageInstruction.rateRange | Hl7.Fhir.Model.Range | 0..1 | Amount of medication per unit of time. |
– dosageInstruction.maxDosePerPeriod | Hl7.Fhir.Model.Ratio | 0..1 | Upper limit on medication per unit of time. |
dispenseRequest | 0..1 | Specific details for the dispense or medication supply part of a medication order (also known as a Medication Prescription). Note that this information is not always sent with the order. There may be in some settings (for example, hospitals) institutional or system support for completing the dispense details in the pharmacy department. | |
– dispenseRequest.medicationCodeableConcept | CodeableConcept | 0..1 | Product to be supplied. |
– dispenseRequest.medicationReference | Reference(Medication) | 0..1 | Product to be supplied. |
– dispenseRequest.validityPeriod | Period | 0..1 | Validity period of a prescription (stale dating the Prescription). Indicates when the Prescription becomes valid, and when it ceases to be a dispensable Prescription. It reflects the prescriber perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations. |
– dispenseRequest.numberOfRepeatsAllowed | Hl7.Fhir.Model.PositiveInt | 0..1 | Integer indicating the number of additional times (aka refills or repeats) the patient can receive the prescribed medication. Usage Notes: This integer does NOT include the original order dispense. This means that if an order indicates dispense 30 tablets plus “3 repeats”, then the order can be dispensed a total of 4 times and the patient can receive a total of 120 tablets. If displaying “number of authorized refills”, subtract 1 from this number. Positive integer. |
– dispenseRequest.quantity | Hl7.Fhir.Model.SimpleQuantity | 0..1 | Amount that is to be dispensed for one fill. |
– dispenseRequest.expectedSupplyDuration | Hl7.Fhir.Model.Duration | 0..1 | Period of time over which the supplied product is expected to be used, or the length of time the dispense is expected to last. In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors. |
substitution | 0..1 | Restrictions on medication substitution. | |
– substitution.type | CodeableConcept | 1..1 | Valid entries include Generic and Formulary +. For more information on this value set, see v3-ActSubstanceAdminSubstitutionCode. |
– substitution.reason | CodeableConcept | 0..1 | Why should (not) substitution be made. For more information on this value set, see v3-SubstanceAdminSubstitutionReason. |
priorPrescription | Reference(MedicationOrder) | 0..1 | Order/prescription that this supersedes. |
Searching by date
Dates are passed as query parameters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed in as part of the date.
date=eq2016-01-01
date=gt2016-01-01
The following comparators are supported:
Comparator | Description |
---|---|
eq | equal |
gt | greater than |
ge | greater than or equal |
lt | less than |
le | less than or equal |
To search for a date range, pass in the date twice.
e.g. date=ge2010-01-01&date=le2010-12-31
This search would include every day in the year 2010.