---
schema_version: "1"
id: c28b912616fe2f0c24fd980b291c57551ac8fe812aa51a009365948db5603c9f
title: MedicationStatement
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/life_sciences_dev_guide/hc_r4_api_objects_MedicationStatement.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/hc_r4_api_objects_MedicationStatement.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 5fbce12ead44200a2c5b8b785c65690befcef42272b6170b963de2180094a47a
description: Represents a record of medication that the patient is currently taking or has taken in the past. This object is available in API version 51.0 and later.
---
# MedicationStatement

Represents a record of medication that the patient is currently taking or has taken in the past. This object is available in API version 51.0 and later.

## Supported Calls

create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search(), undelete(), update(), upsert()

## Additional Information for MedicationStatement in Other Objects

In addition to creating a record using these fields, you can add more details to your MedicationStatement record by creating records in certain other objects, and referencing your MedicationStatement record as the parent record. Here’s the list of objects you can associate to MedicationStatement in this way, the type of information they add, and the field they use to reference MedicationStatement.

| Object | Type of Information | Reference Field |
| --- | --- | --- |
| Identifier | Associates an identifier value to the medication statement. | ParentRecordId |
| PatientMedicationDosage | Associates dosage related information for the medication in the medication statement record. | ParentRecordId |

## Fields

### AssertionDateTime

- **Type**: dateTime
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The date and time the medication statement was made.

### CareObservationId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The observation that warranted this medication.
- **Referenced Objects**:
    - CareObservation

### CaseId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The case associated with the patient's medication statement.
    
    This field is a relationship field.
- **Relationship Name**: Case
- **Refers To**: Case

### ClinicalEncounterId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The encounter related to the medication statement.
- **Referenced Objects**:
    - ClinicalEncounter

### DeliverySetting

- **Type**: picklist
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: Specifies the setting in which the medication was administered.
- **Possible values**:
    - Community
    - Inpatient
    - Outpatient
    - PatientSpecified

### EndDateTime

- **Type**: dateTime
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The stated end date and time for the medication.

### LastReferencedDate

- **Type**: dateTime
- **Properties**: Filter, Nillable, Sort
- **Description**: The most recent date on which a user referenced this record.

### LastViewedDate

- **Type**: dateTime
- **Properties**: Filter, Nillable, Sort
- **Description**: The most recent date on which a user viewed this record.

### MedicationCodeId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The system-defined code that identifies a medication. A record can select either a MedicationId or a MedicationCodeId, but not both.
- **Referenced Objects**:
    - CodeSetBundle

### MedicationId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The medication associated with this medication statement. A record can select either a MedicationId or a MedicationCodeId, but not both.
- **Referenced Objects**:
    - Medication

### MedicationReasonCodeId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The system-defined code that specifies the reason this medication was taken.
- **Referenced Objects**:
    - CodeSetBundle

### MedicationReasonId

- **Type**: Polymorphic reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The observation, condition, or diagnostic report that warranted the medication.
- **Referenced Objects**:
    - HealthCondition
    - CareObservation

### MedicationRequestId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: A medication request associated with the medication statement.
- **Referenced Objects**:
    - MedicationRequest

### Name

- **Type**: string
- **Properties**: Autonumber, Defaulted on create, Filter, idLookup, Sort
- **Description**: The system-generated name of the medication statement record.

### OwnerId

- **Type**: reference
- **Properties**: Create, Defaulted on create, Filter, Group, Sort, Update
- **Description**: The owner of the medication statement record. Available in API version 56.0 and later. This is a polymorphic relationship field.
- **Relationship Name**: Owner
- **Relationship Type**: Lookup
- **Refers To**:
    - Group
    - User

### ParentMedicationStatementId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The parent medication statement associated with the medication statement.
- **Referenced Objects**:
    - MedicationStatement

### PatientId

- **Type**: Master-detail reference
- **Properties**: Create, Filter, Group, Sort
- **Description**: A patient that the medication statement refers to.
- **Referenced Objects**:
    - Account

### ProcedureId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The procedure associated with this medication statement.
- **Referenced Objects**:
    - PatientMedicalProcedure

### SourceSystem

- **Type**: string
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The name of the system this record came from.

### SourceSystemIdentifier

- **Type**: string
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The ID of this record in its source system.

### SourceSystemModified

- **Type**: dateTime
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The date on which this item was last changed in the source system.

### StartDateTime

- **Type**: dateTime
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The stated start date and time for the medication.

### StatementSourceId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The person who made the medication statement.

### Status

- **Type**: picklist
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: Specifies the status of the medication in this statement.
- **Possible values**:
    - Active
    - Completed
    - Entered-in-error
    - Intended
    - Not-taken
    - On-hold
    - Review Pending - This picklist value is available for the Home Health feature in API version 59.0 and later.
    - Stopped
    - Unknown

### StatusReasonCodeId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The system-defined code that specifies the reason for the status.
- **Referenced Objects**:
    - CodeSetBundle

## Associated Objects

This object has the following associated objects. Unless noted, they are available in the same API version as this object.

[MedicationStatementChangeEvent](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/sforce_api_associated_objects_change_event.htm "A StandardObjectNameChangeEvent object is available for each object that supports Change Data Capture. You can subscribe to a stream of change events using Change Data Capture to receive data tied to record changes in Salesforce. Changes include record creation, updates to an existing record, deletion of a record, and undeletion of a record. A change event isn’t a Salesforce object—it doesn’t support CRUD operations or queries. It’s included in the object reference so you can discover which Salesforce objects support change events.") (API version 58.0)

Change events are available for the object.

[MedicationStatementFeed](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/sforce_api_associated_objects_feed.htm "StandardObjectNameFeed is the model for all feed objects associated with standard objects. These objects represent the posts and feed-tracked changes of a standard object.")

Feed tracking is available for the object.

[MedicationStatementHistory](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/sforce_api_associated_objects_history.htm "StandardObjectNameHistory is the model for all history objects associated with standard objects. These objects represent the history of changes to the values in the fields of a standard object.")

History is available for tracked fields of the object.

[MedicationStatementOwnerSharingRule](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/sforce_api_associated_objects_ownersharingrule.htm "StandardObjectNameOwnerSharingRule is the model for all owner sharing rule objects associated with standard objects. These objects represent a rule for sharing a standard object with users other than the owner.") (API version 56.0)

Sharing rules are available for the object.

[MedicationStatementShare](https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/sforce_api_associated_objects_share.htm "StandardObjectNameShare is the model for all share objects associated with standard objects. These objects represent a sharing entry on the standard object.") (API version 56.0)

Sharing is available for the object.