Material & Maßnahmen catalog

The catalog is the single admin-curated list that drives what appears on the tablet’s material and Maßnahmen tiles. This page is for the admin who curates the catalog — it explains what one catalog feeds, what the per-item capability flags do, and why the consumes-link is the concept that makes the whole thing add up.

You edit the catalog in the admin panel. Operators never see it directly — they only see the tiles it produces on the tablet. Curate here; the tablets sync it down.

One catalog, two tablet surfaces

There is one server-side catalog. It feeds two separate tablet surfaces, and each catalog item declares — via its flags — which of the two it belongs on (it can be on either, or both):

Kleinstbehandlungen

The Dienst-level material tally. This counts minor treatments and consumed items for the whole shift, not for one patient. Lives in the Dienst material section. See Dienst lifecycle.

Maßnahmen tab

The patient-level surface, per protocol. This records interventions performed on one patient. See Writing a protocol.

The two surfaces share the catalog only — never the recorded data. Material is never patient data: a consumed item is counted against the Dienst tally, not stored on a patient’s protocol. Keeping material out of the protocol is deliberate, and the consumes-link (below) is what lets a patient-level action still be counted as material without duplicating it onto the patient record.

How a catalog item becomes a tile

The tablet renders the catalog as a streamdeck — a grid of coloured tiles, one per catalog item, grouped by the admin-defined groups. The capability flags on each item decide the entry experience:

  • A flagless item (no dose, no performer, no variants, no consumes-link) is one tap to record. Tap the tile, it commits immediately with the current — editable — time.

  • A richer item opens a modal that asks only for what its flags declare: a variant picker (PrimeVue SelectButton), an amount stepper, a dose, and/or a performer.

On the Kleinstbehandlungen surface a no-variant tile increments by +1 per tap; a long-press opens the amount dialog to set a custom Menge (or 0 to walk back an over-tap). Variant tiles are tap-only and open the picker.

Keep everyday, unambiguous items flagless so the field crew can log them in one tap. Reserve flags for items that genuinely need a choice, a dose, or an accountable performer — every flag you add is one more thing to fill in under pressure.

Capability flags

Each catalog item carries these flags. A best-guess seed ships with the app; you are expected to curate it to your own material and Maßnahmen. Set the flags in the admin panel per item.

Flag Meaning Effect on the tile

Kleinstbehandlung

Offer this item on the Dienst-level material tally.

The item appears on the Kleinstbehandlungen streamdeck.

Maßnahme

Offer this item on the patient-level protocol tab.

The item appears on the Maßnahmen streamdeck.

Quantity + unit

Every item is counted in an admin-set unitStück, cm, ml, mg, or Ampulle.

Drives what the amount stepper counts. The unit is your choice per item — Pflaster by cm, a drug by Ampulle.

Variants

Admin-defined option groups (e.g. Größe: Klein, Groß).

Turns a one-tap tile into a modal with a variant picker (SelectButton); each chosen combination is logged as its own line.

Dose (has_dose + dose_unit)

Prompt for a clinical dose — amount plus a dose unit (mg, ml, l/min, IE…). Patient-facing, distinct from the counting unit.

The modal shows a dose field.

Performer (records_performer)

Record who performed it ("durchgeführt von").

The modal asks for a performer before committing.

Billable

Mark the item as billable.

Included on the billable material report.

Consumes-link

This Maßnahme consumes material that should count against the Dienst tally (see below).

On save, the modal confirms the suggested consumed material; the Sani can override the amount.

The consumes-link is the important concept. When a Maßnahme consumes material — giving a drug consumes an Ampulle, dressing a wound consumes Pflaster — that consumed material is written up into the Dienst material tally automatically.

  Maßnahme (patient protocol)        Dienst material tally
  ─────────────────────────          ─────────────────────
  "Medikament gegeben"  ──consumes──▶  1 × Ampulle
       ▲                                    ▲
   the ACTION is counted            the MATERIAL is counted
   in the protocol                  in the Dienst tally

The action is counted in the protocol; the material is counted in the Dienst tallynever both. The double-count dissolves. The link supplies a suggested default amount, and the Sani can override it (a Maßnahme might consume two ampoules, or a partial dose from one).

The deepest principle: the counting unit and its semantics are domain-owned, not a developer assumption. A drug is counted in whole Ampulle (or in mg if that is how your stock is reckoned); Pflaster is counted by cm. You set the unit and the consumes amount per item so the tally reflects how your material is actually stocked and billed.

Curating the catalog

In the admin panel you can:

  • Create a catalog item and set its label, group, unit, and flags.

  • Update an existing item — its flags, dose, variants, and consumes-links.

  • Toggle an item on or off a surface without deleting it.

  • Delete an item.

  • Create and manage groups — the admin-defined taxonomy the streamdeck is laid out by.

A non-empty group cannot be deleted. Move or delete its items first, then delete the group.

Not yet available

The following are planned but not built — do not rely on them:

  • Per-dose scaling of consumed material (consumes amounts are a flat suggested default, not scaled by the dose entered).

  • Maßnahme-delete → consumes reconciliation (deleting a logged Maßnahme does not yet walk back the material it pushed to the tally).

  • Custom → catalog promotion (an ad-hoc custom Maßnahme cannot yet be promoted into the shared catalog).

  • Richer billing beyond the current billable flag and report.