Vous êtes sur la page 1sur 3

public interface IMedical {

boolean estIdentique(Prestation p);


}
------------
import java.util.Date;

public class Prestation {


private int id;
private String description;
private Date date;
private String intervenant;
private String resultat;

public Prestation(int id, String description, Date date, String intervenant) {


this.id = id;
this.description = description;
this.date = date;
this.intervenant = intervenant;
}

public int getID() {


return id;
}

public Date getDate() {


return date;
}

public String getResultat() {


return resultat;
}

public void setResultat(String resultat) {


this.resultat = resultat;
}

public String toString() {


return id + " " + description + " " + date + " " + intervenant;
}
}
------
public class PrestationExterne extends Prestation {
private String lieu;
private int tel;

public PrestationExterne(int id, String description, Date date, String


intervenant, String lieu, int tel) {
super(id, description, date, intervenant);
this.lieu = lieu;
this.tel = tel;
}

public String toString() {


return super.toString() + " " + lieu + " " + tel;
}
}
------
public class DossierMedical {
private String nomPatient;
private String prenomPatient;
private String adressePatient;
private Prestation[] tabPrestation;
private int nbPrestation;
private static final int MAX_PRESTATIONS = 1000;

public DossierMedical(String nomPatient, String prenomPatient, String


adressePatient) {
this.nomPatient = nomPatient;
this.prenomPatient = prenomPatient;
this.adressePatient = adressePatient;
this.tabPrestation = new Prestation[MAX_PRESTATIONS];
this.nbPrestation = 0;
}

public void ajouterPrestation(Prestation p) {


if (nbPrestation < MAX_PRESTATIONS) {
tabPrestation[nbPrestation] = p;
nbPrestation++;
} else {
System.out.println("Nombre maximum de prestations atteint.");
}
}

public void afficherLesPrestationParAnnee(int annee) {


System.out.println("Prestations du patient pour l'année " + annee + ":");
for (int i = 0; i < nbPrestation; i++) {
Prestation p = tabPrestation[i];
int anneePrestation = p.getDate().getYear() + 1900; // Correction de
l'année (Java compte à partir de 1900)
if (anneePrestation == annee) {
System.out.println(p);
}
}
}

public void afficherPrestationExterneParAnnee(int annee) {


System.out.println("Prestations externes du patient pour l'année " + annee
+ ":");
for (int i = 0; i < nbPrestation; i++) {
Prestation p = tabPrestation[i];
int anneePrestation = p.getDate().getYear() + 1900; // Correction de
l'année (Java compte à partir de 1900)
if (p instanceof PrestationExterne && anneePrestation == annee) {
System.out.println(p);
}
}
}

public String chercherResultatPrestation(int id) throws IDErroneException {


for (int i = 0; i < nbPrestation; i++) {
Prestation p = tabPrestation[i];
if (p.getID() == id) {
return p.getResultat();
}
}
throw new IDErroneException("L'ID spécifié ne figure pas dans le tableau
des prestations du patient.");
}
}
------
public class IDErroneException extends Exception {
public IDErroneException(String message) {
super(message);
}
}
------
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test {


public static void main(String[] args) {
// Création du dossier médical
DossierMedical dm = new DossierMedical("Mansouri", "Amel", "Rades");

// Ajout des prestations


SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date1 = null;
Date date2 = null;
Date date3 = null;
try {
date1 = dateFormat.parse("02/01/2023");
date2 = dateFormat.parse("03/01/2023");
date3 = dateFormat.parse("03/01/2023");
} catch (ParseException e) {
e.printStackTrace();
}

Prestation p1 = new Prestation(1, "Consultation généraliste", date1,


"Dr.Frikha");
p1.setResultat("Faire Radio et analyses demandés");
dm.ajouterPrestation(p1);

Prestation p2 = new Prestation(2, "Radio", date2, "Dr.Tounsi");


p2.setResultat("Résultat ok");
dm.ajouterPrestation(p2);

PrestationExterne p3 = new PrestationExterne(3, "Analyse", date3, "Ines


Troudi", "Labo Chiffâ", 22232425);
p3.setResultat("Valeurs normaux");
dm.ajouterPrestation(p3);

// Affichage des prestations réalisées par "Amel Mansouri" en 2023


System.out.println("Prestations réalisées par Amel Mansouri en 2023 :");
dm.afficherLesPrestationParAnnee(2023);

// Recherche du résultat de la prestation d'ID 10


int rechercheID = 10;
try {
String resultat = dm.chercherResultatPrestation(rechercheID);
System.out.println("Résultat de la prestation d'ID " + rechercheID + ":
" + resultat);
} catch (IDErroneException e) {
System.out.println(e.getMessage());
}
}
}

Vous aimerez peut-être aussi