Sanosoft / Sanident
Ultimo aggiornamento:
sanosoft.mdPanoramica
- Sanosoft (noto anche come Sanident) è un software gestionale per studi dentistici che esporta i dati in file SQL Sybase SQL Anywhere.
- La migrazione importa: pazienti (e aziende), operatori, poltrone, appuntamenti, cartelle cliniche, voci di prestazione, preventivi, listini, categorie cure, fatture, pagamenti, note, richiami e documenti/immagini.
- I documenti e le immagini vanno richiesti esplicitamente: vengono importati con un passaggio separato da eseguire dopo il converter principale. Il file documenti può pesare diversi GB: l'esecuzione richiede tempo significativo e aumenta le dimensioni dell'importazione.
Entità importate
- Operatori
- Poltrone (sale/riuniti)
- Colori appuntamento
- Pazienti
- Aziende (pazienti di tipo società)
- Telefoni paziente
- Note paziente
- Appuntamenti
- Listini prezzi
- Categorie cure
- Cure (prestazioni)
- Prezzi cure per listino
- Cartelle cliniche (piani di cura)
- Voci cartella clinica (prestazioni eseguite/pianificate)
- Elementi schema dentale per voce
- Preventivi
- Voci preventivo
- Conti contabili
- Metodi di pagamento
- Fatture (complete, acconti, note di credito)
- Righe fattura
- Transazioni/pagamenti
- Note cliniche (avvisi/diari)
- Richiami
- Documenti e immagini (opzionale)
Campi importati
Operatori
| Campo | Note |
|---|---|
| Nome e cognome | Il campo sorgente è un unico campo nome; viene suddiviso automaticamente in nome e cognome |
| Importata se presente | |
| Indirizzo, CAP, città | Importati se presenti |
| Attivo/disattivato | Derivato dal flag di disattivazione nel record sorgente |
Poltrone
| Campo | Note |
|---|---|
| Nome | Ricavato dalla tabella etichette (lingua italiana); se assente usa il codice poltrona come fallback |
Colori appuntamento
| Campo | Note |
|---|---|
| Colore sfondo | Importato; se il colore non è riconosciuto viene usato il colore di default di Alfadocs |
| Colore testo | Fisso a nero |
Pazienti
| Campo | Note |
|---|---|
| Nome | Fallback "Sconosciuto" se assente |
| Cognome | Fallback "Sconosciuto" se assente |
| Sesso | M o F; altri valori non vengono mappati |
| Data di nascita | Le date non valorizzate nel gestionale non vengono importate |
| Luogo di nascita | Importato se presente |
| Indirizzo, CAP, città | CAP troncato a 10 caratteri |
| Provincia | Ricavata dalla tabella province tramite codice; assente se il codice non è presente nell'export |
| Paese | Ricavato dalla tabella stati; assente se il codice non è presente nell'export |
| Codice fiscale | Importato direttamente |
| Importata se presente | |
| Professione | Importata se presente |
| Data primo accesso | Dal campo data registrazione paziente |
| Telefoni | Tre campi distinti: telefono privato, telefono lavoro, cellulare |
| Note | Note generiche e note private importate come note separate |
Aziende
| Campo | Note |
|---|---|
| Ragione sociale | Composta da cognome + nome del record paziente |
| Indirizzo, CAP, città, provincia, paese | Come per i pazienti |
| Codice fiscale | Importato se presente |
| Partita IVA | Importata se presente |
| Importata se presente | |
| PEC | Importata se presente |
| Codice destinatario SDI | Importato se presente |
Telefoni paziente
| Campo | Note |
|---|---|
| Telefono privato | Etichettato "Telefono" |
| Telefono lavoro | Etichettato "Telefono lavoro" |
| Cellulare | Etichettato "Cellulare" |
Note paziente
| Campo | Note |
|---|---|
| Contenuto | Generato da nota generica e nota privata del paziente; prefissato con l'etichetta del campo (es. "Nota privata: …") |
Appuntamenti
| Campo | Note |
|---|---|
| Data e ora inizio | Dalla data e dall'orario di inizio; se l'orario non è nel formato atteso viene usata la mezzanotte con durata di 15 minuti |
| Durata | Calcolata dalla differenza tra ora inizio e ora fine; fallback a 15 minuti se gli orari non sono leggibili |
| Tutto il giorno | Importato se flaggato nel sorgente |
| Titolo/oggetto | Importato se presente |
| Stato | Mappato in "Confermato", "Sala d'attesa", "Sala di cura", "Concluso", "Disdetto" |
| Paziente | Collegato se il paziente esiste; se non trovato l'appuntamento viene saltato |
| Operatore | Collegato se l'operatore esiste; se non trovato l'appuntamento viene saltato |
| Poltrona | Collegata se presente e trovata |
| Colore | Collegato se il tipo appuntamento ha un colore associato |
| Nota | Il testo dell'appuntamento viene importato come nota clinica collegata al paziente |
Listini prezzi
| Campo | Note |
|---|---|
| Nome | Dall'etichetta italiana nella tabella nomi; fallback al codice listino |
Categorie cure
| Campo | Note |
|---|---|
| Nome | Dall'etichetta italiana; fallback al codice categoria |
Cure (prestazioni)
| Campo | Note |
|---|---|
| Nome | Dall'etichetta italiana nella tabella nomi; fallback al codice prestazione |
| Codice | Codice interno Sanosoft |
| Durata | In minuti; importata se presente |
| Categoria | Collegata se la categoria esiste |
Prezzi cure per listino
| Campo | Note |
|---|---|
| Cura | Collegata se presente tra le cure importate |
| Listino | Collegato se presente tra i listini importati |
| Prezzo | Importato come valore numerico |
Cartelle cliniche
| Campo | Note |
|---|---|
| Paziente | Collegato; la cartella viene saltata se il paziente non esiste |
| Stato | "Chiuso" se è presente una data di chiusura, altrimenti "Accettato" |
| Branca | Fissa a "Odontoiatria" |
| Nome | Dal campo descrizione; può essere vuoto |
| Operatore | Collegato se presente e trovato |
| Data creazione | Dalla data di inizio del trattamento |
| Cartella condivisa | Per le voci di prestazione senza cartella esplicita viene creata automaticamente una cartella unica per paziente denominata "Cartella import Sanosoft" |
Voci cartella clinica
| Campo | Note |
|---|---|
| Cura | Collegata; se non esiste tra le cure viene creata automaticamente una cura con il nome del record |
| Prezzo | Prezzo unitario × quantità |
| Eseguita | Contrassegnata come eseguita in base allo stato o al flag di fatturazione nel gestionale |
| Data esecuzione | Data del record se eseguita; altrimenti vuota |
| Operatore | Collegato se presente e trovato |
| Data creazione | Dal campo data |
| Elementi schema dentale | Ricavati dal campo localizzazione o posizione; solo elementi validi per lo schema Alfadocs |
Preventivi
| Campo | Note |
|---|---|
| Paziente | Collegato; preventivo saltato se il paziente non esiste |
| Stato | Fisso a "Preventivo" |
| Branca | Fissa a "Odontoiatria" |
| Data creazione | Dal campo data offerta |
| Operatore | Collegato se presente e trovato |
Voci preventivo
| Campo | Note |
|---|---|
| Cura | Collegata; se non esiste viene creata automaticamente |
| Prezzo | Prezzo unitario × quantità |
| Eseguita | Non eseguita |
| Data creazione | Dal campo data |
Conti contabili
| Campo | Note |
|---|---|
| Nome | Dall'etichetta italiana; fallback a "Conto <id>" |
| Tipo | Classificato come "Cassa" se il nome contiene "cassa" o "kasse"; altrimenti come conto bancario — euristico, da verificare per ogni installazione |
Metodi di pagamento
| Campo | Note |
|---|---|
| Nome | Dall'etichetta italiana; fallback al codice metodo |
Fatture
| Campo | Note |
|---|---|
| Tipo | "Saldo", "Acconto", "Nota di credito"; le fatture proforma vengono saltate |
| Netto | Calcolato: per le fatture saldo che hanno acconti collegati viene importato solo il residuo (totale − acconti); lo sconto assoluto viene sottratto dal netto; se il risultato è negativo viene azzerato a 0 |
| Sconto | Importato come valore assoluto in euro (non percentuale) |
| Marca da bollo | Importata da righe separate di tipo "bollo" nelle righe fattura |
| Numero | Numero + suffisso; se assente viene usato l'ID fattura |
| Data | Dalla data del documento |
| Intestatario | Cognome, nome, indirizzo, CAP, città, codice fiscale, partita IVA |
| Indirizzo intestatario | Troncato a 64 caratteri |
| Cartella clinica | Collegata se presente e trovata; altrimenti viene usata la cartella condivisa del paziente |
| Fattura acconto collegata | Collegata alla fattura finale se pertinente |
Righe fattura
| Campo | Note |
|---|---|
| Etichetta | Dal campo descrizione riga; se vuoto dall'etichetta della cura; le righe di marca da bollo non vengono duplicate (la bollo è già nel campo apposito della fattura) |
| Netto | Prezzo unitario × quantità |
| IVA | In percentuale; da tabella aliquote IVA |
| Voce cartella collegata | Collegata se la riga fattura corrisponde a una voce cartella importata |
| Fatture saldo residuale | Ricevono una riga sintetica unica ("Saldo per cure odontoiatriche") pari al netto residuo |
Transazioni/pagamenti
| Campo | Note |
|---|---|
| Conto | Collegato; la transazione viene saltata se il conto non esiste |
| Tipo | Fattura attiva se importo positivo o zero; fattura passiva se negativo |
| Data | Dalla data del pagamento |
| Importo | Valore assoluto |
| Metodo di pagamento | Collegato se presente e trovato |
| Fattura collegata | Collegata se presente e trovata |
Note cliniche
| Campo | Note |
|---|---|
| Paziente | Collegato; note senza paziente valido vengono saltate |
| Contenuto | Titolo + corpo dell'avviso; contenuto RTF convertito in testo |
| Data | Dalla data dell'avviso |
Richiami
| Campo | Note |
|---|---|
| Tipo | Fisso a "Richiamo" |
| Nota | Dal campo oggetto del richiamo; se presente l'operatore, il nome viene aggiunto in parentesi |
| Data | Dalla data di richiamo |
| Paziente | Collegato; richiami senza paziente valido vengono saltati |
Documenti e immagini
| Campo | Note |
|---|---|
| Paziente | Collegato tramite riferimento |
| Nome | Dal titolo del documento; fallback a "Documento <id>" |
| Tipo | Rilevato dal contenuto (RTF, JPEG, PNG, ecc.) |
| File | Immagini JPEG/PNG embedded in RTF vengono estratte come file immagine separati; documenti RTF vengono importati come RTF; le immagini di intestazione e i blocchi WMF vengono saltati |
| Data | Dalla data del documento |
Limitazioni note
- Paese di nascita del paziente non importato: il paese di nascita non viene derivato né dal codice fiscale né da altre fonti; il campo non viene popolato durante la migrazione.
- Classificazione conti: il tipo conto (cassa/banca) è euristico — basato sul nome; va verificato dopo ogni migrazione.
- Orari appuntamenti malformati: se gli orari di inizio e fine non sono nel formato atteso, l'appuntamento viene importato alla mezzanotte con durata di 15 minuti; viene emesso un avviso per ogni caso.
- Appuntamenti senza paziente/operatore valido: vengono saltati con avviso; il dato non è recuperabile se il paziente o l'operatore non è presente nell'export.
- Saldo fatture con residuo negativo: se gli acconti superano il totale della fattura finale, il netto viene azzerato a 0 con avviso.
- Sconto negativo: se lo sconto supera il netto, la fattura viene azzerata a 0 con avviso.
- Cartella clinica condivisa: le voci di prestazione non legate a un trattamento esplicito confluiscono tutte in un'unica cartella per paziente; questa struttura può non riflettere la suddivisione originale.
- Stato appuntamento: valori non riconosciuti producono uno stato non impostato.
- Elementi schema dentale: vengono importati solo gli elementi riconosciuti dallo schema Alfadocs; localizzazioni non standard vengono silenziosamente scartate.
- Note in RTF: la conversione RTF in testo è approssimativa; se entrambi i metodi di conversione falliscono la nota risulta vuota e viene saltata.
- Documenti: le immagini di intestazione del letterhead Sanident vengono riconosciute e scartate; solo JPEG e PNG sono visualizzabili in anteprima in Alfadocs; i WMF non vengono importati. I file RTF vengono importati ma non sono visualizzabili in anteprima nell'interfaccia.
- Fatture proforma: vengono saltate senza avviso.
- Relazioni cartella/fattura: per le fatture saldo con acconti, la logica di calcolo del residuo dipende dalla corretta presenza del collegamento tra le righe fattura e la fattura finale nell'export; se mancante la fattura viene importata con il totale intero.
- Province e paesi: se le tabelle di province o stati non sono presenti o sono incomplete nell'export, provincia e paese risultano vuoti.
- Cure create automaticamente: le voci di prestazione o preventivo che fanno riferimento a cure non presenti nel catalogo generano automaticamente una cura con nome ricavato dal record; il nome può essere meno preciso dell'etichetta ufficiale.