Concepts/Product: Difference between revisions
More languages
More actions
OHC identity seed |
Sync version 3.1 supply concept from docs commit 38d3e1f (via update-page on MediaWiki MCP Server) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 3: | Line 3: | ||
|domain=supply |
|domain=supply |
||
|title=Product |
|title=Product |
||
|summary=Care keeps two kinds of records for every item that a facility stocks or dispenses. A Product Knowledge entry is the catalog definition of a type of product, for example "Paracetamol 500mg tablet". A Product is one facility's stocked batch of that catalog entry, with its own lot number, expiry date, and purchase price. |
|||
|order=1 |
|order=1 |
||
|introduced=3.0 |
|introduced=3.0 |
||
| Line 9: | Line 10: | ||
}} |
}} |
||
Care keeps two kinds of records for every item that a facility stocks or dispenses. A '''Product Knowledge''' entry is the catalog definition of a type of product, for example “Paracetamol 500mg tablet”. A '''Product''' is one facility’s stocked batch of that catalog entry, with its own lot number, expiry date, and purchase price. |
|||
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"). |
|||
{{Note|1=Care does not map these two records to a single named FHIR R5 resource.}} |
|||
== What it represents == |
|||
== Key Attributes == |
|||
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: |
|||
=== Product Knowledge === |
|||
* '''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 |
|||
{| class="wikitable" |
|||
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. |
|||
|- |
|||
! Components |
|||
! What it captures |
|||
|- |
|||
| Name |
|||
| The name of the catalog entry. This is required. |
|||
|- |
|||
| Slug |
|||
| A short unique code that identifies the catalog entry. This is required. |
|||
|- |
|||
| Product Type |
|||
| The kind of product: Medication, Nutritional Product, or Consumable. This is required. |
|||
|- |
|||
| Category |
|||
| The group that the catalog entry belongs to. This is required. |
|||
|- |
|||
| Code |
|||
| A standard medical code for the product. This is optional. |
|||
|- |
|||
| Base Unit |
|||
| The unit that measures the product, for example tablet or millilitre. This is required. |
|||
|- |
|||
| Status |
|||
| The stage of the catalog entry. This is required. |
|||
|- |
|||
| Alternate Identifier |
|||
| Another identifier for the product. This is optional. |
|||
|- |
|||
| Alternate names |
|||
| Trade names and other aliases of the product. This is optional. |
|||
|- |
|||
| Storage guidelines |
|||
| The instructions to store the product. This is optional. |
|||
|} |
|||
== |
=== Product === |
||
{| class="wikitable" |
|||
A product sits in the middle of the supply chain, pointing up at the catalogue and down at the stock: |
|||
|- |
|||
! Components |
|||
! What it captures |
|||
|- |
|||
| Status |
|||
| The stage of the stocked batch. This is required. |
|||
|- |
|||
| Product Knowledge |
|||
| The catalog entry that the batch belongs to. This is required. You select it when you create the product, and you cannot change it later. |
|||
|- |
|||
| Lot Number |
|||
| The batch number that the supplier prints on the product. This is optional. |
|||
|- |
|||
| Expiration Date |
|||
| The date that the batch expires on. This is required. |
|||
|- |
|||
| Standard Pack Size |
|||
| The number of base units in one pack. This is optional. |
|||
|- |
|||
| Purchase Price |
|||
| The price that the facility paid for the product. This is optional. |
|||
|- |
|||
| Charge Item Definition |
|||
| The price that Care uses to bill this product to a patient. This is optional. |
|||
|} |
|||
== Status == |
|||
* '''[[Concepts/Product Knowledge|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. |
|||
* '''[[Concepts/Inventory Item|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''. |
|||
* '''[[Concepts/Facility]]''' — every product belongs to exactly one facility, scoped to where it was received rather than shared across your network. |
|||
* '''[[Concepts/Charge Item Definition|Charge item definition]]''' — an optional link that raises a charge automatically when the product is billed. |
|||
Product Knowledge and Product use different status values. |
|||
== Types == |
|||
=== Product Knowledge status === |
|||
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: |
|||
{| class="wikitable" |
|||
* '''Medication''' — a drug or therapeutic agent |
|||
|- |
|||
* '''Nutritional product''' — feeds, supplements, and similar items |
|||
! Status |
|||
* '''Consumable''' — gloves, syringes, dressings, and other single-use supplies |
|||
! Description |
|||
|- |
|||
| Draft |
|||
| The catalog entry is not ready for use. |
|||
|- |
|||
| Active |
|||
| Staff can use the catalog entry. |
|||
|- |
|||
| Retired |
|||
| The catalog entry is no longer in use. |
|||
|} |
|||
== |
=== Product status === |
||
{| class="wikitable" |
|||
<syntaxhighlight lang="text">active → inactive |
|||
|- |
|||
active → entered_in_error</syntaxhighlight> |
|||
! Status |
|||
* '''active''' — the batch is in use and can be dispensed, consumed, or billed |
|||
! Description |
|||
* '''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 |
|||
| Active |
|||
| The facility stocks and dispenses this batch. |
|||
|- |
|||
| Inactive |
|||
| The facility no longer uses this batch. |
|||
|- |
|||
| Entered in Error |
|||
| Someone created this batch by mistake. |
|||
|} |
|||
{{Note|1=Care has no delete action for these records. Retire a catalog entry, or set a product to Inactive or Entered in Error.}} |
|||
Unlike some clinical resources, a product keeps no server-side status history — it simply reflects its current status. |
|||
== Ownership and Sharing == |
|||
A product always belongs to one catalog entry and one facility. A catalog entry is either global or private. A superuser manages global catalog entries, and all facilities share them. A facility admin manages the private catalog entries of that facility. |
|||
== How Products Connect to Stock == |
|||
An inventory item tracks how much of a product is in stock at one location. Staff most often create a new product while they receive a purchase delivery. When a delivered item is not already in stock, the person who receives the delivery creates the product record for that batch, expiry date, and price. |
|||
You can link a product to a charge item definition. Care then creates a billable charge item when staff dispense the product. |
|||
== Permissions == |
== Permissions == |
||
Permissions apply within a facility. |
|||
Access to products is granted per facility, so who can see or change a batch depends on the roles a user holds there. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
! Permission |
! Permission |
||
! Roles |
|||
! Description |
|||
! What it allows |
|||
! System Roles |
|||
|- |
|- |
||
| Can Create Product Knowledge on Facility |
|||
| <code>can_write_product</code> |
|||
| Create, update, or upsert products (batches) at a facility |
|||
| Facility Admin, Admin |
| Facility Admin, Admin |
||
| Create and edit catalog entries. |
|||
|- |
|||
| Can Create Product on Facility |
|||
| Facility Admin, Admin |
|||
| Create and edit products. |
|||
|- |
|||
| Can Read Product Knowledge |
|||
| Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist |
|||
| View catalog entries. |
|||
|- |
|- |
||
| Can Read Product |
|||
| <code>can_read_product</code> |
|||
| List and view products at a facility |
|||
| Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist |
| Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist |
||
| View products. |
|||
|} |
|} |
||
{{Navbox supply}} |
|||
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. |
|||
{{Related}} |
{{Related}} |
||
Latest revision as of 17:11, 14 August 2026
Care keeps two kinds of records for every item that a facility stocks or dispenses. A Product Knowledge entry is the catalog definition of a type of product, for example “Paracetamol 500mg tablet”. A Product is one facility’s stocked batch of that catalog entry, with its own lot number, expiry date, and purchase price.
Key Attributes
Product Knowledge
| Components | What it captures |
|---|---|
| Name | The name of the catalog entry. This is required. |
| Slug | A short unique code that identifies the catalog entry. This is required. |
| Product Type | The kind of product: Medication, Nutritional Product, or Consumable. This is required. |
| Category | The group that the catalog entry belongs to. This is required. |
| Code | A standard medical code for the product. This is optional. |
| Base Unit | The unit that measures the product, for example tablet or millilitre. This is required. |
| Status | The stage of the catalog entry. This is required. |
| Alternate Identifier | Another identifier for the product. This is optional. |
| Alternate names | Trade names and other aliases of the product. This is optional. |
| Storage guidelines | The instructions to store the product. This is optional. |
Product
| Components | What it captures |
|---|---|
| Status | The stage of the stocked batch. This is required. |
| Product Knowledge | The catalog entry that the batch belongs to. This is required. You select it when you create the product, and you cannot change it later. |
| Lot Number | The batch number that the supplier prints on the product. This is optional. |
| Expiration Date | The date that the batch expires on. This is required. |
| Standard Pack Size | The number of base units in one pack. This is optional. |
| Purchase Price | The price that the facility paid for the product. This is optional. |
| Charge Item Definition | The price that Care uses to bill this product to a patient. This is optional. |
Status
Product Knowledge and Product use different status values.
Product Knowledge status
| Status | Description |
|---|---|
| Draft | The catalog entry is not ready for use. |
| Active | Staff can use the catalog entry. |
| Retired | The catalog entry is no longer in use. |
Product status
| Status | Description |
|---|---|
| Active | The facility stocks and dispenses this batch. |
| Inactive | The facility no longer uses this batch. |
| Entered in Error | Someone created this batch by mistake. |
Ownership and Sharing
A product always belongs to one catalog entry and one facility. A catalog entry is either global or private. A superuser manages global catalog entries, and all facilities share them. A facility admin manages the private catalog entries of that facility.
How Products Connect to Stock
An inventory item tracks how much of a product is in stock at one location. Staff most often create a new product while they receive a purchase delivery. When a delivered item is not already in stock, the person who receives the delivery creates the product record for that batch, expiry date, and price.
You can link a product to a charge item definition. Care then creates a billable charge item when staff dispense the product.
Permissions
Permissions apply within a facility.
| Permission | Roles | What it allows |
|---|---|---|
| Can Create Product Knowledge on Facility | Facility Admin, Admin | Create and edit catalog entries. |
| Can Create Product on Facility | Facility Admin, Admin | Create and edit products. |
| Can Read Product Knowledge | Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist | View catalog entries. |
| Can Read Product | Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist | View products. |
Related
Pages that link here:
- Flows/Add a product instance
- Flows/Add a product to the catalog
- Flows/Edit a product instance
- Flows/Edit or retire a catalog entry
- Concept: Concepts/Charge Item Definition
- Reference: References/Product