Data Forge DATA FORGE
Sign in Start a project

Éducation & Santé

Automated internship scheduling for a paramedical training institute

A platform that automatically generates internship rotations for hundreds of students across hospital departments, respecting capacity, fairness between students and deadlines — with individual tracking and auto-generated administrative documents.

4 facteurs de score ajustables (disponibilité, urgence, charge, délai) 2 stratégies d'optimisation automatique (recherche aléatoire + algorithme génétique) 11 entités métier modélisées (promotions, services, rotations, etc.)
Automated internship scheduling for a paramedical training institute
ClientInstitut de formation paramédicale
SectorÉducation & Santé
ServicesWeb · Data
Year2025
StackFastAPI · React · PostgreSQL

The challenge

A paramedical training institute had to organize, every year, the rotation of several student cohorts (nursing, physiotherapy, etc.) across dozens of hospital departments, each with limited capacity. Building this schedule by hand meant manually arbitrating hundreds of overlapping constraints — per-department capacity, fairness between students, gaps between rotations — with a constant risk of capacity overruns or forgotten students. Tracking individual progress and producing administrative documents (assignment letters, nominative lists) required repetitive manual work on every change.

The solution

We built a scheduling engine that automatically generates rotations for an entire cohort by optimizing a weighted score (availability, urgency, department load, delay), with weights that are adjustable and can be auto-tuned via random search or a genetic algorithm. Every generated plan is validated and scored with an overall quality score (load balance, completion rate, absence of capacity overruns) before being proposed. Individual student tracking stays editable independently of the generated plan, and official documents (assignment letters, nominative intern lists) are produced automatically from the planning data.

Our approach

01

Modélisation du référentiel

Spécialités, promotions et années académiques, services hospitaliers avec capacités et hiérarchie établissement/département.

02

Génération automatique du planning

Moteur de scoring pondéré qui assigne chaque étudiant au meilleur service disponible selon la disponibilité, l'urgence, la charge et le délai.

03

Validation & score de qualité

Chaque planning généré est vérifié (dépassements de capacité, complétude par étudiant) et noté par un score global avant d'être proposé.

04

Suivi & documents officiels

Progression individuelle modifiable, export Excel du planning, génération automatique des lettres d'affectation et listes nominatives.

Delivered features

✓

Génération automatique des rotations

Un moteur de scoring pondéré assigne chaque étudiant au service optimal en respectant les capacités et les délais.

✓

Score de qualité du planning

Chaque planning généré est noté selon l'équilibrage de charge, le taux de complétion et l'absence de dépassement de capacité.

✓

Optimisation automatique des poids

Les poids du moteur de scoring peuvent être affinés automatiquement par recherche aléatoire ou algorithme génétique.

✓

Suivi individuel de progression

Chaque étudiant dispose d'un suivi de progression indépendant, modifiable sans régénérer tout le planning.

✓

Documents administratifs automatiques

Lettres d'affectation de stage et listes nominatives des stagiaires générées directement à partir des données du planning.

✓

Export Excel

Export complet du planning et des plannings individuels pour un usage hors ligne.

Preview

Suivi des étudiants et progression par service
Suivi des étudiants et progression par service
Réglage des poids de l'algorithme de planification
Réglage des poids de l'algorithme de planification
4

facteurs de score ajustables (disponibilité, urgence, charge, délai)

2

stratégies d'optimisation automatique (recherche aléatoire + algorithme génétique)

11

entités métier modélisées (promotions, services, rotations, etc.)

A similar project?

Start a project