Files
triqura-ecd/docs/seed-verpleegkundige-notities.md
colinislit 75c7e284b9 feat(verpleegrapportage): Nieuwe module + opruiming codebase
Verpleegrapportage module:
- Nieuwe /epd/verpleegrapportage met patiëntenoverzicht
- Rapportage invoer workspace met timeline view
- Overdracht overzicht met AI-samenvatting
- API endpoints voor verpleegrapportage data

Opruiming:
- Oude /epd/overdracht en /epd/dagregistratie verwijderd (vervangen)
- Oude /api/nursing-logs verwijderd (geconsolideerd naar reports)
- Verouderde design docs en reports verwijderd
- Fonts verplaatst van docs/ naar public/fonts/

Bugfixes:
- Risk-manager: fix constraint violation (db values vs display labels)
- Overdracht API: filter op rapportages i.p.v. encounters

Database:
- Migratie voor consolidatie nursing_logs naar reports tabel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-08 11:19:48 +01:00

13 KiB

Seed Data: Verpleegkundige Notities

Handmatig verpleegkundige notities toevoegen aan de database via SQL.

Stap 1: Patient ID opzoeken

Zoek eerst de UUID van de patient:

SELECT id, name_given, name_family
FROM patients
WHERE name_family ILIKE '%achternaam%'
ORDER BY name_family;

Stap 2: Notities invoegen

Beschikbare categorieën

Categorie Beschrijving
medicatie Medicatie gerelateerde notities
adl ADL/verzorging (eten, wassen, etc.)
gedrag Gedragsobservaties
incident Incidenten en ongewenste gebeurtenissen
observatie Algemene observaties

SQL Template

Vervang 'PATIENT_UUID_HIER' met de gevonden patient ID:

-- Verpleegkundige notities voor een patient
INSERT INTO reports (patient_id, type, content, structured_data, include_in_handover, shift_date, created_at)
VALUES
  -- Medicatie notitie
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Medicatie uitgereikt om 08:00. Patient nam zonder problemen in.',
   '{"category": "medicatie"}', false, CURRENT_DATE, NOW()),

  -- ADL notitie
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Geholpen met ochtendzorg. Zelfstandig tanden gepoetst.',
   '{"category": "adl"}', false, CURRENT_DATE, NOW()),

  -- Gedragsobservatie
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Rustige ochtend. Patient las de krant in de huiskamer.',
   '{"category": "gedrag"}', false, CURRENT_DATE, NOW()),

  -- Incident
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Licht gestruikeld bij opstaan uit stoel. Geen letsel. Valrisico besproken.',
   '{"category": "incident"}', true, CURRENT_DATE, NOW()),

  -- Algemene observatie (voor overdracht)
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Sliep onrustig vannacht. Klaagt over hoofdpijn. Arts informeren.',
   '{"category": "observatie"}', true, CURRENT_DATE, NOW());

Met specifieke tijdstippen

INSERT INTO reports (patient_id, type, content, structured_data, include_in_handover, shift_date, created_at)
VALUES
  -- Nachtdienst (voor 07:00 = vorige dag shift_date)
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Twee keer wakker geworden. Om 03:00 toiletgang, om 05:30 onrustig.',
   '{"category": "observatie"}', true,
   CURRENT_DATE - INTERVAL '1 day',  -- shift_date = gisteren
   CURRENT_DATE + TIME '05:30'),     -- created_at = vandaag 05:30

  -- Ochtend
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Ontbijt goed gegeten. Koffie met melk.',
   '{"category": "adl"}', false, CURRENT_DATE, CURRENT_DATE + TIME '08:30'),

  -- Middag
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Bezoek van dochter. Positieve stemming.',
   '{"category": "gedrag"}', false, CURRENT_DATE, CURRENT_DATE + TIME '14:00'),

  -- Avond
  ('PATIENT_UUID_HIER', 'verpleegkundig',
   'Avondmedicatie gegeven. Slaapmedicatie om 21:00.',
   '{"category": "medicatie"}', true, CURRENT_DATE, CURRENT_DATE + TIME '21:00');

Velden uitleg

Veld Waarde Toelichting
type 'verpleegkundig' Altijd deze waarde voor korte notities
content string (1-500 tekens) De notitie tekst
structured_data '{"category": "..."}' JSON met categorie
include_in_handover true/false Tonen in overdracht
shift_date CURRENT_DATE Dienstdatum (voor 07:00 = vorige dag)
created_at NOW() Aanmaaktijd

Voorbeelddata per categorie

Medicatie voorbeelden

('PATIENT_UUID', 'verpleegkundig', 'Paracetamol 500mg gegeven om 10:00 i.v.m. hoofdpijn.', '{"category": "medicatie"}', false, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'PRN lorazepam geweigerd. Patient wilde eerst ontspanningsoefeningen proberen.', '{"category": "medicatie"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Insuline toegediend voor avondeten. BG: 8.2 mmol/L.', '{"category": "medicatie"}', false, CURRENT_DATE, NOW())

ADL voorbeelden

('PATIENT_UUID', 'verpleegkundig', 'Volledig geholpen met douchen. Huid intact, geen bijzonderheden.', '{"category": "adl"}', false, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Lunch: halve boterham gegeten, 1 kopje soep. Eetlust matig.', '{"category": "adl"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Continentie: 1x incontinent voor urine. Verschoond.', '{"category": "adl"}', false, CURRENT_DATE, NOW())

Gedrag voorbeelden

('PATIENT_UUID', 'verpleegkundig', 'Goede dag. Actief deelgenomen aan groepsactiviteit.', '{"category": "gedrag"}', false, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Teruggetrokken gedrag. Wil op kamer blijven. Gesprek aangeboden.', '{"category": "gedrag"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Conflict met medebewoner over TV. Situatie de-escaleerd door afleiding.', '{"category": "gedrag"}', true, CURRENT_DATE, NOW())

Incident voorbeelden

('PATIENT_UUID', 'verpleegkundig', 'Val uit bed om 04:00. Geen zichtbaar letsel. Arts geinformeerd.', '{"category": "incident"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Agressief gedrag richting personeel. Time-out op kamer. Gesprek na 30 min.', '{"category": "incident"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Verslikking tijdens eten. Heimlich niet nodig, spontaan uitgekucht.', '{"category": "incident"}', true, CURRENT_DATE, NOW())

Observatie voorbeelden

('PATIENT_UUID', 'verpleegkundig', 'Temperatuur 37.8. Licht verhoogd. Monitoren.', '{"category": "observatie"}', true, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Zuurstof saturatie stabiel: 96% op kamerlucht.', '{"category": "observatie"}', false, CURRENT_DATE, NOW()),
('PATIENT_UUID', 'verpleegkundig', 'Nieuwe rode plek op stuit. Decubitus preventie protocol gestart.', '{"category": "observatie"}', true, CURRENT_DATE, NOW())

Alles verwijderen voor een patient

-- Soft delete (aanbevolen)
UPDATE reports
SET deleted_at = NOW()
WHERE patient_id = 'PATIENT_UUID'
  AND type = 'verpleegkundig';

-- Hard delete (definitief)
DELETE FROM reports
WHERE patient_id = 'PATIENT_UUID'
  AND type = 'verpleegkundig';

Kant-en-klare seed data (Colin Lit & Jan de Vriesh)

Kopieer onderstaande SQL en voer uit in Supabase SQL Editor. Let op: Vervang de UUIDs eerst met de juiste waarden uit je database.

-- Seed data voor Colin Lit en Jan de Vriesh (afgelopen week)
-- Kopieer en plak direct in Supabase SQL Editor

INSERT INTO reports (patient_id, type, content, structured_data, include_in_handover, shift_date, created_at)
VALUES
  -- ═══════════════════════════════════════════════════════════════════════════
  -- COLIN LIT (f3fb1396-d326-450a-9f00-d60340f25deb)
  -- ═══════════════════════════════════════════════════════════════════════════

  -- Vandaag
  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Ochtendmedicatie uitgereikt. Inname zonder problemen.',
   '{"category": "medicatie"}', false, CURRENT_DATE, CURRENT_DATE + TIME '08:15'),

  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Rustige ochtend. Zat in huiskamer te lezen.',
   '{"category": "gedrag"}', false, CURRENT_DATE, CURRENT_DATE + TIME '10:30'),

  -- Gisteren
  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Geholpen met douchen. Huid intact, geen bijzonderheden.',
   '{"category": "adl"}', false, CURRENT_DATE - INTERVAL '1 day', CURRENT_DATE - INTERVAL '1 day' + TIME '09:00'),

  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Klaagt over slecht slapen. Piekert veel. Gesprek aangeboden.',
   '{"category": "observatie"}', true, CURRENT_DATE - INTERVAL '1 day', CURRENT_DATE - INTERVAL '1 day' + TIME '14:30'),

  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Avondmedicatie gegeven incl. slaapmedicatie.',
   '{"category": "medicatie"}', false, CURRENT_DATE - INTERVAL '1 day', CURRENT_DATE - INTERVAL '1 day' + TIME '21:00'),

  -- 3 dagen geleden
  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Goede dag gehad. Deelgenomen aan groepsactiviteit.',
   '{"category": "gedrag"}', false, CURRENT_DATE - INTERVAL '3 days', CURRENT_DATE - INTERVAL '3 days' + TIME '16:00'),

  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Lunch volledig opgegeten. Eetlust lijkt verbeterd.',
   '{"category": "adl"}', false, CURRENT_DATE - INTERVAL '3 days', CURRENT_DATE - INTERVAL '3 days' + TIME '12:30'),

  -- 5 dagen geleden
  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Somber vanmorgen. Wilde niet uit bed komen. Na gesprek toch opgestaan.',
   '{"category": "gedrag"}', true, CURRENT_DATE - INTERVAL '5 days', CURRENT_DATE - INTERVAL '5 days' + TIME '09:30'),

  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Paracetamol gegeven i.v.m. hoofdpijn.',
   '{"category": "medicatie"}', false, CURRENT_DATE - INTERVAL '5 days', CURRENT_DATE - INTERVAL '5 days' + TIME '11:00'),

  -- 6 dagen geleden
  ('f3fb1396-d326-450a-9f00-d60340f25deb', 'verpleegkundig',
   'Bezoek van partner gehad. Positief gesprek, stemming opgeklaard.',
   '{"category": "observatie"}', false, CURRENT_DATE - INTERVAL '6 days', CURRENT_DATE - INTERVAL '6 days' + TIME '15:00'),

  -- ═══════════════════════════════════════════════════════════════════════════
  -- JAN DE VRIESH (d16935c9-e0fe-4972-832f-175b7a38f9b9)
  -- ═══════════════════════════════════════════════════════════════════════════

  -- Vandaag
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Onrustige nacht. Meerdere keren wakker, piekeren over financien.',
   '{"category": "observatie"}', true, CURRENT_DATE, CURRENT_DATE + TIME '07:15'),

  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'PRN lorazepam aangeboden, geweigerd. Wil eerst ademhalingsoefeningen proberen.',
   '{"category": "medicatie"}', true, CURRENT_DATE, CURRENT_DATE + TIME '09:45'),

  -- Gisteren
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Teruggetrokken gedrag. Hele ochtend op kamer gebleven.',
   '{"category": "gedrag"}', true, CURRENT_DATE - INTERVAL '1 day', CURRENT_DATE - INTERVAL '1 day' + TIME '11:00'),

  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Halve boterham lunch. Eetlust matig.',
   '{"category": "adl"}', false, CURRENT_DATE - INTERVAL '1 day', CURRENT_DATE - INTERVAL '1 day' + TIME '12:45'),

  -- 2 dagen geleden
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Gespannen tijdens groepstherapie. Eerder vertrokken.',
   '{"category": "gedrag"}', true, CURRENT_DATE - INTERVAL '2 days', CURRENT_DATE - INTERVAL '2 days' + TIME '10:30'),

  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Avondmedicatie geweigerd, later alsnog ingenomen na gesprek.',
   '{"category": "medicatie"}', true, CURRENT_DATE - INTERVAL '2 days', CURRENT_DATE - INTERVAL '2 days' + TIME '21:30'),

  -- 4 dagen geleden
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Licht gestruikeld in gang. Geen letsel. Was duizelig, bloeddruk gecontroleerd: 118/72.',
   '{"category": "incident"}', true, CURRENT_DATE - INTERVAL '4 days', CURRENT_DATE - INTERVAL '4 days' + TIME '14:00'),

  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Na incident rustiger. Middagdutje gedaan.',
   '{"category": "observatie"}', false, CURRENT_DATE - INTERVAL '4 days', CURRENT_DATE - INTERVAL '4 days' + TIME '16:30'),

  -- 5 dagen geleden
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Goede dag. Wandeling gemaakt op terrein met begeleiding.',
   '{"category": "gedrag"}', false, CURRENT_DATE - INTERVAL '5 days', CURRENT_DATE - INTERVAL '5 days' + TIME '11:00'),

  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Zelfstandig gedoucht. Compliment gegeven voor zelfstandigheid.',
   '{"category": "adl"}', false, CURRENT_DATE - INTERVAL '5 days', CURRENT_DATE - INTERVAL '5 days' + TIME '08:30'),

  -- 7 dagen geleden
  ('d16935c9-e0fe-4972-832f-175b7a38f9b9', 'verpleegkundig',
   'Intake gesprek met nieuwe psychiater gehad. Medicatie wordt geevalueerd.',
   '{"category": "observatie"}', true, CURRENT_DATE - INTERVAL '7 days', CURRENT_DATE - INTERVAL '7 days' + TIME '10:00');

Snelle opschoning (indien nodig)

-- Verwijder alle seed notities van afgelopen week
UPDATE reports
SET deleted_at = NOW()
WHERE type = 'verpleegkundig'
  AND created_at >= CURRENT_DATE - INTERVAL '7 days';

Tip: Voer SQL uit via Supabase Dashboard > SQL Editor of via psql.