This wiki has undergone a migration to Confluence found Here

Difference between revisions of "Medications"

From HL7 Argonaut Project Wiki
Jump to navigation Jump to search
Line 16: Line 16:
 
==Mandatory Data Elements==
 
==Mandatory Data Elements==
 
The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements.   
 
The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements.   
 
 
'''Each MedicationStatement must have:
 
'''Each MedicationStatement must have:
 
# a patient
 
# a patient
Line 24: Line 23:
  
 
'''Formal Summary of the Mandatory Requirements
 
'''Formal Summary of the Mandatory Requirements
 +
#One medication in a [http://hl7.org/fhir/references.html#contained contained] '''Medication''' resource
 
#One patient reference in '''MedicationStatement.patient'''
 
#One patient reference in '''MedicationStatement.patient'''
 
#One status in '''MedicationStatement.status'''
 
#One status in '''MedicationStatement.status'''
 
#One date or period in '''MedicationStatement.effectiveDateTime or MedicationStatment.effectivePeriod'''
 
#One date or period in '''MedicationStatement.effectiveDateTime or MedicationStatment.effectivePeriod'''
 +
#One '''MedicationStatement.medicationReference''' which references the contained Medication resource
 +
 +
<!--
 
#One medication in '''MedicationStatement.medicationCodeableConcept vs MedicationStatement.medicationReference?'''.[https://github.com/argonautproject/implementation-program/issues/46 see issue #46]
 
#One medication in '''MedicationStatement.medicationCodeableConcept vs MedicationStatement.medicationReference?'''.[https://github.com/argonautproject/implementation-program/issues/46 see issue #46]
 
#* Medication... is bound to '''[http://hl7.org/fhir/daf/valueset-daf-medication-codes.html Medication Codes]''' Value set (Code Set)
 
#* Medication... is bound to '''[http://hl7.org/fhir/daf/valueset-daf-medication-codes.html Medication Codes]''' Value set (Code Set)
 
+
-->
 
Additional elements from [http://hl7.org/fhir/daf/medicationstatement-daf.html DAF MedicationStatement Profile] may be present.
 
Additional elements from [http://hl7.org/fhir/daf/medicationstatement-daf.html DAF MedicationStatement Profile] may be present.
  
Line 42: Line 45:
  
 
'''Formal Summary of the Mandatory Requirements'''
 
'''Formal Summary of the Mandatory Requirements'''
 +
#One medication in a [http://hl7.org/fhir/references.html#contained contained] '''Medication''' resource
 
#One date in '''MedicationOrder.dateWritten'''
 
#One date in '''MedicationOrder.dateWritten'''
 
#One status in '''MedicationOrder.status'''
 
#One status in '''MedicationOrder.status'''
 
#One patient reference in '''MedicationOrder.patient'''
 
#One patient reference in '''MedicationOrder.patient'''
 
#One practitioner in '''MedicationOrder.prescriber'''
 
#One practitioner in '''MedicationOrder.prescriber'''
 +
#One MedicationOrder.medicationReference''' which references the contained Medication resource.
 +
<!--
 
#One medication in '''MedicationOrder.medicationCodeableConcept vs MedicationOrder.medicationReference?'''.[https://github.com/argonautproject/implementation-program/issues/46 see issue #46]
 
#One medication in '''MedicationOrder.medicationCodeableConcept vs MedicationOrder.medicationReference?'''.[https://github.com/argonautproject/implementation-program/issues/46 see issue #46]
 
#* Medication... is bound to '''[http://hl7.org/fhir/daf/valueset-daf-medication-codes.html Medication Codes]''' Value set (Code Set)
 
#* Medication... is bound to '''[http://hl7.org/fhir/daf/valueset-daf-medication-codes.html Medication Codes]''' Value set (Code Set)
 +
-->
 
Additional elements from [http://hl7.org/fhir/daf/medicationorder-daf.html DAF MedicationOrder Profile] may be present.
 
Additional elements from [http://hl7.org/fhir/daf/medicationorder-daf.html DAF MedicationOrder Profile] may be present.
  
 
  '''[[MedicationOrder Example]]'''
 
  '''[[MedicationOrder Example]]'''
 +
 +
'''Each contained Medication must have:
 +
 +
# a medication
 +
 +
'''Formal Summary of the Mandatory Requirements
 +
 +
'''Each contained Medication must have either:'''
 +
# a code in '''Medication.code'''
 +
#* Medication.code is extensibly bound to  [http://hl7.org/fhir/daf/valueset-daf-medication-codes.html Medication Clinical Drug (RxNorm)]
 +
# or a Medication.Product
  
 
==Quick Start==
 
==Quick Start==

Revision as of 23:19, 21 June 2016

Back to Argonaut Implementation Guide

Introduction

The Argonaut Medications IG provides the API documentation for searching for and fetching a patient's medications. It is based on the Data Access Framework (DAF) MedicationStatement Profile, DAF MedicationOrder Profile, and draws requirements from Argonaut Sprint 4. The search criteria provided in the Quick Start are intended to support the 2015 Edition ONC Certification criterion Data Category Request 170.315(g)(8).

Minimum Requirements

Clients

Servers

  • A server is capable of returning a patient's medications GET /MedicationStatement?patient=[id].
  • A server is capable of returning a patient's medication orders GET /MedicationOrder?patient=[id].
  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). These are presented below in simple human-readable explanations along with sample data to demonstrate the requirements. Each MedicationStatement must have:

  1. a patient
  2. a status
  3. a date or date range
  4. a medication

Formal Summary of the Mandatory Requirements

  1. One medication in a contained Medication resource
  2. One patient reference in MedicationStatement.patient
  3. One status in MedicationStatement.status
  4. One date or period in MedicationStatement.effectiveDateTime or MedicationStatment.effectivePeriod
  5. One MedicationStatement.medicationReference which references the contained Medication resource

Additional elements from DAF MedicationStatement Profile may be present.

MedicationStatement Example

Each MedicationOrder must have:

  1. a date for when written
  2. a status
  3. a patient
  4. a prescriber
  5. a medication

Formal Summary of the Mandatory Requirements

  1. One medication in a contained Medication resource
  2. One date in MedicationOrder.dateWritten
  3. One status in MedicationOrder.status
  4. One patient reference in MedicationOrder.patient
  5. One practitioner in MedicationOrder.prescriber
  6. One MedicationOrder.medicationReference which references the contained Medication resource.

Additional elements from DAF MedicationOrder Profile may be present.

MedicationOrder Example

Each contained Medication must have:

  1. a medication

Formal Summary of the Mandatory Requirements

Each contained Medication must have either:

  1. a code in Medication.code
  2. or a Medication.Product

Quick Start

Below is a quick overview of the required search and read operations.


GET /MedicationStatement?patient={id}

Support: Mandatory to support search by patient.

Implementation Notes: Search for all MedicationStatement resources for a patient. Fetches a bundle of all MedicationStatement resources for the specified patient (how to search by reference).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET http://fhirtest.uhn.ca/baseDstu2/MedicationStatement?patient=14676]

GET /MedicationOrder?patient={id}

Support: Mandatory to support search by patient.

Implementation Notes: Search for all MedicationOrder resources for a patient. Fetches a bundle of all MedicationOrder resources for the specified patient (how to search by reference).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

[GET https://fhir-open-api-dstu2.smarthealthit.org/MedicationOrder?patient=1137192]

Open Issues

Issues for this IG have been identified and tracked HERE

  • Status based search

Resources

Formalized testing with test scripts and objective results reporting is available through the participation of AEGIS and MITRE (Crucible). The testscript provided can be used to test servers: [todo]

References


Back to Argonaut Implementation Guide