## MedicationOrderSetRequest interface
Vendor-neutral input for an order-set widget-URL bot.

One of `planDefinitionId` (Medplum reverse-lookup to the vendor's orderset id via a cross-system identifier) or `vendorOrderSetId` (escape hatch when no synced PD exists) is required. Bots reject input where both are set so the intent is unambiguous on the wire.

**Signature:**

```typescript
export interface MedicationOrderSetRequest
```

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [appId?](/content/docs/sdk/core.medicationordersetrequest.appid) | `readonly` | string | _(Optional)_ |
| [organization?](/content/docs/sdk/core.medicationordersetrequest.organization) | `readonly` | Reference<Organization> | _(Optional)_ Selected practice location for multi-practice deployments. |
| [patientId](/content/docs/sdk/core.medicationordersetrequest.patientid) | `readonly` | string |  |
| [planDefinitionId?](/content/docs/sdk/core.medicationordersetrequest.plandefinitionid) | `readonly` | string | _(Optional)_ |
| [vendorOrderSetId?](/content/docs/sdk/core.medicationordersetrequest.vendorordersetid) | `readonly` | number \| string | _(Optional)_ Vendor-side order-set id. Numeric in ScriptSure today; kept as `number | string` so vendors with non-numeric ids can adopt the operation without a wire-format change.
