CINXE.COM
Echosens Launches its Liver Health Management (LHM) Platform Globally, Streamlining Liver Care | MedTech Dive
<!DOCTYPE html> <html class="no-js" dir="ltr" lang="en-US" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:false},ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"XQECWFRACQQJV1VRBQ==",licenseKey:"9c8be68c12",applicationID:"1793432"};;/*! For license information please see nr-loader-full-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>m,xN:()=>p});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function p(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>u,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>d});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,u=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(2646),w=r(3434);const E=new Map;function A(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,w.YM)(i),a=new x.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[w.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function T(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const _={};var S=r(9417),O=r(5603),N=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},p,x){let{init:w,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();E||(w=H.init,E=H.info,j=H.loader_config),(0,S.xN)(e.agentIdentifier,w||{}),(0,O.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const L=(0,S.D0)(e.agentIdentifier),D=[E.beacon,E.errorBeacon];P||(L.proxy.assets&&(I(L.proxy.assets),D.push(L.proxy.assets)),L.proxy.beacon&&D.push(L.proxy.beacon),T(),(0,h.US)("activatedFeatures",N.B),e.runSoftNavOverSpa&&=!0===L.soft_navigations.enabled&&L.feature_flags.includes("soft_nav")),C.denyList=[...L.ajax.deny_list||[],...L.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var x=s.ee.get(e),w=x.get("tracer");_[e]=b.g.OFF,x.on(g.G4.REPLAY_RUNNING,(t=>{_[e]=t}));var E="api-",T=E+"ixn-";function S(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,x),(0,R.R)(x,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,x),A(x,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(E,e,!0,"api")})),p.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),p.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return S(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return S("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return S("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,x),x.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,x)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,x)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,x),h||(0,a.p)(T+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,x),function(){if(w.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw w.emit("fn-err",[arguments,this,t],r),t}finally{w.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,x),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,x),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),x.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(T,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(T,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,x),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!_[e]],void 0,n.K7.jserrors,x)},d.RI?(0,u.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-54Aat8Udm6iAAlMAdj4qB/wPExKn9TKWSsPnD5+K2RMckmHE0cb0CFc0VauDfpPug5wse9qzwDKuwIMa3hX6gw==",222:"sha512-IA751FH/bvhLWl8I5ZELgH0tFQetWKV1G+9qRkPvOrTSv2X2tgItmreKfvrd8zImHp4sIPTnSN0otmgnX7UJXA==",95:"sha512-Rwnn8hCtQVvDGDl0hSpEazVuRDuvlGnJpNuNwuapJ46vDCvUNGBIzCZCrZYygTgVJUjMrfQoMAULb+2gKoTIiQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),E=i(2843),A=i(3878),T=i(782),_=i(1863);class S extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),g.RI&&((0,E.u)((()=>(0,w.p)("docHidden",[(0,_.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,_.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return L(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(L(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return L(e.error)?e.error:C(e)}function L(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,_.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,_.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,_.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,_.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,_.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,_.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Ee,Lc:Ae,uP:Te,Rz:_e}=be;class Se extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Te,(function(e,t){this.bstStart=(0,_.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,_.t)()],void 0,a.K7.sessionTrace,r)})),r.on(_e+xe,(function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash})),r.on(_e+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(g.RI&&(e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,w.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,w.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785);class ke extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,S,Se,Ne,he,N,D,Pe,ke],loaderType:"pro"})})()})();</script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"9c8be68c12","applicationID":"1793432","transactionName":"ZVJSZRFXWUVWABJbX1wYdkQNVUNfWA1JQVlGUlNeE08ZUlIACUBRRlhCQll1WFhDBghGYldTWUMGVUNyUgAJQFFGWEI=","queueTime":0,"applicationTime":94,"agent":""}</script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Echosens Launches its Liver Health Management (LHM) Platform Globally, Streamlining Liver Care | MedTech Dive</title> <meta name="description" content="MedTech industry news"/> <script data-cfasync="false"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('consent','default',{ 'ad_storage':'denied', 'analytics_storage':'denied', 'ad_user_data':'denied', 'ad_personalization':'denied', 'personalization_storage':'denied', 'functionality_storage':'granted', 'security_storage':'granted', 'wait_for_update': 500 }); gtag("set", "ads_data_redaction", true); </script> <script data-cfasync="false" src="https://cmp.osano.com/AzqdtLT8Mqkut2TZ/bdeb2f70-056f-4937-961a-e9db412e4c7a/osano.js"></script> <style> .osano-cm-widget{display: none;} </style> <script data-cfasync="false"> window.Osano.cm.addEventListener("osano-cm-script-blocked", function (item) { console.log("Script blocked: " + item); }); window.Osano.cm.addEventListener("osano-cm-cookie-blocked", function (item) { console.log("Cookie blocked: " + item); }); </script> <script> window.dive_location = "NonEU"; window.dive_limit_data_processing = false; </script> <!-- ====== FAVICONS ======= --> <link rel="icon" type="image/x-icon" sizes="any" href="/favicon.ico?v=2" /> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=2"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=2"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=2"> <link rel="manifest" href="/site.webmanifest?v=2"> <link rel="mask-icon" href="/safari-pinned-tab.svg?v=2" color="#5bbad5"> <meta name="msapplication-TileImage" content="/mstile-150x150.png?v=2"> <meta name="msapplication-TileColor" content="#603cba"> <meta name="theme-color" content="#ffffff"> <link rel="alternate" type="application/rss+xml" title="MedTech Dive - Latest News Feed" href="https://www.medtechdive.com/feeds/news/"/> <meta property="og:site_name" content="MedTech Dive" /> <meta property="og:title" content="Echosens Launches its Liver Health Management (LHM) Platform Globally, Streamlining Liver Care | MedTech Dive"/> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.healthcaredive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/" /> <link rel="stylesheet" href="/static/css/dive_app.css?510416050225"> <script> // Initialize dataLayer empty array for GTM events window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'site': 'MedTech Dive', }); // wrapper function to push GTM events to dataLayer pushGTMEvent = (eventObject) => { // if window.datalayer is not defined, then set to an empty array window.dataLayer.push(eventObject); }; </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-55G8WRR');</script> <!-- End Google Tag Manager --> <script> let eventParams = {}; const gtmEventObject = { event: 'page.content', 'page.content': { v:11, // seer version ...eventParams } }; window.pushGTMEvent(gtmEventObject); </script> <script type="module" src="/static/js/dist/lyticsHelper.bundle.js?290716050225" ></script> <script type="text/javascript" src="/static/js/ad_blocker_recovery.js?160016291122"></script> <!-- These are the 2 necessary scripts for the ad recovery message to work --> <script async src="https://fundingchoicesmessages.google.com/i/pub-8553262192892817?ers=1" nonce="RORABhIXgMhQdZXbks8fZQ"></script> <script nonce="RORABhIXgMhQdZXbks8fZQ">(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();</script> <!-- If the ad recovery message is blocked, this script shows a backup error message asking users to allow ads --> <script>(function(){/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ 'use strict';var aa=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ca={a:!0},n={};try{n.__proto__=ca;m=n.a;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} var p=k,q=function(a,b){a.prototype=ba(b.prototype);a.prototype.constructor=a;if(p)p(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.v=b.prototype},r=this||self,da=function(){},t=function(a){return a};var u;var w=function(a,b){this.g=b===v?a:""};w.prototype.toString=function(){return this.g+""};var v={},x=function(a){if(void 0===u){var b=null;var c=r.trustedTypes;if(c&&c.createPolicy){try{b=c.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(d){r.console&&r.console.error(d.message)}u=b}else u=b}a=(b=u)?b.createScriptURL(a):a;return new w(a,v)};var A=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)};var B={},C=null;var D="function"===typeof Uint8Array;function E(a,b,c){return"object"===typeof a?D&&!Array.isArray(a)&&a instanceof Uint8Array?c(a):F(a,b,c):b(a)}function F(a,b,c){if(Array.isArray(a)){for(var d=Array(a.length),e=0;e<a.length;e++){var f=a[e];null!=f&&(d[e]=E(f,b,c))}Array.isArray(a)&&a.s&&G(d);return d}d={};for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(f=a[e],null!=f&&(d[e]=E(f,b,c)));return d} function ea(a){return F(a,function(b){return"number"===typeof b?isFinite(b)?b:String(b):b},function(b){var c;void 0===c&&(c=0);if(!C){C={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),e=["+/=","+/","-_=","-_.","-_"],f=0;5>f;f++){var h=d.concat(e[f].split(""));B[f]=h;for(var g=0;g<h.length;g++){var l=h[g];void 0===C[l]&&(C[l]=g)}}}c=B[c];d=Array(Math.floor(b.length/3));e=c[64]||"";for(f=h=0;h<b.length-2;h+=3){var y=b[h],z=b[h+1];l=b[h+2];g=c[y>>2];y=c[(y&3)<< 4|z>>4];z=c[(z&15)<<2|l>>6];l=c[l&63];d[f++]=""+g+y+z+l}g=0;l=e;switch(b.length-h){case 2:g=b[h+1],l=c[(g&15)<<2]||e;case 1:b=b[h],d[f]=""+c[b>>2]+c[(b&3)<<4|g>>4]+l+e}return d.join("")})}var fa={s:{value:!0,configurable:!0}},G=function(a){Array.isArray(a)&&!Object.isFrozen(a)&&Object.defineProperties(a,fa);return a};var H;var J=function(a,b,c){var d=H;H=null;a||(a=d);d=this.constructor.u;a||(a=d?[d]:[]);this.j=d?0:-1;this.h=null;this.g=a;a:{d=this.g.length;a=d-1;if(d&&(d=this.g[a],!(null===d||"object"!=typeof d||Array.isArray(d)||D&&d instanceof Uint8Array))){this.l=a-this.j;this.i=d;break a}void 0!==b&&-1<b?(this.l=Math.max(b,a+1-this.j),this.i=null):this.l=Number.MAX_VALUE}if(c)for(b=0;b<c.length;b++)a=c[b],a<this.l?(a+=this.j,(d=this.g[a])?G(d):this.g[a]=I):(d=this.l+this.j,this.g[d]||(this.i=this.g[d]={}),(d=this.i[a])? G(d):this.i[a]=I)},I=Object.freeze(G([])),K=function(a,b){if(-1===b)return null;if(b<a.l){b+=a.j;var c=a.g[b];return c!==I?c:a.g[b]=G([])}if(a.i)return c=a.i[b],c!==I?c:a.i[b]=G([])},M=function(a,b){var c=L;if(-1===b)return null;a.h||(a.h={});if(!a.h[b]){var d=K(a,b);d&&(a.h[b]=new c(d))}return a.h[b]};J.prototype.toJSON=function(){var a=N(this,!1);return ea(a)}; var N=function(a,b){if(a.h)for(var c in a.h)if(Object.prototype.hasOwnProperty.call(a.h,c)){var d=a.h[c];if(Array.isArray(d))for(var e=0;e<d.length;e++)d[e]&&N(d[e],b);else d&&N(d,b)}return a.g},O=function(a,b){H=b=b?JSON.parse(b):null;a=new a(b);H=null;return a};J.prototype.toString=function(){return N(this,!1).toString()};var P=function(a){J.call(this,a)};q(P,J);function ha(a){var b,c=(a.ownerDocument&&a.ownerDocument.defaultView||window).document,d=null===(b=c.querySelector)||void 0===b?void 0:b.call(c,"script[nonce]");(b=d?d.nonce||d.getAttribute("nonce")||"":"")&&a.setAttribute("nonce",b)};var Q=function(a,b){b=String(b);"application/xhtml+xml"===a.contentType&&(b=b.toLowerCase());return a.createElement(b)},R=function(a){this.g=a||r.document||document};R.prototype.appendChild=function(a,b){a.appendChild(b)};var S=function(a,b,c,d,e,f){try{var h=a.g,g=Q(a.g,"SCRIPT");g.async=!0;g.src=b instanceof w&&b.constructor===w?b.g:"type_error:TrustedResourceUrl";ha(g);h.head.appendChild(g);g.addEventListener("load",function(){e();d&&h.head.removeChild(g)});g.addEventListener("error",function(){0<c?S(a,b,c-1,d,e,f):(d&&h.head.removeChild(g),f())})}catch(l){f()}};var ia=r.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),ja=r.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),ka=r.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),la=function(a,b,c){this.h=a;this.j=new R(this.h);this.g=null;this.i=[];this.l=!1;this.o=b;this.m=c},V=function(a){if(a.h.body&&!a.l){var b= function(){T(a);r.setTimeout(function(){return U(a,3)},50)};S(a.j,a.o,2,!0,function(){r[a.m]||b()},b);a.l=!0}},T=function(a){for(var b=W(1,5),c=0;c<b;c++){var d=X(a);a.h.body.appendChild(d);a.i.push(d)}b=X(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=W(100,110).toString()+"%";b.style.zIndex=W(2147483544,2147483644).toString();b.style["background-color"]=ma(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=ma(0,10,0,10,0,10);b.style.display= "flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=X(a);c.style.width=W(80,85).toString()+"%";c.style.maxWidth=W(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=Q(a.j.g,"IMG");d.className=A();d.src=ia;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=X(a),f=X(a);f.style["font-weight"]="bold";f.textContent=ja;var h=X(a);h.textContent=ka;Y(a, e,f);Y(a,e,h);Y(a,c,d);Y(a,c,e);Y(a,b,c);a.g=b;a.h.body.appendChild(a.g);b=W(1,5);for(c=0;c<b;c++)d=X(a),a.h.body.appendChild(d),a.i.push(d)},Y=function(a,b,c){for(var d=W(1,5),e=0;e<d;e++){var f=X(a);b.appendChild(f)}b.appendChild(c);c=W(1,5);for(d=0;d<c;d++)e=X(a),b.appendChild(e)},W=function(a,b){return Math.floor(a+Math.random()*(b-a))},ma=function(a,b,c,d,e,f){return"rgb("+W(Math.max(a,0),Math.min(b,255)).toString()+","+W(Math.max(c,0),Math.min(d,255)).toString()+","+W(Math.max(e,0),Math.min(f, 255)).toString()+")"},X=function(a){a=Q(a.j.g,"DIV");a.className=A();return a},U=function(a,b){0>=b||null!=a.g&&0!=a.g.offsetHeight&&0!=a.g.offsetWidth||(na(a),T(a),r.setTimeout(function(){return U(a,b-1)},50))},na=function(a){var b=a.i;var c="undefined"!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:aa(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.i=[];(b=a.g)&&b.parentNode&&b.parentNode.removeChild(b);a.g=null};var pa=function(a,b,c,d,e){var f=oa(c),h=function(l){l.appendChild(f);r.setTimeout(function(){f?(0!==f.offsetHeight&&0!==f.offsetWidth?b():a(),f.parentNode&&f.parentNode.removeChild(f)):a()},d)},g=function(l){document.body?h(document.body):0<l?r.setTimeout(function(){g(l-1)},e):b()};g(3)},oa=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var L=function(a){J.call(this,a)};q(L,J);var qa=function(a){J.call(this,a)};q(qa,J);var ra=function(a,b){this.l=a;this.m=new R(a.document);this.g=b;this.i=K(this.g,1);b=M(this.g,2);this.o=x(K(b,4)||"");this.h=!1;b=M(this.g,13);b=x(K(b,4)||"");this.j=new la(a.document,b,K(this.g,12))};ra.prototype.start=function(){sa(this)}; var sa=function(a){ta(a);S(a.m,a.o,3,!1,function(){a:{var b=a.i;var c=r.btoa(b);if(c=r[c]){try{var d=O(P,r.atob(c))}catch(e){b=!1;break a}b=b===K(d,1)}else b=!1}b?Z(a,K(a.g,14)):(Z(a,K(a.g,8)),V(a.j))},function(){pa(function(){Z(a,K(a.g,7));V(a.j)},function(){return Z(a,K(a.g,6))},K(a.g,9),K(a.g,10),K(a.g,11))})},Z=function(a,b){a.h||(a.h=!0,a=new a.l.XMLHttpRequest,a.open("GET",b,!0),a.send())},ta=function(a){var b=r.btoa(a.i);a.l[b]&&Z(a,K(a.g,5))};(function(a,b){r[a]=function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];r[a]=da;b.apply(null,d)}})("__h82AlnkH6D91__",function(a){"function"===typeof window.atob&&(new ra(window,O(qa,window.atob(a)))).start()});}).call(this); window.__h82AlnkH6D91__("WyJwdWItODU1MzI2MjE5Mjg5MjgxNyIsW251bGwsbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9iL3B1Yi04NTUzMjYyMTkyODkyODE3Il0sbnVsbCxudWxsLCJodHRwczovL2Z1bmRpbmdjaG9pY2VzbWVzc2FnZXMuZ29vZ2xlLmNvbS9lbC9BR1NLV3hVc0lBMXlKVmRQQWNGaXJQX1lGUTdENkpIZVNZUGV6bWNOM216TmJmYWhldlNobXpBVHkzVzlPLU5LV3MyNkx5cWVXRUx3YnRhZzN1MnZEWHVkZnFFSkVRXHUwMDNkXHUwMDNkP3RlXHUwMDNkVE9LRU5fRVhQT1NFRCIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFVoRGZtbFAtR2RTZUhBa1lVY2VmWTFQYXh1cDNFdmhndlJDNVM4bms3S2t1TElaUXBFQ05VZTIySUNjcGx4eF9oeVlveHJTdy1iU3FjUkhKZWwyWU1NalFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QxXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFgzMm02dWJvVVVwaXJ1b1VQMmhkY2R1S2U5S0pzaDlGRDloMDlWOTlYTkpyZkVTRW5HNzh4Vm0yUDZXdjBDNmkwMXZ4Ui11V25ZVVdlWEI3dmNCd1c5cFFcdTAwM2RcdTAwM2Q/YWJcdTAwM2QyXHUwMDI2c2JmXHUwMDNkMSIsImh0dHBzOi8vZnVuZGluZ2Nob2ljZXNtZXNzYWdlcy5nb29nbGUuY29tL2VsL0FHU0tXeFh0cXRhOEVpaV9LUVI4VHNLaDFVUGJ5TFlnNU1ocDFqdVNFemltQVFFeDFjRDJxalJhTjNDM21hSkt1VkVqdGZ5bTZjSXg5emVaLU5IazZMbTE5QjB1ZGdcdTAwM2RcdTAwM2Q/c2JmXHUwMDNkMiIsImRpdi1ncHQtYWQiLDIwLDEwMCwiY0hWaUxUZzFOVE15TmpJeE9USTRPVEk0TVRjXHUwMDNkIixbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tLzBlbW4vZi9wL3B1Yi04NTUzMjYyMTkyODkyODE3LmpzP3VzcXBcdTAwM2RDQUUiXSwiaHR0cHM6Ly9mdW5kaW5nY2hvaWNlc21lc3NhZ2VzLmdvb2dsZS5jb20vZWwvQUdTS1d4V0QtdnVGQVVZRE9STnItSmY2SnJGSGhYYU1QNlo5NG1CTjFyQ2g5M1FvdVNLSmtJcFBlLW1Uc2NpdHNWOEZ0aUdIdzBFZ1QtOEMzbHpFblJMczduZ0pQQVx1MDAzZFx1MDAzZCJd"); </script> <script src="/static/js/jquery_360.min.js?543516150322"></script> <script> // waitForTriggerHandler() is library for queuing up javascript to be stored and then executed when a trigger // function is called. You can push() any number of functions which will be stored unless and until trigger() // is called. Once trigger() is called any future functions that you push() in will be executed immediately. // It is safe to call .trigger() multiple times. Any arguments passed to .trigger() will also be passed along // to the associated function function waitForTriggerHandler() { var function_queue = []; var trigger_arguments = []; this._triggered = false; this.push = function(fn) { if (this._triggered) { // just run it immediately if handler has already been triggered fn.apply(null, trigger_arguments); } else { // otherwise add to the queue to run later function_queue.push(fn); } }; this.trigger = function() { // any arguments passed to trigger(foo, bar, baz) will also be passed along to functions in the queue // first convert any arguments to an array trigger_arguments = Array.prototype.slice.call(arguments); while (function_queue.length){ // for each function in the queue, pop it off and then execute it while passing in any // args that may have been passed to trigger(). function_queue.pop().apply(null, trigger_arguments); // The "null" above is for the value of "this". // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply#Parameters } this._triggered = true; } } // set up waitToLoadAds handler window.waitToLoadAds = new waitForTriggerHandler(); // We set up the triggers for this below, they depend on whether we're loading lytics on the page </script> <script type="text/javascript"> // This token is here for test_lytics_snippet.py test: lytics-is-enabled window.googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; // initialize callback (source: https://learn.lytics.com/product-docs/lytics-javascript-tag/receiving-data-from-lytics) !function(){"use strict";var o=window.jstag||(window.jstag={}),r=[];function n(e){o[e]=function(){for(var n=arguments.length,t=new Array(n),i=0;i<n;i++)t[i]=arguments[i];r.push([e,t])}}n("send"),n("mock"),n("identify"),n("pageView"),n("unblock"),n("getid"),n("setid"),n("loadEntity"),n("getEntity"),n("on"),n("once"),n("call"),o.loadScript=function(n,t,i){var e=document.createElement("script");e.async=!0,e.src=n,e.onload=t,e.onerror=i;var o=document.getElementsByTagName("script")[0],r=o&&o.parentNode||document.head||document.body,c=o||r.lastChild;return null!=c?r.insertBefore(e,c):r.appendChild(e),this},o.init=function n(t){return this.config=t,this.loadScript(t.src,function(){if(o.init===n)throw new Error("Load error!");o.init(o.config),function(){for(var n=0;n<r.length;n++){var t=r[n][0],i=r[n][1];o[t].apply(o,i)}r=void 0}()}),this}}(); // custom init + lytics default install tag from https://activate.getlytics.com/connect?aid=2751 // see https://learn.lytics.com/understanding/product-docs/lytics-javascript-tag/configuration#configuration-options var lyticsCid = '44fda7674f94228540d8fba6786f9770'; console.log('You are using the Lytics Prod account'); jstag.init({ src: `https://c.lytics.io/api/tag/${lyticsCid}/latest.min.js`, pageAnalysis: { dataLayerPull: { disabled: true } } }); jstag.pageView(); (function(){ var sailthru_cookie, sailthru_user_id; function read_cookie(cookieName) { var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)'); var sMatch = (' '+document.cookie).match(re); if (cookieName && sMatch) return unescape(sMatch[1]); return ''; } sailthru_cookie = read_cookie('sailthru_hid'); if (sailthru_cookie.length > 56) { sailthru_user_id = sailthru_cookie.slice(32,56); jstag.send({ st_profile_id: sailthru_user_id }); } })(); jstag.call('entityReady', waitToLoadAds.trigger); setTimeout(waitToLoadAds.trigger, 1000); // also trigger lytics if it's taking too long waitToLoadAds.push(function (lytics_data) { // lytics_data won't be defined if lytics failed to load correctly. In that case // we don't need to set any segments. if (lytics_data && lytics_data.segments) { googletag.cmd.push(function() { googletag.pubads().setTargeting("LyticsSegments", lytics_data.segments); }); } }); function getUID(id) { window.dataLayer.push({'user_id': id}); }; jstag.getid(getUID); </script> <script type="text/javascript" src="/static/js/mailcheck.min.js?192616240919"></script> <script type="text/javascript" src="/static/js/dive_mailcheck.js?192616240919"></script> <script src="/static/js/app.js?262317060225"></script> <script type="text/javascript"> var divecounter_settings = {}; </script> <script type="text/javascript" src="/static/js/divecounter.js?261616040423"></script> <script type="text/javascript"> // Special unbounce signup thing for google traffic. Test with ?test_unbounce in the URL // Note: divecounter must already be loaded. Only enabled on pages that would normally have signup ads // Note: showSignupAd is always off if prestitial is enabled! if ((typeof divecounter !== "undefined") && ($(window).width() > 640)) { var test_unbounce = (window.location.href.indexOf("?test_unbounce")>=0); var force_unbounce = (window.location.href.indexOf("signupbounce=1")>=0) || (window.location.href.indexOf("utm_campaign=Linked-HR")>=0) || (window.location.href.indexOf("utm_source=outbrain")>=0); if (test_unbounce || force_unbounce || (document.referrer.match(/^https?:\/\/(www\.google\.|news\.google\.|t\.co|twitter\.com|www\.facebook\.com)/i) && divecounter.getOption('showSignupAd') && divecounter.canShow(1,1)) ) { // dyanmically load ouibounce.js only on pages where its needed $.getScript("/static/js/ouibounce.min.js?102717100918", function(){ // Once ouibounce.js loads, call the script // We're reusing divecounter's modal instead of OuiBounce's modal code (that's why we pass it 'false') var _ouibounce = ouibounce(false, { aggressive: test_unbounce, // ignore cookie in test mode cookieName: '_viewedOuiBounce', // underscored cookies should be ignored by Varnish callback: function() { divecounter_open_ad(); } }); }); } // end should show unbounce } // end divecounter defined </script> <script type="module" src="/static/js/dist/googleAnalyticsHelper.bundle.js?290716050225" ></script> <script type="text/javascript"> function read_cookie(cookieName) { var re = new RegExp('[; ]'+cookieName+'=([^\\s;]*)'); var sMatch = (' '+document.cookie).match(re); if (cookieName && sMatch) return unescape(sMatch[1]); return ''; } var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; script.addEventListener('load', function(e) { // we only pass the template this context variable on newsposts let informaData = false; if (window.IIRISTracker) { var sailthru_id = read_cookie('sailthru_hid'); if (sailthru_id.length > 56) { sailthru_id = sailthru_id.slice(32,56); } var notProduction = 'False' === 'True'; var domain = 'www.medtechdive.com'.split('.')[1]; // on non-prod environment, there is specific collector domain to send the data to. var cDomain = notProduction ? 'com-informa-prod1.mini.snplow.net' : 'c.' + domain + '.com' // removed .com previous line var cfg = { config: { td: {}, snowplow: { context: {} } } }; cfg.config.idsource = 'sailthruid'; cfg.config.snowplow.appId = domain; cfg.config.snowplow.cDomain = cDomain; cfg.config.td.lob = 'it'; cfg.config.td.domain = domain; cfg.config.snowplow.contentTagEnabled = !!informaData cfg.config.snowplow.context = informaData window.IIRISTracker.initConfig(cfg); window.IIRISTracker.setTrackingUID(sailthru_id); var irisEvt = new Event('trackerLoaded'); window.dispatchEvent(irisEvt); } else { window.addEventListener('trackerLoaded', function(evt) { if(window.IIRISTracker) { window.IIRISTracker.setTrackingUID(sailthru_id); } }); } }); script.src = 'https://static.iris.informa.com/widgets/v3.0/iris-t.js'; document.getElementsByTagName('head')[0].appendChild(script); </script> <script type="text/javascript"> jQuery.browser = {}; (function () { jQuery.browser.msie = false; jQuery.browser.version = 0; if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { jQuery.browser.msie = true; jQuery.browser.version = RegExp.$1; } })(); </script> <!-- for modal signup form --> <script type="text/javascript" src="/static/js/jquery.simplemodal.divefork.min.js?093716120922"></script> <style> /* dynamic style overrides based on DB go here*/ </style> <link rel="canonical" href="https://www.healthcaredive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/" /> <link rel="preload" href="/static/css/dive_pressrelease_app.css?510416050225" as="style" onload="this.onload=null; this.rel='stylesheet';"> <script type="module" src="/static/js/dist/signupReferrer.bundle.js?290716050225" ></script> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script src="/static/js/dist/signupDataGam.bundle.js?290716050225"></script> <script type="text/javascript" src="/static/js/dist/adTemplates.bundle.js?290716050225"></script> <script> var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; // Build the site_logos object to be later referenced in house ads const site_logos = {}; site_logos['diveapi'] = { domain: 'diveapi', site_name: "API Site", alt_text: "API Site logo", is_current_site: false, white: { png: "None", svg: "None", }, black: { png: "None", svg: "None", } }; site_logos['agriculturedive'] = { domain: 'agriculturedive', site_name: "Agriculture Dive", alt_text: "Agriculture Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/agriculture_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/agriculture_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/agriculture_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/agriculture_black.svg", } }; site_logos['automotivedive'] = { domain: 'automotivedive', site_name: "Automotive Dive", alt_text: "Automotive Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/automotive_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/automotive_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/automotive_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/automotive_black.svg", } }; site_logos['bankingdive'] = { domain: 'bankingdive', site_name: "Banking Dive", alt_text: "Banking Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/banking_black.svg", } }; site_logos['biopharmadive'] = { domain: 'biopharmadive', site_name: "BioPharma Dive", alt_text: "BioPharma Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/biopharma_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/biopharma_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/biopharma_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/biopharma_black.svg", } }; site_logos['cfo'] = { domain: 'cfo', site_name: "CFO.com", alt_text: "CFO.com logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfodotcom_white.svg", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfodotcom_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfodotcom_black.svg", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfodotcom_black.svg", } }; site_logos['cfodive'] = { domain: 'cfodive', site_name: "CFO Dive", alt_text: "CFO Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfo_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfo_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfo_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cfo_black.svg", } }; site_logos['ciodive'] = { domain: 'ciodive', site_name: "CIO Dive", alt_text: "CIO Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cio_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cio_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cio_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cio_black.svg", } }; site_logos['constructiondive'] = { domain: 'constructiondive', site_name: "Construction Dive", alt_text: "Construction Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/construction_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/construction_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/construction_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/construction_black.svg", } }; site_logos['cstoredive'] = { domain: 'cstoredive', site_name: "C-Store Dive", alt_text: "C-Store Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cstore_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cstore_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cstore_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cstore_black.svg", } }; site_logos['customerexperiencedive'] = { domain: 'customerexperiencedive', site_name: "CX Dive", alt_text: "CX Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cx_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cx_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cx_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cx_black.svg", } }; site_logos['cybersecuritydive'] = { domain: 'cybersecuritydive', site_name: "Cybersecurity Dive", alt_text: "Cybersecurity Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cybersecurity_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cybersecurity_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cybersecurity_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/cybersecurity_black.svg", } }; site_logos['educationdive'] = { domain: 'educationdive', site_name: "Education Dive", alt_text: "Education Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/education_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/education_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/education_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/education_black.svg", } }; site_logos['esgdive'] = { domain: 'esgdive', site_name: "ESG Dive", alt_text: "ESG Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/esg_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/esg_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/esg_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/esg_black.svg", } }; site_logos['facilitiesdive'] = { domain: 'facilitiesdive', site_name: "Facilities Dive", alt_text: "Facilities Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/facilities_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/facilities_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/facilities_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/facilities_black.svg", } }; site_logos['fashiondive'] = { domain: 'fashiondive', site_name: "Fashion Dive", alt_text: "Fashion Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/fashion_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/fashion_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/fashion_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/fashion_black.svg", } }; site_logos['fooddive'] = { domain: 'fooddive', site_name: "Food Dive", alt_text: "Food Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/food_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/food_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/food_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/food_black.svg", } }; site_logos['grocerydive'] = { domain: 'grocerydive', site_name: "Grocery Dive", alt_text: "Grocery Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/grocery_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/grocery_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/grocery_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/grocery_black.svg", } }; site_logos['healthcaredive'] = { domain: 'healthcaredive', site_name: "Healthcare Dive", alt_text: "Healthcare Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/healthcare_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/healthcare_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/healthcare_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/healthcare_black.svg", } }; site_logos['highereddive'] = { domain: 'highereddive', site_name: "Higher Ed Dive", alt_text: "Higher Ed Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/highered_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/highered_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/highered_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/highered_black.svg", } }; site_logos['hoteldive'] = { domain: 'hoteldive', site_name: "Hotel Dive", alt_text: "Hotel Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hotel_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hotel_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hotel_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hotel_black.svg", } }; site_logos['hrdive'] = { domain: 'hrdive', site_name: "HR Dive", alt_text: "HR Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hr_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hr_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hr_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/hr_black.svg", } }; site_logos['k12dive'] = { domain: 'k12dive', site_name: "K-12 Dive", alt_text: "K-12 Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/k12_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/k12_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/k12_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/k12_black.svg", } }; site_logos['legaldive'] = { domain: 'legaldive', site_name: "Legal Dive", alt_text: "Legal Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/legal_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/legal_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/legal_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/legal_black.svg", } }; site_logos['manufacturingdive'] = { domain: 'manufacturingdive', site_name: "Manufacturing Dive", alt_text: "Manufacturing Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/manufacturing_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/manufacturing_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/manufacturing_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/manufacturing_black.svg", } }; site_logos['marketingdive'] = { domain: 'marketingdive', site_name: "Marketing Dive", alt_text: "Marketing Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/marketing_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/marketing_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/marketing_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/marketing_black.svg", } }; site_logos['medtechdive'] = { domain: 'medtechdive', site_name: "MedTech Dive", alt_text: "MedTech Dive logo", is_current_site: true, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/medtech_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/medtech_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/medtech_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/medtech_black.svg", } }; site_logos['mobilemarketer'] = { domain: 'mobilemarketer', site_name: "Mobile Marketer", alt_text: "Mobile Marketer logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/mobilemarketer_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/mobilemarketer_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/mobilemarketer_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/mobilemarketer_black.svg", } }; site_logos['multifamilydive'] = { domain: 'multifamilydive', site_name: "Multifamily Dive", alt_text: "Multifamily Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/multifamily_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/multifamily_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/multifamily_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/multifamily_black.svg", } }; site_logos['packagingdive'] = { domain: 'packagingdive', site_name: "Packaging Dive", alt_text: "Packaging Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/packaging_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/packaging_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/packaging_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/packaging_black.svg", } }; site_logos['paymentsdive'] = { domain: 'paymentsdive', site_name: "Payments Dive", alt_text: "Payments Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/payments_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/payments_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/payments_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/payments_black.svg", } }; site_logos['pharmavoice'] = { domain: 'pharmavoice', site_name: "PharmaVoice", alt_text: "PharmaVoice logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/pharmavoice_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/pharmavoice_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/pharmavoice_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/pharmavoice_black.svg", } }; site_logos['proformative'] = { domain: 'proformative', site_name: "Proformative", alt_text: "Proformative logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/proformative_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/proformative_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/proformative_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/proformative_black.svg", } }; site_logos['restaurantdive'] = { domain: 'restaurantdive', site_name: "Restaurant Dive", alt_text: "Restaurant Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/restaurant_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/restaurant_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/restaurant_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/restaurant_black.svg", } }; site_logos['retaildive'] = { domain: 'retaildive', site_name: "Retail Dive", alt_text: "Retail Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/retail_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/retail_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/retail_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/retail_black.svg", } }; site_logos['smartcitiesdive'] = { domain: 'smartcitiesdive', site_name: "Smart Cities Dive", alt_text: "Smart Cities Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smartcities_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smartcities_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smartcities_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smartcities_black.svg", } }; site_logos['socialmediatoday'] = { domain: 'socialmediatoday', site_name: "Social Media Today", alt_text: "Social Media Today logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smt_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smt_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smt_color.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/smt_color.svg", } }; site_logos['supplychaindive'] = { domain: 'supplychaindive', site_name: "Supply Chain Dive", alt_text: "Supply Chain Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/supplychain_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/supplychain_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/supplychain_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/supplychain_black.svg", } }; site_logos['truckingdive'] = { domain: 'truckingdive', site_name: "Trucking Dive", alt_text: "Trucking Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/trucking_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/trucking_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/trucking_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/trucking_black.svg", } }; site_logos['utilitydive'] = { domain: 'utilitydive', site_name: "Utility Dive", alt_text: "Utility Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/utility_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/utility_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/utility_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/utility_black.svg", } }; site_logos['wastedive'] = { domain: 'wastedive', site_name: "Waste Dive", alt_text: "Waste Dive logo", is_current_site: false, white: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/waste_white.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/waste_white.svg", }, black: { png: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/waste_black.png", svg: "https://d12v9rtnomnebu.cloudfront.net/logo/publications/waste_black.svg", } }; // Get the dive domain and return the dive logo object, or null if it doesn't exist in site_logos function getDivesiteLogoObject(link_url, alt_domain='') { let dive_domain; // Split link URL on 'adurl=' and take what comes after as the ad url const ad_url = decodeURIComponent(link_url.split('adurl=')[1]); // Split on . to get an array of hostname segments const dive_domain_array = new URL(ad_url).hostname.split('.'); // Retrieve the second to last element of the hostname array, which should always be the domain dive_domain = dive_domain_array[dive_domain_array.length - 2] if (alt_domain) { // If alt_domain has been specified, normalize it. i.e. "HR Dive", "http://hrdive.com", etc. => "hrdive" // This will override the link url's domain. dive_domain = alt_domain.replace(/\s+/g, '').replace(/^(https?:\/\/)?(www\.)?|\.com.*|\?.*|#.*/gi, '').toLowerCase(); } // Return the site logos object for this domain if it exists, or null if it does not if (site_logos[dive_domain]) { return site_logos[dive_domain]; } else { // Fallback logo const url_prefix = "https://d12v9rtnomnebu.cloudfront.net/divesite/responsive_ad_assets/small_logos/"; return { domain: 'industrydive', site_name: 'Industry Dive', alt_text: 'Industry Dive logo', white: { svg: url_prefix + 'industrydive-small-white.svg', png: url_prefix + 'industrydive-small-white.png', }, black: { svg: url_prefix + 'industrydive-small-black.svg', png: url_prefix + 'industrydive-small-black.png', } } } } eventer(messageEvent, function (e) { var key = e.message ? "message" : "data"; var data = e[key]; var eventName = data.message || 'ignore'; if (eventName == 'adContentAvailable') { var $ad_element; $ad_element = $('div').filter('[data-container-ad-unit-id="' + data.adUnit + '-' + window.dfp_visibility + '"]'); $ad_element.hide() var nativeAdEditorialSelector = '.sidebar .hybrid-ad-wrapper .native-ad-editorial'; var nativeAdEditorialExists = $(nativeAdEditorialSelector).length > 0; if ( nativeAdEditorialExists ) { $(nativeAdEditorialSelector).closest('.hybrid-ad-wrapper').addClass('native-ad-editorial-sidebar-border'); } // Inline homepage ad $('.feed-item-ad .hybrid-ad-wrapper a').each(function (index, element) { window.updateGamAdUrl(element, 'inline'); }); // Editorial native ad sidebar // NOTE: must go before inline native ad to ensure correct location added $('.sidebar .native-ad.editorial a').each(function (index, element) { window.updateGamAdUrl(element, 'sidebar'); }); // Editorial native ad inline $('.native-ad.editorial a').each(function (index, element) { window.updateGamAdUrl(element, 'inline'); }); // Sidebar ad $('.sidebar .hybrid-ad-wrapper a').each(function (index, element) { window.updateGamAdUrl(element, 'sidebar'); }); } }, false); var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function () { var desktopWidth = 1024; if (window.innerWidth >= desktopWidth) { window.dfp_visibility = 'desktop'; } else { window.dfp_visibility = 'mobile'; } var dfpDisplayConfiguration = { "prestitialEnabled": false, "leaderboardEnabled": true, "sidebarAdsEnabled": true, "visibility": window.dfp_visibility }; if (window.dfp_visibility == 'desktop') { if (typeof prestitialAds == 'object' && prestitialAds.pageIsPrestitialEligible()) { googletag.defineSlot('/21662595662/medtechdive/medtechdiveprestitial', [[500, 300], [640, 480]], 'paychekgoeshere').addService(googletag.pubads()); } if (dfpDisplayConfiguration.leaderboardEnabled) { googletag.defineSlot('/21662595662/medtechdive/medtechdiveleaderboard', [[970, 180], [728, 90], [970, 90]], 'dfp-leaderboard-desktop').addService(googletag.pubads()); googletag.pubads().addEventListener('slotRenderEnded', function (event) { if ((event.slot.getAdUnitPath() === '/21662595662/medtechdive/medtechdiveleaderboard' || event.slot.getAdUnitPath() === '/21662595662/medtechdive/medtechdiveleaderboard') && !event.isEmpty ) { $(window).blur(function () { if (document.activeElement === $('#dfp-leaderboard-desktop iframe')[0] || document.activeElement === $('#dfp-leaderboard-desktop iframe')[0]) { try { localStorage.setItem('leaderboard_signup_path', document.location.pathname); } catch (e) { // local storage could not be available due to privacy settings or something } } }); } }); } if (dfpDisplayConfiguration.sidebarAdsEnabled) { googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid1', [[300, 250], 'fluid', [160, 600]], 'dfp-hybrid1-desktop').addService(googletag.pubads()); } googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid2', [[300, 250], 'fluid'], 'dfp-hybrid2-desktop').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid3', [[300, 250], 'fluid'], 'dfp-hybrid3-desktop').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid4', [[300, 250], 'fluid'], 'dfp-hybrid4-desktop').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivethankyouhybrid1', ['fluid'], 'dfp-thankyouhybrid1-desktop').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivethankyouhybrid2', ['fluid'], 'dfp-thankyouhybrid2-desktop').addService(googletag.pubads()); } else { googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid1', [[300, 250], 'fluid'], 'dfp-hybrid1-mobile').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid2', [[300, 250], 'fluid'], 'dfp-hybrid2-mobile').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid3', [[300, 250], 'fluid'], 'dfp-hybrid3-mobile').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivehybrid4', [[300, 250], 'fluid'], 'dfp-hybrid4-mobile').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivethankyouhybrid1', ['fluid'], 'dfp-thankyouhybrid1-mobile').addService(googletag.pubads()); googletag.defineSlot('/21662595662/medtechdive/medtechdivethankyouhybrid2', ['fluid'], 'dfp-thankyouhybrid2-mobile').addService(googletag.pubads()); } if ((typeof divecounter !== "undefined") && (divecounter.getData().is_subscriber)) { googletag.pubads().setTargeting("is_subscriber", "yes"); } var site = window.location.host; googletag.pubads().setTargeting("site", site); var first_path = window.location.pathname.split( '/' )[1]; googletag.pubads().setTargeting("first_path", first_path); // Set ad targeting on the trendline to show the ads designated for it var isTopicPage = window.location.pathname.indexOf('/topic/') !== -1; if(isTopicPage) { googletag.pubads().setTargeting('is_topics_page', 'true'); } googletag.pubads().setCentering(true); googletag.pubads().collapseEmptyDivs(false); // Whether to collapse the slots even before the ads are fetched. googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <script>window.fallbackAds = '[]'</script> <script type="module" src="/static/js/dist/onBoardDiagnostics.bundle.js?290716050225" ></script> <!-- NEW RELIC SYNTHETICS CANARY --> <!-- script for informa/techtarget banner --> <script src="https://d12v9rtnomnebu.cloudfront.net/informa_banner/techtarget-informa-banner.min.js"></script> </head> <body class="pressrelease"> <techtarget-informa-banner theme="light" language="en" class="no-print"></techtarget-informa-banner> <!-- Accessibility skip-nav link --> <a href="#skip-link-target" class="button button--loud skip-nav-link" tabindex="1">Skip to main content</a> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-55G8WRR" height="0" width="0" style="display:none;visibility:hidden"> </iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="signup-inter" class="modal_dialog" style="display:none;"> <form id="signup-inter-form" class="form-basic" name="signup-inter-form" action="/signup/" method="POST"> <input type="hidden" name="signup_box_location" value="interstitial"> <input type="hidden" name="signup_initial_url_path" value=""> <h1> Don't miss tomorrow's medtech industry news </h1> <p class="interstitial-text"> Let MedTech Dive's free newsletter keep you informed, straight from your inbox. </p> <p class="form-error__message" id="interstitial-error"></p> <div id="form-interstitial"> <input type="email" name="email" placeholder="Work email address" class="email" required id="id_fcb1fe_email"> <div id="newsletter-list-section"> </div> <div id="interstitial-consent-container"> <input name="user_consent" value="1" id="id_user_consent" type="checkbox"> <span> By signing up to receive our newsletter, you agree to our <a href="https://www.techtarget.com/terms-of-use/" target="_blank">Terms of Use</a> and <a href="https://www.techtarget.com/privacy-policy/" target="_blank">Privacy Policy</a>. You can unsubscribe at anytime. </span> </div> </div> <input id="signup-inter-submit" class="email_submit submit button" type="submit" data-role="none" value="Subscribe today"> </form> </div> <!-- leaderboard --> <div class="leaderboard-wrap"> <div class="hide-small show-large"> <div data-container-ad-unit-id="/21662595662/medtechdive/medtechdiveleaderboard-desktop"></div> <div id='dfp-leaderboard-desktop' style="min-height: 90px"> <script> waitToLoadAds.push(function() { googletag.cmd.push(function() { if (window.dfp_visibility == 'desktop') { googletag.display('dfp-leaderboard-desktop'); } }) }); </script> </div> </div> </div> <div class="page-container"> <header role="banner"> <nav id="top" class="site-menu" aria-label="Site menu"> <div class="site-menu-inner"> <!-- logo --> <div class="pub-logo-wrapper"> <a href="/" class="analytics t-dash-navigation"> <img class="pub-logo" src="http://d12v9rtnomnebu.cloudfront.net/logo/publications/medtech_black.png" alt="MedTech Dive" height="28"> </a> </div> <!-- desktop menu, not visible on mobile/tablet --> <div class="menu-content-wrapper"> <ul class="desktop-menu-main"> <li> <a href="/deep-dive/" class="nav-menu-item analytics t-deepdive-navigation">Deep Dive</a> </li> <li> <a href="/library/" class="nav-menu-item analytics t-library-navigation">Library</a> </li> <li> <a href="/events/" class="nav-menu-item analytics t-events-navigation">Events</a> </li> <li> <a href="/press-release/" class="nav-menu-item analytics t-press-releases-navigation">Press Releases</a> </li> <li class="topics top-nav-dropdown-item"> <button class="nav-menu-item topics-dropdown-item"> Topics <span class="dropdown-toggle-arrow"></span> </button> </li> </ul> <!-- mobile menu toggle icon, not visible on desktop --> <a href="/signup/?signup_location=header" class="nav-menu-item nav-signup-button mobile-nav-signup-button analytics t-signup-navigation button"> Sign up </a> <button class="mobile-menu-toggle"> <img src="/static/img/menu_icons/menu.svg?273117231121" alt="menu" loading="lazy"> </button> <!-- newsletter and search, only shown on desktop --> <ul class="desktop-menu-sub list-no-bullets"> <li> <button class="search-toggle search-button-front analytics t-search-navigation-top"> <img src="/static/img/menu_icons/search.svg?320116291121" alt="search" width="16" height="16" loading="lazy"> <span class="sub-link">Search</span> </button> </li> <li> <a href="/signup/?signup_location=header" class="nav-menu-item nav-signup-button desktop-nav-signup-button analytics t-signup-navigation button"> <img src="/static/img/email_icons/mail.svg?273117231121" width="16" height="11" loading="lazy" alt=""> Sign up </a> </li> </ul> </div> </div> </nav> </header> <div class="menu-search js-search-hide"> <div class="menu-search-inner-wrapper row"> <form action="/search/" method="GET" data-ajax="false"> <label for="search-desktop"> <span class="screen-reader-text search">Search</span> </label> <input id="search-desktop" type="search" name="q" placeholder="Search" data-role="none"> <button type="submit" value="" data-role="none" class="search-button-front analytics t-search-navigation-drawer"> <img src="/static/img/menu_icons/search.svg?320116291121" alt="search" height="16" width="16" loading="lazy"> </button> <img class="close" src="/static/img/menu_icons/close.svg?273117231121" width="16" height="16" alt="close search" loading="lazy"> </form> </div> </div> <nav class="topics menu-bar" aria-label="Menu bar"> <ul class="list-no-bullets"> <li> <a class="analytics t-topic-navigation-policy-regulation" href="/topic/policy-regulation/">FDA</a> </li> <li> <a class="analytics t-topic-navigation-ma" href="/topic/ma/">M&A</a> </li> <li> <a class="analytics t-topic-navigation-recalls" href="/topic/recalls/">Recalls</a> </li> <li> <a class="analytics t-topic-navigation-earnings" href="/topic/earnings/">Earnings</a> </li> <li> <a class="analytics t-topic-navigation-cybersecurity" href="/topic/cybersecurity/">Cybersecurity</a> </li> <li> <a class="analytics t-topic-navigation-ai" href="/topic/ai/">AI</a> </li> <li> <a class="analytics t-topic-navigation-cardiac" href="/topic/cardiac/">Cardiac</a> </li> <li> <a class="analytics t-topic-navigation-diabetes" href="/topic/diabetes/">Diabetes</a> </li> <li> <a class="analytics t-topic-navigation-diagnostics" href="/topic/diagnostics/">Diagnostics</a> </li> </ul> </nav> <script type="module" src="/static/js/dist/navSignupHelper.bundle.js?290716050225" ></script> <script> window.siteName = 'MedTech Dive'; </script> <div class="search-overlay"></div> <div class="page-wrapper"> <div class="page-inner-wrapper" id="skip-link-target"> <script src="/static/js/jquery.ui.widget.js" type="text/javascript"></script> <script src="/static/js/jquery.iframe-transport.js" type="text/javascript"></script> <script src="/static/js/jquery.fileupload.js" type="text/javascript"></script> <script src="/static/js/jquery.cloudinary.js" type="text/javascript"></script> <script type='text/javascript'> $.cloudinary.config({"api_key": "516981353162248", "cloud_name": "dmgi9movl"}); </script> <section class="pressrelease-written-content "> <div class="header"> <div class="header__background-top"></div> <div class="row"> <div class="header__back-link"> <a href="/press-release/">← Press Releases</a> <div class="clear-fix"></div> </div> <div class="header__wrapper"> <div class="header__wrapper__background-middle"></div> <div class="large-2 medium-2 large-push-9 medium-push-9 columns"> <div class="header__wrapper__company-logo show-medium"> <img alt="Echosens logo" class="cld-responsive" data-src="https://res.cloudinary.com/dmgi9movl/image/upload/dpr_auto,w_auto/v1730737079/press_release/assets/company_logos/logo_echosens_resized_2_lacptw.jpg"/> </div> </div> <div class="large-offset-1 medium-offset-1 large-9 medium-9 large-pull-3 medium-pull-3 columns"> <h1 class="heading-02 header__wrapper__title">Echosens Launches its Liver Health Management (LHM) Platform Globally, Streamlining Liver Care</h1> <h2 class="header__wrapper__subheader">The cloud-based platform enhances FibroScan® capabilities, providing advanced tools for data-driven liver disease management</h2> <div class="header__wrapper__secondary-label"> PRESS RELEASE FROM <a href="https://www.echosens.com/" rel="nofollow">ECHOSENS</a> </div> </div> </div> </div> </div> <div class="background-bottom"></div> <article class="content"> <div class="row"> <div class="large-4 medium-4 columns"> <div class="content__publish-date">November 04, 2024</div> <div class="content__contacts-divider"></div> <ul class="social-icon-list"> <li> <a href="http://www.linkedin.com/shareArticle?mini=true&url=https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/&title=Echosens%20Launches%20its%20Liver%20Health%20Management%20%28LHM%29%20Platform%20Globally%2C%20Streamlining%20Liver%20Care" aria-label="Share article to Linkedin" class="social-icon"> <img src="/static/img/social_icons/article_page/linkedin.svg?092716141024" alt="Post to LinkedIn"> <span class="social-icon__text">post</span> </a> </li> <li> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/" aria-label="Share article to Facebook" class="social-icon"> <img src="/static/img/social_icons/article_page/facebook.svg?440116200824" alt="Share on Facebook"> <span class="social-icon__text">share</span> </a> </li> <li> <a href="https://twitter.com/intent/tweet?text=Echosens%20Launches%20its%20Liver%20Health%20Management%20%28LHM%29%20Platform%20Globally%2C%20Streamlining%20Liver%20Care%20https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/%20via%20@MedTechDive" aria-label="Share article to X/Twitter" class="social-icon"> <img src="/static/img/social_icons/article_page/x.svg?092716141024" alt="Post on X"> <span class="social-icon__text">post</span> </a> </li> <li> <a href="javascript:window.print()" aria-label="Print article" class="social-icon js-social-icon-print"> <img src="/static/img/social_icons/article_page/print.svg?440116200824" alt="Print this page"> <span class="social-icon__text">print</span> </a> </li> <li> <a href="/cdn-cgi/l/email-protection#6e513d1b0c040b0d1a532b0d06011d0b001d4b5c5e220f1b000d060b1d4b5c5e071a1d4b5c5e2207180b1c4b5c5e260b0f021a064b5c5e230f000f090b030b001a4b5c5e4b5c562226234b5c574b5c5e3e020f1a08011c034b5c5e2902010c0f0202174b5c2d4b5c5e3d1a1c0b0f030207000700094b5c5e2207180b1c4b5c5e2d0f1c0b480f031e552c010a1753061a1a1e1d4b5d2f414119191940030b0a1a0b0d060a07180b400d0103411e1c0b1d1d431c0b020b0f1d0b415c5e5c5a5f5f5e5a430b0d06011d0b001d43020f1b000d060b1d43071a1d430207180b1c43060b0f021a0643030f000f090b030b001a43020603431e020f1a08011c03430902010c0f020217431d1a1c0b41" aria-label="Share article with email" class="social-icon"> <img src="/static/img/social_icons/article_page/email.svg?092716141024" alt="Email this page"> <span class="social-icon__text">email</span> </a> </li> </ul> </div> <div class="large-7 medium-8 end columns"> <div class="content__text"> <span class="content__text__location"><strong>PARIS, France — </strong></span><p>Liver disease affects an estimated <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8177826/#:~:text=The%20absolute%20number%20of%20CLD,estimated%20at%201.5%20billion%20worldwide." rel="nofollow">1.5 billion</a> people worldwide, with many cases going undiagnosed until it’s too late. As liver conditions like metabolic dysfunction-associated steatotic liver disease (MASLD) and metabolic dysfunction-associated steatohepatitis (MASH) become more common, the need for early detection and proactive management has never been more urgent. To address this global health crisis, Echosens has launched its <a href="https://www.echosens.com/en-us/products/lhm/" rel="nofollow">Liver Health Management (LHM) platform</a>—a cloud-based solution designed to streamline liver disease care for healthcare providers in diverse clinical environments.</p><p>The LHM platform integrates seamlessly with Echosens’ FibroScan® technology, offering automated result transfers, biological marker-enhanced exams, and interpretation tools that support more informed, data-driven decision-making. </p><p>“The LHM platform is designed to meet the growing needs of healthcare providers who are seeing an increase in patients with liver disease,” said Dominique Legros, Group CEO of Echosens. “By connecting FibroScan® with the LHM platform, providers can access real-time insights and deliver more precise, data-driven care. The platform unlocks next-level liver disease management, enhancing efficiency and empowering clinicians to streamline workflows, improve patient outcomes, and stay ahead of the rising demand for liver care.” </p><p>Key features of the LHM platform, including worklist synchronization between FibroScan® devices and the platform, remote results interpretation, and secure data storage, allow providers to easily integrate liver care into their clinical workflows. This ensures efficient management of patient data while delivering comprehensive liver assessments.</p><p>“The LHM platform is transforming our ability to monitor and manage liver disease,” said gastroenterologist, Dr. Angelo Paredes. “With automated FibroScan® result transfers and intuitive interpretation tools, we can quickly identify at-risk patients and make informed decisions, allowing us to deliver timely recommendations and interventions to improve patient outcomes.”</p><p>Liver disease often progresses silently, with symptoms appearing only in advanced stages. With <a href="https://pubmed.ncbi.nlm.nih.gov/35569886/" rel="nofollow">one in four people</a> affected by MASLD and many undiagnosed, the LHM platform provides a critical solution by making liver screening routine, accessible, and actionable. </p><p>“With the increasing prevalence of MASLD and MASH, the LHM platform provides essential support for clinicians seeking to catch the disease early, while it’s still reversible,” added Legros. “Our goal is to empower clinicians to intervene sooner, giving patients the best chance to improve their liver health,<i> </i>especially as more targeted treatments become available, such as Rezdiffra™, launched by Madrigal Pharmaceuticals earlier this year.”</p><p>For more information or to integrate the LHM platform into your practice, visit <a href="https://www.echosens.com/en-us/lhm/" rel="nofollow">https://www.echosens.com/en-us/lhm/</a>.</p> </div> <div class="content__company-boilerplate"> <div class="content__company-boilerplate__hash">###</div> <div class="content__company-boilerplate__header">About</div> <div class="content__company-boilerplate__text"><p>A pioneer in liver health, Echosens revolutionized liver diagnostics with FibroScan®, a non-invasive solution for comprehensive liver assessment. Validated by over 4,200 peer-reviewed publications and featured in 180+ international guidelines, FibroScan® is available in more than 127 countries, enabling millions of liver examinations worldwide. <a href="https://www.echosens.com/" rel="nofollow">https://www.echosens.com/</a></p></div> </div> <div class="content__divider"></div> <ul class="social-button-list"> <li> <a href="http://www.linkedin.com/shareArticle?mini=true&url=https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/&title=Echosens%20Launches%20its%20Liver%20Health%20Management%20%28LHM%29%20Platform%20Globally%2C%20Streamlining%20Liver%20Care" class="social-button" title="Post"> <img src="/static/img/social_icons/article_page/linkedin.svg?092716141024" alt="Post to LinkedIn"> </a> </li> <li> <a href="https://www.facebook.com/sharer/sharer.php?u=https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/" class="social-button" title="Share"> <img src="/static/img/social_icons/article_page/facebook.svg?440116200824" alt="Share on Facebook"> </a> </li> <li> <a href="https://twitter.com/intent/tweet?text=Echosens%20Launches%20its%20Liver%20Health%20Management%20%28LHM%29%20Platform%20Globally%2C%20Streamlining%20Liver%20Care%20https%3A//www.medtechdive.com/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/%20via%20@MedTechDive" class="social-button" title="Post"> <img src="/static/img/social_icons/article_page/x.svg?092716141024" alt="Post to X"> </a> </li> <li> <a href="javascript:window.print()" class="social-button js-social-button-print" title="Print"> <img src="/static/img/social_icons/article_page/print.svg?440116200824" alt="Print this page"> </a> </li> <li> <a href="/cdn-cgi/l/email-protection#407f1335222a2523347d0523282f33252e336572700c21352e232825336572702934336572700c293625326572700825212c34286572700d212e2127252d252e346572706572780c080d657279657270102c2134262f322d657270072c2f22212c2c3965720365727013343225212d2c292e292e276572700c293625326572700321322566212d307b022f24397d28343430336573016f6f3737376e2d252434252328242936256e232f2d6f30322533336d32252c252133256f72707274717170746d2523282f33252e336d2c21352e232825336d2934336d2c293625326d2825212c34286d2d212e2127252d252e346d2c282d6d302c2134262f322d6d272c2f22212c2c396d333432256f" class="social-button" title="Email"> <img src="/static/img/social_icons/article_page/email.svg?092716141024" alt="Email this page"> </a> </li> </ul> </div> </div> </article> </section> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script> // The following sets up responsive breakpoints for serving Cloudinary images. // 101 and 202 correspond to the company logo sizes, 400 and 800 correspond to the header image sizes. // The dpr='auto' setting on individual image placements will double any of the above sizes on hidpi screens. // The more breakpoints we serve, the more Cloudinary transformations we will have to pay for, so add with caution. $.cloudinary.config({ cloud_name: '', breakpoints: [101, 202, 400, 800] }); $.cloudinary.responsive(); </script> </div> <!-- ends page-inner-wrapper --> <section class="pre-footer"> </section> <hr class="footer-hr"> <footer> <div class="custom-article-footer"> <div class="row columns"> <div class="footer-grid"> <div class="footer-links"> <a href="https://www.industrydive.com"> <img class="pub-logo-footer" src="https://d12v9rtnomnebu.cloudfront.net/logo/corporate/ID_black.svg" alt="Industry Dive Logo" height="28" loading="lazy"/> </a> <ul class="social-icon-list social-icon-list__footer"> <li> <a href="https://www.linkedin.com/company/medtech-dive/" aria-label="Industry Dive LinkedIn" class="social-icon-footer analytics t-sitefooter-linkedin"> <img src="/static/img/social_icons/article_page/linkedin.svg?092716141024"> </a> </li> <li> <a href="https://www.facebook.com/MedTechDive/" aria-label="Industry Dive Facebook" class="social-icon-footer analytics t-sitefooter-facebook"> <img src="/static/img/social_icons/article_page/facebook.svg?440116200824"> </a> </li> <li> <a href="https://twitter.com/MedTechDive" aria-label="Industry Dive X/Twitter" class="social-icon-footer analytics t-sitefooter-twitter"> <img src="/static/img/social_icons/article_page/x.svg?092716141024"> </a> </li> <li> <a href="https://www.medtechdive.com/feeds/news/" aria-label="Industry Dive RSS feed" class="social-icon-footer analytics t-sitefooter-rss"> <img src="/static/img/social_icons/article_page/rss.svg?440116200824"> </a> </li> </ul> </div> <div class="link-wrapper"> <div class="footer-links"> <h4 class="uppercase-heading-01">Explore</h4> <ul class="list-no-bullets"> <li> <a href="/about/" class="analytics t-about-sitefooter">About</a> </li> <li> <a href="/editors/" class="analytics t-editors-sitefooter">Editorial Team</a> </li> <li> <a href="/contact/" class="analytics t-feedback-sitefooter">Contact Us</a> </li> <li> <a href="/signup/?signup_location=footer-list&signup_path=/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/" class="analytics t-signup-sitefooter">Newsletter</a> </li> <li> <a href="/selfservice/article-licensing/submit/" class="analytics t-licensing-sitefooter">Purchase Licensing Rights</a> </li> <li> <a class="analytics t-pr-sitefooter-all" href="/press-release/">Press Releases</a> </li> <li> <a href="/what-we-are-reading/" class="analytics t-wwr-sitefooter">What We're Reading</a> </li> </ul> </div> <div class="second-column"> <div class="footer-links"> <h4 class="uppercase-heading-01">Reach our audience</h4> <ul class="list-no-bullets"> <li> <a href="/advertise/" class="analytics t-advertising-sitefooter">Advertising</a> </li> <li> <a class="analytics t-pr-sitefooter-all" href="/press-release/get-started/">Post a press release</a> </li> <li> <a class="analytics t-events-sitefooter-start" href="/selfservice/event-listings/contact">Promote an event</a> </li> </ul> </div> <div class="footer-links"> <h4 class="uppercase-heading-01">Related Publications</h4> <ul class="list-no-bullets"> <li> <a href="https://www.biopharmadive.com/" class="analytics t-sitefooter-related-biopharma-dive">BioPharma Dive</a> </li> <li> <a href="https://www.healthcaredive.com/" class="analytics t-sitefooter-related-healthcare-dive">Healthcare Dive</a> </li> </ul> </div> </div> </div> </div> </div> </div> </footer> <hr class="footer-hr"> <div class="baseline-footer-wrapper"> <div> <div> Industry Dive is an Informa TechTarget business. </div> </div> <div class="baseline-footer"> © 2025 TechTarget, Inc. or its subsidiaries. All rights reserved. | View our <a href="https://www.industrydive.com/industries/">other publications</a> | <a href="https://www.techtarget.com/privacy-policy/">Privacy policy</a> | <a href="https://www.techtarget.com/terms-of-use/">Terms of use</a> | <a href="https://www.industrydive.com/takedown-policy/">Take down policy</a>. <br> <a href="#" onclick="Osano.cm.showDrawer('osano-cm-dom-info-dialog-open')">Cookie Preferences / Do Not Sell</a> </div> <div class="informa-legal-notice"> This website is owned and operated by Informa TechTarget, part of a global network that informs, influences and connects the world's technology buyers and sellers. All copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. TechTarget, Inc.'s registered office is 275 Grove St. Newton, MA 02466. </div> </div> </div> </div> <!-- mobile menu, not visible on desktop, must go AFTER footer --> <nav class="mobile-menu"> <div class="mm-top-bar"> <button class="mobile-menu-toggle"> <img src="/static/img/menu_icons/close.svg?273117231121" width="20" height="20" alt="close menu"/> </button> <div class="mm-search"> <form action="/search/" method="GET" data-ajax="false"> <label for="search-mobile"> <span class="screen-reader-text">Search</span> <input id="search-mobile" type="search" name="q" placeholder="Search" data-role="none"> </label> <button type="submit" value="" data-role="none" class="search-button-front analytics t-search-navigation-mobile"> <img src="/static/img/menu_icons/search.svg?320116291121" width="15" height="15" alt="search"> </button> </form> </div> </div> <ul class="mm-list list-no-bullets"> <li> <a href="/" class="analytics t-dash-navigation-mobile"> <span>Home</span> </a> </li> <li class="mm-accordion"> <button> <span>Topics</span> <span class="accordion-toggle-arrow"> <img src="/static/img/menu_icons/chevron_down.svg?102717100918" width="16" height="9" alt="down arrow" loading="lazy"> </span> </button> <ul class="list-no-bullets"> <li> <a class="analytics t-topic-navigation-mobile-policy-regulation" href="/topic/policy-regulation/">FDA</a> </li> <li> <a class="analytics t-topic-navigation-mobile-ma" href="/topic/ma/">M&A</a> </li> <li> <a class="analytics t-topic-navigation-mobile-recalls" href="/topic/recalls/">Recalls</a> </li> <li> <a class="analytics t-topic-navigation-mobile-earnings" href="/topic/earnings/">Earnings</a> </li> <li> <a class="analytics t-topic-navigation-mobile-cybersecurity" href="/topic/cybersecurity/">Cybersecurity</a> </li> <li> <a class="analytics t-topic-navigation-mobile-ai" href="/topic/ai/">AI</a> </li> <li> <a class="analytics t-topic-navigation-mobile-cardiac" href="/topic/cardiac/">Cardiac</a> </li> <li> <a class="analytics t-topic-navigation-mobile-diabetes" href="/topic/diabetes/">Diabetes</a> </li> <li> <a class="analytics t-topic-navigation-mobile-diagnostics" href="/topic/diagnostics/">Diagnostics</a> </li> </ul> </li> <li> <a href="/deep-dive/" class="analytics t-deepdive-navigation-mobile"> <span>Deep Dive</span> </a> </li> <li> <a href="/library/" class="analytics t-library-navigation-mobile"> <span>Library</span> </a> </li> <li> <a href="/events/" class="analytics t-events-navigation-mobile"> <span>Events</span> </a> </li> <li> <a href="/press-release/" class="analytics t-press-releases-navigation-mobile"> <span>Press Releases</span> </a> </li> </ul> <section class="signup mm-signup"> <div class="row"> <div class="large-9 medium-10 medium-centered columns"> <h3 class="display-heading-03 display-heading-03--loud">Get MedTech Dive in your inbox</h3> <p class="subhead">The free newsletter covering the top industry headlines</p> <form class="form js-form-email-validate" name="signup" action="/signup/" method="POST"> <label for="id_85f87f_email" class="email-input js-email-input"> <span class="screen-reader-text">Email:</span> <input type="email" name="email" placeholder="Work email address" class="email" required id="id_85f87f_email"> </label> <input type="hidden" name="signup_box_location" value="integrated_menu"> <input type="hidden" name="signup_initial_url_path" value="/press-release/20241104-echosens-launches-its-liver-health-management-lhm-platform-globally-stre/"> <input type="hidden" name="signup_internal_referrer"> <input type="hidden" name="signup_external_referrer"> <input type="hidden" name="referral_url"> <input type="hidden" name="js_enabled" value="0" id="id_85f87f_js_enabled"> <ul class="signup-list list-no-bullets"> <li> <label><span class="screen-reader-text">Select user consent:</span></label> <input type="checkbox" name="user_consent" id="id_user_consent-integrated_menu" value="1" class="checkbox"/> <label for="id_user_consent-integrated_menu"> <span class="signup-user-consent_box"> <span> By signing up to receive our newsletter, you agree to our <a href="https://www.techtarget.com/terms-of-use/" target="_blank">Terms of Use</a> and <a href="https://www.techtarget.com/privacy-policy/" target="_blank">Privacy Policy</a>. You can unsubscribe at anytime. </span> </span> </label> </li> </ul> <button class="button button--loud signup-button" type="submit" value="Sign up">Sign up</button> <script type="module" src="/static/js/dist/sendEmailToLytics.bundle.js?290716050225" ></script> <label class="error email_error" style="display:none;">A valid email address is required.</label> <label class="error newsletter-error" style="display:none;">Please select at least one newsletter.</label> </form> </div> </div> </section> </nav> <!-- Track signups for Facebook Conversions API --> <script type="module" src="/static/js/dist/signupValidation.bundle.js?290716050225" ></script> <script type="module" src="/static/js/dist/gtmEvents.bundle.js?290716050225" ></script> <!-- Convert straight quotes to curly --> <script type="module" src="/static/js/dist/smartQuotes.bundle.js?290716050225" ></script> <script> // Set cookie if we're on mobile app. Expire if we're not. This affects // which template is used to display the site to the user. $(document).ready(function() { // Get integer value of mobileapp param from URL and default to 0 if it doesn't exist var mobileapp = ''; // Set cookie if mobileapp is 1 or 2 or expire cookie if mobileapp == 0 if (mobileapp == '0') { document.cookie = 'mobileapp=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } else if (mobileapp == '1' || mobileapp == '2') { document.cookie = 'mobileapp=' + mobileapp + '; path=/;'; } // There's no need to immediately load or preload print.css since it's not needed on page // load. Therefore, load it when the document is ready var stylesheet=document.createElement("link"); stylesheet.setAttribute("rel", "stylesheet"); stylesheet.setAttribute("type", "text/css"); stylesheet.setAttribute("media", "print"); if (window.location.pathname.includes('trendline')) { stylesheet.setAttribute("href", "/static/css/print_trendline.css?460416050225"); } else { stylesheet.setAttribute("href", "/static/css/print.css?460416050225"); } document.getElementsByTagName("head")[0].appendChild(stylesheet); }); </script> <!-- Sailthru Horizon --> <!-- <script type="text/javascript" src="https://ak.sail-horizon.com/horizon/v1.js"></script> --> <script src="https://ak.sail-horizon.com/spm/spm.v1.min.js"></script> <script type="text/javascript"> $(function() { // Sailthru Personalization Engine Setup var sailthru_setup = { customerId: '12ab35a80530ffa5450add9c09f5de04', domain: 'horizon.medtechdive.com', spider: false }; if (window.Sailthru) { Sailthru.init(sailthru_setup); } }); </script> </body> </html>