---
schema_version: "1"
id: e894a762b12fe7adfd0a8e4f9c9834bdd33eea0f7827848b879f8c997744e5f3
title: Medication
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_Medication.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.life_sciences_dev_guide.meta/life_sciences_dev_guide/hc_r4_api_objects_Medication.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: c9a9065c979caa56c8beedfc899fb8e52f10efa3dfccd7ff441b80fcb4cbed9b
description: Represents detailed information about different medications. This object is available in API version 51.0 and later.
---
# Medication

Represents detailed information about different medications. 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 Medication in Other Objects

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

| Object | Type of Information | Reference Field |
| --- | --- | --- |
| Identifier | Associates an identifier value to the medication record. | ParentRecordId |
| MedicinalIngredient | Adds information about the different ingredients used in the medication. | ParentRecordId |

## Fields

### BatchNumber

- **Type**: int
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: Specifies the batch number of the medication.

### BrandNameAlternative

- **Type**: string
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The branded alternative for a generic medication. This field is available in API version 56.0 and later.

### ExpirationDateTime

- **Type**: dateTime
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: Specifies the expiration date of 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.

### ManufacturerId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The company that makes the medicine.
- **Referenced Objects**:
    - Account

### MedicationCategory

- **Type**: picklist
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The category of the medication. This field is available in API version 56.0 and later.
- **Possible values**:
    - Branded Product
    - Generic Product
    - Innovator Product
    - Therapeutic Moeity

### MedicationCodeId

- **Type**: reference
- **Properties**: Create, Filter, Group, Sort, Update
- **Description**: The system-defined code that identifies a medication.
- **Referenced Objects**:
    - CodeSetBundle

### MedicationFormId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The system-defined code for the dosage form this medication is manufactured in.
- **Referenced Objects**:
    - CodeSetBundle

### Name

- **Type**: string
- **Properties**: Create, Filter, Group, idLookup, Sort, Update
- **Description**: The name of the medication.

### OwnerId

- **Type**: reference
- **Properties**: Create, Defaulted on create, Filter, Group, Sort, Update
- **Description**: The user who owns the medication record.

### ProductId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The product that's associated with the medication.
    
    This field is a relationship field.
    
    This field is available in API version 61.0 and later with the Manage Financial Assistance Program permission set.

### QuantityDenominator

- **Type**: double
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The total volume of the medication contained in the packaged product.

### QuantityNumerator

- **Type**: double
- **Properties**: Create, Filter, Nillable, Sort, Update
- **Description**: The total amount of the medication contained in the packaged product.

### QuantityUnitId

- **Type**: reference
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: The measurement unit for the quantity.
- **Referenced Objects**:
    - UnitOfMeasure

### 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 on its source system.

### SourceSystemModified

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

### Status

- **Type**: picklist
- **Properties**: Create, Filter, Group, Nillable, Sort, Update
- **Description**: Specifies the status of the medication.
- **Possible values**:
    - Active
    - Entered in error
    - Inactive

## Associated Objects

This object has the following associated objects. If the API version isn’t specified, they’re available in the same API versions as this object. Otherwise, they’re available in the specified API version and later.

[MedicationChangeEvent](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 59.0)

Change events are available for the object.