MedicationDispense
Overview
The MedicationDispense resource indicates that a medication product is to be or has been dispensed for a named person/patient. This resource is used to record the dispensing of medications from a pharmacy or other dispensing location.
Use Cases:
- Track medication dispensing events
- Record pharmacy fulfillment of prescriptions
- Monitor medication adherence and compliance
Relationships:
- References Patient (subject of the dispense)
- May reference MedicationRequest (original prescription)
- May include Provenance information
Resource Schema
Key fields in the MedicationDispense resource:
{
"resourceType": "MedicationDispense",
"id": "example-dispense",
"status": "completed",
"medicationCodeableConcept": {
"coding": [{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "1049502",
"display": "Acetaminophen 325 MG Oral Tablet"
}]
},
"subject": {
"reference": "Patient/123"
},
"quantity": {
"value": 30,
"unit": "tablets"
},
"whenHandedOver": "2023-10-15T10:30:00Z"
}
Operations
The Certified API MedicationDispense resource supports the following standard operations. However, support varies by the targeted CareRecord or solution.
| CareRecord / Solution | Create | Read | Update | Search |
|---|---|---|---|---|
| GEHRIMED | - | Yes | - | Yes |
| myAvatar | - | Yes | - | Yes |
| myEvolv | - | Yes | - | Yes |
| myUnity | - | Yes | - | Yes |
| TheraOffice | - | Yes | - | Yes |
Read
Retrieve a specific MedicationDispense resource by its ID.
Search
Not all Netsmart solutions support MedicationDispense search. See supported operations table above and consult your target solution's documentation for more information.
Search for medication dispenses using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /MedicationDispense?parameter=value
GET /MedicationDispense?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /MedicationDispense/_search
POST /MedicationDispense/_search
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | The identity of a patient to list dispenses for | patient=value |
status | token | No | Returns dispenses with a specified dispense status | status=value |
type | token | No | Returns dispenses of a specific type | type=value |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
_id | string | Yes | The ID of the resource | _id=value |
status | token | No | Returns dispenses with a specified dispense status | status=value |
type | token | No | Returns dispenses of a specific type | type=value |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
Common Search Patterns
Find dispenses for a patient:
GET /MedicationDispense?patient=Patient/123&_count=10
Search by status:
GET /MedicationDispense?patient=Patient/123&status=completed
Find recently updated records:
GET /MedicationDispense?patient=Patient/123&_lastUpdated=ge2023-10-01
Examples
Read Request
- Production
- Preview
curl -X GET "https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense/example-dispense" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET "https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense/example-dispense" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
Request Examples
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123&status=completed"
curl -X GET "https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense?patient=Patient/123&status=completed" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X POST https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123&status=completed"
curl -X GET "https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/MedicationDispense?patient=Patient/123&status=completed" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
Integration Patterns
Common Workflows
- Medication History Retrieval: Search for all dispenses for a patient to build medication history
- Adherence Monitoring: Track dispensing patterns to monitor patient compliance
- Pharmacy Integration: Record dispensing events from pharmacy systems
Related Resources
- Patient: Subject of the medication dispense
- MedicationRequest: Original prescription that led to the dispense
- Medication: Details about the dispensed medication
- Provenance: Audit trail information
Error Handling
For detailed error codes and handling, see the Error Handling documentation.
Supported Profiles
This API supports the following FHIR profiles: