Class AssessmentService

java.lang.Object
com.oc_p9.diabetes_assessment_service.service.AssessmentService

@Service public class AssessmentService extends Object
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 Details

  • Constructor Details

    • AssessmentService

      public AssessmentService()
  • Method Details

    • assessRisk

      public AssessmentDto assessRisk(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.
      Parameters:
      patId - L'identifiant du patient
      authorization - 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 invalide
      PatientNotFoundException - Si le patient n’existe pas
      RuntimeException - En cas d’erreur avec les notes du patient
    • countTriggers

      public int countTriggers(List<NoteDto> notes)
      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

      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.
      Parameters:
      age - L’âge du patient
      genre - 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"