Sanita
Sviluppare un programma per la gestione dei medici e dei pazienti.
Si parte dal progetto Eclipse. (Istruzioni)
R1: Pazienti
Il programma funziona attraverso la classe principale Sanita. Il programma permette di
inserire medici e pazienti all'interno del sistema della sanità.
I pazienti sono caratterizzati da nome, cognome e codice fiscale.
Le persone possono essere registrate come pazienti presso il sistema
tramite il metodo aggiugniPersona()
cher riceve come parametri nome, cognome e codice fiscale.
Per recuperare le informazioni sui pazienti inseriti si può
utilizzare il metodo getPersona()
che riceve come parametro il codice fiscale e restituisce un oggetto
che implementa l'interfaccia Persona.
Se non esiste nessuna persona con il codice fiscale specificato, viene
generata un'eccezione di ErrPersonaInesistente.
Il nome ed il cognome della persona possono essere letti tramite i
metodi getNome() e getCognome() dell'interfaccia
Persona.
Esempio di persone:
| Nome |
Cognome |
Codice Fiscale |
| Giovanni |
Rossi |
RSSGNN33B30F316I |
| Giuseppe |
Verdi |
VRDGPP76F09B666I |
R2: Medici
I medici hanno le stesse caratteristiche dei pazienti ed inoltre sono
caratterizzati da una matricola.
E' possibile registrare un medico presso il sistema tramite il metodo aggiungiMedico() che riceve come
parametri matricola, nome, cognome e codiceFiscale.
Per recuperare le informazioni sui medici si può utilizzare il
metodo getMedico() che riceve
come parametro la matricola e restituisce
un oggetto che implementa l'interfaccia Medico.Se non c'è un medico
con la matricola specificata presente nel sistema genera un'eccezione
di ErrMedicoInesistente.
E' possibile conoscere la matricola di un medico tramite il metodo getMatricola() dell'interfaccia
Medico.
R3: Assegnazione Medici
E' possibile assegnare un medico ad un paziente tramite il metodo assegnaMedico() della classe Sanita
che riceve come parametri la matricola del medico ed il codice fiscale
del paziente. Tale metodo genera le opportune eccezioni
(ErrPersonaInesistente, ErrMedicoInesistente) se la matricola o il CF
non corrispondono a medici/pazienti inseriti nel sistema.
Deve essere possibile sapere, data una persona, qual'è il medico
assegnato tramite il metodo getMedico()
dell'interfaccia Persona.
N.B. I medici possono essere a loro volta pazienti di un altro medico.
R4: Elenco Pazienti
Dato un medico, deve essere possibile ottenere la lista dei pazienti
tramite il metodo getPazienti() dell'interfaccia
Medico.
La lista dei pazienti di un medico deve essere in ordine alfabetico
crescente in base a cognome e nome.
R5: Caricamento da file
Tramite il metodo caricaDati(),
che riceve come parametro il path di un file, deve essere possibile
leggere da file i pazienti ed i medici.
Il file è organizzato a righe, ogni riga può contenere un
medico o una persona.
Le righe che contengono una persona iniziano con la lettera "P" seguita
da nome, cognome e codice fiscale. Le righe che contengono un medico
iniziano con la lettera "M" seguita da matricola, nome, cognome e
codice fiscale. Gli elementi di ciascuna riga sono separati gli uni
dagli altri tramite il carattere ";".
In caso di errore dei dati presenti su una linea, il metodo deve essere
in grado di ignorarla e passare a quella successiva.
In caso di errori di IO il metodo lancia una IOException.