ThreadCount Community edition

Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from a113353 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
This commit is contained in:
ThreadCount
2026-09-15 22:54:09 +10:00
commit a6f1059ddf
424 changed files with 53535 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
---
title: The staff register
section: people
order: 1
summary: Who is on the register, what each record holds, how to add, import, edit and search it, and what a person's page shows.
screen: People
role: Admin
keywords: staff register, staff, people, add staff, import, roster, csv, payroll number, sizes, fte, uniform style, search, export, missing, approver
---
## What a record holds
Each person on the register is one record. `Add staff member` opens the form.
| Field | Notes |
|---|---|
| Staff number | Required and unique in the facility. It cannot be changed after the record is saved, because issue history and reports are keyed to it. |
| First and last name | Both required. |
| Phone, group, department or ward | The group decides the person's route (see [groups and routes](/docs/people/groups-and-routes)). The ward decides the cost centre unless an override is set. |
| Top size, pants size | One of each. |
| Uniform style | `Men's`, `Women's`, `Either`, or blank. Blank offers every style, as `Either` does. |
| Combined FTE | `1.0` down to `0.1`, or `Casual`. Only read for groups on the FTE table. |
| Yearly report figure | Garments. Used by reports only; the counter never refuses on it. |
| Cost centre override, start date, notes | Optional. |
The manager and the `On the ward desk` tick are set on the person's page, not on this form. When the plan's staff limit is reached, a new record is refused with `The register is full for this plan`.
## Import from a spreadsheet
`Settings Data` imports the `Staff register` template. Its columns are `num,first,last,phone,group,dept,cc,manager,fte,style,top,pants,ccoverride,ent,start,notes`.
- A row with no `num` or no `first` is skipped.
- A row whose staff number is already on the register updates that record. Only cells with something in them are written; a blank cell keeps what is there.
- `dept` with `cc` creates the department if it does not exist.
- `manager` is the manager's staff number, not their name. Managers are linked after every row is in, so a manager can appear anywhere in the file. A number that matches nobody is reported.
- An `fte`, `start` or `style` cell that cannot be read is reported and left blank. Dates are written `YYYY-MM-DD`.
- At most 20,000 rows at a time. Rows past the plan's staff limit are skipped and the refusal is reported once.
An import does not add group names to `Settings Issuing rules`. See [groups and routes](/docs/people/groups-and-routes) for what that means. The template itself is on [CSV templates](/docs/reference/csv-templates).
## Search, filter and export
The search box matches name, staff number or ward. Beside it are a group filter, a filter for what records are missing, and `Show inactive`.
The missing filter has two parts. `Has to be set` lists `No approver` (no manager, or a manager no longer on the register), `No FTE` (FTE-table groups only) and `No sizes`. `Optional` lists `No staff app` and `No uniform style`. Inactive records are never in these lists.
The tiles count the whole active register, whatever the search: `On the register`, `On a ward desk`, `Over the ceiling` and `Records to finish`. Each row's `Status` is `OK`, `AT LIMIT` (a full half of a set), `OVER` or `Inactive`.
`Export CSV` downloads the rows on screen. It uses the import's headers, so a ward's list can go to its manager, come back with `Manager number` filled in, and be imported again. `Approver name (reference only)` is ignored on import. Notes and start dates are left out of the file.
## Last sizes
The register holds one top size and one pants size. In the staff app, a request starts from the register's size for a top or trousers. For any other garment, or where the register has no size, it starts from the size of the last one that person was issued. The ward desk's raise screen does the same for garments the register has no size for.
## A person's page
Click a name to open it. It shows:
- `Details`, with `Edit details`, `Deactivate` and, for a record with no issues and no orders, `Delete`.
- `Uniform held and owed`: sets held against the ceiling, room left, anything still on order, sets signed for and not collected, the `Combined FTE` picker (saved as soon as it changes) and the initial kit.
- `Manager's approval`: the manager, `Print order form`, and the signed forms recorded. See [managers](/docs/people/managers).
- `Previous order forms`, `Notes`, `Waiting for pickup`, `Staff app` and `Whose requests they approve`.
- `Alterations`, `Uniform hand-ins`, `Issue history` (with an `Override` tag where one was recorded) and `Orders for this staff member`.
## What is written
| Record | Change | Undo |
|---|---|---|
| Add staff member | A new staff record. | Delete it while it has no history. |
| Edit details, FTE picker | The fields on the record. | Edit again. The staff number cannot change. |
| Import | Records created or updated, managers linked, departments created. | None. Import a corrected file, or edit by hand. |
Every change is listed under `Activity`.