> For the complete documentation index, see [llms.txt](https://help.resouris.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.resouris.com/for-clinical-staff/worker-logbook.md).

# Worker logbook

Practical walk-through of the v1.7.2 P37 Cohort A worker Logbook. One audience:

* **Workers** (any user linked to a `staff` record with the `my_rostaire.logbook.manage` permission) — self-report the implementations you've done, seminars you've attended, and CPD credits/hours you've earned.

Your training plan progress bars roll up logbook entries automatically — the same view your training lead sees.

***

## Add a logbook entry

1. Sign in and open **My ReSouris → My Logbook** from the sidebar.
2. In the **Add a logbook entry** card, fill the form:
   * **Kind** — pick one of three primitives:
     * **Implementation** — a procedure or clinical intervention you performed (with or without supervision).
     * **Seminar attended** — grand rounds, journal club, external conference, morbidity + mortality review.
     * **CPD credit** — hours/points against a renewal framework (RACP MyCPD, GMC revalidation, RANZCOG MOPS, RCPath CPD scheme).
   * **Title** *(required)* — one-line summary the training lead + your future self will scan. 1..200 characters.
   * **Date** *(required)* — when the event happened, in ISO YYYY-MM-DD form. Backdating is allowed for retrospective entries.
   * **Description** *(optional)* — free-text notes; up to 2,000 characters.
   * **Evidence URL** *(optional)* — a link to a certificate, PDF, or scanned record. Anything you'd want to prove the entry to an auditor. Up to 500 characters.
   * **Credits / hours** *(optional)* — a number for the CPD-credit kind (or hours spent for other kinds). 0..999.99, step 0.25.
3. **Add entry**. You'll see the new row at the top of **Your entries** below.

## Delete an entry

Click **Delete** on any row you own. A browser confirmation prompt appears; confirm to remove the entry. Deletes are permanent — there is no soft-delete or undo. If you deleted the wrong row, re-add it (the DB assigns a fresh id; the auditor sees both the delete and the re-add events).

You can only delete your **own** entries. The delete endpoint filters on `staff_id = session.staff_id` at the database layer; even if you guess the UUID of another worker's entry, the delete succeeds but affects zero rows.

## Who can see my entries?

* **You**, always — the list on `/ui/my-resouris/logbook` is filtered to `staff_id = your.staff_id`.
* **Your training lead**, indirectly — the training-plan progress-rollup query (`goal_progress` view; MIG-109) reads the same `staff_logbook_entry` table when computing progress against your goals. Individual entries aren't surfaced verbatim; only aggregate progress bars.
* **The tenant auditor**, via the audit trail — every add emits a `logbook.entry_added` event captured in `audit_events`. The event payload has `entry_id`, `staff_id`, `kind`, `event_date`, `credits_hours` (but not `title` / `description` / `evidence_url` — those stay in the row itself).

## What if my account isn't linked to a staff record?

You'll see "Your account isn't linked to a staff record yet" on the page. Ask an administrator to set the staff link on your user from the **Users admin page** (`/ui/admin/users`). Until then the Logbook page is read-only-empty.

## Under the hood

* **Storage**: MIG-183 `staff_logbook_entry` table. `kind` is a closed set with 3 values: `implementation`, `seminar_attended`, `cpd_credit`.
* **Tenant isolation**: standard `tenant_isolation` RLS policy + FORCE ROW LEVEL SECURITY.
* **Worker scope**: enforced application-side — the handler filters both reads and writes on `staff_id = session.staff_id`.
* **Perm gate**: `my_rostaire.logbook.manage`. Held by `staff_member` and `roster_user` by default; role-permission mappings finalise at Phase-6 RBAC UI seed time.
* **Audit**: `logbook.entry_added` (WP-P37.A2 writer). Deletes do not currently emit an audit event — they're worker-scope only and reversible via re-add.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.resouris.com/for-clinical-staff/worker-logbook.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
