{"id":6,"date":"2026-03-07T17:25:04","date_gmt":"2026-03-07T17:25:04","guid":{"rendered":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/index.php\/espace-sante\/"},"modified":"2026-06-17T11:35:55","modified_gmt":"2026-06-17T10:35:55","slug":"nouv","status":"publish","type":"page","link":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/","title":{"rendered":"Mon Espace Sant\u00e9"},"content":{"rendered":"<div id=\"mes-portail\" class=\"mes-portail-auth\" style=\"background:#eef2f7;--mes-pad:11%\">\n\n <!-- Mobile topbar -->\n <div class=\"mes-topbar\">\n <span class=\"mes-topbar-logo\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"#e91e8c\"><path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\/><\/svg>\n <\/span>\n <span class=\"mes-topbar-title\">SOMNORESO<\/span>\n <\/div>\n\n <div class=\"mes-layout mes-layout-auth\">\n\n <!-- Sidebar brand -->\n <aside class=\"mes-sidebar mes-sidebar-auth\">\n <div class=\"mes-brand\">\n <div class=\"mes-brand-icon\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"white\">\n <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"\/>\n <\/svg>\n <\/div>\n <div>\n <span class=\"mes-brand-name\">SOMNORESO<\/span>\n <span class=\"mes-brand-role\">Votre sant\u00e9 connect\u00e9e<\/span>\n <\/div>\n <\/div>\n <div class=\"mes-auth-sidebar-body\">\n <p class=\"mes-auth-tagline\">Acc\u00e9dez \u00e0 vos informations de sant\u00e9, rendez-vous et \u00e9changes avec votre m\u00e9decin.<\/p>\n <\/div>\n <\/aside>\n\n <!-- Contenu auth -->\n <div class=\"mes-content mes-content-auth\">\n\n <!-- Onglets : Connexion en premier, Demande en second -->\n <div class=\"mes-auth-tabs\">\n <button class=\"mes-auth-tab active\" data-tab=\"login\">Connexion<\/button>\n <button class=\"mes-auth-tab\" data-tab=\"register\">Demande de prise en charge<\/button>\n <button class=\"mes-auth-tab\" data-tab=\"rejoindre\">Professionnel de sant\u00e9<\/button>\n <\/div>\n\n <!-- ===== FORMULAIRE DEMANDE ===== -->\n <div class=\"mes-auth-panel\" id=\"mes-auth-register\">\n <div id=\"mes-register-error\" class=\"mes-auth-error\" style=\"display:none\"><\/div>\n <div id=\"mes-register-success\" class=\"mes-auth-success\" style=\"display:none\"><\/div>\n\n <div id=\"mes-register-fields\">\n <div class=\"mes-pec-two-cols\">\n\n <!-- Colonne gauche : identit\u00e9 patient -->\n <div class=\"mes-pec-col-left\">\n\n <div class=\"mes-auth-pec-header\">\n <h2 class=\"mes-auth-title\">Demande de prise en charge<\/h2>\n <p class=\"mes-auth-pec-desc\">Vous souffrez de troubles du sommeil et souhaitez \u00eatre pris en charge ? Remplissez ce formulaire et nous vous rappellerons dans les meilleurs d\u00e9lais.<\/p>\n <\/div>\n\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-last\">Nom *<\/label>\n <input type=\"text\" id=\"mes-reg-last\" class=\"mes-auth-input\" autocomplete=\"family-name\" placeholder=\"DUPONT\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-first\">Pr\u00e9nom *<\/label>\n <input type=\"text\" id=\"mes-reg-first\" class=\"mes-auth-input\" autocomplete=\"given-name\" placeholder=\"Marie\" \/>\n <\/div>\n <\/div>\n\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-dob\">Date de naissance *<\/label>\n <input type=\"date\" id=\"mes-reg-dob\" class=\"mes-auth-input\" autocomplete=\"bday\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-phone\">T\u00e9l\u00e9phone *<\/label>\n <input type=\"tel\" id=\"mes-reg-phone\" class=\"mes-auth-input\" autocomplete=\"tel\" placeholder=\"0612345678\" \/>\n <\/div>\n <\/div>\n\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-email\">Adresse email *<\/label>\n <input type=\"email\" id=\"mes-reg-email\" class=\"mes-auth-input\" autocomplete=\"email\" placeholder=\"marie.dupont@email.fr\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-nir\">\n <span title=\"Votre num\u00e9ro de s\u00e9curit\u00e9 sociale \u00e0 15 chiffres\">Num\u00e9ro de S\u00e9curit\u00e9 Sociale<\/span> *\n <\/label>\n <input type=\"text\" id=\"mes-reg-nir\" class=\"mes-auth-input\" placeholder=\"1 80 01 75 XXX XXX\" maxlength=\"21\" \/>\n <\/div>\n <\/div>\n\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-address\">Adresse *<\/label>\n <input type=\"text\" id=\"mes-reg-address\" class=\"mes-auth-input\" autocomplete=\"street-address\" placeholder=\"12 rue des Lilas\" \/>\n <\/div>\n\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-zip\">Code postal *<\/label>\n <input type=\"text\" id=\"mes-reg-zip\" class=\"mes-auth-input\" autocomplete=\"postal-code\" placeholder=\"34250\" maxlength=\"10\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-city\">Ville *<\/label>\n <input type=\"text\" id=\"mes-reg-city\" class=\"mes-auth-input\" autocomplete=\"address-level2\" placeholder=\"Palavas-les-Flots\" \/>\n <\/div>\n <\/div>\n\n <div class=\"mes-auth-field\">\n <label for=\"mes-reg-situation\">D\u00e9crivez votre situation <span class=\"mes-optional\">(facultatif)<\/span><\/label>\n <textarea id=\"mes-reg-situation\" class=\"mes-auth-input mes-auth-textarea\" rows=\"4\"\n placeholder=\"D\u00e9crivez vos troubles...\" maxlength=\"2000\"><\/textarea>\n <div class=\"mes-textarea-count\"><span id=\"mes-situation-count\">0<\/span>\/2000<\/div>\n <\/div>\n\n <!-- Pi\u00e8ces jointes -->\n <div class=\"mes-auth-field\">\n <label>Pi\u00e8ces jointes <span class=\"mes-optional\">(facultatif)<\/span><\/label>\n <div class=\"mes-file-drop\" id=\"mes-file-drop\">\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"1.5\" stroke-linecap=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"\/><polyline points=\"17 8 12 3 7 8\"\/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"\/><\/svg>\n <p>Glisser-d\u00e9poser vos fichiers ici<br><small>ou<\/small><\/p>\n <label class=\"mes-file-btn\" for=\"mes-reg-files\">Parcourir...<\/label>\n <input type=\"file\" id=\"mes-reg-files\" multiple accept=\"image\/*,.pdf,.doc,.docx\" style=\"display:none\" \/>\n <\/div>\n <div id=\"mes-file-list\" class=\"mes-file-list\"><\/div>\n <p class=\"mes-auth-hint\">Ordonnances, r\u00e9sultats d'examens... Formats accept\u00e9s : images, PDF, Word. Max 5 Mo par fichier.<\/p>\n <\/div>\n\n <\/div><!-- .mes-pec-col-left -->\n\n <!-- Colonne droite : orientation, pi\u00e8ces jointes, envoi -->\n <div class=\"mes-pec-col-right\">\n\n <!-- Choix : Centre SomnoLab OU m\u00e9decin r\u00e9f\u00e9rent -->\n <div class=\"mes-auth-field\">\n <label>Orientation *<\/label>\n <div class=\"mes-pec-choice\">\n <button type=\"button\" class=\"mes-pec-choice-btn active\" id=\"mes-choice-somnolab\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M3 21h18\"\/><path d=\"M5 21V7l8-4v18\"\/><path d=\"M19 21V11l-6-4\"\/><\/svg> Choisir un centre SomnoLab\n <\/button>\n <button type=\"button\" class=\"mes-pec-choice-btn\" id=\"mes-choice-doctor\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"\/><circle cx=\"12\" cy=\"7\" r=\"4\"\/><\/svg> J'ai un m\u00e9decin r\u00e9f\u00e9rent\n <\/button>\n <\/div>\n <\/div>\n\n <!-- S\u00e9lecteur SomnoLab -->\n <div class=\"mes-auth-field\" id=\"mes-somnolab-field\">\n <label for=\"mes-reg-somnolab\">Centre SomnoLab *<\/label>\n <select id=\"mes-reg-somnolab\" class=\"mes-auth-input\">\n <option value=\"\">S\u00e9lectionner un centre...<\/option>\n  <option value=\"2\">Cabinet 22<\/option>\n  <option value=\"6\">Somnolab Caveirac<\/option>\n  <option value=\"5\">SomnoLab Montpellier<\/option>\n  <option value=\"7\">SomnoLab Narbonne<\/option>\n  <option value=\"8\">SomnoLab Vendargues<\/option>\n  <\/select>\n <\/div>\n\n <!-- Recherche m\u00e9decin r\u00e9f\u00e9rent (cach\u00e9e par d\u00e9faut) -->\n <div class=\"mes-auth-field mes-doctor-search-wrap\" id=\"mes-doctor-field\" style=\"display:none\">\n <label>M\u00e9decin r\u00e9f\u00e9rent *<\/label>\n <div class=\"mes-doctor-search-input-wrap\">\n <input type=\"text\" id=\"mes-doctor-search\" class=\"mes-auth-input\" placeholder=\"Nom, sp\u00e9cialit\u00e9, ville ou d\u00e9partement...\" autocomplete=\"off\" \/>\n <div id=\"mes-doctor-results\" class=\"mes-doctor-results\" style=\"display:none\"><\/div>\n <\/div>\n <input type=\"hidden\" id=\"mes-doctor-id\" value=\"\" \/>\n <div id=\"mes-doctor-selected\" class=\"mes-doctor-selected\" style=\"display:none\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"#16a34a\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n <span id=\"mes-doctor-selected-label\"><\/span>\n <button type=\"button\" id=\"mes-doctor-clear\" class=\"mes-doctor-clear\">x<\/button>\n <\/div>\n <\/div>\n <input type=\"hidden\" id=\"mes-pec-mode\" value=\"somnolab\" \/>\n\n <!-- Honeypot anti-bot -->\n <div class=\"mes-hp-field\" aria-hidden=\"true\">\n <label for=\"mes-reg-website\">Ne pas remplir ce champ<\/label>\n <input type=\"text\" id=\"mes-reg-website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" \/>\n <\/div>\n\n <!-- Captcha -->\n <div class=\"mes-auth-field mes-captcha-field\">\n <div class=\"mes-auth-field-row\">\n <label for=\"mes-reg-captcha\" style=\"margin:0;flex:1\">\n <span class=\"mes-captcha-icon\" style=\"font-size:1.1rem\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><\/span>\n Verification anti-robot :\n <strong id=\"mes-captcha-question\"><\/strong>\n <span style=\"color:#94a3b8;font-weight:400\"> = ?<\/span>\n <\/label>\n <input type=\"number\" id=\"mes-reg-captcha\" class=\"mes-auth-input mes-captcha-input\" placeholder=\"?\" autocomplete=\"off\" \/>\n <\/div>\n <div id=\"mes-captcha-feedback\" style=\"font-size:.78rem;margin-top:4px;display:none\"><\/div>\n <\/div>\n <input type=\"hidden\" id=\"mes-captcha-answer\" value=\"\" \/>\n\n <!-- Consentement RGPD -->\n <div class=\"mes-auth-field mes-consent-field\">\n <label class=\"mes-consent-label\" for=\"mes-reg-rgpd\">\n <input type=\"checkbox\" id=\"mes-reg-rgpd\" \/>\n <span>J'ai pris connaissance de la <button type=\"button\" class=\"mes-consent-link\" data-legal=\"privacy-patient\">politique de confidentialit\u00e9<\/button> et j'accepte le traitement de mes donn\u00e9es personnelles, conform\u00e9ment au RGPD. *<\/span>\n <\/label>\n <\/div>\n\n <button class=\"mes-auth-submit mes-submit-pec\" id=\"mes-register-btn\">Envoyer ma demande<\/button>\n\n <p class=\"mes-auth-pec-rgpd\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"2\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg>\n Donn\u00e9es trait\u00e9es de mani\u00e8re confidentielle, conform\u00e9ment au RGPD, sur serveur HDS.\n <\/p>\n\n <\/div><!-- .mes-pec-col-right -->\n\n <\/div><!-- .mes-pec-two-cols -->\n <\/div><!-- #mes-register-fields -->\n <\/div><!-- #mes-auth-register -->\n\n <!-- ===== FORMULAIRE LOGIN ===== -->\n <div class=\"mes-auth-panel active\" id=\"mes-auth-login\">\n <h2 class=\"mes-auth-title\">Connexion<\/h2>\n <div id=\"mes-login-error\" class=\"mes-auth-error\" style=\"display:none\"><\/div>\n\n <div class=\"mes-auth-field\">\n <label for=\"mes-login-user\">Email<\/label>\n <input type=\"text\" id=\"mes-login-user\" class=\"mes-auth-input\" autocomplete=\"username\" placeholder=\"votre@email.fr\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-login-pass\">Mot de passe<\/label>\n <input type=\"password\" id=\"mes-login-pass\" class=\"mes-auth-input\" autocomplete=\"current-password\" placeholder=\"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\" \/>\n <\/div>\n <div class=\"mes-auth-field\" id=\"mes-login-2fa-field\" style=\"display:none\">\n <label for=\"mes-login-code\">Code de double authentification<\/label>\n <input type=\"text\" id=\"mes-login-code\" class=\"mes-auth-input\" inputmode=\"numeric\" autocomplete=\"one-time-code\" maxlength=\"6\" placeholder=\"123456\" \/>\n <small style=\"display:block;margin-top:4px;color:#64748b\">Code \u00e0 6 chiffres g\u00e9n\u00e9r\u00e9 par votre application d'authentification (Google Authenticator, Authy...).<\/small>\n <\/div>\n <label class=\"mes-auth-remember\">\n <input type=\"checkbox\" id=\"mes-login-remember\" \/>\n <span>Se souvenir de moi<\/span>\n <\/label>\n <button class=\"mes-auth-submit\" id=\"mes-login-btn\">Se connecter<\/button>\n <div class=\"mes-auth-links\">\n <a href=\"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-login.php?action=lostpassword\">Mot de passe oubli\u00e9 ?<\/a>\n <\/div>\n <\/div>\n\n <!-- ===== PANNEAU PROFESSIONNEL DE SANTE ===== -->\n <div class=\"mes-auth-panel\" id=\"mes-auth-rejoindre\">\n <div id=\"mes-rj-error\" class=\"mes-auth-error\" style=\"display:none\"><\/div>\n <div id=\"mes-rj-success\" class=\"mes-auth-success\" style=\"display:none\"><\/div>\n\n <div id=\"mes-rj-fields\">\n <div class=\"mes-pec-two-cols\">\n\n <!-- Colonne gauche : infos personnelles -->\n <div class=\"mes-pec-col-left\" id=\"mes-rj-step1\">\n\n <div class=\"mes-auth-pec-header\">\n <h2 class=\"mes-auth-title\">Rejoindre le r\u00e9seau SomnoLab<\/h2>\n <p class=\"mes-auth-pec-desc\">Vous \u00eates professionnel de sant\u00e9 et souhaitez rejoindre le r\u00e9seau ? Remplissez ce formulaire, votre demande sera examin\u00e9e par les m\u00e9decins de votre cabinet ou par l'\u00e9quipe SomnoLab.<\/p>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-last\">Nom *<\/label>\n <input type=\"text\" id=\"mes-rj-last\" class=\"mes-auth-input\" placeholder=\"DUPONT\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-first\">Pr\u00e9nom *<\/label>\n <input type=\"text\" id=\"mes-rj-first\" class=\"mes-auth-input\" placeholder=\"Jean\" \/>\n <\/div>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-prof-type\">Type de professionnel *<\/label>\n <select id=\"mes-rj-prof-type\" class=\"mes-auth-input\">\n <option value=\"\">S\u00e9lectionner...<\/option>\n <option value=\"medecin\">M\u00e9decin<\/option>\n <option value=\"paramedical\">Professionnel param\u00e9dical<\/option>\n <\/select>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-specialty\">Profession *<\/label>\n <select id=\"mes-rj-specialty\" class=\"mes-auth-input\" disabled>\n <option value=\"\">Choisissez d'abord un type...<\/option>\n <\/select>\n <\/div>\n <\/div>\n <!-- Zone d'options conditionnelles (Chantier 2) -->\n <div class=\"mes-auth-field mes-rj-options-zone\" id=\"mes-rj-options-zone\" style=\"display:none\">\n <label>Pr\u00e9cisez votre activit\u00e9<\/label>\n <div id=\"mes-rj-options-list\"><\/div>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-rpps\" id=\"mes-rj-rpps-label\">N\u00b0 RPPS *<\/label>\n <input type=\"text\" id=\"mes-rj-rpps\" class=\"mes-auth-input\" placeholder=\"12345678901\" maxlength=\"11\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-email\">Email professionnel *<\/label>\n <input type=\"email\" id=\"mes-rj-email\" class=\"mes-auth-input\" placeholder=\"contact@cabinet.fr\" \/>\n <\/div>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-phone\">T\u00e9l\u00e9phone *<\/label>\n <input type=\"tel\" id=\"mes-rj-phone\" class=\"mes-auth-input\" placeholder=\"0612345678\" \/>\n <\/div>\n <div class=\"mes-auth-field\"><\/div>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-message\">Pourquoi souhaitez-vous rejoindre le r\u00e9seau SomnoResO ? <span class=\"mes-optional\">(facultatif)<\/span><\/label>\n <textarea id=\"mes-rj-message\" class=\"mes-auth-input mes-auth-textarea\" rows=\"3\" placeholder=\"Pr\u00e9sentez votre activit\u00e9...\"><\/textarea>\n <\/div>\n <\/div><!-- .mes-pec-col-left -->\n\n <!-- Colonne droite : cabinet + envoi -->\n <div class=\"mes-pec-col-right\" id=\"mes-rj-step2\">\n <div class=\"mes-auth-field\">\n <label>Votre cabinet *<\/label>\n <div class=\"mes-pec-choice\">\n <button type=\"button\" class=\"mes-pec-choice-btn\" id=\"mes-rj-mode-new\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg> Nouveau cabinet\n <\/button>\n <button type=\"button\" class=\"mes-pec-choice-btn active\" id=\"mes-rj-mode-existing\">\n <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M3 21h18\"\/><path d=\"M5 21V7l8-4v18\"\/><path d=\"M19 21V11l-6-4\"\/><\/svg> Cabinet existant\n <\/button>\n <\/div>\n <\/div>\n <input type=\"hidden\" id=\"mes-rj-cabinet-mode\" value=\"existing\" \/>\n <input type=\"hidden\" id=\"mes-rj-cabinet-id\" value=\"\" \/>\n\n <!-- Cabinet existant -->\n <div id=\"mes-rj-existing-wrap\" class=\"mes-auth-field\">\n <p class=\"mes-auth-hint\" style=\"margin-top:0\">Existant dans l'annuaire du r\u00e9seau du sommeil SomnoResO<\/p>\n <label>Rechercher votre cabinet *<\/label>\n <div class=\"mes-doctor-search-input-wrap\">\n <input type=\"text\" id=\"mes-rj-cabinet-search\" class=\"mes-auth-input\" placeholder=\"Nom, ville ou code postal...\" autocomplete=\"off\" \/>\n <div id=\"mes-rj-cabinet-results\" class=\"mes-doctor-results\" style=\"display:none\"><\/div>\n <\/div>\n <div id=\"mes-rj-cabinet-selected\" class=\"mes-doctor-selected\" style=\"display:none\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"#16a34a\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n <span id=\"mes-rj-cabinet-label\"><\/span>\n <button type=\"button\" id=\"mes-rj-cabinet-clear\" class=\"mes-doctor-clear\">x<\/button>\n <\/div>\n <\/div>\n\n <!-- Nouveau cabinet -->\n <div id=\"mes-rj-new-wrap\" style=\"display:none\">\n <label class=\"mes-consent-label mes-rj-solo-label\" for=\"mes-rj-solo\">\n <input type=\"checkbox\" id=\"mes-rj-solo\" \/>\n <span>J'exerce seul(e) en lib\u00e9ral - le cabinet porte mon nom<\/span>\n <\/label>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-name\">Nom du cabinet *<\/label>\n <input type=\"text\" id=\"mes-rj-new-name\" class=\"mes-auth-input\" placeholder=\"Cabinet m\u00e9dical...\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-addr\">Adresse<\/label>\n <input type=\"text\" id=\"mes-rj-new-addr\" class=\"mes-auth-input\" placeholder=\"110 Avenue Saint Maurice\" \/>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-city\">Ville<\/label>\n <input type=\"text\" id=\"mes-rj-new-city\" class=\"mes-auth-input\" placeholder=\"Montpellier\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-zip\">Code postal<\/label>\n <input type=\"text\" id=\"mes-rj-new-zip\" class=\"mes-auth-input\" placeholder=\"34000\" maxlength=\"5\" \/>\n <\/div>\n <\/div>\n <div class=\"mes-auth-row\">\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-tel\">T\u00e9l\u00e9phone cabinet<\/label>\n <input type=\"tel\" id=\"mes-rj-new-tel\" class=\"mes-auth-input\" placeholder=\"0499...\" \/>\n <\/div>\n <div class=\"mes-auth-field\">\n <label for=\"mes-rj-new-email\">Email cabinet<\/label>\n <input type=\"email\" id=\"mes-rj-new-email\" class=\"mes-auth-input\" placeholder=\"cabinet@...\" \/>\n <\/div>\n <\/div>\n <p class=\"mes-auth-hint\" style=\"margin-top:0\">Votre demande sera examin\u00e9e par le SomnoLab le plus proche de votre ville.<\/p>\n <\/div>\n\n <!-- Captcha -->\n <div class=\"mes-auth-field mes-captcha-field\">\n <div class=\"mes-auth-field-row\">\n <label for=\"mes-rj-captcha\" style=\"margin:0;flex:1\">\n <span class=\"mes-captcha-icon\" style=\"font-size:1.1rem\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg><\/span>\n V\u00e9rification anti-robot :\n <strong id=\"mes-rj-captcha-question\"><\/strong>\n <span style=\"color:#94a3b8;font-weight:400\"> = ?<\/span>\n <\/label>\n <input type=\"number\" id=\"mes-rj-captcha\" class=\"mes-auth-input mes-captcha-input\" placeholder=\"?\" autocomplete=\"off\" \/>\n <\/div>\n <div id=\"mes-rj-captcha-feedback\" style=\"font-size:.78rem;margin-top:4px;display:none\"><\/div>\n <\/div>\n <input type=\"hidden\" id=\"mes-rj-captcha-answer\" value=\"\" \/>\n\n <!-- Consentements -->\n <div class=\"mes-auth-field mes-consent-field\">\n <label class=\"mes-consent-label\" for=\"mes-rj-rgpd\">\n <input type=\"checkbox\" id=\"mes-rj-rgpd\" \/>\n <span>J'ai pris connaissance de la <button type=\"button\" class=\"mes-consent-link\" data-legal=\"privacy-pro\">politique de confidentialit\u00e9<\/button> et j'accepte le traitement de mes donn\u00e9es personnelles dans le cadre de mon adh\u00e9sion au r\u00e9seau, conform\u00e9ment au RGPD. *<\/span>\n <\/label>\n <label class=\"mes-consent-label\" for=\"mes-rj-carte\" style=\"margin-top:10px\">\n <input type=\"checkbox\" id=\"mes-rj-carte\" \/>\n <span>J'accepte que ma <button type=\"button\" class=\"mes-consent-link\" data-legal=\"fiche\">fiche professionnelle<\/button> (nom, sp\u00e9cialit\u00e9, cabinet et coordonn\u00e9es) soit publi\u00e9e sur la carte et l'annuaire du r\u00e9seau SomnoResO, accessibles aux patients et aux professionnels. *<\/span>\n <\/label>\n <label class=\"mes-consent-label\" for=\"mes-rj-charte\" style=\"margin-top:10px\">\n <input type=\"checkbox\" id=\"mes-rj-charte\" \/>\n <span>J'ai lu et j'accepte la <button type=\"button\" class=\"mes-consent-link\" data-legal=\"charte\">charte du r\u00e9seau SomnoResO<\/button> et m'engage \u00e0 en respecter les principes. *<\/span>\n <\/label>\n <\/div>\n\n <button class=\"mes-auth-submit mes-submit-pec\" id=\"mes-rj-submit-btn\">Envoyer ma demande<\/button>\n <p class=\"mes-auth-pec-rgpd\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"2\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"\/><\/svg>\n Donn\u00e9es trait\u00e9es de mani\u00e8re confidentielle, conform\u00e9ment au RGPD.\n <\/p>\n <\/div><!-- .mes-pec-col-right -->\n\n <\/div><!-- .mes-pec-two-cols -->\n <\/div><!-- #mes-rj-fields -->\n <\/div>\n\n <\/div><!-- .mes-content-auth -->\n <\/div><!-- .mes-layout -->\n\n <!-- ===== Fenetres pop-up (textes legaux \/ comparatif fiche) ===== -->\n <div id=\"mes-legal-modal\" class=\"mes-legal-modal\" style=\"display:none\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"mes-legal-title\">\n <div class=\"mes-legal-backdrop\" data-close=\"1\"><\/div>\n <div class=\"mes-legal-dialog\">\n <div class=\"mes-legal-head\">\n <h3 id=\"mes-legal-title\"><\/h3>\n <button type=\"button\" class=\"mes-legal-close\" data-close=\"1\" aria-label=\"Fermer\">&times;<\/button>\n <\/div>\n <div class=\"mes-legal-body\" id=\"mes-legal-body\"><\/div>\n <div class=\"mes-legal-foot\">\n <button type=\"button\" class=\"mes-auth-submit mes-legal-ok\">J'ai compris<\/button>\n <\/div>\n <\/div>\n <\/div>\n\n <!-- Sources de contenu (masquees, clonees dans la pop-up au clic) -->\n <div class=\"mes-legal-sources\" style=\"display:none\" aria-hidden=\"true\">\n <div id=\"mes-legal-src-privacy-pro\" data-title=\"Politique de confidentialit\u00e9\"><h4>Politique de confidentialite : adhesion au reseau SomnoResO<\/h4>\r\n<p>La presente politique decrit la maniere dont vos donnees personnelles sont\r\ntraitees lorsque vous demandez a rejoindre le reseau de professionnels de sante\r\nSomnoResO, conformement au Reglement General sur la Protection des Donnees\r\n(RGPD) et a la loi Informatique et Libertes.<\/p>\r\n\r\n<h4>1. Responsable du traitement<\/h4>\r\n<p>Le traitement est mis en oeuvre par le reseau SomnoLab \/ SomnoResO, en sa\r\nqualite de responsable de traitement pour la gestion de l'annuaire des\r\nprofessionnels et de la coordination du reseau.<\/p>\r\n\r\n<h4>2. Donnees collectees<\/h4>\r\n<ul>\r\n  <li>Identite : nom, prenom, civilite.<\/li>\r\n  <li>Identifiants professionnels : numero RPPS ou ADELI, profession et\r\n  specialite, formations declarees.<\/li>\r\n  <li>Coordonnees professionnelles : email, telephone, cabinet de rattachement,\r\n  adresse, ville, code postal.<\/li>\r\n  <li>Informations complementaires que vous renseignez librement (presentation\r\n  de votre activite, modalites de consultation, liens de prise de\r\n  rendez-vous).<\/li>\r\n<\/ul>\r\n\r\n<h4>3. Finalites du traitement<\/h4>\r\n<ul>\r\n  <li>Examiner et valider votre demande d'adhesion au reseau.<\/li>\r\n  <li>Verifier votre qualite de professionnel de sante (RPPS \/ ADELI).<\/li>\r\n  <li>Vous integrer a l'annuaire et a la cartographie du reseau.<\/li>\r\n  <li>Permettre la coordination des soins et les echanges entre professionnels\r\n  membres.<\/li>\r\n<\/ul>\r\n\r\n<h4>4. Base legale<\/h4>\r\n<p>Le traitement repose sur votre consentement (article 6.1.a du RGPD), recueilli\r\nau moyen des cases a cocher du formulaire, ainsi que sur l'interet legitime du\r\nreseau a organiser la coordination entre ses membres.<\/p>\r\n\r\n<h4>5. Destinataires<\/h4>\r\n<p>Vos donnees sont accessibles a l'equipe d'administration du reseau, aux\r\nmedecins du cabinet auquel vous vous rattachez et, pour les informations que\r\nvous avez accepte de publier, aux autres professionnels et aux patients via\r\nl'annuaire et la carte.<\/p>\r\n\r\n<h4>6. Duree de conservation<\/h4>\r\n<p>Vos donnees sont conservees pendant toute la duree de votre adhesion au\r\nreseau, puis archivees ou supprimees dans un delai raisonnable apres votre\r\ndepart, sauf obligation legale de conservation.<\/p>\r\n\r\n<h4>7. Securite et hebergement<\/h4>\r\n<p>Les donnees sont hebergees dans le respect des exigences applicables et\r\nfont l'objet de mesures de securite techniques et organisationnelles destinees\r\na en preserver la confidentialite et l'integrite.<\/p>\r\n\r\n<h4>8. Vos droits<\/h4>\r\n<p>Vous disposez d'un droit d'acces, de rectification, d'effacement, de\r\nlimitation, d'opposition et de portabilite de vos donnees, ainsi que du droit de\r\nretirer votre consentement a tout moment. Vous pouvez exercer ces droits aupres\r\ndu reseau et, en cas de difficulte, introduire une reclamation aupres de la\r\nCNIL.<\/p>\r\n\r\n<h4>9. Contact<\/h4>\r\n<p>Pour toute question relative a vos donnees personnelles, vous pouvez\r\ncontacter l'equipe du reseau via les coordonnees indiquees sur le portail.<\/p><\/div>\n <div id=\"mes-legal-src-privacy-patient\" data-title=\"Politique de confidentialit\u00e9\"><h4>Politique de confidentialite : demande de prise en charge<\/h4>\r\n<p>La presente politique decrit la maniere dont vos donnees personnelles, y\r\ncompris vos donnees de sante, sont traitees lorsque vous adressez une demande de\r\nprise en charge, conformement au RGPD et a la loi Informatique et Libertes.<\/p>\r\n\r\n<h4>1. Responsable du traitement<\/h4>\r\n<p>Le traitement est mis en oeuvre par le centre SomnoLab ou le professionnel de\r\nsante que vous avez choisi comme destinataire de votre demande.<\/p>\r\n\r\n<h4>2. Donnees collectees<\/h4>\r\n<ul>\r\n  <li>Identite : nom, prenom, date de naissance.<\/li>\r\n  <li>Coordonnees : email, telephone.<\/li>\r\n  <li>Numero de securite sociale.<\/li>\r\n  <li>Donnees de sante que vous transmettez : description de votre situation,\r\n  documents joints (ordonnances, resultats d'examens).<\/li>\r\n<\/ul>\r\n\r\n<h4>3. Finalites du traitement<\/h4>\r\n<ul>\r\n  <li>Traiter votre demande de prise en charge et vous recontacter.<\/li>\r\n  <li>Vous orienter vers le centre ou le professionnel adapte.<\/li>\r\n  <li>Organiser votre suivi (rendez-vous, echanges securises).<\/li>\r\n<\/ul>\r\n\r\n<h4>4. Base legale<\/h4>\r\n<p>Le traitement repose sur votre consentement (article 9.2.a du RGPD pour les\r\ndonnees de sante), recueilli via la case a cocher du formulaire, et sur la prise\r\nen charge medicale qui en decoule.<\/p>\r\n\r\n<h4>5. Confidentialite et destinataires<\/h4>\r\n<p>Vos donnees sont couvertes par le secret medical. Elles sont accessibles\r\nuniquement a l'equipe de soins concernee par votre demande et ne sont jamais\r\ncedees a des tiers a des fins commerciales.<\/p>\r\n\r\n<h4>6. Duree de conservation<\/h4>\r\n<p>Vos donnees sont conservees pour la duree necessaire a votre prise en charge,\r\npuis archivees conformement aux durees applicables aux donnees de sante.<\/p>\r\n\r\n<h4>7. Securite et hebergement<\/h4>\r\n<p>Vos donnees de sante sont traitees de maniere confidentielle et hebergees\r\ndans des conditions adaptees a leur sensibilite, avec des mesures de securite\r\nappropriees.<\/p>\r\n\r\n<h4>8. Vos droits<\/h4>\r\n<p>Vous disposez d'un droit d'acces, de rectification, d'effacement, de\r\nlimitation et d'opposition, ainsi que du droit de retirer votre consentement a\r\ntout moment. Vous pouvez exercer ces droits aupres de l'equipe concernee et\r\nintroduire une reclamation aupres de la CNIL.<\/p>\r\n\r\n<h4>9. Contact<\/h4>\r\n<p>Pour toute question relative a vos donnees, vous pouvez contacter l'equipe via\r\nles coordonnees indiquees sur le portail.<\/p><\/div>\n <div id=\"mes-legal-src-charte\" data-title=\"Charte du r\u00e9seau SomnoResO\"><h4>Charte d\u2019adh\u00e9sion des professionnels au r\u00e9seau SomnoResO<\/h4>\r\n<p>Projet SomnoResO \/ Plateforme SomnoCare<\/p>\r\n\r\n<h4>Pr\u00e9ambule<\/h4>\r\n<p>SomnoResO est un projet visant \u00e0 structurer un parcours coordonn\u00e9, multidisciplinaire et territorialis\u00e9 de diagnostic, d\u2019orientation et de prise en charge des troubles du sommeil.<\/p>\r\n<p>Le projet s\u2019inscrit dans les priorit\u00e9s nationales et r\u00e9gionales relatives \u00e0 la promotion d\u2019un sommeil de qualit\u00e9, au rep\u00e9rage pr\u00e9coce des troubles du sommeil, \u00e0 la coordination des parcours de soins et au d\u00e9veloppement d\u2019outils num\u00e9riques s\u00e9curis\u00e9s.<\/p>\r\n<p>SomnoResO repose sur une approche collaborative associant m\u00e9decins g\u00e9n\u00e9ralistes, sp\u00e9cialistes du sommeil, chirurgiens-dentistes, kin\u00e9sith\u00e9rapeutes, psychologues, IPA, professionnels de l\u2019activit\u00e9 physique adapt\u00e9e, structures de soins primaires, CPTS, MSP, \u00e9tablissements de sant\u00e9 et centres SomnoLab. Le projet vise \u00e0 r\u00e9duire les d\u00e9lais d\u2019acc\u00e8s au diagnostic, am\u00e9liorer la qualit\u00e9 des prises en charge et renforcer la coordination entre les professionnels.<\/p>\r\n<p>La plateforme num\u00e9rique SomnoCare constitue l\u2019outil support du parcours : adressage s\u00e9curis\u00e9, questionnaires, suivi des PROMS, agenda partag\u00e9, messagerie s\u00e9curis\u00e9e, comptes rendus, cercle de soins et cartographie des professionnels du r\u00e9seau.<\/p>\r\n<p>En adh\u00e9rant \u00e0 cette charte, le professionnel s\u2019engage \u00e0 participer au r\u00e9seau SomnoResO dans un esprit de coop\u00e9ration, de qualit\u00e9, de s\u00e9curit\u00e9, de respect du patient et de conformit\u00e9 r\u00e9glementaire.<\/p>\r\n\r\n<h4>1. Engagement dans un parcours coordonn\u00e9 et multidisciplinaire<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 contribuer \u00e0 une prise en charge coordonn\u00e9e des patients pr\u00e9sentant un trouble du sommeil ou une suspicion de trouble du sommeil, notamment SAHOS, insomnie, hypersomnolence, syndrome des jambes sans repos, syndrome ob\u00e9sit\u00e9-hypoventilation ou autres troubles associ\u00e9s.<\/p>\r\n<p>Il reconna\u00eet que le parcours SomnoResO repose sur une logique multidisciplinaire, associant selon les besoins du patient :<\/p>\r\n<ul>\r\n    <li>m\u00e9decin traitant<\/li>\r\n    <li>m\u00e9decin sp\u00e9cialiste du sommeil<\/li>\r\n    <li>m\u00e9decin sp\u00e9cialiste d\u2019organe<\/li>\r\n    <li>IPA ou Sleep Care Manager<\/li>\r\n    <li>chirurgien-dentiste form\u00e9 \u00e0 l\u2019orth\u00e8se d\u2019avanc\u00e9e mandibulaire<\/li>\r\n    <li>kin\u00e9sith\u00e9rapeute, notamment en r\u00e9\u00e9ducation oro-maxillo-faciale<\/li>\r\n    <li>psychologue form\u00e9 \u00e0 la TCC de l\u2019insomnie<\/li>\r\n    <li>professionnel de l\u2019activit\u00e9 physique adapt\u00e9e<\/li>\r\n    <li>PSDM\/PSAD lorsque pertinent<\/li>\r\n    <li>tout autre professionnel utile au parcours<\/li>\r\n<\/ul>\r\n<p>Le professionnel s\u2019engage \u00e0 favoriser les \u00e9changes utiles entre les acteurs du parcours, dans le respect du secret professionnel, des r\u00e8gles de confidentialit\u00e9 et du consentement du patient.<\/p>\r\n\r\n<h4>2. Information du m\u00e9decin traitant et des professionnels r\u00e9f\u00e9rents<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 informer, selon son r\u00f4le dans le parcours et avec l\u2019accord du patient, les professionnels impliqu\u00e9s dans le cercle de soins, en particulier le m\u00e9decin traitant, le m\u00e9decin sp\u00e9cialiste du sommeil r\u00e9f\u00e9rent, le professionnel adresseur et les autres intervenants impliqu\u00e9s dans la prise en charge.<\/p>\r\n<p>Cette information peut prendre la forme d\u2019un compte rendu, d\u2019un message s\u00e9curis\u00e9, d\u2019une note de suivi ou d\u2019un document d\u00e9pos\u00e9 sur la plateforme SomnoCare.<\/p>\r\n<p>L\u2019objectif est d\u2019assurer une continuit\u00e9 des soins, d\u2019\u00e9viter les redondances, de faciliter les d\u00e9cisions partag\u00e9es et de garantir une prise en charge lisible pour le patient.<\/p>\r\n\r\n<h4>3. Utilisation de la plateforme SomnoCare<\/h4>\r\n<p>Le professionnel adh\u00e9rent accepte d\u2019utiliser la plateforme SomnoCare comme outil de coordination du parcours SomnoResO, dans la limite de ses droits d\u2019acc\u00e8s et de son r\u00f4le aupr\u00e8s du patient.<\/p>\r\n<p>La plateforme SomnoCare a vocation \u00e0 faciliter le suivi longitudinal centr\u00e9 sur le patient, la coordination des acteurs, la tra\u00e7abilit\u00e9 des \u00e9changes, le recueil des indicateurs de qualit\u00e9 et l\u2019\u00e9valuation du parcours.<\/p>\r\n<ul>\r\n    <li>renseigner les informations n\u00e9cessaires \u00e0 l\u2019orientation ou au suivi du patient<\/li>\r\n    <li>consulter les \u00e9l\u00e9ments utiles \u00e0 la prise en charge lorsque l\u2019acc\u00e8s lui est autoris\u00e9<\/li>\r\n    <li>d\u00e9poser les comptes rendus ou informations pertinentes apr\u00e8s son intervention<\/li>\r\n    <li>utiliser la messagerie s\u00e9curis\u00e9e ou les outils de coordination pr\u00e9vus<\/li>\r\n    <li>respecter les r\u00e8gles d\u2019identification, d\u2019authentification et de s\u00e9curit\u00e9<\/li>\r\n    <li>ne pas partager ses identifiants de connexion<\/li>\r\n    <li>signaler toute anomalie, erreur d\u2019adressage ou difficult\u00e9 technique pouvant compromettre la s\u00e9curit\u00e9 ou la qualit\u00e9 du parcours<\/li>\r\n<\/ul>\r\n\r\n<h4>4. Respect du RGPD, du secret professionnel et de la confidentialit\u00e9<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 respecter strictement le secret m\u00e9dical et professionnel, les r\u00e8gles de confidentialit\u00e9 applicables aux donn\u00e9es de sant\u00e9, le RGPD, les r\u00e8gles relatives \u00e0 l\u2019h\u00e9bergement, au partage et \u00e0 la transmission des donn\u00e9es de sant\u00e9, ainsi que les droits du patient concernant l\u2019acc\u00e8s, l\u2019information, la rectification et, le cas \u00e9ch\u00e9ant, l\u2019opposition ou la limitation du traitement de ses donn\u00e9es.<\/p>\r\n<p>Il s\u2019engage \u00e0 ne consulter que les donn\u00e9es n\u00e9cessaires \u00e0 sa mission aupr\u00e8s du patient et \u00e0 ne les utiliser que pour les finalit\u00e9s autoris\u00e9es : soins, coordination, suivi, \u00e9valuation du parcours, am\u00e9lioration de la qualit\u00e9 et, lorsque cela est pr\u00e9vu, recherche ou \u00e9valuation m\u00e9dico-\u00e9conomique dans un cadre r\u00e9glementaire adapt\u00e9.<\/p>\r\n<p>Le professionnel reconna\u00eet que la plateforme SomnoCare doit int\u00e9grer un h\u00e9bergement HDS, une conformit\u00e9 RGPD, une gestion des consentements, une journalisation des acc\u00e8s et une politique claire d\u2019information des patients.<\/p>\r\n\r\n<h4>5. Respect du consentement et de la place du patient<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 respecter la volont\u00e9 du patient et \u00e0 favoriser son implication dans les d\u00e9cisions concernant son parcours.<\/p>\r\n<p>Il veille \u00e0 ce que le patient re\u00e7oive une information claire, adapt\u00e9e et compr\u00e9hensible sur les objectifs du parcours, les examens propos\u00e9s, les options th\u00e9rapeutiques, les professionnels impliqu\u00e9s, l\u2019utilisation de la plateforme SomnoCare, les modalit\u00e9s de partage des donn\u00e9es, ainsi que les indicateurs de suivi et questionnaires pouvant lui \u00eatre propos\u00e9s.<\/p>\r\n<p>Le cercle de soins du patient doit \u00eatre constitu\u00e9 avec son accord explicite. Le patient doit pouvoir comprendre quels professionnels participent \u00e0 sa prise en charge et dans quel but.<\/p>\r\n\r\n<h4>6. Objectifs centr\u00e9s sur la valeur pour le patient<\/h4>\r\n<p>Le professionnel adh\u00e9rent reconna\u00eet que SomnoResO s\u2019inscrit dans une approche centr\u00e9e sur la valeur en sant\u00e9, en recherchant des r\u00e9sultats concrets pour le patient.<\/p>\r\n<p>Les objectifs prioritaires du parcours sont l\u2019am\u00e9lioration de la qualit\u00e9 de vie, l\u2019am\u00e9lioration de la qualit\u00e9 du sommeil, la r\u00e9duction de la somnolence, de la fatigue ou du retentissement diurne, l\u2019am\u00e9lioration de l\u2019adh\u00e9sion au parcours et aux traitements, la satisfaction du patient, la satisfaction des professionnels, la r\u00e9duction des d\u00e9lais d\u2019acc\u00e8s au diagnostic, ainsi que la pertinence des orientations et des traitements propos\u00e9s.<\/p>\r\n<p>L\u2019\u00e9valuation du parcours repose notamment sur des questionnaires patients, des PROMS, des indicateurs de d\u00e9lai, de compl\u00e9tion de parcours et de satisfaction.<\/p>\r\n\r\n<h4>7. Qualit\u00e9, pertinence et tra\u00e7abilit\u00e9 des prises en charge<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 contribuer \u00e0 une prise en charge de qualit\u00e9, adapt\u00e9e aux recommandations disponibles, \u00e0 son champ de comp\u00e9tence et \u00e0 la situation clinique du patient.<\/p>\r\n<p>Il s\u2019engage \u00e0 exercer dans le respect de ses comp\u00e9tences professionnelles, signaler toute situation d\u00e9passant son champ d\u2019intervention, orienter le patient vers un professionnel comp\u00e9tent lorsque n\u00e9cessaire, favoriser la pertinence des examens et traitements, assurer une tra\u00e7abilit\u00e9 minimale de son intervention et participer, lorsque possible, aux d\u00e9marches d\u2019am\u00e9lioration continue du r\u00e9seau.<\/p>\r\n<p>Le projet SomnoResO repose sur la standardisation des protocoles, la mobilisation d\u2019un r\u00e9seau d\u2019acteurs engag\u00e9s et la mise \u00e0 disposition d\u2019outils collaboratifs facilitant le partage d\u2019informations entre professionnels.<\/p>\r\n\r\n<h4>8. Coop\u00e9ration territoriale et esprit de r\u00e9seau<\/h4>\r\n<p>Le professionnel adh\u00e9rent s\u2019engage \u00e0 participer au d\u00e9veloppement d\u2019un maillage territorial en m\u00e9decine du sommeil, en lien avec les CPTS, MSP, \u00e9tablissements de sant\u00e9 et professionnels lib\u00e9raux.<\/p>\r\n<p>Il accepte que ses informations professionnelles, valid\u00e9es par l\u2019administrateur du r\u00e9seau, puissent \u00eatre int\u00e9gr\u00e9es dans l\u2019annuaire ou la cartographie SomnoCare des professionnels impliqu\u00e9s, sauf opposition explicite ou restriction pr\u00e9vue.<\/p>\r\n<p>Cette cartographie vise \u00e0 faciliter l\u2019orientation des patients, le rep\u00e9rage des comp\u00e9tences disponibles sur le territoire et la coop\u00e9ration entre professionnels.<\/p>\r\n\r\n<h4>9. Formation, information et am\u00e9lioration continue<\/h4>\r\n<p>Le professionnel adh\u00e9rent reconna\u00eet l\u2019importance de la sensibilisation et de la formation continue sur les troubles du sommeil.<\/p>\r\n<p>Il s\u2019engage, dans la mesure de ses possibilit\u00e9s, \u00e0 actualiser ses connaissances, participer aux temps d\u2019information, r\u00e9unions ou webinaires du r\u00e9seau, partager les difficult\u00e9s rencontr\u00e9es dans le parcours, contribuer aux retours d\u2019exp\u00e9rience et participer \u00e0 l\u2019am\u00e9lioration des outils, protocoles et organisations.<\/p>\r\n<p>Le projet SomnoResO comprend un volet de sensibilisation des professionnels et de mise \u00e0 disposition de ressources d\u2019\u00e9ducation th\u00e9rapeutique.<\/p>\r\n\r\n<h4>10. Ind\u00e9pendance professionnelle et \u00e9thique<\/h4>\r\n<p>Le professionnel adh\u00e9rent conserve son ind\u00e9pendance professionnelle et reste responsable de ses d\u00e9cisions cliniques, prescriptions, avis ou actes.<\/p>\r\n<p>Il s\u2019engage \u00e0 agir dans l\u2019int\u00e9r\u00eat du patient, sans conflit d\u2019int\u00e9r\u00eat non d\u00e9clar\u00e9, et \u00e0 respecter les r\u00e8gles d\u00e9ontologiques propres \u00e0 sa profession.<\/p>\r\n<p>Toute relation avec un acteur industriel, un prestataire ou un partenaire du parcours doit \u00eatre transparente et ne pas influencer ind\u00fbment l\u2019orientation ou la prise en charge du patient.<\/p>\r\n\r\n<h4>11. Conditions d\u2019adh\u00e9sion, suspension et retrait<\/h4>\r\n<p>L\u2019adh\u00e9sion au r\u00e9seau SomnoResO est soumise \u00e0 validation par l\u2019administrateur ou l\u2019\u00e9quipe de coordination du projet.<\/p>\r\n<p>Le professionnel peut demander \u00e0 tout moment le retrait de son compte ou la modification de ses informations professionnelles.<\/p>\r\n<p>En cas de non-respect grave ou r\u00e9p\u00e9t\u00e9 de la pr\u00e9sente charte, notamment en mati\u00e8re de confidentialit\u00e9, de s\u00e9curit\u00e9 des donn\u00e9es, de comportement contraire \u00e0 l\u2019\u00e9thique ou d\u2019utilisation inappropri\u00e9e de la plateforme, l\u2019acc\u00e8s au r\u00e9seau ou \u00e0 SomnoCare pourra \u00eatre suspendu ou retir\u00e9 apr\u00e8s analyse par l\u2019\u00e9quipe de coordination.<\/p>\r\n\r\n<h4>Engagement du professionnel<\/h4>\r\n<p>En cochant la case ci-dessous, je reconnais avoir pris connaissance de la pr\u00e9sente charte d\u2019adh\u00e9sion au r\u00e9seau SomnoResO et m\u2019engage \u00e0 en respecter les principes.<\/p>\r\n<ul>\r\n    <li>participer \u00e0 un travail en r\u00e9seau multidisciplinaire<\/li>\r\n    <li>informer, avec l\u2019accord du patient, le m\u00e9decin traitant, le m\u00e9decin sp\u00e9cialiste et les professionnels concern\u00e9s<\/li>\r\n    <li>respecter le RGPD, le secret professionnel et la confidentialit\u00e9 des donn\u00e9es de sant\u00e9<\/li>\r\n    <li>utiliser la plateforme SomnoCare conform\u00e9ment \u00e0 ses r\u00e8gles d\u2019usage<\/li>\r\n    <li>contribuer \u00e0 un parcours centr\u00e9 sur le patient, visant l\u2019am\u00e9lioration de la qualit\u00e9 de vie, de la qualit\u00e9 du sommeil et de la satisfaction patient<\/li>\r\n    <li>assurer une tra\u00e7abilit\u00e9 adapt\u00e9e de mes interventions<\/li>\r\n    <li>participer \u00e0 une d\u00e9marche de qualit\u00e9 et d\u2019am\u00e9lioration continue<\/li>\r\n<\/ul>\r\n<\/div>\n <div id=\"mes-legal-src-fiche\" data-title=\"Votre fiche : qui voit quoi ?\"><p>Votre fiche n'est pas pr\u00e9sent\u00e9e de la m\u00eame mani\u00e8re selon qui la consulte. Voici ce qui est visible dans chaque cas.<\/p>\r\n<div class=\"mes-fiche-compare\">\r\n  <div class=\"mes-fiche-col\">\r\n    <div class=\"mes-fiche-col-head mes-fiche-patient\">\ud83d\udc64 C\u00f4t\u00e9 patient<br><small>Carte publique et annuaire grand public<\/small><\/div>\r\n    <ul>\r\n      <li>Nom et pr\u00e9nom<\/li>\r\n      <li>Profession et sp\u00e9cialit\u00e9<\/li>\r\n      <li>Nom et adresse du cabinet<\/li>\r\n      <li>Ville et code postal<\/li>\r\n      <li>T\u00e9l\u00e9phone du cabinet<\/li>\r\n      <li>Lien de prise de rendez-vous<\/li>\r\n      <li>Modalit\u00e9s (pr\u00e9sentiel, t\u00e9l\u00e9consultation)<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n  <div class=\"mes-fiche-col\">\r\n    <div class=\"mes-fiche-col-head mes-fiche-pro\">\ud83e\ude7a C\u00f4t\u00e9 professionnel<br><small>Annuaire du r\u00e9seau et Mon Cercle<\/small><\/div>\r\n    <ul>\r\n      <li>Tout ce que voit le patient<\/li>\r\n      <li>Email professionnel<\/li>\r\n      <li>T\u00e9l\u00e9phone<\/li>\r\n      <li>Adresse MSSante (messagerie s\u00e9curis\u00e9e)<\/li>\r\n      <li>Sous-specialit\u00e9 et comp\u00e9tences sommeil<\/li>\r\n      <li>Formations sommeil d\u00e9clar\u00e9es<\/li>\r\n      <li>Types de patients et troubles pris en charge<\/li>\r\n      <li>Territoire \/ CPTS \/ MSP de rattachement<\/li>\r\n      <li>Pr\u00e9sentation de votre activit\u00e9<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n<p class=\"mes-fiche-note\">Vous gardez la main : depuis Mon Profil, le bouton \u00ab SomnoLab uniquement \u00bb plac\u00e9 \u00e0 c\u00f4t\u00e9 de votre t\u00e9l\u00e9phone, votre email et votre adresse MSSante permet de les r\u00e9server a l'\u00e9quipe SomnoLab. Ils ne sont alors plus visibles par les autres professionnels.<\/p>\r\n<p class=\"mes-fiche-note\">Votre numero RPPS \/ ADELI ne sont jamais publies : ils servent uniquement \u00e0 la v\u00e9rification de votre demande.<\/p><\/div>\n <\/div>\n\n<\/div><!-- #mes-portail -->\n<style>\n\/* Styles sp\u00e9cifiques au formulaire de prise en charge *\/\n.mes-auth-pec-header { margin-bottom: 20px; }\n.mes-auth-pec-desc { color: #475569; font-size: .9rem; line-height: 1.6; margin: 6px 0 0; }\n.mes-auth-pec-header { background: #1b5c8a; color: #fff; border-radius: 10px; padding: 18px 22px; margin-bottom: 22px; }\n.mes-auth-pec-header .mes-auth-title { color: #fff; margin-bottom: 4px; }\n.mes-auth-pec-header .mes-auth-pec-desc { color: rgba(255,255,255,.88); }\n.mes-optional { color: #94a3b8; font-size: .8em; font-weight: 400; }\n.mes-auth-textarea { resize: vertical; min-height: 90px; font-family: inherit; }\n.mes-textarea-count { text-align: right; font-size: .75rem; color: #94a3b8; margin-top: 2px; }\n\/* Libell\u00e9 NIR : info-bulle au survol (texte d'aide via attribut title). *\/\nlabel[for=\"mes-reg-nir\"] span[title] {\n cursor: help;\n text-decoration: underline dotted;\n text-underline-offset: 2px;\n}\n\/* Choix orientation *\/\n.mes-pec-choice { display: flex; gap: 10px; flex-wrap: wrap; }\n.mes-pec-choice-btn {\n flex: 1; min-width: 180px; padding: 10px 16px;\n background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 8px;\n font-family: inherit; font-size: .88rem; font-weight: 600; color: #475569;\n cursor: pointer; transition: all .2s; text-align: center;\n}\n.mes-pec-choice-btn:hover { border-color: #1b6ca8; color: #1b6ca8; }\n.mes-pec-choice-btn.active { background: #e8f2fb; border-color: #1b6ca8; color: #1b6ca8; }\n\/* Upload *\/\n.mes-file-drop {\n border: 2px dashed #cbd5e1; border-radius: 10px; padding: 24px;\n text-align: center; cursor: pointer; transition: border-color .2s;\n background: #f8fafc;\n}\n.mes-file-drop.dragover { border-color: #1b6ca8; background: #e8f2fb; }\n.mes-file-drop p { margin: 8px 0; color: #64748b; font-size: .9rem; }\n.mes-file-drop small { color: #94a3b8; }\n.mes-file-btn {\n display: inline-block; padding: 6px 16px; border-radius: 6px;\n background: #1b6ca8; color: #fff !important; font-size: .82rem; font-weight: 600;\n cursor: pointer; margin-top: 8px; text-decoration: none !important;\n}\n.mes-file-list { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }\n.mes-file-item {\n display: flex; align-items: center; gap: 6px;\n background: #f0f6fc; border: 1px solid #d1e3f5; border-radius: 6px;\n padding: 4px 10px; font-size: .8rem; color: #1b6ca8;\n}\n.mes-file-item button { background: none; border: none; color: #94a3b8; cursor: pointer; font-size: 14px; padding: 0; line-height: 1; }\n.mes-file-item button:hover { color: #ef4444; }\n\/* Consentement *\/\n.mes-consent-field { background: #fef9ec; border: 1.5px solid #fbbf24; border-radius: 8px; padding: 12px 14px; }\n.mes-consent-label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: .88rem; }\n.mes-consent-label input { margin-top: 2px; flex-shrink: 0; }\n\/* Lien cliquable dans un consentement (ouvre la pop-up) *\/\n.mes-consent-link {\n background: none; border: 0; padding: 0; margin: 0; font: inherit;\n color: #1b6ca8; font-weight: 600; text-decoration: underline;\n text-underline-offset: 2px; cursor: pointer;\n}\n.mes-consent-link:hover { color: #124e7a; }\n\/* Pop-up legale *\/\n.mes-legal-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; }\n.mes-legal-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.55); }\n.mes-legal-dialog {\n position: relative; background: #fff; border-radius: 12px;\n width: 100%; max-width: 640px; max-height: 86vh; display: flex; flex-direction: column;\n box-shadow: 0 20px 50px rgba(0,0,0,.3); overflow: hidden;\n}\n.mes-legal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; background: #1b5c8a; color: #fff; }\n.mes-legal-head h3 { margin: 0; font-size: 1.05rem; color: #fff; }\n.mes-legal-close { background: none; border: 0; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 0 4px; }\n.mes-legal-close:hover { opacity: .8; }\n.mes-legal-body { padding: 18px 22px; overflow-y: auto; color: #334155; font-size: .9rem; line-height: 1.6; }\n.mes-legal-body h4 { color: #1e3a5f; font-size: .95rem; margin: 16px 0 4px; }\n.mes-legal-body h4:first-child { margin-top: 0; }\n.mes-legal-body p { margin: 0 0 10px; }\n.mes-legal-body ul { margin: 0 0 12px; padding-left: 20px; }\n.mes-legal-body li { margin-bottom: 4px; }\n.mes-legal-foot { padding: 12px 20px; border-top: 1px solid #e2e8f0; text-align: right; }\n.mes-legal-ok { display: inline-block; width: auto; padding: 8px 18px; background: #1b6ca8; }\n.mes-legal-ok:hover { background: #124e7a; }\n\/* Comparatif fiche patient \/ pro *\/\n.mes-fiche-compare { display: flex; gap: 14px; flex-wrap: wrap; margin: 4px 0 10px; }\n.mes-fiche-col { flex: 1; min-width: 220px; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }\n.mes-fiche-col-head { padding: 10px 12px; font-weight: 700; font-size: .85rem; line-height: 1.3; }\n.mes-fiche-col-head small { font-weight: 400; font-size: .72rem; opacity: .85; }\n.mes-fiche-patient { background: #e8f2fb; color: #1b5c8a; }\n.mes-fiche-pro { background: #eafaf1; color: #15803d; }\n.mes-fiche-col ul { margin: 10px 0; padding-left: 20px; }\n.mes-fiche-col li { margin-bottom: 5px; font-size: .85rem; }\n.mes-fiche-note { font-size: .82rem; color: #64748b; background: #f8fafc; border-radius: 8px; padding: 10px 12px; }\n\/* Bouton prise en charge *\/\n.mes-submit-pec { background: #1b6ca8; }\n.mes-submit-pec:hover { background: #124e7a; }\n\/* RGPD footer *\/\n.mes-auth-pec-rgpd {\n display: flex; align-items: center; gap: 6px;\n font-size: .75rem; color: #64748b; margin-top: 14px;\n padding-top: 12px; border-top: 1px solid #e2e8f0;\n}\n<\/style>\n\n<script>\n(function($){\n $(document).ready(function(){\n var NONCE = \"7e46aa3c5c\";\n var AJAX = \"https:\\\/\\\/www.adcomplus.fr\\\/MonEspaceSante\\\/wp-admin\\\/admin-ajax.php\";\n\n \/\/ Chantier 2 : carte des professions inject\u00e9e au rendu (pas d'aller-retour AJAX).\n \/\/ { specialty_id: { name, type, options:[{key,label,type,values}] } }\n var mesProfessions = {\"3\":{\"name\":\"Anesth\\u00e9siste\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"1\":{\"name\":\"Cardiologue\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"7\":{\"name\":\"Chirurgien dentiste\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"24\":{\"name\":\"Chirurgien maxillo-facial\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"oam\",\"label\":\"Formation OAM (orth\\u00e8se d'avanc\\u00e9e mandibulaire)\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"omf\",\"label\":\"Formation OMF (r\\u00e9\\u00e9ducation oro-maxillo-faciale)\",\"type\":\"checkbox\",\"values\":[]}]},\"14\":{\"name\":\"Di\\u00e9t\\u00e9ticien \\\/ Nutritionniste\",\"type\":\"paramedical\",\"options\":[]},\"22\":{\"name\":\"Endocrinologue\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"13\":{\"name\":\"Enseignant APA\",\"type\":\"paramedical\",\"options\":[{\"key\":\"apa_rehab\",\"label\":\"R\\u00e9habilitation respiratoire \\\/ APA\",\"type\":\"checkbox\",\"values\":[]}]},\"15\":{\"name\":\"Ergoth\\u00e9rapeute\",\"type\":\"paramedical\",\"options\":[]},\"2\":{\"name\":\"G\\u00e9n\\u00e9raliste\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"23\":{\"name\":\"G\\u00e9riatre\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"12\":{\"name\":\"IPA \\\/ Infirmier sp\\u00e9cialis\\u00e9\",\"type\":\"paramedical\",\"options\":[]},\"9\":{\"name\":\"Kin\\u00e9sith\\u00e9rapeute\",\"type\":\"paramedical\",\"options\":[{\"key\":\"omf\",\"label\":\"Formation OMF (r\\u00e9\\u00e9ducation oro-maxillo-faciale)\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"apa_rehab\",\"label\":\"R\\u00e9habilitation respiratoire \\\/ APA\",\"type\":\"checkbox\",\"values\":[]}]},\"21\":{\"name\":\"M\\u00e9decin du sommeil\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"trbl_resp_sommeil\",\"label\":\"Prise en charge des troubles respiratoires du sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"tcc_i\",\"label\":\"Formation TCC-I (insomnie)\",\"type\":\"checkbox\",\"values\":[]}]},\"27\":{\"name\":\"M\\u00e9decin g\\u00e9n\\u00e9raliste\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]}]},\"5\":{\"name\":\"Neurologue\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"tcc_i\",\"label\":\"Formation TCC-I (insomnie)\",\"type\":\"checkbox\",\"values\":[]}]},\"20\":{\"name\":\"ORL\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"trbl_resp_sommeil\",\"label\":\"Prise en charge des troubles respiratoires du sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"oam\",\"label\":\"Formation OAM (orth\\u00e8se d'avanc\\u00e9e mandibulaire)\",\"type\":\"checkbox\",\"values\":[]}]},\"10\":{\"name\":\"Orthophoniste\",\"type\":\"paramedical\",\"options\":[{\"key\":\"omf\",\"label\":\"Formation OMF (r\\u00e9\\u00e9ducation oro-maxillo-faciale)\",\"type\":\"checkbox\",\"values\":[]}]},\"4\":{\"name\":\"P\\u00e9diatre\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"trbl_resp_sommeil\",\"label\":\"Prise en charge des troubles respiratoires du sommeil\",\"type\":\"checkbox\",\"values\":[]}]},\"17\":{\"name\":\"Pharmacien\",\"type\":\"paramedical\",\"options\":[]},\"18\":{\"name\":\"Pneumologue\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"trbl_resp_sommeil\",\"label\":\"Prise en charge des troubles respiratoires du sommeil\",\"type\":\"checkbox\",\"values\":[]}]},\"19\":{\"name\":\"Psychiatre\",\"type\":\"medecin\",\"options\":[{\"key\":\"diu_sommeil\",\"label\":\"Titulaire d'un DIU sommeil\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"dpc_sommeil\",\"label\":\"Formation DPC sommeil valid\\u00e9e\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"tcc_i\",\"label\":\"Formation TCC-I (insomnie)\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"mon_soutien_psy\",\"label\":\"Adh\\u00e9rent au dispositif \\u00ab Mon soutien psy \\u00bb\",\"type\":\"checkbox\",\"values\":[]}]},\"11\":{\"name\":\"Psychologue\",\"type\":\"paramedical\",\"options\":[{\"key\":\"tcc_i\",\"label\":\"Formation TCC-I (insomnie)\",\"type\":\"checkbox\",\"values\":[]},{\"key\":\"mon_soutien_psy\",\"label\":\"Adh\\u00e9rent au dispositif \\u00ab Mon soutien psy \\u00bb\",\"type\":\"checkbox\",\"values\":[]}]},\"16\":{\"name\":\"Sage-femme\",\"type\":\"paramedical\",\"options\":[]}};\n\n \/\/ \u2500\u2500 Onglets \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n $('.mes-auth-tab').on('click', function(){\n var tab = $(this).data('tab');\n $('.mes-auth-tab').removeClass('active');\n $(this).addClass('active');\n $('.mes-auth-panel').removeClass('active');\n $('#mes-auth-' + tab).addClass('active');\n });\n\n \/\/ \u2500\u2500 Pop-ups legales (politique de confidentialite \/ charte \/ fiche) \u2500\u2500\n var mesLegalCb = null; \/\/ case a cocher liee a la pop-up ouverte\n function mesOpenLegal(key, $cb){\n var $src = $('#mes-legal-src-' + key);\n if(!$src.length) return;\n mesLegalCb = ($cb && $cb.length) ? $cb : null;\n $('#mes-legal-title').text($src.data('title') || '');\n $('#mes-legal-body').html($src.html());\n $('#mes-legal-body').scrollTop(0);\n $('#mes-legal-modal').css('display','flex');\n }\n function mesCloseLegal(){ $('#mes-legal-modal').hide(); }\n $(document).on('click', '.mes-consent-link', function(e){\n e.preventDefault(); e.stopPropagation();\n var $cb = $(this).closest('.mes-consent-label').find('input[type=\"checkbox\"]').first();\n mesOpenLegal($(this).data('legal'), $cb);\n });\n \/\/ \u00ab J'ai compris \u00bb : coche la case liee puis ferme.\n $(document).on('click', '.mes-legal-ok', function(){\n if(mesLegalCb && mesLegalCb.length) mesLegalCb.prop('checked', true).trigger('change');\n mesCloseLegal();\n });\n $(document).on('click', '#mes-legal-modal [data-close]', mesCloseLegal);\n $(document).on('keydown', function(e){\n if(e.key === 'Escape' && $('#mes-legal-modal').is(':visible')) mesCloseLegal();\n });\n\n \/\/ \u2500\u2500 Login \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n $('#mes-login-btn').on('click', function(){\n var $btn = $(this).prop('disabled', true).text('Connexion...');\n $('#mes-login-error').hide();\n $.post(AJAX, {\n action: 'mes_login', nonce: NONCE,\n login: $('#mes-login-user').val(),\n password: $('#mes-login-pass').val(),\n code: $('#mes-login-code').val(),\n remember: $('#mes-login-remember').is(':checked') ? 1 : 0,\n }, function(r){\n $btn.prop('disabled', false);\n if(r.success){ window.location.href = r.data.redirect; return; }\n var d = r.data || {};\n if(d.need_2fa){\n \/\/ Le mot de passe est bon : on revele le champ code 2FA.\n $('#mes-login-2fa-field').show();\n $('#mes-login-code').focus();\n $btn.text('Valider le code');\n } else {\n $btn.text('Se connecter');\n }\n $('#mes-login-error').text(d.message || 'Erreur de connexion.').show();\n });\n });\n $('#mes-login-user, #mes-login-pass, #mes-login-code').on('keypress', function(e){\n if(e.which===13) $('#mes-login-btn').trigger('click');\n });\n\n \/\/ \u2500\u2500 Toggle SomnoLab \/ M\u00e9decin \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n $('#mes-choice-somnolab').on('click', function(){\n $('#mes-choice-somnolab').addClass('active'); $('#mes-choice-doctor').removeClass('active');\n $('#mes-somnolab-field').show(); $('#mes-doctor-field').hide();\n $('#mes-pec-mode').val('somnolab'); $('#mes-doctor-id').val('');\n });\n $('#mes-choice-doctor').on('click', function(){\n $('#mes-choice-doctor').addClass('active'); $('#mes-choice-somnolab').removeClass('active');\n $('#mes-doctor-field').show(); $('#mes-somnolab-field').hide();\n $('#mes-pec-mode').val('doctor'); $('#mes-reg-somnolab').val('');\n });\n\n \/\/ \u2500\u2500 Recherche m\u00e9decin \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n var searchTimer;\n $('#mes-doctor-search').on('input', function(){\n var q = $(this).val().trim();\n clearTimeout(searchTimer);\n if(q.length < 2){ $('#mes-doctor-results').hide(); return; }\n searchTimer = setTimeout(function(){\n $.post(AJAX, { action:'mes_search_doctors', nonce:NONCE, q:q }, function(r){\n var $res = $('#mes-doctor-results').empty();\n if(!r.success || !r.data.length){\n $res.html('<div class=\"mes-dr-item mes-dr-none\">Aucun r\u00e9sultat<\/div>').show(); return;\n }\n $.each(r.data, function(i, d){\n $('<div class=\"mes-dr-item\">').text(d.label).data('id', d.id).appendTo($res);\n });\n $res.show();\n });\n }, 300);\n });\n $(document).on('click', '.mes-dr-item', function(){\n var id = $(this).data('id'), label = $(this).text();\n if(!id) return;\n $('#mes-doctor-id').val(id);\n $('#mes-doctor-selected-label').text(label);\n $('#mes-doctor-selected').show();\n $('#mes-doctor-search').val('').closest('.mes-doctor-search-input-wrap').find('.mes-doctor-results').hide();\n });\n $('#mes-doctor-clear').on('click', function(){\n $('#mes-doctor-id').val(''); $('#mes-doctor-selected').hide(); $('#mes-doctor-search').val('').focus();\n });\n $(document).on('click', function(e){\n if(!$(e.target).closest('.mes-doctor-search-wrap').length) $('#mes-doctor-results').hide();\n });\n\n \/\/ \u2500\u2500 Compteur situation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n $('#mes-reg-situation').on('input', function(){\n $('#mes-situation-count').text($(this).val().length);\n });\n\n \/\/ \u2500\u2500 Gestion fichiers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n var selectedFiles = [];\n function renderFileList() {\n var $list = $('#mes-file-list').empty();\n selectedFiles.forEach(function(f, i){\n $list.append(\n '<div class=\"mes-file-item\">' +\n '<svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#1b6ca8\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><\/svg>' +\n '<span>' + f.name + '<\/span>' +\n '<button type=\"button\" data-idx=\"' + i + '\">x<\/button>' +\n '<\/div>'\n );\n });\n }\n $('#mes-reg-files').on('change', function(){\n Array.from(this.files).forEach(function(f){ selectedFiles.push(f); });\n $(this).val(''); renderFileList();\n });\n $(document).on('click', '.mes-file-item button', function(){\n selectedFiles.splice(parseInt($(this).data('idx'),10), 1); renderFileList();\n });\n \/\/ Drag & drop\n var $drop = $('#mes-file-drop');\n $drop.on('click', function(e){ if(!$(e.target).is('input, label, .mes-file-btn')) $('#mes-reg-files').trigger('click'); });\n $drop.on('dragover', function(e){ e.preventDefault(); $drop.addClass('dragover'); });\n $drop.on('dragleave drop', function(e){\n e.preventDefault(); $drop.removeClass('dragover');\n if(e.type==='drop') { Array.from(e.originalEvent.dataTransfer.files).forEach(function(f){ selectedFiles.push(f); }); renderFileList(); }\n });\n\n \/\/ \u2500\u2500 Captcha \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n var captchaAnswer = 0;\n function initCaptcha() {\n var ops = [\n function(){ var a=Math.floor(Math.random()*9)+1, b=Math.floor(Math.random()*9)+1; captchaAnswer=a+b; return a+' + '+b; },\n function(){ var a=Math.floor(Math.random()*5)+5, b=Math.floor(Math.random()*5)+1; captchaAnswer=a-b; return a+' - '+b; },\n function(){ var a=Math.floor(Math.random()*5)+2, b=Math.floor(Math.random()*4)+2; captchaAnswer=a*b; return a+' x '+b; },\n ];\n var fn = ops[Math.floor(Math.random()*ops.length)];\n var q = fn();\n $('#mes-captcha-question').text(q);\n $('#mes-captcha-answer').val(captchaAnswer);\n $('#mes-reg-captcha').val('');\n $('#mes-captcha-feedback').hide();\n }\n initCaptcha();\n \/\/ Regenere le captcha a chaque ouverture de l'onglet \"register\"\n $(document).on('click', '.mes-auth-tab[data-tab=\"register\"]', function(){\n setTimeout(initCaptcha, 50);\n });\n $('#mes-reg-captcha').on('input change', function(){\n var raw = String($(this).val() || '').replace(\/\\s+\/g,'').replace(',','.');\n var val = parseInt(raw, 10), $fb = $('#mes-captcha-feedback');\n if(isNaN(val)){ $fb.hide(); return; }\n $fb.html(val===captchaAnswer ? '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg> Correct' : '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg> Incorrect').css('color', val===captchaAnswer ? '#16a34a' : '#ef4444').show();\n });\n\n \/\/ \u2500\u2500 Soumission \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n $('#mes-register-btn').on('click', function(){\n \/\/ Honeypot\n if($('#mes-reg-website').val()) return;\n \/\/ Captcha\n var captchaVal = parseInt($('#mes-reg-captcha').val(), 10);\n if(isNaN(captchaVal) || captchaVal !== captchaAnswer){\n $('#mes-register-error').text('Veuillez r\u00e9pondre correctement \u00e0 la v\u00e9rification anti-robot.').show(); return;\n }\n \/\/ Consentement RGPD obligatoire\n if(!$('#mes-reg-rgpd').is(':checked')){\n $('#mes-register-error').text('Vous devez accepter le traitement de vos donn\u00e9es personnelles (RGPD).').show(); return;\n }\n \/\/ Email obligatoire\n var regEmail = $.trim($('#mes-reg-email').val());\n if(!regEmail){\n $('#mes-register-error').text('L\\'adresse email est obligatoire.').show(); return;\n }\n \/\/ Adresse postale obligatoire\n if(!$.trim($('#mes-reg-address').val()) || !$.trim($('#mes-reg-zip').val()) || !$.trim($('#mes-reg-city').val())){\n $('#mes-register-error').text('Veuillez renseigner votre adresse compl\u00e8te (rue, code postal, ville).').show(); return;\n }\n \/\/ Validation orientation\n var mode = $('#mes-pec-mode').val();\n if(mode==='somnolab' && !$('#mes-reg-somnolab').val()){\n $('#mes-register-error').text('Veuillez s\u00e9lectionner un centre SomnoLab.').show(); return;\n }\n if(mode==='doctor' && !$('#mes-doctor-id').val()){\n $('#mes-register-error').text('Veuillez choisir un m\u00e9decin r\u00e9f\u00e9rent ou s\u00e9lectionner un centre.').show(); return;\n }\n\n var $btn = $(this).prop('disabled',true).text('Envoi en cours...');\n $('#mes-register-error').hide(); $('#mes-register-success').hide();\n\n \/\/ Construire FormData pour inclure les fichiers\n var fd = new FormData();\n fd.append('action', 'mes_register');\n fd.append('nonce', NONCE);\n fd.append('first_name', $('#mes-reg-first').val());\n fd.append('last_name', $('#mes-reg-last').val());\n fd.append('email', $('#mes-reg-email').val());\n fd.append('phone', $('#mes-reg-phone').val());\n fd.append('date_naissance', $('#mes-reg-dob').val());\n fd.append('nir', $('#mes-reg-nir').val());\n fd.append('address', $('#mes-reg-address').val());\n fd.append('postal_code', $('#mes-reg-zip').val());\n fd.append('city', $('#mes-reg-city').val());\n fd.append('situation', $('#mes-reg-situation').val());\n fd.append('pec_mode', mode);\n fd.append('somnolab_id', $('#mes-reg-somnolab').val() || '0');\n fd.append('doctor_id', $('#mes-doctor-id').val() || '0');\n fd.append('consent', '1');\n fd.append('consent_rgpd', $('#mes-reg-rgpd').is(':checked') ? '1' : '0');\n selectedFiles.forEach(function(f, i){ fd.append('pieces_jointes[]', f); });\n\n $.ajax({\n url: AJAX, type: 'POST',\n data: fd, processData: false, contentType: false,\n success: function(r){\n $btn.prop('disabled',false).text('Envoyer ma demande');\n if(r.success){\n $('#mes-register-fields').slideUp(200);\n $('#mes-register-success')\n .html('<div class=\"mes-auth-pending-wrap\">' +\n '<div class=\"mes-auth-pending-icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg><\/div>' +\n '<h3>Demande envoy\u00e9e !<\/h3>' +\n '<p>' + (r.data.message || 'Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e. Nous vous contacterons dans les meilleurs d\u00e9lais.') + '<\/p>' +\n '<\/div>')\n .show();\n } else {\n $('#mes-register-error').text(r.data.message || 'Une erreur est survenue.').show();\n }\n },\n error: function(){\n $btn.prop('disabled',false).text('Envoyer ma demande');\n $('#mes-register-error').text('Erreur r\u00e9seau. Veuillez r\u00e9essayer.').show();\n }\n });\n });\n\n \/\/ \u2500\u2500 Formulaire Professionnel de sant\u00e9 (2 colonnes) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n \/\/ \u2500\u2500 Cascade profession : type -> m\u00e9tier -> options (Chantier 2) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n function escHtmlRj(s){ return $('<div>').text(s == null ? '' : s).html(); }\n\n function rjResetOptions(){\n $('#mes-rj-options-list').empty();\n $('#mes-rj-options-zone').hide();\n }\n\n \/\/ Peuple le select m\u00e9tier selon le type choisi\n $('#mes-rj-prof-type').on('change', function(){\n var type = $(this).val();\n var $spec = $('#mes-rj-specialty');\n $spec.empty();\n rjResetOptions();\n if (!type){\n $spec.append('<option value=\"\">Choisissez d\\'abord un type...<\/option>').prop('disabled', true);\n return;\n }\n \/\/ Filtrer mesProfessions sur le type, trier par nom\n var items = [];\n $.each(mesProfessions, function(id, p){\n if (p.type === type){ items.push({ id:id, name:p.name }); }\n });\n items.sort(function(a,b){ return a.name.localeCompare(b.name, 'fr'); });\n $spec.append('<option value=\"\">S\u00e9lectionner...<\/option>');\n $.each(items, function(i, it){\n $spec.append('<option value=\"' + escHtmlRj(it.id) + '\">' + escHtmlRj(it.name) + '<\/option>');\n });\n \/\/ Option \u00ab Autre \u00bb : disponible pour m\u00e9decin et param\u00e9dical.\n $spec.append('<option value=\"__autre__\">Autre<\/option>');\n $spec.prop('disabled', false);\n \/\/ RPPS \/ ADELI : libell\u00e9 indicatif selon le type\n $('#mes-rj-rpps-label').html(\n type === 'paramedical'\n ? 'N\u00b0 ADELI *'\n : 'N\u00b0 RPPS *'\n );\n });\n\n \/\/ Affiche la zone d'options du m\u00e9tier choisi\n $('#mes-rj-specialty').on('change', function(){\n rjResetOptions();\n var sid = $(this).val();\n \/\/ Cas \u00ab Autre \u00bb : champ libre \u00ab Pr\u00e9cisez \u00bb au lieu des options serveur.\n if (sid === '__autre__'){\n $('#mes-rj-options-list').html(\n '<label for=\"mes-rj-autre-precision\">Pr\u00e9cisez *<\/label>'\n + '<input type=\"text\" class=\"mes-auth-input\" id=\"mes-rj-autre-precision\" placeholder=\"Votre profession...\" \/>'\n );\n $('#mes-rj-options-zone').show();\n return;\n }\n if (!sid || !mesProfessions[sid]) return;\n var opts = mesProfessions[sid].options || [];\n if (!opts.length) return;\n var $list = $('#mes-rj-options-list');\n $.each(opts, function(i, o){\n var fieldId = 'mes-rj-opt-' + escHtmlRj(o.key);\n var $row = $('<div class=\"mes-rj-option-row\">');\n if (o.type === 'checkbox'){\n $row.html(\n '<label class=\"mes-consent-label\">'\n + '<input type=\"checkbox\" class=\"mes-rj-opt\" data-key=\"' + escHtmlRj(o.key) + '\" id=\"' + fieldId + '\" \/>'\n + '<span>' + escHtmlRj(o.label) + '<\/span><\/label>'\n );\n } else if (o.type === 'select'){\n var sel = '<label for=\"' + fieldId + '\">' + escHtmlRj(o.label) + '<\/label>'\n + '<select class=\"mes-auth-input mes-rj-opt\" data-key=\"' + escHtmlRj(o.key) + '\" id=\"' + fieldId + '\">'\n + '<option value=\"\">S\u00e9lectionner...<\/option>';\n $.each(o.values || [], function(j, v){\n sel += '<option value=\"' + escHtmlRj(v) + '\">' + escHtmlRj(v) + '<\/option>';\n });\n sel += '<\/select>';\n $row.html(sel);\n } else {\n $row.html(\n '<label for=\"' + fieldId + '\">' + escHtmlRj(o.label) + '<\/label>'\n + '<input type=\"text\" class=\"mes-auth-input mes-rj-opt\" data-key=\"' + escHtmlRj(o.key) + '\" id=\"' + fieldId + '\" \/>'\n );\n }\n $list.append($row);\n });\n $('#mes-rj-options-zone').show();\n });\n\n \/\/ Collecte les cl\u00e9s des options actives.\n \/\/ Format : tableau de cl\u00e9s, coh\u00e9rent avec formations_json du Chantier 1\n \/\/ (normalize_formations_json \/ get_formations attendent un tableau de cl\u00e9s).\n \/\/ Pour checkbox : la cl\u00e9 est incluse si coch\u00e9e.\n \/\/ Pour select\/text : la cl\u00e9 est incluse si une valeur est saisie\n \/\/ (la valeur d\u00e9taill\u00e9e n'est pas stock\u00e9e tant que C1 reste la structure\n \/\/ de r\u00e9f\u00e9rence ; option d'\u00e9volution future si un besoin \u00e9merge).\n function rjCollectOptions(){\n var keys = [];\n $('#mes-rj-options-list .mes-rj-opt').each(function(){\n var $el = $(this), key = $el.data('key');\n if (!key) return;\n if ($el.is(':checkbox')){\n if ($el.is(':checked')) keys.push(key);\n } else {\n if ($.trim($el.val())) keys.push(key);\n }\n });\n return keys;\n }\n\n \/\/ \u2500\u2500 Coche \u00ab J'exerce seul(e) \u00bb \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \/\/ Si coch\u00e9e : le nom du cabinet reprend \u00ab Nom Pr\u00e9nom \u00bb et passe en lecture seule.\n function rjSoloName(){\n return $.trim(\n ($.trim($('#mes-rj-last').val()) + ' ' + $.trim($('#mes-rj-first').val())).replace(\/\\s+\/g, ' ')\n );\n }\n function rjApplySolo(){\n if ($('#mes-rj-solo').is(':checked')){\n $('#mes-rj-new-name').val(rjSoloName()).prop('readonly', true).addClass('mes-input-locked');\n } else {\n $('#mes-rj-new-name').prop('readonly', false).removeClass('mes-input-locked').val('');\n }\n }\n $('#mes-rj-solo').on('change', rjApplySolo);\n \/\/ Si le pro modifie nom\/pr\u00e9nom apr\u00e8s avoir coch\u00e9, on met le cabinet \u00e0 jour\n $('#mes-rj-last, #mes-rj-first').on('input', function(){\n if ($('#mes-rj-solo').is(':checked')){\n $('#mes-rj-new-name').val(rjSoloName());\n }\n });\n\n \/\/ Toggle cabinet existant \/ nouveau\n $('#mes-rj-mode-existing').on('click', function(){\n $('#mes-rj-mode-existing').addClass('active'); $('#mes-rj-mode-new').removeClass('active');\n $('#mes-rj-existing-wrap').show(); $('#mes-rj-new-wrap').hide();\n $('#mes-rj-cabinet-mode').val('existing'); $('#mes-rj-cabinet-id').val('');\n });\n $('#mes-rj-mode-new').on('click', function(){\n $('#mes-rj-mode-new').addClass('active'); $('#mes-rj-mode-existing').removeClass('active');\n $('#mes-rj-new-wrap').show(); $('#mes-rj-existing-wrap').hide();\n $('#mes-rj-cabinet-mode').val('new'); $('#mes-rj-cabinet-id').val('');\n rjApplySolo();\n });\n \/\/ Recherche cabinet\n var cabinetTimer;\n $('#mes-rj-cabinet-search').on('input', function(){\n var q = $(this).val().trim();\n clearTimeout(cabinetTimer);\n if(q.length < 2){ $('#mes-rj-cabinet-results').hide(); return; }\n cabinetTimer = setTimeout(function(){\n $.post(AJAX, { action:'mes_search_cabinets', nonce:NONCE, q:q }, function(r){\n var $res = $('#mes-rj-cabinet-results').empty();\n if(!r.success || !r.data.length){\n $res.html('<div class=\"mes-dr-item mes-dr-none\">Aucun r\u00e9sultat<\/div>').show(); return;\n }\n $.each(r.data, function(i, c){\n $('<div class=\"mes-dr-item\">').text(c.label).data('id', c.id).appendTo($res);\n });\n $res.show();\n });\n }, 300);\n });\n $(document).on('click', '#mes-rj-cabinet-results .mes-dr-item', function(){\n var id = $(this).data('id'), label = $(this).text();\n if(!id) return;\n $('#mes-rj-cabinet-id').val(id);\n $('#mes-rj-cabinet-label').text(label);\n $('#mes-rj-cabinet-selected').show();\n $('#mes-rj-cabinet-search').val('');\n $('#mes-rj-cabinet-results').hide();\n });\n $('#mes-rj-cabinet-clear').on('click', function(){\n $('#mes-rj-cabinet-id').val(''); $('#mes-rj-cabinet-selected').hide(); $('#mes-rj-cabinet-search').val('').focus();\n });\n $(document).on('click', function(e){\n if(!$(e.target).closest('#mes-rj-existing-wrap').length) $('#mes-rj-cabinet-results').hide();\n });\n \/\/ \u2500\u2500 Captcha Rejoindre \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n var rjCaptchaAnswer = 0;\n function initRjCaptcha() {\n var ops = [\n function(){ var a=Math.floor(Math.random()*9)+1, b=Math.floor(Math.random()*9)+1; rjCaptchaAnswer=a+b; return a+' + '+b; },\n function(){ var a=Math.floor(Math.random()*5)+5, b=Math.floor(Math.random()*5)+1; rjCaptchaAnswer=a-b; return a+' - '+b; },\n function(){ var a=Math.floor(Math.random()*5)+2, b=Math.floor(Math.random()*4)+2; rjCaptchaAnswer=a*b; return a+' x '+b; },\n ];\n var fn = ops[Math.floor(Math.random()*ops.length)];\n $('#mes-rj-captcha-question').text(fn());\n $('#mes-rj-captcha-answer').val(rjCaptchaAnswer);\n $('#mes-rj-captcha').val('');\n $('#mes-rj-captcha-feedback').hide();\n }\n initRjCaptcha();\n $(document).on('click', '.mes-auth-tab[data-tab=\"rejoindre\"]', function(){ setTimeout(initRjCaptcha, 50); });\n $('#mes-rj-captcha').on('input change', function(){\n var val = parseInt($(this).val(), 10), $fb = $('#mes-rj-captcha-feedback');\n if(isNaN(val)){ $fb.hide(); return; }\n $fb.html(val===rjCaptchaAnswer ? '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg> Correct' : '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg> Incorrect').css('color', val===rjCaptchaAnswer ? '#16a34a' : '#ef4444').show();\n });\n\n \/\/ Soumission finale\n $('#mes-rj-submit-btn').on('click', function(){\n \/\/ Validation champs personnels\n var last = $.trim($('#mes-rj-last').val()), first = $.trim($('#mes-rj-first').val());\n var email = $.trim($('#mes-rj-email').val()), phone = $.trim($('#mes-rj-phone').val());\n var rpps = $.trim($('#mes-rj-rpps').val());\n \/\/ Chantier 2 : le select profession renvoie un id ; on r\u00e9sout nom + type.\n var profType = $('#mes-rj-prof-type').val();\n var specId = $('#mes-rj-specialty').val();\n var isAutre = (specId === '__autre__');\n var profMeta = (specId && mesProfessions[specId]) ? mesProfessions[specId] : null;\n var specialtyName = profMeta ? profMeta.name : '';\n if (isAutre){\n specialtyName = $.trim($('#mes-rj-autre-precision').val());\n if (!specialtyName){\n $('#mes-rj-error').text('Veuillez pr\u00e9ciser votre profession.').show(); return;\n }\n }\n if(!last || !first || !email || !phone || !profType || !specId || (!profMeta && !isAutre)){\n $('#mes-rj-error').text('Veuillez remplir tous les champs obligatoires.').show(); return;\n }\n if(!rpps){\n $('#mes-rj-error').text('Le num\u00e9ro ' + (profType === 'paramedical' ? 'ADELI' : 'RPPS') + ' est obligatoire.').show(); return;\n }\n \/\/ Captcha\n var rjCaptchaVal = parseInt($('#mes-rj-captcha').val(), 10);\n if(isNaN(rjCaptchaVal) || rjCaptchaVal !== rjCaptchaAnswer){\n $('#mes-rj-error').text('Veuillez r\u00e9pondre correctement \u00e0 la v\u00e9rification anti-robot.').show(); return;\n }\n if(!$('#mes-rj-rgpd').is(':checked')){\n $('#mes-rj-error').text('Vous devez accepter le traitement de vos donn\u00e9es personnelles (RGPD).').show(); return;\n }\n if(!$('#mes-rj-carte').is(':checked')){\n $('#mes-rj-error').text('Vous devez accepter la publication de votre fiche sur la carte du r\u00e9seau.').show(); return;\n }\n if(!$('#mes-rj-charte').is(':checked')){\n $('#mes-rj-error').text('Vous devez accepter la charte du r\u00e9seau SomnoResO.').show(); return;\n }\n var mode = $('#mes-rj-cabinet-mode').val();\n if(mode==='existing' && !$('#mes-rj-cabinet-id').val()){\n $('#mes-rj-error').text('Veuillez s\u00e9lectionner un cabinet existant.').show(); return;\n }\n \/\/ Coche solo : le nom du cabinet est \u00ab Nom Pr\u00e9nom \u00bb du praticien.\n var newCabinetName = $.trim($('#mes-rj-new-name').val());\n if(mode==='new' && $('#mes-rj-solo').is(':checked')){\n newCabinetName = rjSoloName();\n }\n if(mode==='new' && !newCabinetName){\n $('#mes-rj-error').text('Le nom du nouveau cabinet est requis.').show(); return;\n }\n var $btn = $(this).prop('disabled',true).text('Envoi en cours...');\n $('#mes-rj-error').hide();\n $.post(AJAX, {\n action: 'mes_rejoindre', nonce: NONCE,\n last_name: $('#mes-rj-last').val(), first_name: $('#mes-rj-first').val(),\n specialty: specialtyName,\n profession_type: profType,\n formations_json: JSON.stringify(rjCollectOptions()),\n rpps: $('#mes-rj-rpps').val(),\n email: $('#mes-rj-email').val(), phone: $('#mes-rj-phone').val(),\n message: $('#mes-rj-message').val(),\n consent_rgpd: $('#mes-rj-rgpd').is(':checked') ? 1 : 0,\n consent_map: $('#mes-rj-carte').is(':checked') ? 1 : 0,\n consent_charte: $('#mes-rj-charte').is(':checked') ? 1 : 0,\n cabinet_mode: mode,\n cabinet_id: $('#mes-rj-cabinet-id').val() || 0,\n new_cabinet_name: newCabinetName,\n new_cabinet_addr: $('#mes-rj-new-addr').val(),\n new_cabinet_city: $('#mes-rj-new-city').val(),\n new_cabinet_zip: $('#mes-rj-new-zip').val(),\n new_cabinet_tel: $('#mes-rj-new-tel').val(),\n new_cabinet_email: $('#mes-rj-new-email').val(),\n }, function(r){\n $btn.prop('disabled',false).text('Envoyer ma demande');\n if(r.success){\n $('#mes-rj-fields').slideUp(200);\n $('#mes-rj-success').html('<div class=\"mes-auth-pending-wrap\"><div class=\"mes-auth-pending-icon\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"1em\" height=\"1em\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"vertical-align:-.15em;display:inline-block;flex:none\" aria-hidden=\"true\"><path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"\/><polyline points=\"22 4 12 14.01 9 11.01\"\/><\/svg><\/div><h3>Demande envoy\u00e9e !<\/h3><p>Votre demande a bien \u00e9t\u00e9 enregistr\u00e9e. Vous recevrez une confirmation par email apr\u00e8s validation.<\/p><\/div>').show();\n } else {\n $('#mes-rj-error').text(r.data.message || 'Une erreur est survenue.').show();\n }\n });\n });\n\n });\n})(jQuery);\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":1,"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":78,"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/pages\/6\/revisions\/78"}],"wp:attachment":[{"href":"https:\/\/www.adcomplus.fr\/MonEspaceSante\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}