{"product_id":"dexa-bone-density-body-composition-scan","title":"DEXA Bone Density + Body Composition Scan","description":"\u003ch2\u003eDEXA Bone Density + Body Composition Scan\u003c\/h2\u003e\n\n\u003cp\u003e\u003cstrong\u003e$200\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cp\u003eA DEXA scan provides a detailed look at bone density and body composition using low-dose X-ray technology. The HormoneSynergy® DEXA assessment combines bone health information with whole-body composition measurements to provide a more complete picture of bone health, muscle, body fat, and visceral fat.\u003c\/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eYour $200 assessment includes:\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003eDEXA bone density assessment\u003c\/li\u003e\n  \u003cli\u003eWhole-body DEXA body composition\u003c\/li\u003e\n  \u003cli\u003eBody fat percentage\u003c\/li\u003e\n  \u003cli\u003eLean mass assessment\u003c\/li\u003e\n  \u003cli\u003eVisceral fat measurement\u003c\/li\u003e\n  \u003cli\u003eSECA body composition analysis\u003c\/li\u003e\n  \u003cli\u003eHologic® DEXA report\u003c\/li\u003e\n  \u003cli\u003eMedical assistant overview of your results and key report measurements\u003c\/li\u003e\n  \u003cli\u003eHormoneSynergy® patient education handout to help you understand your DEXA results\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c!-- WHOLE BODY ONLY OPTION --\u003e\n\u003cdiv style=\"border:1px solid #d8d8d8; padding:20px; margin:24px 0; background:#f7f7f7;\"\u003e\n  \u003ch3 style=\"margin-top:0; margin-bottom:10px;\"\u003eNeed Body Composition Only?\u003c\/h3\u003e\n\n  \u003cp\u003e\n    This $200 DEXA assessment includes both \u003cstrong\u003ebone density testing\u003c\/strong\u003e and \u003cstrong\u003ewhole-body composition analysis\u003c\/strong\u003e.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    If you only want body composition measurements, including body fat percentage, lean mass, regional composition, and visceral fat, you can choose the \u003cstrong\u003e$100 DEXA Whole Body Composition Scan\u003c\/strong\u003e instead. The whole-body-only option does not include hip or spine bone density testing.\n  \u003c\/p\u003e\n\n  \u003cp style=\"margin-bottom:0;\"\u003e\n    \u003ca href=\"https:\/\/hormonesynergy.com\/products\/dexa-whole-body-composition-scan\" style=\"font-weight:600;\"\u003e\n      View the $100 DEXA Whole Body Composition Scan →\n    \u003c\/a\u003e\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c!-- SCHEDULING CONTACT --\u003e\n\u003cdiv style=\"border:1px solid #d8d8d8; padding:20px; margin:24px 0; background:#f7f7f7;\"\u003e\n\n  \u003ch3 style=\"margin-top:0; margin-bottom:10px;\"\u003e\n    Scheduling Contact\n  \u003c\/h3\u003e\n\n  \u003cp style=\"margin-bottom:14px;\"\u003e\n    After purchase, our staff will contact you to schedule your DEXA appointment. Please provide the best phone number to reach you.\n  \u003c\/p\u003e\n\n  \u003clabel for=\"dexa-scheduling-phone\" style=\"display:block; font-weight:600; margin-bottom:6px;\"\u003e\n    Best Phone Number for Scheduling \u003cspan style=\"color:#a00000;\"\u003e*\u003c\/span\u003e\n  \u003c\/label\u003e\n\n  \u003cinput type=\"tel\" id=\"dexa-scheduling-phone\" autocomplete=\"tel\" placeholder=\"(503) 555-1234\" required style=\"\n      width:100%;\n      max-width:420px;\n      box-sizing:border-box;\n      padding:11px 12px;\n      border:1px solid #bdbdbd;\n      border-radius:3px;\n      font-size:16px;\n    \"\u003e\n\n  \u003cdiv id=\"dexa-phone-error\" role=\"alert\" style=\"\n      display:none;\n      color:#a00000;\n      margin-top:8px;\n      font-weight:600;\n    \"\u003e\n    Please enter the best phone number for scheduling before adding your DEXA scan to the cart.\n  \u003c\/div\u003e\n\n  \u003cp style=\"font-size:13px; margin-top:10px; margin-bottom:0;\"\u003e\n    Your email address will also be collected securely during Shopify checkout.\n  \u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003c!-- OPTIONAL PHYSICIAN REVIEW --\u003e\n\u003cdiv id=\"dexa-review-section\" style=\"border:1px solid #d8d8d8; padding:20px; margin:24px 0; background:#fafafa;\"\u003e\n\n  \u003ch3 style=\"margin-top:0; margin-bottom:10px;\"\u003e\n    Optional 15-Minute Physician Review — $100\n  \u003c\/h3\u003e\n\n  \u003cp\u003e\n    The $200 DEXA assessment already includes your Hologic® report, a medical assistant overview of your results, and a patient education handout.\n  \u003c\/p\u003e\n\n  \u003cp\u003e\n    If you would like additional clinical interpretation, you may add a 15-minute physician review of your DEXA results with Dr. Kathryn Retzler. The review provides additional clinical context for your bone density, lean mass, body fat percentage, visceral fat, and other relevant DEXA findings.\n  \u003c\/p\u003e\n\n  \u003cp style=\"font-weight:600;\"\u003e\n    Please add the $200 DEXA Scan first. Once it has been added to your cart, you can add the optional 15-minute physician review below.\n  \u003c\/p\u003e\n\n  \u003cbutton type=\"button\" id=\"add-dexa-review\" style=\"\n      display:inline-block;\n      background:#557238;\n      color:#ffffff;\n      border:0;\n      padding:13px 22px;\n      font-size:16px;\n      font-weight:600;\n      cursor:pointer;\n    \"\u003e\n    Add 15-Minute Physician Review — $100\n  \u003c\/button\u003e\n\n  \u003cdiv id=\"dexa-review-status\" aria-live=\"polite\" style=\"margin-top:12px; font-weight:600;\"\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\n  \u003cstrong\u003eLocation:\u003c\/strong\u003e\u003cbr\u003e\n  HormoneSynergy® Clinic\u003cbr\u003e\n  9 Monroe Parkway, Suite 260\u003cbr\u003e\n  Lake Oswego, OR 97035\n\u003c\/p\u003e\n\n\u003cp\u003e\n  \u003cstrong\u003ePhone:\u003c\/strong\u003e\n  \u003ca href=\"tel:5032307990\"\u003e503-230-7990\u003c\/a\u003e\n\u003c\/p\u003e\n\n\u003cp\u003eAfter purchase, a member of the HormoneSynergy® team will contact you to schedule your DEXA appointment.\u003c\/p\u003e\n\n\u003cp\u003eThe $200 DEXA assessment includes your Hologic® report, a medical assistant overview of the report, and a patient education handout. A physician consultation or physician interpretation is not included unless the optional 15-minute physician review is purchased separately.\u003c\/p\u003e\n\n\u003c!-- Hide accelerated checkout so the required scheduling phone is not bypassed --\u003e\n\u003cstyle\u003e\n  .shopify-payment-button {\n    display:none !important;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\n  var phoneInput = document.getElementById('dexa-scheduling-phone');\n  var phoneError = document.getElementById('dexa-phone-error');\n\n  var reviewButton = document.getElementById('add-dexa-review');\n  var reviewStatus = document.getElementById('dexa-review-status');\n  var reviewSection = document.getElementById('dexa-review-section');\n\n  var root =\n    window.Shopify \u0026\u0026\n    Shopify.routes \u0026\u0026\n    Shopify.routes.root\n      ? Shopify.routes.root\n      : '\/';\n\n  \/*\n    Find the main Shopify product form.\n  *\/\n  var productForms = document.querySelectorAll('form[action*=\"\/cart\/add\"]');\n  var productForm = null;\n\n  productForms.forEach(function(form) {\n    if (!productForm \u0026\u0026 form.querySelector('[name=\"id\"]')) {\n      productForm = form;\n    }\n  });\n\n  \/*\n    ============================================================\n    ADD $200 DEXA SCAN WITHOUT LEAVING THE PAGE\n    ============================================================\n  *\/\n\n  if (productForm \u0026\u0026 phoneInput) {\n\n    productForm.addEventListener('submit', async function(event) {\n\n      event.preventDefault();\n      event.stopImmediatePropagation();\n\n      var phone = phoneInput.value.trim();\n\n      if (!phone) {\n\n        phoneError.style.display = 'block';\n        phoneInput.style.borderColor = '#a00000';\n        phoneInput.focus();\n\n        phoneInput.scrollIntoView({\n          behavior: 'smooth',\n          block: 'center'\n        });\n\n        return false;\n      }\n\n      phoneError.style.display = 'none';\n      phoneInput.style.borderColor = '#bdbdbd';\n\n      var variantInput = productForm.querySelector('[name=\"id\"]');\n\n      if (!variantInput || !variantInput.value) {\n\n        alert(\n          'We could not identify the DEXA product option. Please refresh the page and try again.'\n        );\n\n        return false;\n      }\n\n      var variantId = variantInput.value;\n\n      var quantityInput =\n        productForm.querySelector('[name=\"quantity\"]');\n\n      var quantity =\n        quantityInput \u0026\u0026 parseInt(quantityInput.value, 10) \u003e 0\n          ? parseInt(quantityInput.value, 10)\n          : 1;\n\n      var submitButton =\n        productForm.querySelector(\n          'button[type=\"submit\"], input[type=\"submit\"]'\n        );\n\n      var originalButtonText = '';\n\n      if (submitButton) {\n\n        submitButton.disabled = true;\n\n        if (submitButton.tagName === 'INPUT') {\n\n          originalButtonText = submitButton.value;\n          submitButton.value = 'Adding DEXA Scan...';\n\n        } else {\n\n          originalButtonText = submitButton.textContent;\n          submitButton.textContent = 'Adding DEXA Scan...';\n\n        }\n      }\n\n      try {\n\n        \/*\n          First check whether this DEXA scan is already in the cart.\n        *\/\n        var currentCartResponse =\n          await fetch(root + 'cart.js');\n\n        if (!currentCartResponse.ok) {\n          throw new Error('Could not check cart.');\n        }\n\n        var currentCart =\n          await currentCartResponse.json();\n\n        var alreadyInCart =\n          currentCart.items.some(function(item) {\n            return String(item.variant_id) === String(variantId);\n          });\n\n        if (!alreadyInCart) {\n\n          \/*\n            Add DEXA scan and save scheduling phone as\n            a Shopify line-item property.\n          *\/\n          var addResponse =\n            await fetch(root + 'cart\/add.js', {\n\n              method: 'POST',\n\n              headers: {\n                'Content-Type': 'application\/json',\n                'Accept': 'application\/json'\n              },\n\n              body: JSON.stringify({\n\n                items: [\n                  {\n                    id: variantId,\n                    quantity: quantity,\n\n                    properties: {\n                      'Best Phone Number for Scheduling': phone\n                    }\n                  }\n                ]\n\n              })\n\n            });\n\n          if (!addResponse.ok) {\n            throw new Error('Could not add DEXA scan.');\n          }\n        }\n\n        \/*\n          Change main Shopify button to confirmation.\n        *\/\n        if (submitButton) {\n\n          if (submitButton.tagName === 'INPUT') {\n            submitButton.value = 'DEXA Scan Added ✓';\n          } else {\n            submitButton.textContent = 'DEXA Scan Added ✓';\n          }\n\n          submitButton.disabled = true;\n        }\n\n        \/*\n          Tell customer the scan is in the cart and present\n          the optional physician review.\n        *\/\n        if (reviewStatus) {\n\n          reviewStatus.innerHTML =\n            '\u003cdiv style=\"padding:12px 0 4px 0;\"\u003e' +\n            '\u003cstrong\u003eYour $200 DEXA Scan is now in your cart.\u003c\/strong\u003e\u003cbr\u003e' +\n            'You may add the optional 15-minute physician review ($100), or continue directly to your cart.\u003cbr\u003e\u003cbr\u003e' +\n            '\u003ca href=\"' + root + 'cart\" style=\"font-weight:600;\"\u003eContinue to Cart Without Physician Review →\u003c\/a\u003e' +\n            '\u003c\/div\u003e';\n        }\n\n        \/*\n          Scroll automatically to optional physician review.\n        *\/\n        if (reviewSection) {\n\n          setTimeout(function() {\n\n            reviewSection.scrollIntoView({\n              behavior: 'smooth',\n              block: 'center'\n            });\n\n          }, 300);\n        }\n\n      } catch (error) {\n\n        console.error(error);\n\n        if (submitButton) {\n\n          submitButton.disabled = false;\n\n          if (submitButton.tagName === 'INPUT') {\n            submitButton.value = originalButtonText;\n          } else {\n            submitButton.textContent = originalButtonText;\n          }\n        }\n\n        alert(\n          'We could not add the DEXA Scan to your cart. Please try again.'\n        );\n      }\n\n      return false;\n\n    }, true);\n\n  }\n\n\n  \/*\n    ============================================================\n    OPTIONAL $100 PHYSICIAN REVIEW\n    ============================================================\n  *\/\n\n  if (!reviewButton) return;\n\n  reviewButton.addEventListener('click', async function () {\n\n    reviewButton.disabled = true;\n    reviewButton.textContent = 'Checking cart...';\n\n    if (reviewStatus) {\n      reviewStatus.textContent = '';\n    }\n\n    try {\n\n      \/*\n        Load $200 DEXA product.\n      *\/\n      var scanResponse =\n        await fetch(\n          root + 'products\/dexa-bone-density-body-composition-scan.js'\n        );\n\n      if (!scanResponse.ok) {\n        throw new Error('Could not load DEXA product.');\n      }\n\n      var scanProduct =\n        await scanResponse.json();\n\n      var scanVariantIds =\n        scanProduct.variants.map(function(variant) {\n          return variant.id;\n        });\n\n\n      \/*\n        Check current cart.\n      *\/\n      var cartResponse =\n        await fetch(root + 'cart.js');\n\n      if (!cartResponse.ok) {\n        throw new Error('Could not check cart.');\n      }\n\n      var cart =\n        await cartResponse.json();\n\n\n      \/*\n        Confirm $200 DEXA is in cart.\n      *\/\n      var scanInCart =\n        cart.items.some(function(item) {\n          return scanVariantIds.indexOf(item.variant_id) !== -1;\n        });\n\n\n      if (!scanInCart) {\n\n        reviewButton.disabled = false;\n        reviewButton.textContent =\n          'Add 15-Minute Physician Review — $100';\n\n        if (reviewStatus) {\n\n          reviewStatus.innerHTML =\n            'Please add the \u003cstrong\u003e$200 DEXA Scan\u003c\/strong\u003e to your cart first.';\n        }\n\n        return;\n      }\n\n\n      \/*\n        Load $100 physician review product.\n      *\/\n      var reviewResponse =\n        await fetch(\n          root + 'products\/dexa-results-review.js'\n        );\n\n      if (!reviewResponse.ok) {\n        throw new Error('Could not load physician review.');\n      }\n\n      var reviewProduct =\n        await reviewResponse.json();\n\n\n      var reviewVariant =\n        reviewProduct.variants.find(function(variant) {\n          return variant.available;\n        }) || reviewProduct.variants[0];\n\n\n      if (!reviewVariant) {\n        throw new Error('No available physician review option.');\n      }\n\n\n      \/*\n        Prevent duplicate physician review.\n      *\/\n      var reviewAlreadyInCart =\n        cart.items.some(function(item) {\n          return item.variant_id === reviewVariant.id;\n        });\n\n\n      if (reviewAlreadyInCart) {\n\n        reviewButton.textContent =\n          'Physician Review Added ✓';\n\n        reviewButton.style.background = '#6b7f4c';\n\n        if (reviewStatus) {\n\n          reviewStatus.innerHTML =\n            '\u003cstrong\u003eYour DEXA Scan + Physician Review are in your cart.\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e' +\n            '\u003ca href=\"' + root + 'cart\" ' +\n            'style=\"display:inline-block; padding:11px 18px; background:#557238; color:#ffffff; text-decoration:none; font-weight:600;\"\u003e' +\n            'Continue to Cart →' +\n            '\u003c\/a\u003e';\n        }\n\n        return;\n      }\n\n\n      \/*\n        Add physician review.\n      *\/\n      var addReviewResponse =\n        await fetch(root + 'cart\/add.js', {\n\n          method: 'POST',\n\n          headers: {\n            'Content-Type': 'application\/json',\n            'Accept': 'application\/json'\n          },\n\n          body: JSON.stringify({\n\n            items: [\n              {\n                id: reviewVariant.id,\n                quantity: 1\n              }\n            ]\n\n          })\n\n        });\n\n\n      if (!addReviewResponse.ok) {\n        throw new Error('Could not add physician review.');\n      }\n\n\n      reviewButton.textContent =\n        'Physician Review Added ✓';\n\n      reviewButton.style.background = '#6b7f4c';\n\n\n      if (reviewStatus) {\n\n        reviewStatus.innerHTML =\n          '\u003cstrong\u003eYour $200 DEXA Scan and $100 Physician Review are now in your cart.\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e' +\n          '\u003ca href=\"' + root + 'cart\" ' +\n          'style=\"display:inline-block; padding:11px 18px; background:#557238; color:#ffffff; text-decoration:none; font-weight:600;\"\u003e' +\n          'Continue to Cart →' +\n          '\u003c\/a\u003e';\n      }\n\n    } catch (error) {\n\n      console.error(error);\n\n      reviewButton.disabled = false;\n      reviewButton.textContent =\n        'Add 15-Minute Physician Review — $100';\n\n      if (reviewStatus) {\n\n        reviewStatus.innerHTML =\n          'We could not add the review automatically. ' +\n          '\u003ca href=\"\/products\/dexa-results-review\"\u003e' +\n          'You can add the physician review here.\u003c\/a\u003e';\n      }\n    }\n\n  });\n\n});\n\u003c\/script\u003e","brand":"HormoneSynergy","offers":[{"title":"Default Title","offer_id":45866909073517,"sku":null,"price":200.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/9721\/files\/HologicDEXA.jpg?v=1789573183","url":"https:\/\/hormonesynergy.com\/products\/dexa-bone-density-body-composition-scan","provider":"HormoneSynergy","version":"1.0","type":"link"}