Class AssessmentService
java.lang.Object
com.oc_p9.diabetes_assessment_service.service.AssessmentService
Service qui permet d’évaluer le risque de diabète d’un patient.
Il récupère les données du patient et ses notes médicales,
puis détermine le niveau de risque selon son âge, son genre et des mots-clés trouvés dans ses notes.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassessRisk
(int patId, String authorization) Évalue le niveau de risque de diabète d’un patient selon son âge, son genre et les termes présents dans ses notes médicales.int
countTriggers
(List<NoteDto> notes) Compte le nombre de mots-clés (triggers) présents dans les notes du patient.private String
determineRiskLevel
(int age, String genre, int triggerCount) Détermine le niveau de risque en fonction de l’âge, du genre et du nombre de mots-clés trouvés.
-
Field Details
-
patientClient
-
noteClient
-
TRIGGERS
-
-
Constructor Details
-
AssessmentService
public AssessmentService()
-
-
Method Details
-
assessRisk
Évalue le niveau de risque de diabète d’un patient selon son âge, son genre et les termes présents dans ses notes médicales.- Parameters:
patId
- L'identifiant du patientauthorization
- Le token JWT pour vérifier les droits d’accès- Returns:
- Un Dto avec l’ID du patient et le niveau de risque
- Throws:
UnauthorizedAccessException
- Si le token est manquant ou invalidePatientNotFoundException
- Si le patient n’existe pasRuntimeException
- En cas d’erreur avec les notes du patient
-
countTriggers
Compte le nombre de mots-clés (triggers) présents dans les notes du patient.- Parameters:
notes
- La liste des notes du patient- Returns:
- Le nombre de mots-clés trouvés
-
determineRiskLevel
Détermine le niveau de risque en fonction de l’âge, du genre et du nombre de mots-clés trouvés.- Parameters:
age
- L’âge du patientgenre
- Le genre du patient ("M" ou "F")triggerCount
- Le nombre de mots-clés trouvés- Returns:
- Le niveau de risque : "None", "Borderline", "In Danger" ou "Early onset"
-