Sei sulla pagina 1di 7

DOCUMENTO ANALISI

SOMMARIO

1. Scopo del documento 3


2. Dettaglio analisi 5
1. Scopo del documento
Il progetto “MigliorCura.it” ha lo scopo di realizzare un portale web per creare un contatto fra
richiesta di una visita specialistica o di una particolare prestazione medica ed i professionisti in
grado di erogare questo servizio.
Con questo documento intendiamo illustrare la struttura pensata per lo sviluppo di tale scopo,
andando nel dettaglio di struttura dati e funzionalità che verranno implementate.

Il framework che verrà utilizzato sarà Laravel, con un template responsive in grado di fornire
all’utente una web application con ottima usabilità sia versione desktop che mobile.

Dopo una attenta analisi abbiamo elaborato una serie di sviluppi necessari per ampliare e portare
a termine il progetto. Nel dettaglio dell’analisi quindi, andremo ad illustrare le parti attualmente
mancanti o incomplete.

2. Dettagli analisi

GESTIONE UTENTI

Va strutturata interamente la gestione utenti che possono registrarsi ed interagire con il portale. Gli
utenti possono essere di tue tipi: DOTTORE e CLIENTE.
Va strutturata la gestione ruoli e permessi da associare a ciascun utente.

Un utente di tipo CLIENTE può:


- registrarsi al portale inserendo le sue generalità (data di nascita, indirizzo, sesso, codice fiscale)
- effettuare la prenotazione e l’acquisto di una prestazione
- avere accesso allo storico delle sue prenotazioni
- poter modificare i propri dati
- effettuare una prenotazione per conto di un altro profilo (Es: prenoto per conto di un mio
congiunto)

Un utente di tipo DOTTORE:

- potrà registrarsi al portale, inserendo i suoi dati anagrafici. In fase di registrazione seleziona
una serie di specializzazioni e subspecializzazioni, e seleziona, se presente una struttura di
riferimento della quale fa parte (Es: Struttura Ospedaliera e/o studio medico).
Se lo studio o la struttura non è presente, può segnalare la creazione di una nuova
struttura.
- La registrazione non abilita in automatico l’utente. Agli ADMIN del sito viene segnalata la
richiesta di abilitazione di un nuovo utente. In questo caso l’admin dovrà verificare i dati,
editarli se necessario e, se tutto coerente, abilitare l’utente. All'utente arriverà una notifica di
avvenuta abilitazione al portale.
- Il dottore abilitato, avrà accesso al portale come DOTTORE, avrà una sua interfaccia
frontend dove potrà
- Richiedere di modificare, aggiungere, cancellare specializzazioni ed info del proprio
profilo tramite comunicazione con admin.
- Impostare uno slot orario dove sono accettate visite e/o erogazione di servizi.
- impostare serie di servizi e/o esami che può erogare, selezionandoli da una base
dati già impostata. Per ogni servizio può impostare i dati “Prezzo” ed “Orario”. Ogni
servizio/presazione andrà a creare un vero e proprio prodotto, che sarà quello puoi
acquistato dall’utente in fase di checkout.
- Visualizzare le prenotazioni ricevute e gestirle (annullare appuntamento,
comunicare col cliente)

Struttura dei dati:

Verrà creata una tabella USERS con la possibilità di associare due ruoli (Cliente o Dottore)
Verrà creata una tabella specializzazioni ed una di sub-specializzazioni. Le sub-specializzazioni
sono collegate ad una specializzazione padre. Ad ogni utente DOTTORE possono essere
associate una o più specializzazioni ed una o più subspecializzazioni.
Verrà creata una tabella STRUTTURE che possono essere di due tipi (OSPEDALE oppure
STUDIO MEDICO). Conserva dati come nome, località, regione, indirizzo. Ad ogni DOTTORE può
essere associata una o più struttura.
Verrà creata una tabella di SERVIZI contenente servizi/esami erogabili. Questa tabella sarà
gestibile solo da lato ADMIN sia in inserimento che in modifica. Ad ogni servizio sarà associato un
settore, che non è altro che una SPECIALIZZAZIONE.
Verrà creata una tabella REGIONI contenente tutte le regioni italiane.
Associando REGIONE e SERVIZIO, si potrà tener traccia di un codice TICKET ed un
CODICEREGIONALE del servizio, che varia da regione a regione.
Verrà creata una tabella PRODOTTO. Ad ogni prodotto sarà associato: un dottore di riferimento,
una struttura, un SERVIZIO. Ogni prodotto avrà un costo, ed una durata, ed il valore del tempo
medio di attesa.
PRENOTAZIONE SERVIZIO

La prenotazione di un servizio può avvenire in due modalità: Ricerca Prestazione Specifica oppure
tramite Wizard Sintomi.

Caso Ricerca Prestazione Specifica:


L’utente attraverso un form che chiede Città (già preimpostata per utente registrato),
Specializzazione (ed eventuale subspecializzazione) riceve una risposta con una serie di dottori
che rispettano i criteri di ricerca. La pagina che mostra i risultati della ricerca mostra ulteriori filtri da
poter usare per scremare ulteriormente i risultati. Selezionando un dottore può, dalla sua pagina di
profilo, selezionare un servizio (ES: Prima Visita) ed acquistarlo selezionando lo slot a calendario
disponibile. La fase di acquisto può avvenire solo da parte di un utente loggato.

Caso Ricerca tramite Wizard:

Nel caso in cui l’utente scelga questa modalità, all’utente verrà chiesta una doppia opzione:
verranno subito chiesti una serie di dati: Nome, email, età, sesso, località e se sta compilando il
form per se stesso o per una terza persona.
Dopo questo step viene chiesto se l’utente avverte un malessere FISICO o PSICOLOGICO.
Dopo questa scelta, tramite il Symptom Checker, l’utente selezionerà la parte del corpo dove
avverte dolore. Questa mostrerà una serie di sintomi: selezionando un sintomo, si verrà
reindirizzati ad un medico specialista collegato al sintomo trovato. Ci sarà anche la possibilità di
cercare un sintomo che non sia necessariamente collegato ad una parte specifica del corpo,
Una volta selezionato il dottore, si può procedere alla prenotazione. Nel caso di prenotazione da
wizard, verrà aggiunto in automatico al carrello un prodotto di tipo “Prima Visita”, che dovrà quindi
essere associato di default ad ogni medico.
Prima di completare la procedura di acquisto, se l’utente non è loggato, chiederà all’utente di
registrarsi, portando dietro i dati anagrafici fin qui inseriti. In maniera analoga, se l’utente inizia la
procedura da loggato, mostra in maniera precompilata i dati contenuti in anagrafica.

La prenotazione di un servizio in questa prima fase, quindi, può avvenire solo per un Utente
Loggato.

Verrà implementato un carrello che permetterà di effettuare l’acquisto con due modalità: CARTA o
PAGAMENTO IN LOCO.
La transazione avverrà fra cliente ed il portale “MigliorCura.it”.
Per ogni transazione verranno salvati dei dati di FATTURAZIONE, che fanno riferimento all’ordine.
Ad ogni ordine sarà associato il cliente.
Ogni prenotazione, occuperà una casella nel calendario, che renderà la data e ora non più
disponibile per un altro cliente.

Una volta effettuata la prenotazione, verrà impostato un sistema di notifiche ad utente e dottore.
Al Dottore ed al Cliente arriverà una notifica via mail e via SMS di avvenuta prenotazione.
Al Cliente ed al Dottore arriverà una notifica 12 ore prima della visita via mail.
Al Cliente ed al Dottore arriverà una notifica 6 ore prima via SMS.

CRITICITA’:
- Integrazione del sistema Symptom Checker in Laravel
- Integrazione sistema invio SMS (tramite Twilio)
- Integrazione Carrello con sistema di pagamento via carta (tramite carrello Stripe)

Struttura dei dati:

Va creata mappata una tabella BODY PARTS che mappa le parti del corpo.
Va strutturata e mappata una tabella SINTOMI, collegati ad una o più parti del corpo. A loro volta
ogni sintomo va mappato con una o più Specializzazione e/o Sub Specializzazione. I Sintomi
avranno anche un campo tipo che potrà essere solo di due tipi: “Fisico” o “Psicologico”.
Per le procedure di checkout dell’odine/prenotazione, oltre alla sopra citata tabella di PRODOTTO,
verrà implementata una tabella ORDINE che rappresenta la prenotazione. Una tabella
APPUNTAMENTO che serve a fissare una data a calendario e che sarà collegata a DOTTORE e
STRUTTURA relativa.
La tabella ORDINE rappresenterà la testata dell’ordine.
Ci sarà anche una tabella dati fatturazione, collegata all’utente CLIENTE.
CI sarà una tabella RIGHE_ORIDINE che riporterà il codice del PRODOTTO acquistato ed il
codice dell’APPUNTAMENTO, ed il costo pagato sulla prestazione.
Va strutturata anche una tabella NOTIFICATIONS che gestisce le notifiche ed i cron di invio dei
vari reminder e notifiche.

PANNELLO ADMIN

Lato Amministrativo, ci sarà un pannello di controllo dedicato al controllo del portale.


Ci saranno utenti ADMIN che potranno accedere a tale portale ed avranno il pieno controllo delle
operazioni di data entry delle tabelle sopra citate. Nel dettaglio, gli admin potranno:
- Aggiungere/modificare/cancellare una Specializzazione
- Aggiungere/modificare/cancellare una Sub Specializzazione, ed associarla ad una
Specializzazione
- Aggiungere/modificare/cancellare una Struttura
- Aggiungere/modificare/cancellare un Dottore, associarlo a specializzazioni e strutture
- Abilitare un Dottore che fa richiesta di registrazione
- Aggiungere/modificare/cancellare i Servizi Erogabili
- Aggiungere/modificare/cancellare Codici Ticket, Codice Regionale e Tempi medi di attesa relativi
all’associazione fra Servizi e Regioni e struttura
- Visualizzare/modificare ordini e prenotazioni
- Aggiungere/modificare/cancellare la lista di Utenti Clienti

CRITICITA’:
Da valutare a parte una eventuale importazione di dati tramite tracciati CSV (da valutare anche
sulla base dei tracciati a disposizione)

INTERFACCIA GRAFICA

L’implementazione di una nuova veste grafica da valutare in un secondo momento, sulla base
delle grafiche che verrano fornite.

Potrebbero piacerti anche