Record of medication being taken by a patient
Retrieving a patient’s medication statements
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/MedicationStatement
GET https://tw171.open.allscripts.com/FHIR/Patient/id/MedicationStatement?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 MedicationStatement is returned.
Name | Type | Cardinality | Description |
---|---|---|---|
identifier | 0..* | External identifier. FHIR will generate its own internal identifiers (probably URLs) which do not need to be explicitly managed by the resource. The identifier is one that would be used by another non-FHIR system. For example, an automated medication pump would provide a record each time it operated; an administration while the patient was off the ward might be made with a different system and entered after the event. This is particularly important if these records have to be updated. | |
patient | Reference(Patient) | 1..1 | Patient who is or was taking the medication. Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information. |
informationSource | Reference(Patient, Practitioner, RelatedPerson) | 0..1 | Person who provided the information about the taking of this medication. |
dateAsserted | dateTime | 0..1 | Date and time when the statement was asserted. |
status | code | 1..1 | Valid entries include: Active, Completed, Entered-in-error, and Intended. For more information on this value set, see medication-statement-status. |
wasNotTaken | boolean | 0..1 | Was the medication not taken? True if medication is/was not being taken. |
reasonNotTaken | CodeableConcept | 0..* | 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. A code indicating why the medication was not taken. A set of codes indicating the reason why the MedicationAdministration is negated. For example codes, see Reason Medication Not Given Codes. This value set has an inline code system http://hl7.org/fhir/reason-medication-not-given, which defines the following codes: Code “a” - Display “None” - No reason known, Code “b” - Display “Away” - The patient was not available when the dose was scheduled, Code “c” - Display “Asleep” - The patient was asleep when the dose was scheduled, and Code “d” - Display “Vomit” - The patient was given the medication and immediately vomited it back. |
reasonForUseCodeableConcept | CodeableConcept | 0..1 | |
reasonForUseReference | Reference(Condition) | 0..1 | |
effectiveDateTime | dateTime | 0..1 | Date and time over which the medication was consumed. |
effectivePeriod | Period | 0..1 | Interval of time during which it is being asserted that the patient was taking the medication (or was not taking, when the wasNotGiven element is true). If the medication is still being taken at the time the statement is recorded, the “end” date will be omitted. |
note | string | 0..1 | Further information about the statement. |
supportingInformation | Reference(Resource) | 0..* | Additional supporting information. |
medicationCodeableConcept | CodeableConcept | 1..1 | Medication that was taken. Defines constraints and extensions on the Medication resource for use in querying and retrieving patient’s medication information. |
medicationReference | Reference(Medication) | 1..1 | Medication that was taken. |
dosage | 0..* | How the medication is/was used by the patient. | |
– dosage.text | string | 0..1 | Reported dosage information. |
– dosage.timing | Hl7.Fhir.Model.Timing | 0..1 | When/how often was medication taken. The 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”. |
– dosage.asNeededBoolean | Boolean | 0..1 | Take “as needed” (for x). |
– dosage.asNeededCodeableConcept | CodeableConcept | 0..1 | Take “as needed” (for x). |
– dosage.siteCodeableConcept | CodeableConcept | 0..1 | Where (on body) medication is/was administered. 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), or 91722005 - Entire physical anatomical entity (body structure). |
– dosage.siteReference | Reference(BodySite) | 0..1 | Where (on body) medication is/was administered. |
– dosage.route | CodeableConcept | 0..1 | Route by which the medication entered the body. Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. Route of Administration value set is based upon FDA Drug Registration and Listing Database (FDA Orange Book) which are used in FDA structured product and labelling (SPL). This value set includes codes as defined in http://ncimeta.nci.nih.gov. |
– dosage.method | CodeableConcept | 0..1 | Technique used to administer the medication. |
– dosage.quantityQuantity | Quantity | 0..1 | Amount administered in one dose. |
– dosage.quantityRange | Hl7.Fhir.Model.Range | 0..1 | Amount administered in one dose. |
– dosage.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 e.g. 100 ml per 1 hour or 100 ml/hr. May also be expressed as a rate per unit of time e.g. 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. |
– dosage.rateRange | Hl7.Fhir.Model.Range | 0..1 | Dose quantity per unit of time. |
– dosage.maxDosePerPeriod | Hl7.Fhir.Model.Ratio | 0..1 | Maximum total quantity of a therapeutic substance that may be administered to a subject over the period of time. For example, 1000mg in 24 hours. |
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.