Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/FlasheyEstudi/Oasis-Liquido/llms.txt

Use this file to discover all available pages before exploring further.

The Prescriptions API powers the full digital prescription workflow in Oasis Liquido. Doctors issue prescriptions with one or more medicine lines; each prescription generates a QR code that pharmacy staff can scan to validate authenticity and then fulfill partially or fully. The status progresses automatically as lines are fulfilled.

POST /api/v1/prescriptions

Create a new prescription. Only users with the doctor role can call this endpoint.

Request body

patient_id
string
required
UUID of the patient receiving the prescription.
clinic_id
string
required
UUID of the clinic issuing the prescription.
expiration_date
string
required
ISO 8601 date after which the prescription is no longer valid, e.g. 2026-08-01.
notes
string
Optional clinical notes visible to the pharmacy.
lines
object[]
required
One or more prescription lines, each specifying a medicine and quantity.

curl example

curl --request POST http://localhost:8000/api/v1/prescriptions \
  --header "Authorization: Bearer <access_token>" \
  --header "Content-Type: application/json" \
  --data '{
    "patient_id": "patient-uuid-001",
    "clinic_id": "clinic-uuid-001",
    "expiration_date": "2026-08-01",
    "notes": "Review in 30 days",
    "lines": [
      {
        "medicine_id": "med-uuid-001",
        "quantity": 30,
        "dosage_instructions": "Take one tablet every 8 hours with food"
      }
    ]
  }'

GET /api/v1/prescriptions

Return a paginated list of prescriptions visible to the authenticated user.

Query parameters

patient_id
string
Filter by patient UUID.
doctor_id
string
Filter by doctor UUID.
status
string
Filter by prescription status. One of: active, partially_fulfilled, fulfilled, expired.
date_from
string
ISO 8601 lower bound on issue_date.
page
number
default:"1"
Page number.
limit
number
default:"20"
Results per page.

curl example

curl "http://localhost:8000/api/v1/prescriptions?status=active&patient_id=patient-uuid-001" \
  --header "Authorization: Bearer <access_token>"

GET /api/v1/prescriptions/:id

Retrieve a single prescription with its lines expanded, including medicine details for each line.

Path parameters

id
string
required
UUID of the prescription.

curl example

curl http://localhost:8000/api/v1/prescriptions/rx-uuid-001 \
  --header "Authorization: Bearer <access_token>"

POST /api/v1/prescriptions/validate

Validate a prescription by scanning its QR code. Pharmacy staff call this endpoint to confirm authenticity before dispensing.

Request body

qr_data
string
required
The raw string payload decoded from the prescription’s QR code.

curl example

curl --request POST http://localhost:8000/api/v1/prescriptions/validate \
  --header "Authorization: Bearer <access_token>" \
  --header "Content-Type: application/json" \
  --data '{"qr_data": "RX:rx-uuid-001:patient-uuid-001:2026-08-01"}'

POST /api/v1/prescriptions/:id/fulfill

Record a partial or full fulfillment of a prescription at a pharmacy. Updates quantity_fulfilled for each specified line and recalculates the prescription status.

Path parameters

id
string
required
UUID of the prescription to fulfill.

Request body

pharmacy_id
string
required
UUID of the fulfilling pharmacy.
items
object[]
required
The lines being fulfilled in this transaction.

curl example

curl --request POST http://localhost:8000/api/v1/prescriptions/rx-uuid-001/fulfill \
  --header "Authorization: Bearer <access_token>" \
  --header "Content-Type: application/json" \
  --data '{
    "pharmacy_id": "pharm-uuid-001",
    "items": [
      {
        "prescription_line_id": "line-uuid-001",
        "quantity_fulfilled": 15
      }
    ]
  }'

Prescription status values

StatusDescription
activeIssued and not yet dispensed
partially_fulfilledSome lines have been partially dispensed
fulfilledAll lines have been fully dispensed
expiredPast the expiration_date and no longer valid

Build docs developers (and LLMs) love