{"id":8476,"date":"2020-01-21T08:14:12","date_gmt":"2020-01-21T13:14:12","guid":{"rendered":"https:\/\/dormalab.com\/reference-dentaire\/"},"modified":"2025-10-24T11:51:59","modified_gmt":"2025-10-24T15:51:59","slug":"referer-un-patient","status":"publish","type":"page","link":"https:\/\/dormalab.com\/fr\/referer-un-patient\/","title":{"rendered":"R\u00e9f\u00e9rer Un Patient"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8476\" class=\"elementor elementor-8476 elementor-8412\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-85a1b1a e-flex e-con-boxed elementor-invisible e-con e-parent\" data-id=\"85a1b1a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ecdbf32 e-con-full e-flex e-con e-child\" data-id=\"ecdbf32\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1de6399 e-con-full e-flex e-con e-parent\" data-id=\"1de6399\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-cb21954 e-con-full e-flex e-con e-child\" data-id=\"cb21954\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-1f5f979 e-con-full e-flex e-con e-child\" data-id=\"1f5f979\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41ca5ad elementor-widget elementor-widget-html\" data-id=\"41ca5ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"fr\">\n\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Formulaire de R\u00e9f\u00e9rence Clinique du Sommeil<\/title>\n  <link href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/css\/bootstrap.min.css\" rel=\"stylesheet\">\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.3.0\/dist\/js\/bootstrap.bundle.min.js\"><\/script>\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@11\/dist\/sweetalert2.min.css\">\n  <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/sweetalert2@11\"><\/script>\n  <script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap-icons@1.10.5\/font\/bootstrap-icons.css\">\n\n  <style>\n    \/**start of the form styling to fix the dorma wordpress theme **\/\n    form input[type=\"text\"],\n    form input[type=\"email\"],\n    form input[type=\"password\"],\n    form input[type=\"tel\"],\n    form input[type=\"phone\"],\n    \/* Targets your specific case *\/\n    form input[type=\"number\"],\n    form input[type=\"url\"],\n    form input[type=\"search\"],\n    form input[type=\"date\"],\n    form input[type=\"datetime-local\"],\n    form input[type=\"month\"],\n    form input[type=\"week\"],\n    form input[type=\"time\"],\n    form input[type=\"color\"],\n    form select,\n    form textarea {\n      background-color: white !important;\n      color: black;\n      border: 1px solid #ccc;\n      \/* Optional: Adds a subtle border *\/\n      padding: 10px;\n      \/* Optional: Adds padding for better usability *\/\n      border-radius: 4px;\n      \/* Optional: Adds rounded corners *\/\n      box-shadow: none;\n      \/* Removes any default shadow *\/\n      padding: 10px !important;\n    }\n\n    input[disabled],\n    select[disabled],\n    textarea[disabled] {\n      background-color: #e9ecef;\n      \/* Light gray background for disabled fields *\/\n      color: #6c757d;\n      \/* Muted text color *\/\n      opacity: 1;\n      \/* Ensure full opacity for consistent styling *\/\n      cursor: not-allowed;\n      \/* Change cursor to indicate it's disabled *\/\n    }\n\n    #submitButton {\n      background-color: #173560;\n      border: 0px;\n    }\n\n    body {\n      background-color: #f8f9fa;\n    }\n\n    form {\n      background-color: #d9e6f2;\n      border: 1px solid #dee2e6;\n      border-radius: 8px;\n      padding: 10px;\n      margin-bottom: 15px;\n    }\n\n    .section {\n      border: none;\n      padding: 0;\n      margin: 0;\n      background-color: transparent;\n      margin-bottom: 20px;\n    }\n\n    .section-title {\n      font-weight: bold;\n      margin-bottom: 10px;\n    }\n\n    .is-invalid~.invalid-feedback {\n      display: block;\n    }\n\n    .loading-spinner {\n      display: none;\n      position: fixed;\n      top: 0;\n      left: 0;\n      right: 0;\n      bottom: 0;\n      background: rgba(255, 255, 255, 0.8); \n      z-index: 9999; \n      flex-direction: column;\n      justify-content: center;\n      align-items: center;\n    }\n\n    #thankMessage {\n      display: none; \n      position: fixed; \n      top: 0; \n      left: 0;\n      width: 100%;\n      height: 100%;\n      background-color: rgba(255, 255, 255); \n      z-index: 10000;\n\n      display: flex; \n      flex-direction: column;\n      justify-content: center; \n      align-items: center; \n      text-align: center; \n      padding: 60px;\n    }\n\n    #birthdateContainer {\n      position: relative;\n    }\n\n    #birthdateContainer.is-invalid .invalid-feedback {\n      display: block;\n    }\n\n    select {\n      -webkit-appearance: none;\n      -moz-appearance: none; \n      appearance: none;\n\n      font-size: 1rem; \n      padding-right: 2.5rem;\n      background-color: #fff;\n\n      background-image: url(\"data:image\/svg+xml,%3Csvg fill='%23000000' height='18' viewBox='0 0 24 24' width='18' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M7 10l5 5 5-5H7z'\/%3E%3C\/svg%3E\");\n      background-repeat: no-repeat;\n      background-position: right 0.75rem center;\n      background-size: 1rem 1rem;\n    }\n\n    .referrer-search-container {\n      position: relative;\n    }\n\n    .referrer-search-results {\n      position: absolute;\n      top: 100%;\n      left: 0;\n      right: 0;\n      background: white;\n      border: 1px solid #ccc;\n      border-top: none;\n      max-height: 200px;\n      overflow-y: auto;\n      z-index: 1000;\n      display: none;\n      box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n    }\n\n    .referrer-option {\n      padding: 10px;\n      cursor: pointer;\n      border-bottom: 1px solid #eee;\n    }\n\n    .referrer-option:hover {\n      background-color: #f8f9fa;\n    }\n\n    .referrer-option:last-child {\n      border-bottom: none;\n    }\n\n    \/* Custom checkbox styling - Enhanced for embedded environments *\/\n    input[type=\"checkbox\"] {\n      appearance: none !important;\n      -webkit-appearance: none !important;\n      -moz-appearance: none !important;\n      width: 18px !important;\n      height: 18px !important;\n      border: 1px solid #ccc !important;\n      border-radius: 3px !important;\n      background-color: white !important;\n      cursor: pointer !important;\n      position: relative !important;\n      vertical-align: middle !important;\n      margin-right: 8px !important;\n      padding: 0 !important;\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n      flex-shrink: 0 !important;\n    }\n\n    input[type=\"checkbox\"]:checked {\n      background-color: #007bff !important;\n      border-color: #007bff !important;\n    }\n\n    input[type=\"checkbox\"]:checked::after {\n      content: \"\u2713\" !important;\n      position: absolute !important;\n      top: 50% !important;\n      left: 50% !important;\n      transform: translate(-50%, -50%) !important;\n      color: white !important;\n      font-size: 12px !important;\n      font-weight: bold !important;\n      line-height: 1 !important;\n      display: block !important;\n    }\n\n    \/* Ensure checked state is visible *\/\n    input[type=\"checkbox\"][checked] {\n      background-color: #007bff !important;\n      border-color: #007bff !important;\n    }\n\n    input[type=\"checkbox\"][checked]::after {\n      content: \"\u2713\" !important;\n      position: absolute !important;\n      top: 50% !important;\n      left: 50% !important;\n      transform: translate(-50%, -50%) !important;\n      color: white !important;\n      font-size: 12px !important;\n      font-weight: bold !important;\n      line-height: 1 !important;\n      display: block !important;\n    }\n\n    input[type=\"checkbox\"]:focus {\n      outline: none !important;\n      box-shadow: none !important;\n    }\n\n    input[type=\"checkbox\"]:hover {\n      border-color: #999 !important;\n    }\n\n    input[type=\"checkbox\"]:checked:hover {\n      background-color: #0056b3 !important;\n      border-color: #0056b3 !important;\n    }\n\n    \/* Custom radio button styling - Enhanced for embedded environments *\/\n    input[type=\"radio\"] {\n      appearance: none !important;\n      -webkit-appearance: none !important;\n      -moz-appearance: none !important;\n      width: 18px !important;\n      height: 18px !important;\n      border: 1px solid #ccc !important;\n      border-radius: 50% !important;\n      background-color: white !important;\n      cursor: pointer !important;\n      position: relative !important;\n      vertical-align: middle !important;\n      margin-right: 8px !important;\n      padding: 0 !important;\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n      flex-shrink: 0 !important;\n    }\n\n    input[type=\"radio\"]:checked {\n      background-color: #007bff !important;\n      border-color: #007bff !important;\n    }\n\n    input[type=\"radio\"]:checked::after {\n      content: \"\" !important;\n      position: absolute !important;\n      top: 50% !important;\n      left: 50% !important;\n      transform: translate(-50%, -50%) !important;\n      width: 8px !important;\n      height: 8px !important;\n      border-radius: 50% !important;\n      background-color: white !important;\n      display: block !important;\n    }\n\n    input[type=\"radio\"]:focus {\n      outline: none !important;\n      box-shadow: none !important;\n    }\n\n    input[type=\"radio\"]:hover {\n      border-color: #999 !important;\n    }\n\n    input[type=\"radio\"]:checked:hover {\n      background-color: #0056b3 !important;\n      border-color: #0056b3 !important;\n    }\n\n    \/* Override any WordPress or theme styles for radio buttons *\/\n    .form-check input[type=\"radio\"],\n    .form-group input[type=\"radio\"],\n    .radio input[type=\"radio\"],\n    input[type=\"radio\"] {\n      appearance: none !important;\n      -webkit-appearance: none !important;\n      -moz-appearance: none !important;\n      width: 18px !important;\n      height: 18px !important;\n      border: 1px solid #ccc !important;\n      border-radius: 50% !important;\n      background-color: white !important;\n      cursor: pointer !important;\n      position: relative !important;\n      vertical-align: middle !important;\n      margin-right: 8px !important;\n      padding: 0 !important;\n      margin-top: 0 !important;\n      margin-bottom: 0 !important;\n      flex-shrink: 0 !important;\n    }\n    \n    \/* Force checked state with maximum specificity for radio buttons *\/\n    input[type=\"radio\"]:checked,\n    input[type=\"radio\"][checked],\n    .form-check input[type=\"radio\"]:checked,\n    .form-check input[type=\"radio\"][checked],\n    .form-group input[type=\"radio\"]:checked,\n    .form-group input[type=\"radio\"][checked],\n    .radio input[type=\"radio\"]:checked,\n    .radio input[type=\"radio\"][checked] {\n      background-color: #007bff !important;\n      border-color: #007bff !important;\n    }\n    \n    input[type=\"radio\"]:checked::after,\n    input[type=\"radio\"][checked]::after,\n    .form-check input[type=\"radio\"]:checked::after,\n    .form-check input[type=\"radio\"][checked]::after,\n    .form-group input[type=\"radio\"]:checked::after,\n    .form-group input[type=\"radio\"][checked]::after,\n    .radio input[type=\"radio\"]:checked::after,\n    .radio input[type=\"radio\"][checked]::after {\n      content: \"\" !important;\n      position: absolute !important;\n      top: 50% !important;\n      left: 50% !important;\n      transform: translate(-50%, -50%) !important;\n      width: 8px !important;\n      height: 8px !important;\n      border-radius: 50% !important;\n      background-color: white !important;\n      display: block !important;\n    }\n  <\/style>\n\n<\/head>\n\n<body>\n  <div class=\"container mt-5\">\n    <form id=\"apiForm\" novalidate onsubmit=\"handleFormSubmit(event)\" autocomplete=\"on\">\n      <!-- Patient Information Section -->\n      <div class=\"section\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">INFORMATIONS DU PATIENT<\/div>\n        <p class=\"subtitle\">Veuillez fournir les informations de base du patient pour la r\u00e9f\u00e9rence de consultation du sommeil.<\/p>\n        <div class=\"row\">\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"patientFirstName\" class=\"form-label\">Pr\u00e9nom du Patient *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"patientFirstName\" name=\"patientFirstName\" required\n              onblur=\"validateField(this)\" onfocus=\"warmupReferrerAPI()\" oninput=\"warmupReferrerAPI()\">\n            <div class=\"invalid-feedback\">Le pr\u00e9nom du patient est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"patientLastName\" class=\"form-label\">Nom de Famille du Patient *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"patientLastName\" name=\"patientLastName\" required onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le nom de famille du patient est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\" id=\"birthdateContainer\">\n            <label for=\"birthdate\" class=\"form-label\">Date de Naissance<\/label>\n            <div class=\"input-group\">\n              <select class=\"form-control\" id=\"birthYear\" name=\"birthYear\">\n                <option value=\"\">AAAA<\/option>\n              <\/select>\n              <select class=\"form-control\" id=\"birthMonth\" name=\"birthMonth\">\n                <option value=\"\">MM<\/option>\n              <\/select>\n              <select class=\"form-control\" id=\"birthDay\" name=\"birthDay\">\n                <option value=\"\">JJ<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n          \n          <div class=\"col-md-6 mb-3\">\n            <label for=\"email\" class=\"form-label\">Courriel<\/label>\n            <input type=\"email\" class=\"form-control\" id=\"email\" name=\"email\" onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">L'adresse e-mail doit \u00eatre valide.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"mobile\" class=\"form-label\">Mobile *<\/label>\n            <input type=\"tel\" class=\"form-control\" id=\"mobile\" name=\"mobile\" required onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le num\u00e9ro de mobile doit comporter 10 chiffres.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"patientLanguage\" class=\"form-label\">Langue du patient *<\/label>\n            <select class=\"form-control\" id=\"patientLanguage\" name=\"patientLanguage\" required>\n              <option value=\"French\" selected>Fran\u00e7ais<\/option>\n              <option value=\"English\">Anglais<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Referrer Information Section -->\n      <div class=\"section\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">INFORMATIONS DU R\u00c9F\u00c9RENT<\/div>\n        <p class=\"subtitle\">Veuillez fournir vos informations en tant que professionnel de la sant\u00e9 r\u00e9f\u00e9rent.<\/p>\n        <div class=\"row\">\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"referrerName\" class=\"form-label\">Nom du R\u00e9f\u00e9rent *<\/label>\n            <div class=\"referrer-search-container\">\n              <input type=\"text\" class=\"form-control\" id=\"referrerName\" name=\"referrerName\" required\n                onblur=\"validateField(this)\" oninput=\"searchReferrers()\" autocomplete=\"off\" placeholder=\"Tapez le nom du r\u00e9f\u00e9rent pour rechercher...\">\n              <div class=\"referrer-search-results\" id=\"referrerSearchResults\"><\/div>\n            <\/div>\n            <div class=\"invalid-feedback\">Le nom du r\u00e9f\u00e9rent est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"referrerLicense\" class=\"form-label\">Permis du R\u00e9f\u00e9rent *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"referrerLicense\" name=\"referrerLicense\" required onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le permis du r\u00e9f\u00e9rent est requis.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Device Usage Section -->\n      <div class=\"section\" id=\"deviceUsageSection\" style=\"display: none;\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">UTILISATION D'APPAREIL<\/div>\n        <div class=\"row\">\n          <div class=\"col-12 mb-3\">\n            <div class=\"alert alert-info\">\n              <strong>Votre clinique a des WatchPAT disponibles, veuillez en s\u00e9lectionner un \u00e0 donner ci-dessous<\/strong>\n            <\/div>\n            \n            <!-- Device Selection -->\n            <div id=\"deviceSelection\">\n              <label class=\"form-label\">Appareils disponibles:<\/label>\n              <div id=\"deviceList\"><\/div>\n              <div class=\"alert alert-warning mt-3\" id=\"paymentNotice\" style=\"display: none;\">\n                <i class=\"bi bi-credit-card\"><\/i>\n                <strong>Paiement requis:<\/strong> En s\u00e9lectionnant un appareil, un paiement sera requis dans la section suivante.\n              <\/div>\n            <\/div>\n            \n            <div class=\"form-check mt-3\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"useOurDevice\" name=\"useOurDevice\" onchange=\"toggleDeviceSelection()\">\n              <label class=\"form-check-label\" for=\"useOurDevice\">\n                Ne pas donner de watchPAT de l'inventaire de la clinique\n              <\/label>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Payment Information Section (shown when clinic device is selected) -->\n      <div class=\"section\" id=\"paymentSection\" style=\"display: none;\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">INFORMATIONS DE PAIEMENT<\/div>\n        <p class=\"subtitle\">Un re\u00e7u pour votre test de sommeil de 550,00 $ sera envoy\u00e9 \u00e0 votre e-mail ainsi qu'une facture qui peut \u00eatre soumise \u00e0 votre assureur priv\u00e9 si vous en avez un.<\/p>\n        <div class=\"row\">\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"creditCardName\" class=\"form-label\">Nom du titulaire de la carte *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"creditCardName\" name=\"creditCardName\" autocomplete=\"cc-name\" onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le nom du titulaire de la carte est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"creditCardNumber\" class=\"form-label\">Num\u00e9ro de carte de cr\u00e9dit *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"creditCardNumber\" name=\"creditCardNumber\" autocomplete=\"cc-number\" inputmode=\"numeric\" onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le num\u00e9ro de carte de cr\u00e9dit est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"creditCardExpirationMonth\" class=\"form-label\">Mois d'expiration *<\/label>\n            <select class=\"form-control\" id=\"creditCardExpirationMonth\" name=\"creditCardExpirationMonth\">\n              <option value=\"\">MM<\/option>\n              <!-- Options 01..12 will be populated by JS -->\n            <\/select>\n            <div class=\"invalid-feedback\">Veuillez s\u00e9lectionner un mois valide.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"creditCardExpirationYear\" class=\"form-label\">Ann\u00e9e d'expiration *<\/label>\n            <select class=\"form-control\" id=\"creditCardExpirationYear\" name=\"creditCardExpirationYear\">\n              <option value=\"\">AAAA<\/option>\n              <!-- Options current year..current year+12 populated by JS -->\n            <\/select>\n            <div class=\"invalid-feedback\">Veuillez s\u00e9lectionner une ann\u00e9e valide.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"creditCardCVV\" class=\"form-label\">CVV *<\/label>\n            <input type=\"text\" class=\"form-control\" id=\"creditCardCVV\" name=\"creditCardCVV\" pattern=\"^\\d{3,4}$\" inputmode=\"numeric\" autocomplete=\"cc-csc\" maxlength=\"4\" oninput=\"this.value=this.value.replace(\/\\D\/g,'').slice(0,4); this.setCustomValidity(''); this.classList.remove('is-invalid');\" onblur=\"validateField(this)\">\n            <div class=\"invalid-feedback\">Le CVV est requis.<\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <label for=\"amount\" class=\"form-label\">Montant<\/label>\n                <input type=\"text\" id=\"amount\" class=\"form-control\" disabled value=\"550.00\">\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Diagnosis Section -->\n      <div class=\"section\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">DIAGNOSTIC<\/div>\n        <div class=\"row\">\n          <div class=\"col-12 mb-3\">\n            <div class=\"form-check\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"diagnosisPolygraphy\" name=\"diagnosisPolygraphy\" checked>\n              <label class=\"form-check-label\" for=\"diagnosisPolygraphy\">Polygraphie cardio-respiratoire (\u00e0 domicile)*<\/label>\n            <\/div>\n            <div style=\"margin-left: 20px; margin-top: 10px; font-size: 14px; color: #666;\">\n              <p>Sauf indication contraire, Dorma s'occupera du traitement apr\u00e8s le test. Notre protocole permet un test rapide suivi d'une consultation avec un sp\u00e9cialiste en m\u00e9decine du sommeil, qui peut recommander un traitement.<\/p>\n              <div class=\"form-check\">\n                <input type=\"checkbox\" class=\"form-check-input\" id=\"diagnosisTestOnly\" name=\"diagnosisTestOnly\">\n                <label class=\"form-check-label\" for=\"diagnosisTestOnly\">Test diagnostique seulement, sans suivi de traitement.<\/label>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Treatment Section -->\n      <div class=\"section\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">TRAITEMENT (Optionnel)<\/div>\n        <div class=\"row\">\n          <div class=\"col-md-6 mb-3\">\n            <div class=\"form-check mb-2\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"treatmentSurgery\" name=\"treatmentSurgery\">\n              <label class=\"form-check-label\" for=\"treatmentSurgery\">Chirurgie<\/label>\n            <\/div>\n            <div class=\"form-check mb-2\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"treatmentMandibular\" name=\"treatmentMandibular\">\n              <label class=\"form-check-label\" for=\"treatmentMandibular\">Dispositif d'avancement mandibulaire<\/label>\n            <\/div>\n            <div class=\"form-check mb-2\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"treatmentMyofunctional\" name=\"treatmentMyofunctional\">\n              <label class=\"form-check-label\" for=\"treatmentMyofunctional\">Th\u00e9rapie myofonctionnelle<\/label>\n            <\/div>\n          <\/div>\n          <div class=\"col-md-6 mb-3\">\n            <div style=\"font-weight: bold; margin-bottom: 10px;\">Pression Positive Continue (<a href=\"https:\/\/dormalab.com\/continuous-positive-airflow-pressure-cpap\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Continuous Positive Airflow Pressure (CPAP)\">CPAP<\/a>):<\/div>\n            <div class=\"form-check mb-2\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"treatmentCPAPTitration\" name=\"treatmentCPAPTitration\">\n              <label class=\"form-check-label\" for=\"treatmentCPAPTitration\">Titration CPAP<\/label>\n            <\/div>\n            <div class=\"form-check mb-2 d-flex align-items-center\">\n              <input type=\"checkbox\" class=\"form-check-input me-2\" id=\"treatmentFixedCPAP\" name=\"treatmentFixedCPAP\" onchange=\"toggleFixedCPAP()\">\n              <label class=\"form-check-label me-2\" for=\"treatmentFixedCPAP\">CPAP fixe<\/label>\n              <input type=\"number\" class=\"form-control me-2\" id=\"fixedCPAPValue\" name=\"fixedCPAPValue\" placeholder=\"0\" style=\"width: 80px;\" disabled>\n              <span>cmH2O<\/span>\n            <\/div>\n            <div class=\"form-check mb-2 d-flex align-items-center\">\n              <input type=\"checkbox\" class=\"form-check-input me-2\" id=\"treatmentAutoCPAP\" name=\"treatmentAutoCPAP\" onchange=\"toggleAutoCPAP()\">\n              <label class=\"form-check-label me-2\" for=\"treatmentAutoCPAP\">CPAP automatique<\/label>\n              <input type=\"number\" class=\"form-control me-1\" id=\"autoCPAPMin\" name=\"autoCPAPMin\" placeholder=\"0\" style=\"width: 60px;\" disabled>\n              <span class=\"me-1\">-<\/span>\n              <input type=\"number\" class=\"form-control me-2\" id=\"autoCPAPMax\" name=\"autoCPAPMax\" placeholder=\"0\" style=\"width: 60px;\" disabled>\n              <span>cmH2O<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- Consent Section -->\n      <div class=\"section\">\n        <div class=\"section-title\" style=\"background-color: #173560; color: white; padding: 10px; margin: -10px -10px 15px -10px; font-weight: bold; text-transform: uppercase;\">CONSENTEMENT ET SUIVI<\/div>\n        <div class=\"row\">\n          <div class=\"col-12 mb-3\">\n            <div class=\"form-check\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"patientConsent\" name=\"patientConsent\" required>\n              <label class=\"form-check-label\" for=\"patientConsent\">\n                Le patient consent \u00e0 partager ses informations avec Dorma *\n              <\/label>\n              <div class=\"invalid-feedback\">Le consentement du patient est requis.<\/div>\n            <\/div>\n          <\/div>\n          <div class=\"col-12 mb-3\">\n            <div class=\"form-check\">\n              <input type=\"checkbox\" class=\"form-check-input\" id=\"followUpDiscussion\" name=\"followUpDiscussion\" checked>\n              <label class=\"form-check-label\" for=\"followUpDiscussion\">\n                Suivi avec discussion imm\u00e9diate par SMS\n              <\/label>\n            <\/div>\n          <\/div>\n          <div class=\"col-12 mb-3\">\n            <label for=\"additionalInformation\" class=\"form-label\">Informations Suppl\u00e9mentaires<\/label>\n            <textarea class=\"form-control\" id=\"additionalInformation\" name=\"additionalInformation\" rows=\"2\"><\/textarea>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <button type=\"submit\" id=\"submitButton\" class=\"btn btn-primary\">Soumettre la R\u00e9f\u00e9rence<\/button>\n      <div class=\"loading-spinner\" id=\"loadingSpinner\">\n        <div class=\"spinner-border text-primary\" role=\"status\">\n          <span class=\"visually-hidden\">Envoi en cours...<\/span>\n        <\/div>\n        <p>Envoi de votre r\u00e9f\u00e9rence, veuillez patienter...<\/p>\n      <\/div>\n    <\/form>\n  <\/div>\n\n  <div id=\"thankMessage\" style=\"display:none\">\n    <h1><strong>R\u00e9f\u00e9rence Soumise avec Succ\u00e8s<\/strong><\/h1>\n    <p style=\"font-size: 16px;\"> \n      Merci d'avoir soumis la r\u00e9f\u00e9rence de la clinique du sommeil. Notre \u00e9quipe examinera la r\u00e9f\u00e9rence\n      et contactera le patient pour planifier sa consultation. Si vous devez parler \u00e0 un membre de notre\n      \u00e9quipe, veuillez nous appeler au\n      <strong>1-(855)-218-5186<\/strong> du lundi au vendredi de 8h \u00e0 17h.\n    <\/p>\n    <button id=\"closeThankMessageBtn\" class=\"btn btn-secondary\" onclick=\"closeThankMessage()\">Fermer<\/button>\n  <\/div>\n\n  <script>\n    const BACKEND_API = 'https:\/\/api.summittravelhealthdev.com\/v1\/lead\/submitReferral';\n    const REFERRER_SEARCH_API = 'https:\/\/api.summittravelhealthdev.com\/v1\/lead\/searchReferrers';\n    const CHECK_DEVICES_API = 'https:\/\/api.summittravelhealthdev.com\/v1\/account\/checkWatchPATDevices';\n    let selectedReferrerId = null;\n    let searchTimeout = null;\n    let availableDevices = [];\n    let apiWarmedUp = false;\n\n    function validateField(field) {\n      if (field.name === 'mobile') {\n        const digits = field.value.replace(\/\\D\/g, '');\n        if (digits.length !== 10) {\n          field.classList.add('is-invalid');\n          return;\n        } else {\n          \/\/ Mobile validation passed - remove invalid class\n          field.classList.remove('is-invalid');\n          return;\n        }\n      }\n      if (!field.checkValidity()) {\n        field.classList.add('is-invalid');\n        console.log(`Field invalid: ${field.name}`);\n      } else {\n        field.classList.remove('is-invalid');\n      }\n    }\n\n    function normalizeText(text) {\n      return text.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '').toLowerCase();\n    }\n\n    function warmupReferrerAPI() {\n      if (apiWarmedUp) return; \/\/ Only warm up once\n      \n      console.log('Warming up referrer search API...');\n      apiWarmedUp = true;\n      \n      \/\/ Make a simple search request to warm up the Lambda function\n      fetch(REFERRER_SEARCH_API, {\n        method: 'POST',\n        headers: { 'Content-Type': 'application\/json' },\n        body: JSON.stringify({\n          searchTerm: 'warmup'\n        }),\n      })\n      .then((response) => {\n        console.log('API warmup completed');\n        return response.json();\n      })\n      .catch((error) => {\n        console.log('API warmup failed (this is expected):', error);\n        \/\/ Don't worry about warmup failures - it's just to wake up the Lambda\n      });\n    }\n\n    function searchReferrers() {\n      const referrerName = document.getElementById('referrerName').value.trim();\n      const searchResults = document.getElementById('referrerSearchResults');\n      \n      \/\/ Clear previous timeout\n      if (searchTimeout) {\n        clearTimeout(searchTimeout);\n      }\n\n      \/\/ Hide results if input is empty\n      if (!referrerName || referrerName.length < 2) {\n        searchResults.style.display = 'none';\n        selectedReferrerId = null;\n        return;\n      }\n\n      \/\/ Debounce search\n      searchTimeout = setTimeout(() => {\n        fetch(REFERRER_SEARCH_API, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({\n            searchTerm: referrerName\n          }),\n        })\n        .then((response) => {\n          if (!response.ok) {\n            throw new Error(`HTTP error! status: ${response.status}`);\n          }\n          return response.json();\n        })\n        .then((data) => displayReferrerOptions(data))\n        .catch((error) => {\n          console.error('Error searching referrers:', error);\n          const searchResults = document.getElementById('referrerSearchResults');\n          searchResults.innerHTML = '<div class=\"referrer-option\">Erreur lors du chargement des r\u00e9f\u00e9rents<\/div>';\n          searchResults.style.display = 'block';\n        });\n      }, 300);\n    }\n\n    function displayReferrerOptions(referrers) {\n      const searchResults = document.getElementById('referrerSearchResults');\n      const searchTerm = document.getElementById('referrerName').value.trim();\n      const normalizedSearchTerm = normalizeText(searchTerm);\n      \n      searchResults.innerHTML = '';\n\n      \/\/ Handle case where referrers is not an array (error response)\n      if (!Array.isArray(referrers)) {\n        console.error('Invalid referrers response:', referrers);\n        searchResults.innerHTML = '<div class=\"referrer-option\">Erreur lors du chargement des r\u00e9f\u00e9rents<\/div>';\n        searchResults.style.display = 'block';\n        return;\n      }\n\n      if (referrers.length === 0) {\n        searchResults.innerHTML = `\n          <div class=\"alert alert-info mb-0\" style=\"font-size: 14px;\">\n            <i class=\"bi bi-info-circle me-2\"><\/i>\n            <strong>Aucun r\u00e9f\u00e9rent trouv\u00e9 correspondant \u00e0 \"${searchTerm}\"<\/strong><br>\n            <small>Ne vous inqui\u00e9tez pas ! Vous pouvez toujours saisir les informations de votre r\u00e9f\u00e9rent manuellement dans les champs ci-dessus. Tapez simplement leur nom et num\u00e9ro de licence.<\/small>\n          <\/div>\n        `;\n      } else {\n        \/\/ Filter and sort results based on normalized search term\n        const filteredReferrers = referrers.filter(referrer => {\n          const normalizedName = normalizeText(referrer.Name || '');\n          return normalizedName.includes(normalizedSearchTerm);\n        }).sort((a, b) => {\n          const nameA = normalizeText(a.Name || '');\n          const nameB = normalizeText(b.Name || '');\n          const indexA = nameA.indexOf(normalizedSearchTerm);\n          const indexB = nameB.indexOf(normalizedSearchTerm);\n          \n          \/\/ Sort by position of match (earlier matches first)\n          if (indexA !== indexB) {\n            return indexA - indexB;\n          }\n          \/\/ Then by alphabetical order\n          return nameA.localeCompare(nameB);\n        });\n        \n        filteredReferrers.forEach((referrer) => {\n          const option = document.createElement('div');\n          option.className = 'referrer-option';\n          option.innerHTML = `\n            <strong>${referrer.Name}<\/strong><br>\n            <small>Permis: ${referrer.License_Number__c || 'N\/A'} | Type: ${referrer.Professional_Type__c || 'N\/A'}<\/small>\n          `;\n          option.onclick = () => selectReferrer(referrer);\n          searchResults.appendChild(option);\n        });\n      }\n\n      searchResults.style.display = 'block';\n    }\n\n    async function checkClinicDevices(medicalClinicId) {\n      try {\n        const response = await fetch(CHECK_DEVICES_API, {\n          method: 'POST',\n          headers: {\n            'Content-Type': 'application\/json',\n          },\n          body: JSON.stringify({ \n            medicalClinicId: medicalClinicId \n          })\n        });\n        \n        if (response.ok) {\n          const data = await response.json();\n          availableDevices = data.devices || [];\n          return data.hasDevices || false;\n        }\n        return false;\n      } catch (error) {\n        console.error('Error checking clinic devices:', error);\n        return false;\n      }\n    }\n\n    function toggleDeviceSelection() {\n      const useOurDevice = document.getElementById('useOurDevice').checked;\n      const deviceSelection = document.getElementById('deviceSelection');\n      const paymentSection = document.getElementById('paymentSection');\n      const paymentNotice = document.getElementById('paymentNotice');\n      \n      console.log('Toggle device selection:', { useOurDevice });\n      \n      if (!useOurDevice) {\n        \/\/ Show device selection when \"Do not give from clinic inventory\" is unchecked\n        console.log('Showing device selection');\n        deviceSelection.style.display = 'block';\n        populateDeviceList();\n        \n        \/\/ Don't show payment section here - wait for device selection\n        \/\/ Payment section will be shown when a device is actually selected\n      } else {\n        \/\/ Hide device selection when \"Do not give from clinic inventory\" is checked\n        console.log('Hiding device selection');\n        deviceSelection.style.display = 'none';\n        \n        \/\/ Hide payment section when no clinic device is selected\n        paymentSection.style.display = 'none';\n        paymentNotice.style.display = 'none';\n        makePaymentFieldsRequired(false);\n      }\n    }\n\n    function makePaymentFieldsRequired(required) {\n      const paymentFields = [\n        'creditCardName',\n        'creditCardNumber', \n        'creditCardExpirationMonth',\n        'creditCardExpirationYear',\n        'creditCardCVV'\n      ];\n      \n      console.log(`Setting payment fields required to: ${required}`);\n      \n      \/\/ RE-ENABLED FOR TESTING - Make fields required when device is selected\n      const actualRequired = required;\n      \n      paymentFields.forEach(fieldId => {\n        const field = document.getElementById(fieldId);\n        if (field) {\n          field.required = actualRequired;\n          console.log(`Field ${fieldId} required set to: ${field.required}`);\n          if (!actualRequired) {\n            field.classList.remove('is-invalid');\n            field.setCustomValidity('');\n          }\n        }\n      });\n    }\n\n    function populateDeviceList() {\n      const deviceList = document.getElementById('deviceList');\n      deviceList.innerHTML = '';\n      \n      availableDevices.forEach((device, index) => {\n        const deviceOption = document.createElement('div');\n        deviceOption.className = 'form-check mb-3 p-3 border rounded bg-light';\n        deviceOption.style.borderColor = '#dee2e6';\n        deviceOption.style.transition = 'all 0.3s ease';\n        deviceOption.innerHTML = `\n          <input type=\"radio\" class=\"form-check-input\" id=\"device_${index}\" name=\"selectedDevice\" value=\"${device.id}\" onchange=\"onDeviceSelected()\" style=\"transform: scale(1.2);\">\n          <label class=\"form-check-label fw-bold\" for=\"device_${index}\" style=\"cursor: pointer; margin-left: 8px;\">\n            <i class=\"bi bi-watch text-primary me-2\"><\/i>\n            <span class=\"text-dark\">S\u00e9rie: ${device.serialNumber || 'N\/A'}<\/span>\n            <span class=\"badge bg-success ms-2\">${device.status || 'N\/A'}<\/span>\n          <\/label>\n        `;\n        \n        \/\/ Add hover effect\n        deviceOption.addEventListener('mouseenter', function() {\n          this.style.borderColor = '#0d6efd';\n          this.style.backgroundColor = '#f8f9fa';\n        });\n        \n        deviceOption.addEventListener('mouseleave', function() {\n          this.style.borderColor = '#dee2e6';\n          this.style.backgroundColor = '#f8f9fa';\n        });\n        \n        deviceList.appendChild(deviceOption);\n      });\n    }\n\n    function onDeviceSelected() {\n      console.log('Device selected, showing payment section');\n      const paymentSection = document.getElementById('paymentSection');\n      const paymentNotice = document.getElementById('paymentNotice');\n      paymentSection.style.display = 'block';\n      paymentNotice.style.display = 'block';\n      makePaymentFieldsRequired(true);\n    }\n\n    function getSelectedDeviceId() {\n      const selectedDevice = document.querySelector('input[name=\"selectedDevice\"]:checked');\n      return selectedDevice ? selectedDevice.value : null;\n    }\n\n    async function selectReferrer(referrer) {\n      document.getElementById('referrerName').value = referrer.Name;\n      document.getElementById('referrerLicense').value = referrer.License_Number__c || '';\n      selectedReferrerId = referrer.Id;\n      document.getElementById('referrerSearchResults').style.display = 'none';\n      \n      \/\/ Check if this is a healthcare professional with a medical clinic that might have devices\n      if ((referrer.Professional_Type__c === 'Doctor' || referrer.Professional_Type__c === 'Dentist') && referrer.Medical_Clinic__c) {\n        \/\/ Check if the medical clinic has devices\n        const hasDevices = await checkClinicDevices(referrer.Medical_Clinic__c);\n        if (hasDevices) {\n          document.getElementById('deviceUsageSection').style.display = 'block';\n          \/\/ Show device selection by default and populate it\n          document.getElementById('deviceSelection').style.display = 'block';\n          populateDeviceList();\n          \/\/ Uncheck \"Do not give from clinic inventory\" by default\n          document.getElementById('useOurDevice').checked = false;\n        } else {\n          document.getElementById('deviceUsageSection').style.display = 'none';\n        }\n      } else {\n        \/\/ Hide device usage section\n        document.getElementById('deviceUsageSection').style.display = 'none';\n      }\n    }\n\n    function getBirthdate() {\n      const year = document.getElementById('birthYear').value;\n      const month = document.getElementById('birthMonth').value;\n      const day = document.getElementById('birthDay').value;\n      \n      if (year && month && day) {\n        return `${year}-${month}-${day}`;\n      }\n      return null;\n    }\n\n    function toggleFixedCPAP() {\n      const checkbox = document.getElementById('treatmentFixedCPAP');\n      const input = document.getElementById('fixedCPAPValue');\n      \n      if (checkbox.checked) {\n        input.disabled = false;\n        input.focus();\n      } else {\n        input.disabled = true;\n        input.value = '';\n      }\n    }\n\n    function toggleAutoCPAP() {\n      const checkbox = document.getElementById('treatmentAutoCPAP');\n      const minInput = document.getElementById('autoCPAPMin');\n      const maxInput = document.getElementById('autoCPAPMax');\n      \n      if (checkbox.checked) {\n        minInput.disabled = false;\n        maxInput.disabled = false;\n        minInput.focus();\n      } else {\n        minInput.disabled = true;\n        maxInput.disabled = true;\n        minInput.value = '';\n        maxInput.value = '';\n      }\n    }\n\n    function getTreatmentOptions() {\n      const treatments = [];\n      \n      if (document.getElementById('treatmentSurgery').checked) {\n        treatments.push('Chirurgie');\n      }\n      if (document.getElementById('treatmentMandibular').checked) {\n        treatments.push('Dispositif d\\'avancement mandibulaire');\n      }\n      if (document.getElementById('treatmentMyofunctional').checked) {\n        treatments.push('Th\u00e9rapie myofonctionnelle');\n      }\n      if (document.getElementById('treatmentCPAPTitration').checked) {\n        treatments.push('Titration CPAP');\n      }\n      if (document.getElementById('treatmentFixedCPAP').checked) {\n        const value = document.getElementById('fixedCPAPValue').value.trim();\n        treatments.push(`CPAP fixe: ${value} cmH2O`);\n      }\n      if (document.getElementById('treatmentAutoCPAP').checked) {\n        const min = document.getElementById('autoCPAPMin').value.trim();\n        const max = document.getElementById('autoCPAPMax').value.trim();\n        treatments.push(`CPAP automatique: ${min}-${max} cmH2O`);\n      }\n      \n      return treatments.join(', ');\n    }\n\n    \/\/ Hide search results when clicking outside\n    document.addEventListener('click', function(event) {\n      const searchResults = document.getElementById('referrerSearchResults');\n      const referrerNameInput = document.getElementById('referrerName');\n      \n      if (!referrerNameInput.contains(event.target) && !searchResults.contains(event.target)) {\n        searchResults.style.display = 'none';\n      }\n    });\n\n    document.addEventListener('DOMContentLoaded', function() {\n      const daySelect = document.getElementById('birthDay');\n      for (let i = 1; i <= 31; i++) {\n        const option = document.createElement('option');\n        const dayValue = i < 10 ? '0' + i : i;\n        option.value = dayValue;\n        option.text = dayValue;\n        daySelect.appendChild(option);\n      }\n\n      const monthSelect = document.getElementById('birthMonth');\n      for (let i = 1; i <= 12; i++) {\n        const option = document.createElement('option');\n        const monthValue = i < 10 ? '0' + i : i;\n        option.value = monthValue;\n        option.text = monthValue;\n        monthSelect.appendChild(option);\n      }\n      \n      const yearSelect = document.getElementById('birthYear');\n      const currentYear = new Date().getFullYear();\n      const startYear = currentYear - 100;\n      for (let year = currentYear; year >= startYear; year--) {\n        const option = document.createElement('option');\n        option.value = year;\n        option.text = year;\n        yearSelect.appendChild(option);\n      }\n\n      \/\/ Populate credit card expiration selects\n      const expMonthSelect = document.getElementById('creditCardExpirationMonth');\n      const expYearSelect = document.getElementById('creditCardExpirationYear');\n      if (expMonthSelect && expMonthSelect.options.length <= 1) {\n        for (let i = 1; i <= 12; i++) {\n          const opt = document.createElement('option');\n          const val = i < 10 ? '0' + i : '' + i;\n          opt.value = val;\n          opt.text = val;\n          expMonthSelect.appendChild(opt);\n        }\n      }\n      if (expYearSelect && expYearSelect.options.length <= 1) {\n        const now = new Date();\n        const startYear = now.getFullYear();\n        const endYear = startYear + 12; \/\/ 12-year horizon\n        for (let y = startYear; y <= endYear; y++) {\n          const opt = document.createElement('option');\n          opt.value = '' + y;\n          opt.text = '' + y;\n          expYearSelect.appendChild(opt);\n        }\n      }\n\n      \/\/ Credit card number formatting\n      document.getElementById('creditCardNumber').addEventListener('input', function (e) {\n        let value = e.target.value.replace(\/\\D\/g, '');\n        value = value.replace(\/(\\d{4})(?=\\d)\/g, '$1 ');\n        e.target.value = value;\n      });\n      \n      \/\/ Ensure default checked checkboxes are properly checked\n      setTimeout(() => {\n        const diagnosisPolygraphy = document.getElementById('diagnosisPolygraphy');\n        if (diagnosisPolygraphy) {\n          diagnosisPolygraphy.checked = true;\n          diagnosisPolygraphy.setAttribute('checked', 'checked');\n        }\n        \n        const followUpDiscussion = document.getElementById('followUpDiscussion');\n        if (followUpDiscussion) {\n          followUpDiscussion.checked = true;\n          followUpDiscussion.setAttribute('checked', 'checked');\n        }\n      }, 100);\n      \n      \/\/ Add event listeners to maintain checked state\n      const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n      checkboxes.forEach(checkbox => {\n        checkbox.addEventListener('change', function() {\n          if (this.checked) {\n            this.setAttribute('checked', 'checked');\n          } else {\n            this.removeAttribute('checked');\n          }\n        });\n        \n        \/\/ Force visual update\n        checkbox.addEventListener('click', function() {\n          setTimeout(() => {\n            this.style.backgroundColor = this.checked ? '#007bff' : 'white';\n            this.style.borderColor = this.checked ? '#007bff' : '#007bff';\n          }, 10);\n        });\n      });\n      \n      \/\/ Add event listeners to maintain radio button state\n      const radioButtons = document.querySelectorAll('input[type=\"radio\"]');\n      radioButtons.forEach(radio => {\n        radio.addEventListener('change', function() {\n          if (this.checked) {\n            this.setAttribute('checked', 'checked');\n            \/\/ Force immediate visual update\n            this.style.backgroundColor = '#007bff';\n            this.style.borderColor = '#007bff';\n            \n            \/\/ Uncheck other radios in the same group\n            const groupName = this.name;\n            const groupRadios = document.querySelectorAll(`input[type=\"radio\"][name=\"${groupName}\"]`);\n            groupRadios.forEach(groupRadio => {\n              if (groupRadio !== this) {\n                groupRadio.removeAttribute('checked');\n                groupRadio.style.backgroundColor = 'white';\n                groupRadio.style.borderColor = '#ccc';\n              }\n            });\n          }\n        });\n        \n        \/\/ Force visual update on click\n        radio.addEventListener('click', function() {\n          setTimeout(() => {\n            if (this.checked) {\n              this.style.backgroundColor = '#007bff';\n              this.style.borderColor = '#007bff';\n              this.setAttribute('checked', 'checked');\n            } else {\n              this.style.backgroundColor = 'white';\n              this.style.borderColor = '#ccc';\n              this.removeAttribute('checked');\n            }\n          }, 5);\n        });\n        \n        \/\/ Also handle mousedown for immediate feedback\n        radio.addEventListener('mousedown', function() {\n          setTimeout(() => {\n            if (this.checked) {\n              this.style.backgroundColor = '#007bff';\n              this.style.borderColor = '#007bff';\n            }\n          }, 1);\n        });\n      });\n    });\n\n    async function handleFormSubmit(event) {\n      event.preventDefault();\n\n      const form = document.getElementById('apiForm');\n      const submitButton = document.getElementById('submitButton');\n      const loadingSpinner = document.getElementById('loadingSpinner');\n\n      if (!form.checkValidity()) {\n        const invalidElements = form.querySelectorAll(':invalid');\n        invalidElements.forEach(elem => {\n          console.log(`${elem.name || elem.id} is invalid`);\n        });\n        console.log(\"Form is invalid, stopping submission.\");\n        form.classList.add('was-validated');\n        return;\n      }\n      console.log(\"Form is valid, preparing formData...\");\n\n      \/\/ Disable button and show spinner\n      submitButton.disabled = true;\n      loadingSpinner.style.display = 'flex';\n      document.body.style.overflow = 'hidden';\n\n      const useOurDevice = document.getElementById('useOurDevice').checked;\n      const selectedDeviceId = document.querySelector('input[name=\"selectedDevice\"]:checked')?.value;\n      const useClinicDevice = !useOurDevice && selectedDeviceId;\n      const formData = {\n        patientFirstName: document.getElementById('patientFirstName').value.trim(),\n        patientLastName: document.getElementById('patientLastName').value.trim(),\n        birthdate: getBirthdate(),\n        email: document.getElementById('email').value.trim(),\n        mobile: document.getElementById('mobile').value.replace(\/\\D\/g, '').trim(),\n        referrerName: document.getElementById('referrerName').value.trim(),\n        referrerLicense: document.getElementById('referrerLicense').value.trim(),\n        diagnosisPolygraphy: document.getElementById('diagnosisPolygraphy').checked,\n        diagnosisTestOnly: document.getElementById('diagnosisTestOnly').checked,\n        treatmentOptions: getTreatmentOptions(),\n        additionalInformation: document.getElementById('additionalInformation').value.trim(),\n        patientConsent: document.getElementById('patientConsent').checked,\n        followUpDiscussion: document.getElementById('followUpDiscussion').checked,\n        useClinicDevice: useClinicDevice,\n        selectedDeviceId: selectedDeviceId,\n        referrerId: selectedReferrerId,\n        language: document.getElementById('patientLanguage').value,\n      };\n\n      \/\/ Add payment data if clinic device is being used\n      if (useClinicDevice) {\n        formData.creditCardName = document.getElementById('creditCardName').value.trim();\n        formData.creditCardNumber = document.getElementById('creditCardNumber').value.replace(\/\\D\/g, '').trim();\n        formData.creditCardExpirationMonth = document.getElementById('creditCardExpirationMonth').value.replace(\/\\D\/g, '').trim();\n        formData.creditCardExpirationYear = document.getElementById('creditCardExpirationYear').value.replace(\/\\D\/g, '').trim();\n        formData.creditCardCVV = document.getElementById('creditCardCVV').value.replace(\/\\D\/g, '').trim();\n        formData.totalPaidAmount = document.getElementById('amount').value.trim();\n      }\n\n      console.log(\"Form data prepared:\", formData);\n\n      try {\n        const response = await fetch(BACKEND_API, {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify(formData),\n        });\n\n        if (response.ok) {\n          const result = await response.json();\n          console.log(\"Submission succeeded:\", result);\n          \n          if (result.isPaidReferral) {\n            \/\/ Handle paid referral response\n            document.getElementById('thankMessage').innerHTML = `\n              <h1><strong>Paiement Trait\u00e9 avec Succ\u00e8s<\/strong><\/h1>\n              <p style=\"font-size: 16px;\"> \n                Merci pour votre r\u00e9f\u00e9rence de clinique du sommeil avec appareil. Le paiement a \u00e9t\u00e9 trait\u00e9\n                et l'\u00e9tude du sommeil a \u00e9t\u00e9 programm\u00e9e. Si vous devez parler \u00e0 un membre de notre \u00e9quipe de toute urgence, n'h\u00e9sitez pas \u00e0 nous appeler au\n                <strong>1-855-229-5168<\/strong> du lundi au vendredi de 8h \u00e0 17h.\n              <\/p>\n              <button id=\"closeThankMessageBtn\" class=\"btn btn-secondary\" onclick=\"closeThankMessage()\">Fermer<\/button>\n            `;\n          } else {\n            \/\/ Handle regular referral response\n            document.getElementById('thankMessage').innerHTML = `\n              <h1><strong>R\u00e9f\u00e9rence Soumise avec Succ\u00e8s<\/strong><\/h1>\n              <p style=\"font-size: 16px;\"> \n                Merci d'avoir soumis la r\u00e9f\u00e9rence de la clinique du sommeil. Notre \u00e9quipe examinera la r\u00e9f\u00e9rence\n                et contactera le patient pour planifier sa consultation. Si vous devez parler \u00e0 un membre de notre \u00e9quipe,\n                veuillez nous appeler au <strong>1-855-229-5168<\/strong> du lundi au vendredi de 8h \u00e0 17h.\n              <\/p>\n              <button id=\"closeThankMessageBtn\" class=\"btn btn-secondary\" onclick=\"closeThankMessage()\">Fermer<\/button>\n            `;\n          }\n          \n          document.getElementById('thankMessage').style.display = 'flex';\n          document.body.style.overflow = 'hidden';\n        } else {\n          const result = await response.json();\n          let errorMsg = 'Une erreur est survenue lors du traitement de votre r\u00e9f\u00e9rence. Veuillez v\u00e9rifier les informations fournies.';\n          if (result?.error) {\n            errorMsg = result.error;\n          }\n\n          Swal.fire({\n            icon: 'error',\n            title: 'Erreur de Soumission',\n            text: errorMsg,\n          }).then(() => {\n            \/\/ Restore scrolling when error popup is closed\n            document.body.style.overflow = '';\n          });\n          submitButton.disabled = false;\n          loadingSpinner.style.display = 'none';\n        }\n      } catch (error) {\n        console.error('Submission error:', error);\n        Swal.fire({\n          icon: 'error',\n          title: 'Erreur R\u00e9seau',\n          text: 'Une erreur r\u00e9seau est survenue. Veuillez r\u00e9essayer plus tard.',\n        }).then(() => {\n          \/\/ Restore scrolling when error popup is closed\n          document.body.style.overflow = '';\n        });\n        submitButton.disabled = false;\n        loadingSpinner.style.display = 'none';\n      }\n    }\n\n    function closeThankMessage() {\n      document.getElementById('thankMessage').style.display = 'none';\n      document.body.style.overflow = '';\n      document.getElementById('apiForm').reset();\n      \n      \/\/ Reset form state\n      selectedReferrerId = null;\n      document.getElementById('referrerSearchResults').style.display = 'none';\n      document.getElementById('loadingSpinner').style.display = 'none';\n      document.getElementById('submitButton').disabled = false;\n      \n      \/\/ Reset payment section\n      document.getElementById('paymentSection').style.display = 'none';\n      makePaymentFieldsRequired(false);\n      \n      \/\/ Reset device usage section\n      document.getElementById('deviceUsageSection').style.display = 'none';\n    }\n\n    document.addEventListener('DOMContentLoaded', () => {\n      document.getElementById('thankMessage').style.display = 'none';\n      \n      \/\/ Initialize payment fields as not required by default\n      makePaymentFieldsRequired(false);\n      \n      \/\/ Ensure device selection is hidden by default\n      document.getElementById('deviceSelection').style.display = 'none';\n      document.getElementById('paymentSection').style.display = 'none';\n      document.getElementById('paymentNotice').style.display = 'none';\n    });\n\n    \/\/ Phone formatting on blur\n    document.getElementById('mobile').addEventListener('blur', function (e) {\n      let value = e.target.value.replace(\/\\D\/g, '');\n      if (value.length > 10) value = value.slice(0, 10);\n      let formatted = value.replace(\/(\\d{3})(\\d{3})(\\d{0,4})\/, '($1) $2-$3').trim();\n      e.target.value = formatted;\n    });\n  <\/script>\n<\/body>\n\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-da50950 e-con-full e-flex e-con e-child\" data-id=\"da50950\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f55cf9b e-con-full e-flex e-con e-child\" data-id=\"f55cf9b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_offset&quot;:78,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;],&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cd9146 elementor-widget elementor-widget-heading\" data-id=\"1cd9146\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">T\u00e9l\u00e9chargez notre ordonnance<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-332e0ab e-grid e-con-full e-con e-child\" data-id=\"332e0ab\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-08dc0d9 elementor-widget elementor-widget-text-editor\" data-id=\"08dc0d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/dorma_requisition_en.pdf\"><img decoding=\"async\" class=\"alignnone wp-image-41107\" src=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png\" alt=\"\" width=\"54\" height=\"54\" srcset=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png 300w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-150x150.png 150w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-100x100.png 100w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon.png 512w\" sizes=\"(max-width: 54px) 100vw, 54px\" \/><\/a><\/span><br><a href=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/dorma_requisition_en.pdf\"><span style=\"color: #3366ff;\">T\u00e9l\u00e9chargez l\u2019ordonnance PDF en anglais<\/span><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78e2992 elementor-widget elementor-widget-text-editor\" data-id=\"78e2992\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/dorma_requisition_fr.pdf\"><img decoding=\"async\" class=\"alignnone wp-image-41107\" src=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png\" alt=\"\" width=\"54\" height=\"54\" srcset=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png 300w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-150x150.png 150w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-100x100.png 100w, https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon.png 512w\" sizes=\"(max-width: 54px) 100vw, 54px\" \/><\/a><br><span style=\"color: #3366ff;\"><a style=\"color: #3366ff;\" href=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/dorma_requisition_fr.pdf\">T\u00e9l\u00e9chargez l\u2019ordonnance PDF en fran\u00e7ais<\/a><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2517597 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"2517597\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92e0477 elementor-widget elementor-widget-heading\" data-id=\"92e0477\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vous utilisez le DME Medesync ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c6ffee3 e-grid e-con-full e-con e-child\" data-id=\"c6ffee3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4d2ec94 elementor-widget elementor-widget-text-editor\" data-id=\"4d2ec94\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/secure1.medesync.com\/Gestion\/Marche\/ViewPdfForm.aspx?IdFormulaire=fff9df7d-fa3d-4713-bf51-acf44ab7a28c&amp;mode=popup\"><img decoding=\"async\" class=\"wp-image-41111 aligncenter\" src=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/EMR_Icon-1-300x211.png\" alt=\"\" width=\"93\" height=\"60\"><\/a><\/p><p><a href=\"https:\/\/secure1.medesync.com\/Gestion\/Marche\/ViewPdfForm.aspx?IdFormulaire=fff9df7d-fa3d-4713-bf51-acf44ab7a28c&amp;mode=popup\"><span style=\"color: #3366ff;\">Cliquez ici pour ajouter l\u2019ordonnance \u00e0 votre Medesync (anglais)<\/span><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0518d71 elementor-widget elementor-widget-text-editor\" data-id=\"0518d71\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/secure1.medesync.com\/Gestion\/Marche\/ViewPdfForm.aspx?IdFormulaire=acfe0f2d-b20f-48bc-9daa-c07a19963392&amp;mode=popup\"><img decoding=\"async\" class=\"wp-image-41111 aligncenter\" src=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/EMR_Icon-1-300x211.png\" alt=\"\" width=\"95\" height=\"71\"><\/a><\/p><p><a href=\"https:\/\/secure1.medesync.com\/Gestion\/Marche\/ViewPdfForm.aspx?IdFormulaire=acfe0f2d-b20f-48bc-9daa-c07a19963392&amp;mode=popup\"><span style=\"color: #3366ff;\">Cliquez ici pour ajouter l\u2019ordonnance \u00e0 votre Medesync (fran\u00e7ais)<\/span><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a03eee9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"a03eee9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54fc360 elementor-widget elementor-widget-heading\" data-id=\"54fc360\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pr\u00e9f\u00e9rez-vous obtenir les r\u00e9sultats de votre patient d\u2019une autre mani\u00e8re ?\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b9b798a elementor-widget elementor-widget-text-editor\" data-id=\"b9b798a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Faites-nous savoir quel format vous convient le mieux; copie papier, fax ou autre, et nous enverrons les r\u00e9sultats dans le format qui vous convient.<\/p><p>Veuillez envoyer un e-mail \u00e0 <a href=\"mailto:support@dormalab.com\">support@dormalab.com<\/a> avec toute demande et nous ferons de notre mieux pour les satisfaire.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-851b643 e-con-full e-flex e-con e-child\" data-id=\"851b643\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Formulaire de R\u00e9f\u00e9rence Clinique du Sommeil INFORMATIONS DU PATIENT Veuillez fournir les informations de base du patient pour la r\u00e9f\u00e9rence de consultation du sommeil. Pr\u00e9nom du Patient * Le pr\u00e9nom du patient est requis. Nom de Famille du Patient * Le nom de famille du patient est requis. Date de Naissance AAAA MM JJ Courriel &#8230; <a title=\"R\u00e9f\u00e9rer Un Patient\" class=\"read-more\" href=\"https:\/\/dormalab.com\/fr\/referer-un-patient\/\" aria-label=\"En savoir plus sur R\u00e9f\u00e9rer Un Patient\">Lire la suite<\/a><\/p>\n","protected":false},"author":20,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-8476","page","type-page","status-publish"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil<\/title>\n<meta name=\"description\" content=\"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dormalab.com\/fr\/referer-un-patient\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil\" \/>\n<meta property=\"og:description\" content=\"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dormalab.com\/fr\/referer-un-patient\/\" \/>\n<meta property=\"og:site_name\" content=\"Dorma Sleep Clinics\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-24T15:51:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/\",\"url\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/\",\"name\":\"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dormalab.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/pdf_icon-300x300.png\",\"datePublished\":\"2020-01-21T13:14:12+00:00\",\"dateModified\":\"2025-10-24T15:51:59+00:00\",\"description\":\"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dormalab.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/pdf_icon-300x300.png\",\"contentUrl\":\"https:\\\/\\\/dormalab.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/pdf_icon-300x300.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/referer-un-patient\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"R\u00e9f\u00e9rer Un Patient\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/\",\"name\":\"Dorma Sleep Clinics\",\"description\":\"Sleep Well Live Well\",\"publisher\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#organization\",\"name\":\"Dorma Clinique Du Sommeil\",\"url\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dormalab.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/Dorma-Logotype-RGB-Black-scaled-e1578787470924.png\",\"contentUrl\":\"https:\\\/\\\/dormalab.com\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/Dorma-Logotype-RGB-Black-scaled-e1578787470924.png\",\"width\":120,\"height\":25,\"caption\":\"Dorma Clinique Du Sommeil\"},\"image\":{\"@id\":\"https:\\\/\\\/dormalab.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil","description":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dormalab.com\/fr\/referer-un-patient\/","og_locale":"fr_FR","og_type":"article","og_title":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil","og_description":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.","og_url":"https:\/\/dormalab.com\/fr\/referer-un-patient\/","og_site_name":"Dorma Sleep Clinics","article_modified_time":"2025-10-24T15:51:59+00:00","og_image":[{"url":"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"4 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/","url":"https:\/\/dormalab.com\/fr\/referer-un-patient\/","name":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil - Dorma clinique du sommeil","isPartOf":{"@id":"https:\/\/dormalab.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/#primaryimage"},"image":{"@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/#primaryimage"},"thumbnailUrl":"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png","datePublished":"2020-01-21T13:14:12+00:00","dateModified":"2025-10-24T15:51:59+00:00","description":"R\u00e9f\u00e9rer un patient pour une \u00e9tude du sommeil. Les cliniques du sommeil Dorma offrent un service de r\u00e9f\u00e9rence en ligne simple et rapide pour les professionnels de la sant\u00e9.","breadcrumb":{"@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dormalab.com\/fr\/referer-un-patient\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/#primaryimage","url":"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png","contentUrl":"https:\/\/dormalab.com\/wp-content\/uploads\/2025\/10\/pdf_icon-300x300.png"},{"@type":"BreadcrumbList","@id":"https:\/\/dormalab.com\/fr\/referer-un-patient\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dormalab.com\/fr\/"},{"@type":"ListItem","position":2,"name":"R\u00e9f\u00e9rer Un Patient"}]},{"@type":"WebSite","@id":"https:\/\/dormalab.com\/fr\/#website","url":"https:\/\/dormalab.com\/fr\/","name":"Dorma Sleep Clinics","description":"Sleep Well Live Well","publisher":{"@id":"https:\/\/dormalab.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dormalab.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/dormalab.com\/fr\/#organization","name":"Dorma Clinique Du Sommeil","url":"https:\/\/dormalab.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dormalab.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/dormalab.com\/wp-content\/uploads\/2019\/10\/Dorma-Logotype-RGB-Black-scaled-e1578787470924.png","contentUrl":"https:\/\/dormalab.com\/wp-content\/uploads\/2019\/10\/Dorma-Logotype-RGB-Black-scaled-e1578787470924.png","width":120,"height":25,"caption":"Dorma Clinique Du Sommeil"},"image":{"@id":"https:\/\/dormalab.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/pages\/8476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/comments?post=8476"}],"version-history":[{"count":10,"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/pages\/8476\/revisions"}],"predecessor-version":[{"id":41223,"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/pages\/8476\/revisions\/41223"}],"wp:attachment":[{"href":"https:\/\/dormalab.com\/fr\/wp-json\/wp\/v2\/media?parent=8476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}