@primocaredentgroup/consents-component
v0.6.3
Published
Convex component for versioned consent templates, applicability rules and immutable consent instances
Maintainers
Keywords
Readme
Componente Consents per PrimoUpCore
Componente Convex per template versionati, regole di applicabilità e istanze immutabili di consenso. Il componente non legge dati host e non acquisisce firme: PrimoUpCore risolve le variabili e orchestra il componente Firme.
Confine di responsabilità
- I template dichiarano variabili e firmatari richiesti; una versione pubblicata non viene modificata.
- Le regole valutano soltanto il contesto normalizzato fornito dal Core: soggetto, clinica, piano, prescrizione, prestazione, categoria, macrocategoria o accesso cross-clinic.
- La materializzazione valida i valori risolti, conserva lo snapshot e deduplica le richieste tramite una chiave idempotente.
- Le istanze registrano tutte le motivazioni di applicabilità e le transizioni di completamento, rifiuto, revoca e sostituzione.
- Auth0, RBAC, dati paziente e generazione PDF restano nel Core.
Struttura progetto
.
├── convex/ # App Convex (usa il componente)
│ ├── convex.config.ts
│ ├── consentsApi.ts # Wrapper API per il client
│ └── _generated/
├── consents/ # Componente installabile
│ ├── convex.config.ts
│ ├── schema.ts
│ ├── domain/
│ ├── functions/
│ ├── v2/
│ ├── ports/
│ └── ui-example/ # Demo Vite/React
└── package.jsonQuick start
Configura Convex (prima volta):
npm install npx convex devSegui il wizard per creare/collegare un deployment.
Avvia l'UI di demo:
cd consents/ui-example && npm install && npm run devCrea
consents/ui-example/.env.localcon:VITE_CONVEX_URL=https://your-deployment.convex.cloud
Verifica
npm run test
npm run typecheckCompatibilità legacy
Le precedenti API di gate, sessione e firma restano temporaneamente disponibili per la migrazione del Core. Non devono essere usate nei nuovi flussi e verranno rimosse solo dopo backfill, verifica a residuo zero ed E2E.
Documentazione legacy
Vedi consents/README.md per:
- Installazione in PrimoCore
- API legacy (evaluateGates, getPatientConsentSummary, createConsentSession, submitSignature, declineConsent)
- Flow Registry
- Ruoli e autorizzazione
