# Dal foglio Excel a un gestionale per turni e contratti sanitari.

> Un'azienda che fornisce medici e professionisti sanitari a ospedali e strutture in tutta Italia gestiva turni, commesse e margini tra fogli di calcolo e un vecchio portale. Li abbiamo sostituiti con un gestionale costruito sul suo modo di lavorare.

- Settore: Sanità
- Ambito: Sviluppo software
- Anno: 2023-2026
- URL: https://cloudfactory.it/lavori/gestionale-turni-contratti-sanita/

## In breve

Abbiamo sviluppato un gestionale su misura per un fornitore di professionisti sanitari. I medici si registrano da un portale, caricano documenti e vedono i propri turni; il back office gestisce commesse, proroghe e tariffe per frazioni di tempo, pianifica i turni su un calendario e ottiene in automatico costo, ricavo e margine di ogni turno. Tre motori di report, export Excel di ogni elenco e calendari in PDF completano il quadro. Il nuovo sistema ha sostituito il precedente il 18 marzo 2025 e da allora continua a crescere.

- **110** aziende sanitarie nell'anagrafica clienti
- **52** specializzazioni
- **19** branche cliniche, dall'anestesia al pronto soccorso
- **2025** anno in cui il vecchio sistema è stato spento

## Contesto

Il cliente gestisce professionisti che lavorano a turni in molte strutture pubbliche e private, con commesse che arrivano da gare pubbliche, da strutture interne del gruppo e da centri convenzionati. Fino al 2025 usava un portale in Yii2 su PHP 7, con un'area riservata per i medici e un back office, affiancato da fogli Excel per i conteggi.

## Il problema

Ogni commessa ha tariffe diverse per fascia oraria, turno o prestazione, le tariffe cambiano nel tempo e alcune commesse vengono prorogate più volte. Alcuni medici hanno condizioni proprie, altri sono pagati a compenso mensile invece che a turno. Calcolare a mano costo e margine di ogni turno era lento e soggetto a errori, e il vecchio portale girava su una versione di PHP non più supportata, con password salvate in un formato superato.

## Cosa abbiamo fatto

1. **Il professionista come processo.** Ogni professionista attraversa sei stati espliciti: registrato, profilato, idoneo, attivo, sospeso recuperabile, sospeso non recuperabile. Il passaggio a profilato avviene da solo quando il profilo è completo e il CV è caricato. Specializzazioni, regioni, lingue, gruppi e note fanno parte dell'anagrafica, e i filtri combinano stato, specializzazione, struttura, provincia ed età.
2. **Un portale per i medici.** Registrazione rapida o completa, con il codice fiscale che compila data e comune di nascita, verifica dell'età, CV obbligatorio e consensi privacy separati. Il medico aggiorna i propri dati, carica i documenti anche prima di essere idoneo e, una volta attivo, vede il calendario dei turni passati e futuri.
3. **Documenti con approvazione.** Sedici tipi di documento, uno valido per tipo: ogni caricamento resta in attesa finché il back office non lo approva o lo rifiuta, e la versione precedente viene archiviata da sola. La dashboard mostra i documenti da controllare, le iscrizioni recenti e i professionisti attivi senza contratto firmato.
4. **Commesse, proroghe e frazioni.** Ogni commessa ha CIG, protocollo, base d'asta, offerta economica usata come budget e un referente interno. Le proroghe formano una catena e lo stato della commessa si ricalcola su tutta la catena. Le tariffe stanno in frazioni temporali, ciascuna con costo e ricavo orari o a turno, eventuale condizione dedicata a un singolo medico e un codice tariffa numerato in automatico.
5. **Turni che si calcolano da soli.** Quando si salva un turno il sistema trova la frazione in vigore, preferendo quella dedicata al medico, e calcola durata, costo, ricavo, margine e la differenza rispetto alla tariffa base. Blocca i turni sovrapposti dello stesso medico e avvisa di quelli adiacenti. Se cambia una commessa, una coda ricalcola i turni interessati.
6. **Calendario, report ed export.** Il calendario in React mostra il mese per struttura e attività, con stima economica in tempo reale, copia e incolla, selezione multipla per approvare o eliminare, note e celle bloccate. Si esporta in PDF orizzontale o verticale su carta intestata. Tre motori di report (flessibile, mese su mese, budget di commessa) ed export Excel di ogni elenco danno all'amministrazione compensi, costi, ricavi e margini.
7. **Migrazione senza fermarsi.** Durante la transizione un comando sincronizzava professionisti, regioni, specializzazioni e documenti dal vecchio database, con un controllo finale prima dello spegnimento. Le vecchie password vengono convertite in un formato sicuro al primo accesso, senza chiedere a nessuno di reimpostarle. Uno script Python sincronizza ogni quarto d'ora le disiscrizioni dalla piattaforma di newsletter, così chi si cancella non riceve più comunicazioni commerciali.

## Com'è andata

Dal 18 marzo 2025 il lavoro passa tutto dal nuovo gestionale. Dopo lo spegnimento sono arrivati i compensi mensili a prestazione, i gruppi di professionisti e i codici tariffa, senza toccare le fondamenta. Un pannello delle novità dentro l'applicazione racconta a chi lo usa cosa è cambiato. Lo stesso approccio lo abbiamo applicato a un gestionale per una struttura residenziale.

## Strumenti

Laravel 10, Backpack Pro, React 18, TypeScript, TanStack Query, Tailwind, MySQL 8, Redis, Horizon, Browsershot, Laravel Excel, Python, MailUp API

## Domande frequenti

### Perché non un software verticale già pronto?

Perché le commesse con proroghe, le frazioni tariffarie e il calcolo del margine per turno sono il cuore del lavoro del cliente. Un pacchetto generico l'avrebbe costretto a cambiare il proprio modello.

### Come si migra da un sistema vecchio senza fermare il lavoro?

Con un periodo di convivenza: il nuovo legge e sincronizza i dati dal vecchio finché tutti i flussi non sono verificati, poi il vecchio si spegne. Gli utenti entrano con le credenziali di sempre.

### Cosa succede se cambia una tariffa a metà commessa?

Si aggiunge una nuova frazione dalla data del cambio. I turni già fatti restano calcolati con la tariffa di allora, quelli successivi con la nuova, e la storia resta consultabile.

---

Cloudfactory S.r.l., Roma. Contatti: hello@cloudfactory.it
