---
title: "Retrieve prescriptions visible to primary care"
method: GET
path: "/api/sites/gp/prescriptions"
tags: ["Primary care"]
---

# Retrieve prescriptions visible to primary care

`GET /api/sites/gp/prescriptions`

## Request

- Base URL: `https://sim.animahealth.com`
- URL: `https://sim.animahealth.com/api/sites/gp/prescriptions`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - API key in cookie `sim_session`

Requires GP scope. Returns GP-visible prescriptions in your team's world, in storage order, with medication details, status, version and provenance. Issue through POST /api/sites/gp/actions using draft_prescription and patientId. Review using review, then approve using accept; send resourceId and the latest expectedVersion with both actions. GP approval is limited to prescriptions originally drafted by GP. Approval changes reviewed to approved. Pharmacy retains ownership and dispensing permissions. Use the actions endpoint's prescription, prescriptionReview and prescriptionApproval examples.

## Query parameters

- `patient` string
- `offset` integer
- `limit` integer
- `world` string

## Response `200`

Success

- PrimaryCarePrescriptionsPage
  - `items` Resource[], required
    - `id` string, required
    - `patientId` string
    - `kind` string, required
    - `title` string, required
    - `status` string, required
    - `owner` string, required
    - `visibleTo` string[], required
    - `priority` 'routine' | 'urgent', required
    - `createdAt` number, required: Simulation Unix timestamp in milliseconds.
    - `dueAt` number: Simulation Unix timestamp in milliseconds.
    - `data` object, required: Kind-specific payload. Hospital notes, medication orders and blood-test orders use the named schemas; the full workspace payload is returned without projection.
    - `version` integer, required
    - `provenance` object
      - `created` RecordChange, required
        - `actor` object, required
          - `kind` 'team' | 'operator' | 'simulation', required
          - `name` string, required
        - `source` string, required
        - `action` string, required
        - `time` number, required: Simulation Unix timestamp in milliseconds.
        - `version` integer, required
      - `changes` RecordChange[], required
        - `actor` object, required
          - `kind` 'team' | 'operator' | 'simulation', required
          - `name` string, required
        - `source` string, required
        - `action` string, required
        - `time` number, required: Simulation Unix timestamp in milliseconds.
        - `version` integer, required
      - `recovery` object
  - `total` integer, required
  - `offset` integer, required
  - `limit` integer, required

## Other responses

- `400`: Invalid input or unsupported workflow
- `401`: Missing or invalid credentials
- `403`: Scope, origin or operator restriction
- `404`: Unknown resource
- `405`: Read-only endpoint; use GET
- `409`: Stale version, invalid transition or unavailable capacity
- `413`: Request exceeds this operation's body-size limit
- `429`: Deployment has reached its 5,000-team capacity
- `500`: Internal simulation error

---

[API](https://skmtc.dev/animahealth/apis/nhs-sim-api.md) - [All operations](https://skmtc.dev/animahealth/apis/nhs-sim-api/llms.txt) - [OpenAPI document](https://skmtc.dev/animahealth/apis/nhs-sim-api/revisions/c7803d7a3e58?raw)
