<?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%2FToken</id>
	<title>Concepts/Token - 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%2FToken"/>
	<link rel="alternate" type="text/html" href="https://ohcnwiki.tellmey.fyi/index.php?title=Concepts/Token&amp;action=history"/>
	<updated>2026-07-06T05:22:53Z</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/Token&amp;diff=458&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/Token&amp;diff=458&amp;oldid=prev"/>
		<updated>2026-07-06T04:18:54Z</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:48, 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 71:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 71:&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 come from a user&#039;s facility and organization memberships, and permissions cascade down the organization tree — so access granted higher up applies to the facilities beneath it.&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 come from a user&#039;s facility and organization memberships, and permissions cascade down the organization tree — so access granted higher up applies to the facilities beneath it.&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 scheduling}}&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/Token&amp;diff=121&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/Token&amp;diff=121&amp;oldid=prev"/>
		<updated>2026-07-04T22:43:41Z</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=scheduling&lt;br /&gt;
|title=Token&lt;br /&gt;
|order=3&lt;br /&gt;
|introduced=3.0&lt;br /&gt;
|concept=Concepts/Patient&lt;br /&gt;
|reference=References/Token&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;token&amp;#039;&amp;#039;&amp;#039; is a numbered place in a queue — the digital version of pulling a ticket and waiting for your number to be called. It is how Care orders walk-in and queue-based flow: the patient sees where they stand, and staff see who to serve next.&lt;br /&gt;
&lt;br /&gt;
== What it represents ==&lt;br /&gt;
&lt;br /&gt;
A token is not an appointment. A [[Concepts/Appointment Booking|booking]] reserves a specific slot ahead of time; a token simply orders the people who show up. The two can connect — a booking can issue a token when the patient arrives — but a token can also stand alone for pure walk-in flow.&lt;br /&gt;
&lt;br /&gt;
Unlike most things in Care, a token doesn&amp;#039;t map to a single FHIR resource. It&amp;#039;s a queue-management primitive layered on top of scheduling: a number, the queue it belongs to, the category it counts within, its current state, and the patient holding it. Everything else about how tokens behave follows from how those pieces nest together.&lt;br /&gt;
&lt;br /&gt;
== How it connects ==&lt;br /&gt;
&lt;br /&gt;
Tokens are assembled from a few cooperating pieces, and understanding how they nest is most of the concept:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Queue&amp;#039;&amp;#039;&amp;#039; — a list of tokens for one schedulable resource (a doctor, a location, or a healthcare service) on one date. The first queue created for a resource on a date becomes the &amp;#039;&amp;#039;primary&amp;#039;&amp;#039; queue; new tokens flow into it by default.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sub-queue&amp;#039;&amp;#039;&amp;#039; — an optional split of one queue across several physical points. A vaccination clinic with three rooms runs one queue but routes patients to three sub-queues, each calling its own current token.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Category&amp;#039;&amp;#039;&amp;#039; — a reusable label, with a short code, that separates streams within a queue, so a priority line and a general line each keep their own running count.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Token&amp;#039;&amp;#039;&amp;#039; — the numbered ticket itself, issued to a patient inside a queue.&lt;br /&gt;
&lt;br /&gt;
Because numbers are counted &amp;#039;&amp;#039;per category within a queue&amp;#039;&amp;#039;, two patients can both hold number 1 if they sit in different categories. The number orders a stream, not the whole queue.&lt;br /&gt;
&lt;br /&gt;
== Lifecycle ==&lt;br /&gt;
&lt;br /&gt;
A token moves through a small set of states as the patient is served:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;CREATED → IN_PROGRESS → FULFILLED&lt;br /&gt;
            ↘ CANCELLED / ENTERED_IN_ERROR&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;CREATED&amp;#039;&amp;#039;&amp;#039; — issued and waiting in the queue (the default state)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;IN_PROGRESS&amp;#039;&amp;#039;&amp;#039; — now being served; set when the token becomes a sub-queue&amp;#039;s current token&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;FULFILLED&amp;#039;&amp;#039;&amp;#039; — service complete&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;UNFULFILLED&amp;#039;&amp;#039;&amp;#039; — closed out without being served&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;CANCELLED&amp;#039;&amp;#039;&amp;#039; — withdrawn before service&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ENTERED_IN_ERROR&amp;#039;&amp;#039;&amp;#039; — set automatically when a token is deleted, so the record closes without erasing history&lt;br /&gt;
&lt;br /&gt;
Staff never pick the next token by hand. Care advances the queue for them — taking the oldest waiting token, marking it in progress, and pointing the sub-queue at it.&lt;br /&gt;
&lt;br /&gt;
== Permissions ==&lt;br /&gt;
&lt;br /&gt;
Access to tokens is granted at the facility level — the same facility the queue belongs to.&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_token&amp;lt;/code&amp;gt;&lt;br /&gt;
| Issue, update, and delete tokens, and manage their queues and sub-queues for a schedulable resource&lt;br /&gt;
| Admin, Staff, Facility Admin, Doctor, Nurse, Administrator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;can_list_token&amp;lt;/code&amp;gt;&lt;br /&gt;
| View tokens, queues, and sub-queues for a schedulable resource&lt;br /&gt;
| Admin, Staff, Facility Admin, Doctor, Nurse, Administrator&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;can_write_token_category&amp;lt;/code&amp;gt;&lt;br /&gt;
| Create, update, and set the default token category for a facility&lt;br /&gt;
| Admin, Staff, Facility Admin&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;can_list_token_category&amp;lt;/code&amp;gt;&lt;br /&gt;
| View the token categories available in a facility&lt;br /&gt;
| Admin, Staff, Facility Admin, Doctor, Nurse, Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Roles come from a user&amp;#039;s facility and organization memberships, and permissions cascade down the organization tree — so access granted higher up applies to the facilities beneath it.&lt;br /&gt;
&lt;br /&gt;
{{Related}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>