---
title: "Update prescription instructions (dosage, frequency, duration, instructions)."
method: PATCH
path: "/rx/governance/{id}/instructions"
tags: ["RxGovernance"]
---

# Update prescription instructions (dosage, frequency, duration, instructions).

`PATCH /rx/governance/{id}/instructions`

Deprecated. Use `PATCH /rx/governance/{id}` (the full prescription edit
endpoint) instead — it accepts the same fields plus the rest of the editable
surface, and wires through the DEA guardrail and amendment workflow. Kept
in place for one release while any remaining external callers migrate.

## Path parameters

- `id` string, required

## Request body

- UpdatePrescriptionInstructionsDto
  - `dosage` string, nullable
  - `frequency` string, nullable
  - `duration` string, nullable
  - `instructions` string, nullable

## Response `200`

OK

- RxGovernanceDto
  - `id` string
  - `createdDate` string
  - `patientName` string
  - `species` string
  - `clientName` string
  - `medication` string
  - `medicationId` string, nullable
  - `medicationCategory` string, nullable
  - `deaSchedule` string, nullable
  - `strength` string, nullable
  - `provider` string
  - `status` string
  - `guardrails` GuardrailChecksDto
    - `dose` boolean
    - `interaction` boolean
    - `allergy` boolean
  - `events` RxEventDto[]
    - `type` string
    - `timestamp` string, date-time
    - `actor` string
    - `data` object, nullable
  - `routing` RxRoutingDto
    - `id` string
    - `method` string
    - `pharmacyId` string, nullable
    - `pharmacyName` string, nullable
    - `inventoryLotId` string, nullable
    - `trackingNumber` string, nullable
    - `estimatedDeliveryTime` string, nullable
    - `notes` string, nullable
    - `routedAt` string, date-time
    - `routedBy` string, nullable
  - `lastExamDate` string, nullable — Patient's last exam date (VCPR - Veterinary-Client-Patient Relationship)
  - `patientId` string, nullable
  - `prescriptionItemId` string, nullable
  - `quantity` union
    - number, double
    - string, double
  - `transactionId` string, nullable
  - `invoiceLineItemId` string, nullable — Set when the dispense-from-inventory call included an InvoiceId and a line item was created atomically with the dispense. Lets clients append the line item locally without refetching.
  - `invoiceId` string, nullable — The estimate the dispense was attached to — either the one the caller supplied or one auto-created/resolved server-side. Lets a client that had no estimate of its own adopt the server's estimate instead of failing to reconcile the line.
  - `dosage` string, nullable
  - `frequency` string, nullable
  - `duration` string, nullable
  - `instructions` string, nullable
  - `amendment` RxAmendmentSummaryDto — The latest post-dispense amendment, alongside the directions it superseded. The "as dispensed" fields are read from that amendment's `OriginalContent`, which is a snapshot of the PrescriptionItem — and post-dispense the item never mutates, so every amendment's OriginalContent describes the same dispensed state. The most recent one is therefore enough; earlier amendments need not be replayed.
    - `reason` string
    - `amendedAt` string, date-time
    - `amendedByDisplayName` string, nullable
    - `amendmentCount` union — How many amendments this prescription has accumulated.
      - integer
      - string, int32
    - `dispensedDosage` string, nullable
    - `dispensedFrequency` string, nullable
    - `dispensedDuration` string, nullable
    - `dispensedInstructions` string, nullable
  - `prescriberLicenseNumber` string, nullable
  - `distributionCategorySnapshot` string, nullable
  - `isCascade` boolean
  - `cascadeReason` string, nullable
  - `antimicrobialUseType` string, nullable
  - `antimicrobialJustification` string, nullable
  - `clinicalAssessmentPerformed` boolean
  - `physicalExamPerformed` boolean
  - `physicalExamJustification` string, nullable
  - `validUntil` string, nullable — ISO date string (YYYY-MM-DD).
  - `repeatCount` union
    - integer
    - string, int32
  - `withdrawalPeriod` string, nullable

## Other responses

- `404` — Not Found

---

[API](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1.md) · [All operations](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clinicos/pawthosx-business-api-v1/revisions/d8d7501dde48/schema)
