Skip to main content
Version: 3.1

Product

A product in Care is a specific batch of a stockable item — a medication, nutritional product, or consumable — as it physically exists at one facility. It is the bridge between your catalogue ("we carry Paracetamol 500mg") and your shelves ("this box, lot A1234, expiring next March").

What it represents

In Care's FHIR-aligned model, a product maps loosely to the Medication / supply resource family, but Care treats it as the concrete, batch-level instance of a catalogue definition. It captures:

  • Batch detail — the lot number and expiry date that make one delivery distinct from the next
  • Pricing & packing — the purchase price for this batch and the number of units in a standard pack
  • Catalogue link — which product definition this batch instantiates
  • Billing link — an optional charge definition so the item can be billed when it is used
  • Status — whether this batch is in use, retired, or was recorded in error

The key distinction: a product is neither the catalogue entry nor your stock count. The catalogue entry describes what an item is in the abstract; a product describes this particular batch at a facility; the running quantity on hand is tracked separately by inventory. One catalogue entry can have many products underneath it — one per batch received.

How it connects

A product sits in the middle of the supply chain, pointing up at the catalogue and down at the stock:

  • Product knowledge — the catalogue definition the product instantiates. Name, codes, dosage form, and product type are read from here, never copied onto the product. A product cannot exist without one.
  • Inventory item — tracks the quantity of a product on hand at a location. The product says what batch; the inventory item says how much, and where.
  • Facility — every product belongs to exactly one facility, scoped to where it was received rather than shared across your network.
  • Charge item definition — an optional link that raises a charge automatically when the product is billed.

Types

A product's type comes from its catalogue definition, not from the product itself, so you classify an item once and every batch you receive inherits that classification. Care recognises three kinds:

  • Medication — a drug or therapeutic agent
  • Nutritional product — feeds, supplements, and similar items
  • Consumable — gloves, syringes, dressings, and other single-use supplies

Lifecycle

active → inactive
active → entered_in_error
  • active — the batch is in use and can be dispensed, consumed, or billed
  • inactive — the batch is no longer in use but is retained for history (for example, stock that is fully consumed or expired)
  • entered_in_error — the record was created by mistake; it is kept for auditability rather than deleted

Unlike some clinical resources, a product keeps no server-side status history — it simply reflects its current status.

Permissions

Access to products is granted per facility, so who can see or change a batch depends on the roles a user holds there.

PermissionDescriptionSystem Roles
can_write_productCreate, update, or upsert products (batches) at a facilityFacility Admin, Admin
can_read_productList and view products at a facilityFacility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist

Roles are assigned through facility and organization memberships, and permissions cascade down the organization tree — a role granted on a parent organization is inherited by the facilities beneath it. Creating or editing products is limited to administrators, while a broad set of clinical and pharmacy roles can read them.