# Un rappel quand un professionnel de santé n’a pas confirmé son planning

> Un planning non confirmé la veille pour le lendemain passe souvent inaperçu jusqu'au premier patient sans créneau disponible. Une notification interne referme cette faille.

- Auteur : WordPress Développement
- Publié le : 2024-01-20
- Mis à jour le : 2024-01-20
- Catégorie : Astuces
- URL : https://www.wpmoderne.fr/tips/rappel-professionnel-sante-planning-non-confirme/

## L’essentiel

- Détecter les praticiens sans planning confirmé à J-1
- Envoyer une notification interne ciblée
- Escalader vers le secrétariat si le planning reste vide

Le lundi 18 heures, sur un cabinet de groupe utilisant un agenda de prise de rendez-vous en ligne, restait le moment critique de la semaine : c'est l'heure à laquelle un planning resté vide pour le mardi devenait officiellement un problème, souvent découvert trop tard, quand un patient tentait de prendre rendez-vous sur un créneau qui n'avait simplement jamais été ouvert. Le praticien concerné, en congé la semaine précédente, avait tout simplement oublié de reconfigurer ses disponibilités à son retour.

La correction retenue ne cherche pas à empêcher l'oubli en amont — impossible à garantir totalement — mais à le détecter automatiquement et à le signaler avant qu'il ne devienne visible côté patient. Une tâche planifiée vérifie chaque jour, pour le lendemain, quels praticiens n'ont aucun créneau confirmé, et déclenche une notification interne ciblée.

## Modéliser la notion de « planning confirmé »

Sur ce système, chaque praticien dispose d'un type de contenu personnalisé `planning_praticien`, avec une meta `_creneaux_jour` stockant un tableau sérialisé de créneaux par date, et une meta `_planning_confirme` passant à `1` une fois le praticien satisfait de sa semaine.

```
$creneaux = get_post_meta( $planning_id, '_creneaux_jour', true );
$confirme = get_post_meta( $planning_id, '_planning_confirme', true );

// Un planning est considéré « non confirmé » si aucun créneau n'existe
// pour le jour cible, ou si la case de confirmation n'a jamais été cochée.
```

## Planifier la vérification quotidienne

Une tâche WP-Cron personnalisée s'exécute chaque jour à 18 heures, heure choisie pour laisser encore le temps à un praticien de corriger son planning avant la fin de journée de travail du secrétariat.

> L'essentiel à retenir : Détecter les praticiens sans planning confirmé à J-1 ; Envoyer une notification interne ciblée ; Escalader vers le secrétariat si le planning reste vide

```
if ( ! wp_next_scheduled( 'wpmoderne_verifier_plannings_j1' ) ) {
    wp_schedule_event( strtotime( 'today 18:00' ), 'daily', 'wpmoderne_verifier_plannings_j1' );
}

add_action( 'wpmoderne_verifier_plannings_j1', function () {
    $demain = wp_date( 'Y-m-d', strtotime( '+1 day' ) );

    $plannings = get_posts( array(
        'post_type'      => 'planning_praticien',
        'posts_per_page' => -1,
        'post_status'    => 'publish',
    ) );

    foreach ( $plannings as $planning ) {
        $creneaux = get_post_meta( $planning->ID, '_creneaux_jour', true ) ?: array();
        $confirme = get_post_meta( $planning->ID, '_planning_confirme_' . $demain, true );

        if ( empty( $creneaux[ $demain ] ) || ! $confirme ) {
            wpmoderne_notifier_praticien_non_confirme( $planning->ID, $demain );
        }
    }
} );
```

## Notifier le praticien concerné

La notification passe par un e-mail direct au praticien, mais aussi par une notice d'administration visible dès sa prochaine connexion, via `admin_notices` filtré sur son identifiant utilisateur, pour couvrir le cas où l'e-mail n'est pas lu à temps.

```
function wpmoderne_notifier_praticien_non_confirme( $planning_id, $date ) {
    $auteur = get_post_field( 'post_author', $planning_id );
    $user   = get_user_by( 'id', $auteur );

    if ( ! $user ) {
        return;
    }

    wp_mail(
        $user->user_email,
        'Planning non confirmé pour le ' . wp_date( 'd/m/Y', strtotime( $date ) ),
        "Bonjour,\n\nVotre planning n'est pas encore confirmé pour demain. Merci de le mettre à jour avant 20h pour éviter tout créneau indisponible côté patients.\n\nL'équipe technique."
    );

    update_post_meta( $planning_id, '_notification_envoyee_' . $date, current_time( 'mysql' ) );
}
```

## Escalader vers le secrétariat en cas d'absence de correction

Une seconde vérification, deux heures après la première, contrôle si le planning a bien été corrigé entretemps. Si ce n'est pas le cas, le secrétariat reçoit une alerte pour agir manuellement : contacter le praticien par téléphone, ou fermer temporairement la prise de rendez-vous en ligne pour ce créneau plutôt que de laisser un vide invisible aux patients.

- Vérifier à 20 heures si `_planning_confirme` est passé à `1` depuis la première alerte.
- Si non, envoyer un e-mail récapitulatif au secrétariat avec la liste des praticiens concernés pour le lendemain.
- Consigner chaque escalade dans un journal simple, pour repérer les praticiens qui oublient régulièrement plutôt que ponctuellement.

### Éviter la notification qui devient du bruit

Un praticien systématiquement en retard sur ses confirmations finit par ignorer une alerte devenue routinière. Espacer les rappels avec une escalade progressive — d'abord discrète, puis plus visible — garde son efficacité d'alerte plutôt que de la transformer en simple notification ignorée par habitude.

> Une alerte qui arrive tous les jours, y compris quand tout va bien, cesse d'être une alerte : elle doit rester rare pour rester utile.

## En résumé

Le vide dans un planning médical ne se voit qu'au moment où un patient tente de prendre rendez-vous, souvent trop tard pour corriger sans dommage sur l'image du cabinet. Une vérification quotidienne automatisée, combinée à une escalade progressive vers le secrétariat, transforme un oubli individuel en incident détecté et traité avant qu'il ne devienne visible côté patient.
