<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ohcnwiki.tellmey.fyi/index.php?action=history&amp;feed=atom&amp;title=Concepts%2FProduct</id>
	<title>Concepts/Product - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ohcnwiki.tellmey.fyi/index.php?action=history&amp;feed=atom&amp;title=Concepts%2FProduct"/>
	<link rel="alternate" type="text/html" href="https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Product&amp;action=history"/>
	<updated>2026-07-06T05:20:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.4</generator>
	<entry>
		<id>https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Product&amp;diff=448&amp;oldid=prev</id>
		<title>Admin: Automated edit (via update-page on MediaWiki MCP Server)</title>
		<link rel="alternate" type="text/html" href="https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Product&amp;diff=448&amp;oldid=prev"/>
		<updated>2026-07-06T04:16:41Z</updated>

		<summary type="html">&lt;p&gt;Automated edit (via update-page on MediaWiki MCP Server)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:46, 6 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Navbox supply}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Related}}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Related}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Product&amp;diff=123&amp;oldid=prev</id>
		<title>Admin: OHC identity seed</title>
		<link rel="alternate" type="text/html" href="https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Product&amp;diff=123&amp;oldid=prev"/>
		<updated>2026-07-04T22:43:43Z</updated>

		<summary type="html">&lt;p&gt;OHC identity seed&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Doc header&lt;br /&gt;
|type=concept&lt;br /&gt;
|domain=supply&lt;br /&gt;
|title=Product&lt;br /&gt;
|order=1&lt;br /&gt;
|introduced=3.0&lt;br /&gt;
|concept=Concepts/Charge Item Definition&lt;br /&gt;
|reference=References/Product&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;product&amp;#039;&amp;#039;&amp;#039; 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 (&amp;amp;quot;we carry Paracetamol 500mg&amp;amp;quot;) and your shelves (&amp;amp;quot;this box, lot A1234, expiring next March&amp;amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== What it represents ==&lt;br /&gt;
&lt;br /&gt;
In Care&amp;#039;s FHIR-aligned model, a product maps loosely to the &amp;#039;&amp;#039;&amp;#039;Medication&amp;#039;&amp;#039;&amp;#039; / supply resource family, but Care treats it as the concrete, batch-level instance of a catalogue definition. It captures:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Batch detail&amp;#039;&amp;#039;&amp;#039; — the lot number and expiry date that make one delivery distinct from the next&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Pricing &amp;amp;amp; packing&amp;#039;&amp;#039;&amp;#039; — the purchase price for this batch and the number of units in a standard pack&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Catalogue link&amp;#039;&amp;#039;&amp;#039; — which product definition this batch instantiates&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Billing link&amp;#039;&amp;#039;&amp;#039; — an optional charge definition so the item can be billed when it is used&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039; — whether this batch is in use, retired, or was recorded in error&lt;br /&gt;
&lt;br /&gt;
The key distinction: a product is neither the catalogue entry nor your stock count. The catalogue entry describes &amp;#039;&amp;#039;what&amp;#039;&amp;#039; an item is in the abstract; a product describes &amp;#039;&amp;#039;this particular batch&amp;#039;&amp;#039; 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.&lt;br /&gt;
&lt;br /&gt;
== How it connects ==&lt;br /&gt;
&lt;br /&gt;
A product sits in the middle of the supply chain, pointing up at the catalogue and down at the stock:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Concepts/Product Knowledge|Product knowledge]]&amp;#039;&amp;#039;&amp;#039; — 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.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Concepts/Inventory Item|Inventory item]]&amp;#039;&amp;#039;&amp;#039; — tracks the quantity of a product on hand at a location. The product says &amp;#039;&amp;#039;what batch&amp;#039;&amp;#039;; the inventory item says &amp;#039;&amp;#039;how much, and where&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Concepts/Facility]]&amp;#039;&amp;#039;&amp;#039; — every product belongs to exactly one facility, scoped to where it was received rather than shared across your network.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[Concepts/Charge Item Definition|Charge item definition]]&amp;#039;&amp;#039;&amp;#039; — an optional link that raises a charge automatically when the product is billed.&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
&lt;br /&gt;
A product&amp;#039;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:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Medication&amp;#039;&amp;#039;&amp;#039; — a drug or therapeutic agent&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nutritional product&amp;#039;&amp;#039;&amp;#039; — feeds, supplements, and similar items&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Consumable&amp;#039;&amp;#039;&amp;#039; — gloves, syringes, dressings, and other single-use supplies&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;active → inactive&lt;br /&gt;
active → entered_in_error&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;active&amp;#039;&amp;#039;&amp;#039; — the batch is in use and can be dispensed, consumed, or billed&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;inactive&amp;#039;&amp;#039;&amp;#039; — the batch is no longer in use but is retained for history (for example, stock that is fully consumed or expired)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;entered_in_error&amp;#039;&amp;#039;&amp;#039; — the record was created by mistake; it is kept for auditability rather than deleted&lt;br /&gt;
&lt;br /&gt;
Unlike some clinical resources, a product keeps no server-side status history — it simply reflects its current status.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
Access to products is granted per facility, so who can see or change a batch depends on the roles a user holds there.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Permission&lt;br /&gt;
! Description&lt;br /&gt;
! System Roles&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;can_write_product&amp;lt;/code&amp;gt;&lt;br /&gt;
| Create, update, or upsert products (batches) at a facility&lt;br /&gt;
| Facility Admin, Admin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;can_read_product&amp;lt;/code&amp;gt;&lt;br /&gt;
| List and view products at a facility&lt;br /&gt;
| Facility Admin, Administrator, Admin, Staff, Doctor, Nurse, Volunteer, Pharmacist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
{{Related}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>