This page is part of the Argonaut Data Query Implementation Guide (v1.0.0: Release) based on FHIR R2. This is the current published version. For a full list of available versions, see the Directory of published versions
Both the Medicationstatement and MedicationStatement resources can be used to record a patient’s medication. For msre information about the context for their usages, refer to the medication domains’s boundaries section. This profile sets minimum expectations for the MedicationStatement resource to record, search and fetch medications associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the Argonaut MedicationStatement profile:
The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each MedicationStatement must have:
Profile specific implementation guidance:
MedicationStatement-argo-ms3 This example is a search Bundle with a MedicationStatement and an included Medication resource in the Bundle.
The official URL for this profile is:
http://fhir.org/guides/argonaut/StructureDefinition/argo-medicationstatement
This profile builds on MedicationStatement.
This profile was published on Tue Oct 18 00:00:00 AEDT 2016 as a draft by Argonaut Project.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
MedicationStatement.patient
MedicationStatement.dateAsserted
MedicationStatement.status
which has an required binding to:
MedicationStatement.medicationCodeableConcept
or MedicationStatement.medicationReference
MedicationStatement.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm) value set.MedicationStatement.effectiveDateTime
or MedicationStatment.effectivePeriod
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | 0..* | Argonaut MedicationStatement Profile | ||
patient | S | 1..1 | Reference(Argonaut Patient Profile) | |
dateAsserted | S | 1..1 | dateTime | |
status | S | 1..1 | code | Binding: MedicationStatementStatus (required) |
effective[x] | S | 0..1 | dateTime, Period | |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | I | 0..* | Argonaut MedicationStatement Profile mst-2: Reason for use is only permitted if wasNotTaken is false mst-1: Reason not taken is only permitted if wasNotTaken is true | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External identifier |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | Who is/was taking the medication |
informationSource | Σ | 0..1 | Reference(Patient), Reference(Practitioner), Reference(RelatedPerson) | |
dateAsserted | S | 1..1 | dateTime | When the statement was asserted? |
status | ?!S | 1..1 | code | active | completed | entered-in-error | intended Binding: MedicationStatementStatus (required) |
wasNotTaken | ?!Σ | 0..1 | boolean | True if medication is/was not being taken |
reasonNotTaken | ΣI | 0..* | CodeableConcept | True if asserting medication was not given Binding: Reason Medication Not Given Codes (example) |
reasonForUse[x] | Σ | 0..1 | CodeableConcept, Reference(Condition) | Binding: Condition/Problem/Diagnosis Codes (example) |
effective[x] | S | 0..1 | dateTime, Period | Over what period was medication consumed? |
note | Σ | 0..1 | string | Further information about the statement |
supportingInformation | Σ | 0..* | Reference(Resource) | Additional supporting information |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | What medication was taken Binding: Medication Clinical Drug (RxNorm) (extensible) |
dosage | Σ | 0..* | BackboneElement | Details of how medication was taken |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
text | Σ | 0..1 | string | Reported dosage information |
timing | Σ | 0..1 | Timing | When/how often was medication taken |
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: (unbound) (example) |
site[x] | Σ | 0..1 | CodeableConcept, Reference(BodySite) | Where (on body) medication is/was administered Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example) |
route | Σ | 0..1 | CodeableConcept | How the medication entered the body Binding: SNOMED CT Route Codes (example) |
method | Σ | 0..1 | CodeableConcept | Technique used to administer medication Binding: (unbound) (example) |
quantity[x] | Σ | 0..1 | SimpleQuantity, Range | Amount administered in one dose |
rate[x] | Σ | 0..1 | Ratio, Range | Dose quantity per unit of time |
maxDosePerPeriod | Σ | 0..1 | Ratio | Maximum dose that was consumed per unit of time |
Documentation for this format |
MedicationStatement.patient
MedicationStatement.dateAsserted
MedicationStatement.status
which has an required binding to:
MedicationStatement.medicationCodeableConcept
or MedicationStatement.medicationReference
MedicationStatement.medicationCodeableConcept
has an extensible binding to Medication Clinical Drug (RxNorm) value set.MedicationStatement.effectiveDateTime
or MedicationStatment.effectivePeriod
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | 0..* | Argonaut MedicationStatement Profile | ||
patient | S | 1..1 | Reference(Argonaut Patient Profile) | |
dateAsserted | S | 1..1 | dateTime | |
status | S | 1..1 | code | Binding: MedicationStatementStatus (required) |
effective[x] | S | 0..1 | dateTime, Period | |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | Binding: Medication Clinical Drug (RxNorm) (extensible) |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MedicationStatement | I | 0..* | Argonaut MedicationStatement Profile mst-2: Reason for use is only permitted if wasNotTaken is false mst-1: Reason not taken is only permitted if wasNotTaken is true | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | External identifier |
patient | S | 1..1 | Reference(Argonaut Patient Profile) | Who is/was taking the medication |
informationSource | Σ | 0..1 | Reference(Patient), Reference(Practitioner), Reference(RelatedPerson) | |
dateAsserted | S | 1..1 | dateTime | When the statement was asserted? |
status | ?!S | 1..1 | code | active | completed | entered-in-error | intended Binding: MedicationStatementStatus (required) |
wasNotTaken | ?!Σ | 0..1 | boolean | True if medication is/was not being taken |
reasonNotTaken | ΣI | 0..* | CodeableConcept | True if asserting medication was not given Binding: Reason Medication Not Given Codes (example) |
reasonForUse[x] | Σ | 0..1 | CodeableConcept, Reference(Condition) | Binding: Condition/Problem/Diagnosis Codes (example) |
effective[x] | S | 0..1 | dateTime, Period | Over what period was medication consumed? |
note | Σ | 0..1 | string | Further information about the statement |
supportingInformation | Σ | 0..* | Reference(Resource) | Additional supporting information |
medication[x] | S | 1..1 | CodeableConcept, Reference(Argonaut Medication Profile) | What medication was taken Binding: Medication Clinical Drug (RxNorm) (extensible) |
dosage | Σ | 0..* | BackboneElement | Details of how medication was taken |
id | 0..1 | id | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
text | Σ | 0..1 | string | Reported dosage information |
timing | Σ | 0..1 | Timing | When/how often was medication taken |
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: (unbound) (example) |
site[x] | Σ | 0..1 | CodeableConcept, Reference(BodySite) | Where (on body) medication is/was administered Binding: SNOMED CT Anatomical Structure for Administration Site Codes (example) |
route | Σ | 0..1 | CodeableConcept | How the medication entered the body Binding: SNOMED CT Route Codes (example) |
method | Σ | 0..1 | CodeableConcept | Technique used to administer medication Binding: (unbound) (example) |
quantity[x] | Σ | 0..1 | SimpleQuantity, Range | Amount administered in one dose |
rate[x] | Σ | 0..1 | Ratio, Range | Dose quantity per unit of time |
maxDosePerPeriod | Σ | 0..1 | Ratio | Maximum dose that was consumed per unit of time |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron
Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the Argonaut Data Query implementation guide server for a complete list of supported RESTful operations and search parameters for this IG.
GET /MedicationStatement?patient={id}
Example:
GET http://fhirtest.uhn.ca/baseDstu2/MedicationStatement?patient=14676
Support: Mandatory for client to support search by patient. Optional for server to support.
Implementation Notes: Used when the server application represents the medication using either an inline code or a contained Medication resource. This searches for all MedicationStatement resources for a patient and returns a Bundle of all MedicationStatement resources for the specified patient. (how to search by reference).
Response Class:
GET /MedicationStatement?patient={id}&_include=MedicationStatement:medication
Example:
Support: Mandatory for client to support search by patient using the include parameter. Optional for server to support.
Implementation Notes: Used when the server application represents the medication with an external reference to a Medication resource. This searches for all MedicationStatement resources for a patient and returns a Bundle of all MedicationStatement and Medication resources for the specified patient. (how to search by reference).
Response Class: