Ce système de gestion pour un cantre de réhabilitation est conçu avec JAVA, Vue, SpringBoot et MySQL. Il intègre des modules fonctionnels tels que la gestion des visiteurs, des chambres, des admissions et sorties, des paiements, des dossiers de médicaments, des séances d'entraînement de réhabilitation et des consultations en ligne. De plus, il comprend des modules de base comme la gestion des utilisateurs, des départements, des rôles, des menus, des journaux d'activité, des dictionnaires de données, des fichiers et la visualisation de graphiques. Le système utilise un contrôle d'accès basé sur les rôles, destiné aux administrateurs hospitaliers et au personnel soignant, offrant une granularité de permissions au niveau des boutons. Les rôles peuvent être personnalisés avec des attributions de permissions précises, ce qui le rend adapté aux exigences de contraintes d'accès détaillées.
Fonctionnalités Détaillées
Module Utilisateur Standard
Les utilisateurs standard peuvent s'inscrire, se connecter et se déconnecter du système. Ils gèrent leurs informations personnelles, enregistrent les admissions des patients avec des détails comme le numéro, le nom, l'âge, le sexe, l'étage et le numéro de chambre. Ils enregistrent également les visites avec des données d'identité, posent des questions via le module de consultation en ligne, consultent les plannings de soins de réhabilitation, accèdent au centre de paiement pour les factures, consignent les enregistrements de médicaments et effectuent les départs.
Module Soignant
Les soignants planifient les soins quotidiens des patients, organisent des entraînements de réhabilitation, saisissent les enregistrements de médicaments, gèrent le stock de médicaments (entrées et sorties), consultent les informations des chambres et définissent les tarifs des médicaments avec leurs noms et prix.
Module Administrateur
Les administrateurs suprevisent les comptes des utilisateurs standard avec des opérations de suppression ou de gel, ajoutent, modifient ou suppriment les soignants, et gèrent les médicaments en fournissant des détails comme le numéro, le nom, l'usage, les images et la gestion des stocks.
Exemples de Code Clé
Recherche de Dossiers de Soins
@RequestMapping(value = "/findCareEntries", method = RequestMethod.GET)
@ApiOperation(value = "Rechercher des dossiers de soins")
public Result<IPage<CareRecord>> findCareEntries(@ModelAttribute CareRecord careEntry, @ModelAttribute PaginationVo pagination) {
QueryWrapper<CareRecord> wrapper = new QueryWrapper<>();
if (!StringUtils.isEmpty(careEntry.getDescription())) {
wrapper.like("description", careEntry.getDescription());
}
if (!StringUtils.isEmpty(careEntry.getPatientName())) {
wrapper.like("patient_name", careEntry.getPatientName());
}
IPage<CareRecord> result = careRecordService.page(PageUtil.initMpPage(pagination), wrapper);
return new ResultUtil<IPage<CareRecord>>().setData(result);
}
Ajout d'une Activité de Réhabilitation
@RequestMapping(value = "/createRehabActivity", method = RequestMethod.POST)
@ApiOperation(value = "Créer une activité de réhabilitation")
public Result<RehabilitationActivity> createRehabActivity(RehabilitationActivity rehabActivity) {
Patient patient = patientService.getById(rehabActivity.getPatientId());
if (patient == null) {
return ResultUtil.error("Patient introuvable");
}
rehabActivity.setPatientFullName(patient.getFullName());
rehabilitationActivityService.saveOrUpdate(rehabActivity);
return new ResultUtil<RehabilitationActivity>().setData(rehabActivity);
}
Recherche de Chambres
@RequestMapping(value = "/searchRoomEntries", method = RequestMethod.GET)
@ApiOperation(value = "Rechercher des chambres")
public Result<IPage<Room>> searchRoomEntries(@ModelAttribute Room roomEntry, @ModelAttribute PaginationVo pagination) {
QueryWrapper<Room> wrapper = new QueryWrapper<>();
if (!StringUtils.isEmpty(roomEntry.getTitle())) {
wrapper.like("title", roomEntry.getTitle());
}
if (roomEntry.getStatus() != null) {
wrapper.eq("status", roomEntry.getStatus());
}
IPage<Room> result = roomService.page(PageUtil.initMpPage(pagination), wrapper);
return new ResultUtil<IPage<Room>>().setData(result);
}
Recherche de Visiteurs
@RequestMapping(value = "/queryVisitorEntries", method = RequestMethod.GET)
@ApiOperation(value = "Rechercher des visiteurs")
public Result<IPage<Visitor>> queryVisitorEntries(@ModelAttribute Visitor visitorEntry, @ModelAttribute PaginationVo pagination) {
QueryWrapper<Visitor> wrapper = new QueryWrapper<>();
if (!StringUtils.isEmpty(visitorEntry.getName())) {
wrapper.like("name", visitorEntry.getName());
}
if (!StringUtils.isEmpty(visitorEntry.getIdCard())) {
wrapper.like("id_card", visitorEntry.getIdCard());
}
IPage<Visitor> result = visitorService.page(PageUtil.initMpPage(pagination), wrapper);
return new ResultUtil<IPage<Visitor>>().setData(result);
}
Ajout d'une Utilisation de Médicament
@RequestMapping(value = "/addMedicationRecord", method = RequestMethod.POST)
@ApiOperation(value = "Ajouter un enregistrement de médicament")
public Result<MedicationUse> addMedicationRecord(MedicationUse medRecord) {
Patient patient = patientService.getById(medRecord.getPatientId());
if (patient == null) {
return ResultUtil.error("Patient introuvable");
}
medRecord.setPatientFullName(patient.getFullName());
Medication medication = medicationService.getById(medRecord.getMedicationId());
if (medication == null) {
return ResultUtil.error("Médicament introuvable");
}
medRecord.setMedicationName(medication.getName());
medRecord.setImagePath(medication.getImage());
medicationUseService.saveOrUpdate(medRecord);
return new ResultUtil<MedicationUse>().setData(medRecord);
}