Platforma este construită în jurul unității reale de lucru din medicina muncii: o firmă trimite angajații la controale periodice, medicul îi examinează, iar un document cu valoare legală certifică dacă fiecare angajat este apt pentru rolul său. Buzomed automatizează acest ciclu de la cap la coadă — indiferent de câte cabinete folosesc platforma, cu izolare completă între chiriași și protecție a datelor la nivel GDPR.
Ce stă în spatele platformei
CNP-ul (codul numeric personal) este stocat criptat AES-256-GCM cu un salt per chiriaș — nu apare niciodată în text clar, nici măcar în backup-uri. Politicile de securitate la nivel de rând (Row-Level Security) aplică izolarea chiriașilor direct la nivelul bazei de date, astfel încât nicio eroare la nivel de aplicație nu poate expune datele unui cabinet altora. Fiecare citire și scriere sensibilă este înregistrată într-un jurnal de audit imutabil.
Programare → Examinare → Semnare → Arhivare
Fluxul de examinare este inima Buzomed. Fiecare examinare parcurge un ciclu clar: programată → în desfășurare → finalizată (sau anulată / neprezentată). La finalizare, medicul înregistrează verdictul — apt, apt condiționat, inapt temporar sau inapt — împreună cu contraindicații, restricții și intervalul de rechemare recomandat.
Fișa de aptitudine este generată imediat din datele examinării finalizate. Respectă formatul HG 355/2007, completată automat cu toate datele angajatului, firmei, locului de muncă și medicului. Gata de tipărit din browser, cu un stylesheet dedicat care produce o pagină A4 curată — fără anteturi, fără navigare, doar documentul.
Fișele finalizate sunt arhivate în istoricul documentelor angajatului. Codul profesional, titlul și metoda de semnare a medicului sunt înregistrate în examinare pentru trasabilitate.
Structura reală a cabinetului
Firmele sunt unitatea de facturare. Fiecare firmă poate avea mai multe locuri de muncă, iar fiecare loc de muncă poartă un profil de risc (factori fizici, chimici, biologici, ergonomici, psihosociali) cu sugestii automate pe baza codului CAEN. Angajații sunt atribuiți locurilor de muncă — iar această atribuire, cu data de început și motivul, determină tipul de examinare și programarea.
Importul în masă acceptă fișiere CSV sau Excel cu detectare fuzzy a antetelor — cabinetul poate lipi exportul HR existent, iar importatorul determină ce înseamnă fiecare coloană, inclusiv parsarea adreselor românești și a numelor de coloane ambigue precum "nume" (care poate însemna nume complet sau prenume, în funcție de context).
Angajații pot fi arhivați (au plecat din firmă, transferați, pensionați) în loc să fie șterși, păstrând istoricul medical. CNP-ul este afișat la cerere printr-o acțiune dedicată de dezvăluire, nu în listele generale.
Nimic nu trece neobservat
Fiecare examinare finalizată creează automat o rechemare pentru următoarea, pe baza intervalului recomandat. Coada de rechemări afișează examinările expirate și cele viitoare, cu filtre după firmă, loc de muncă, departament, tip de examinare și orizont de timp (expirate / această săptămână / această lună / următoarele 90 de zile).
Programarea în masă din coada de rechemări permite medicului să selecteze un grup de angajați și să programeze toate examinările lor viitoare într-un singur wizard — alegând data, ora, locația și medicul o singură dată pentru toată selecția. Dashboard-ul afișează rechemările expirate ca primul element de acțiune la autentificare.
Dosarul complet de sănătate ocupațională
Evidența vaccinărilor este ținută per angajat, cu numele vaccinului, data administrării, numărul de lot, calea de administrare (IM, SC, oral, intranazal) și medicul care a administrat. Istoricul complet al vaccinărilor este disponibil în profilul angajatului și în arhiva documentelor sale.
Accidentele de muncă, episoadele de îmbolnăvire bruscă și evenimentele de prim ajutor sunt înregistrate ca evenimente medicale cu urmărirea evoluției (recuperat, spitalizat, tratament în curs). Acestea alimentează raportarea de reglementare pe care cabinetele de medicina muncii din România sunt obligate să o producă.
Datele care contează pentru cabinet
Secțiunea de rapoarte acoperă trei vizualizări: volumul examinărilor pe lună (cu filtre după firmă și interval de date), prognoza expirărilor (ce angajați sunt scadenți sau depășiți și când) și încărcarea medicilor (examinări per medic pe o perioadă). Toate rapoartele pot fi exportate în CSV.
Rapoartele anuale pentru firme pot fi redactate într-un editor de text per firmă — un document structurat pe care cabinetul îl produce pentru angajator la finalul fiecărui an contractual, rezumând starea de sănătate și recomandările. Rapoartele imprimabile la nivel de firmă sunt disponibile la cerere.
Latura de business a cabinetului
Fiecare firmă client poate avea unul sau mai multe contracte (ciornă → activ → expirat / reziliat), cu date de început și sfârșit, valoare și note. Contractele sunt ancora relației de facturare.
Facturile sunt gestionate per firmă — poziții, totaluri, dată de emitere, scadență și status (ciornă / emisă / plătită / restantă). Numerotarea facturilor este automată. Datele proprii ale cabinetului (denumire, CIF, adresă, cont bancar) sunt configurate o singură dată și aplicate pe fiecare factură.
Conformitate GDPR de la zero
Fiecare înregistrare din baza de date poartă un tenantId. Politicile de securitate la nivel de rând din Supabase aplică izolarea la nivelul PostgreSQL — chiar dacă codul aplicației ar avea un bug, un chiriaș nu poate citi datele altui chiriaș. Aceasta nu este middleware opțional; este modelul de securitate.
CNP-ul este stocat criptat AES-256-GCM cu un salt unic derivat per chiriaș. Decriptarea are loc doar la acțiunea explicită a utilizatorului, printr-o componentă dedicată de dezvăluire. Hash-ul CNP-ului este stocat separat pentru verificări de duplicare, fără a fi necesară decriptarea în masă.
Toate acțiunile sensibile sunt scrise într-un jurnal de audit imutabil cu actor, acțiune, tip de entitate, ID entitate și marcaj de timp. Controlul accesului bazat pe roluri (practice_admin, practitioner, assistant, company_hr) controlează ce poate vedea și face fiecare utilizator — configurabil per cabinet fără modificări de cod.
Self-serve, alimentat de Stripe
Cabinetele noi se înregistrează, verifică adresa de email și sunt în perioada de probă de 14 zile în câteva minute. Niciun apel de vânzări. Conversia din perioadă de probă în abonament plătit este gestionată integral prin Stripe Checkout — medicul alege un plan, plătește, iar abonamentul se activează instant prin webhook.
Planurile de prețuri sunt bazate pe numărul de angajați activi: Starter (până la 100), Growth (până la 500), Pro (până la 2.000), Enterprise (nelimitat). Sistemul de abonamente aplică limitele — adăugarea unui angajat peste limita planului afișează un prompt clar de upgrade în loc să eșueze silențios.
O secvență de emailuri alimentată de Brevo rulează pe toată durata perioadei de probă: bun venit, reamintire în ziua 7, reamintire în ziua 11, avertizare expirare și post-expirare. Abonamentele cu plată restantă sau neplătite declanșează alerte interne pentru administrator. Tenanți demo cu date realiste pre-populate sunt disponibili pentru onboarding-ul medicilor fără a atinge datele de producție.
