加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

开放式人工胰腺系统(OpenAPS)的原理

(2019-01-01 09:17:03)
标签:

闭环泵

德康

动态血糖仪

人工胰腺

糖尿病

分类: 闭环

    发一篇群里昵称某人翻译的OpenAPS原理,看了这遍文章会让我们对DIY闭环的原理做些了解,也希望对闭环感兴趣的朋友通过这边文章,对闭环系统做更深入的研究。

    想起当初本人刚接触闭环的时候,对什么是IOB、COB、ISF都不懂,在网上也搜索不到相关的资料非常的苦恼,短短的两年时间国内的闭环环境已大为改观,使用闭环系统的人也越来越多。能让更多的人了解闭环使用闭环,也是我在微博、博客里发大量文章的初衷。

    本文所述的原理已使用在OpenAPS和AndroidAPS系统中,DIY的另一款Loop系统的原理与本文稍有不同。由于可能存在的失误以及对原文理解的不够而造成的翻译错误,请发现者能及时指出以免贻误他人。

本文的原文链接如下:

https://openaps.org/reference-design/


开放式人工胰腺系统(OpenAPS)的原理

Principles of an Open Artificial Pancreas System (OpenAPS)

翻译:群昵称某人,微信号:luoyongboy),校译:宋铭杰

    OpenAPS是一个安全、先进而且容易理解的人工胰腺系统。它能够自动调节胰岛素泵的胰岛素输注以保持血糖在安全的范围内。它通过与泵通信获取最近的胰岛素输注信息(基础量与大剂量),通过与CGM通信获取当前血糖值和预测值,并通过向泵发送指令来调整所需要的胰岛素剂量。

    OpenAPS与当前其他在临床试验的APS有两个主要区别:

      首先,它基于现有医疗设备、硬件和开源软件设计。

      其次,它设计主要考虑了安全性,可掌握性和与现有设备方法的兼容性。

    通过这一设计,OpenAPS比现在最先进的单一胰岛素泵治疗从理论上更安全和有效。比目前已临床试验多年并准备申请FDA认证的混合闭环系统更加有效。

    OpenAPS设计上与任何厂商的胰岛素泵和CGM兼容。目前在使用的是旧款的美敦力泵和欧版的DANA’R泵,及Dexcom或美敦力的CGM,可以根据CGM反馈的数据向泵发出临时基础率的指令。除非泵厂商推出这样的功能,否则开源社区会不断推进以让APS技术得到广泛应用,以保证所有的一型患者都能够有安全的夜间睡眠。

 

设计OpenAPS 以获得最大安全性

    OpenAPS设计首要考虑的是安全性。对于它所作出的每一个剂量输注指令,OpenAPS的算法必须确保是基于现有信息基础上最安全的决定。因为OpenAPS的运行是基于外部硬件,而不是作为泵的内部算法,最安全的方式就是设置临时基础率来完成目标,让使用者的血糖在目标区间内,即使OpenAPS或者使用者没有进行干预(比如摄入碳水),如果信息显示当前的临时基础会导致过度纠正,OpenAPS会立刻取消临时基础或者根据所需胰岛素剂量作出其他调整。

    尽管CGM水平近年来提高很多,但仍然不够完美。为了基于CGM数据能够安全的输入剂量,OpenAPS不会过度依赖任何单一血糖值。因为新的血糖值每5分钟接收一次,OpenAPS能够持续的再计算能够使血糖回归正常的胰岛素调整剂量。如果CGM提供错误数据,比如快到期的探头或者探头被压到,OpenAPS会很谨慎的作出反应,通过保持或者很小的增加胰岛素输入。如果5,10,15分钟后新的数据显示当前的基础率不再合适,OpenAPS会取消临基并且回到正常基础,或者根据情况作出必要的调整。通过获取所有可能的信息,包括血糖水平、趋势和胰岛素历史输注剂量,OpenAPS可以安全地降低高血糖,同时最大幅度地减少低血糖的风险。

    此外,OpenAPS在设计上,如果接收到冲突的信息,或者信息不完全,它会安全的回到使用者预设的基础。比如如果血糖预测会走低,但实际上那时血糖在上升,OpenAPS会取消任何临时基础,等待看血糖是上升还是下降,然后再发起合适的临时基础指令。此外,OpenAPS为了确保安全,当血糖值低于预设阈值,下降或者不能较快上升到正常水平的时候,OpenAPS会回归到传统的低血糖停泵模式。它确保了无论任何原因,当低血糖发生的时候,胰岛素输注会完全终止,直到血糖开始恢复,最大化的确保使用者能从低血糖中恢复。

    另一个关键的安全因素就是确保使用者要知道,从OpenAPS能得到什么,能够完全了解它在做什么和为什么,根据需要使用它来管理自己的糖尿病.因此,OpenAPS设计上尽可能的依靠与使用者相同的参数和大剂量算法(其糖尿病护理团队给出的指导),然后在任何情况下做出合适的决定。这意味着要使用基础率,胰岛素敏感系数(ISF,也称为矫正系数),胰岛素作用时间(DIA,也称为胰岛素寿命),胰岛素与碳水化合物比率(IC),这些都是使用者之前在使用泵时需要知道的数值。它意味着要使用胰岛素泵使用者已经在用的确切、相同的胰岛素计算方法。OpenAPS没有任何复杂的机器学习算法,17个参数的胰岛素响应模型或微分方程。因此,OpenAPS系统是完全放开和透明的,专家、医生和使用者都容易理解。

 

oref0的安全设置限制,原始OpenAPS算法

    原始OpenAPS算法简称为oref0OpenAPS Reference Design Zero),设计了很多额外的安全限制以确保安全。它确保了即使OpenAPS是一个新的、未经测试的开发系统,仍然能够安全使用,而不增加危险血糖风险,即使通信发生中断,甚至存在设计缺陷导致指令反复发布。

    尽管目前oref0软件比最初设计时成熟得多,但我们发现这些限制能够让系统非常有效的应对错误的泵设置(基础率,胰岛素敏感系数ISF,胰岛素作用时间DIA和碳水比),错误的CGM数据,或者其他潜在错误。因此,我们相信,对于任何建立第一个人工胰腺系统的人说,这些设计限制都仍然是最安全、最好的方式,确保OpenAPS总能让DM管理比没有APS帮助更加安全。因此,这些设计限制可能将无限期的保留在oref0的核心部分。新用户只要喜欢,可以一直使用oref0,而且也应该使用这一系统,直到看到它展示出令人满意的安全控制。

  1. 第一个设计限制是OpenAPS oref0不能发起大剂量。这是非常关键的安全特征。因为尽管胰岛素泵有对单次输注最大剂量的限制,但却没有限制输注的频率。因此,任何能发起大剂量指令的系统都应该受到限制。如果错误的大剂量指令被重复发出,将会产生致命的剂量。为避免这一问题,oref0则主要依靠临时基础率指令。重复的发送临时基础率指令不会改变泵的输注。它仅仅扩展了临时基础率。此外,胰岛素泵允许设置泵的最大临时基础率设置,将忽略任何高于最高基础率的指令。
  2. 最大的临时基础率限制是第二个限制。OpenAPS oref0被设计成不能执行任何能被快速碳水抵消的胰岛素输注。这意味着oref0不能用于替代餐时胰岛素输注。这样做更重要的意义在于,即使OpenAPS以任何最糟糕的方式发生故障,使用者完全能够通过仅仅摄入额外的碳水来阻止错误情况,就像他们在日常管理中每天都要做的那样。
  3. OpenAPS oref0通常是根据使用者的指令来发起纠正或者餐时大剂量oref0会预测一餐会持续消化多久(或者血糖偏离预期会多久)。oref0会持续监测血糖,支持很明显需要增加基础才会发起临基。
  4. OpenAPS oref0在设计上完全自动操作,不需要使用者做任何特别的互动确认。远程监测方面只要网络连接可用,就会实时上传CGM和泵数据。使用者只是在餐时大剂量时需要使用泵。OpenAPS在后台运行,暂时控制潜在基础,这样使用者就很少需要去针对高低血糖来采取矫正行为。远程监控能够看到上传数据,这样监护者就可以随时关注他们血糖,确保OpenAPS一直稳定运行。

 

OpenAPS设计细节

医疗设备通信

    OpenAPS会定期(如每5分钟)从CGM读取数据。它也会定期查询胰岛素泵的当前设置和最近活动,如当前或最大基础,最近大剂量,剩余胰岛素,胰岛素敏感系数,胰岛素作用时间,碳水比,目标血糖范围等。如果查询数据成功,OpenAPS会更新它的大剂量向导算法,决定是否有需要采取下一步行动(发起或者取消临基)

    如果需要采取措施,OpenAPS会向泵发出相应的胰岛素剂量命令,确认它已被泵接收,然后对最近的活动执行另一个查询,以确保任何新的临时基础成功生效

算法

基本夜间操作(oref0)

    OpenAPS根据泵的大剂量和临时基础历史,结合泵的DIA及剩余胰岛素曲线,计算当前的净剩余胰岛素。(目前泵在计算剩余胰岛素时只考虑到大剂量输入,更准确的计算应该把临时基础相对于正常基础的影响也计算在内)。如果最近没有大剂量输入,OpenAPS使用当前的CGM血糖读数预测最终血糖,使用简单大剂量计算方法:当前的血糖-(ISF * IOB)=最终血糖。

    如果当前血糖低于预设血糖的临界值(默认低于目标范围30mg/dL),则OpenAPS会进入低血糖暂停模式,只要血糖没有升起,就会持续发起30分钟零临基。否则,OpenAPS会判断最终血糖是否在达到或低于目标范围,并记录CGM读数当前是升高或下降超过预期,然后,它会决定采取合适的行动方案如下:

l  如果血糖上升,但最终血糖低于目标,取消临基。

l  否则,如果血糖下降,但最终高于目标血糖值,取消临基。

l  否则,如果最终血糖高于目标:

l  计算能让血糖降到目标所需的30分钟的基础量

l  如果计算出的所需要基础>设定的基础, 发起新的高临基

l  否则,如果血糖低于目标:

l  计算使血糖达到目标所需的30分钟的基础量

l  如果计算出的所需基础<</span>设定的基础, 发起新的更低的临基

l  如果需要>30分钟零基础, 设定零基础30分钟

    最大临时基础在泵上完成设置,出于安全考虑,OpenAPS会根据需要选择以下较低者作为最大临时基础率:

  • 泵上设置的最大临时基础
  • 每日最大基础的3
  • 当前预设基础的4

    这有助于确保患者如果输注了过量的胰岛素,仅通过服用速升碳水就能够自救。

调整非预期的血糖偏差

    上面的算法作为一种安全简单的OpenAPS算法是非常有效的。它已经经过几百名使用者几年的实践检验。然而,当血糖非预期的上升或下降时,或者始终居高不下时,我们发现,考虑血糖上升或者下降率偏离预期血糖的程度是很有用的,预期血糖是基于剩余活性胰岛素而做出的。当血糖非预期的升高或者下降时,OpenAPS能用更先进的算法做出更快的反应,当血糖持续顽固的高平时,它能持续采用高临基。

    要计算这一偏离,OpenAPS先要计算一个我们称作BG Impact或者BGI的一个值,它等于当前活性胰岛素(IOB的一阶导数)*胰岛素敏感系数。当它以mg/dL/5m为单位进行表示时,代表了血糖上升或者下降的程度,可以直接与CGM当前和上一个读数的差值进行比较,或者是过去15分钟的血糖平均变化,要计算这一偏差,OpenAPS会对过去15分钟CGM读数的平均变化和预计的BGI进行确定的比较,然后把这一偏离作为调整最终血糖预测的依据。上面计算是基于这一假定:如果过去15分总血糖上升或者下降变化超过预期,这一趋势可能会在接下来的10-30分钟保持继续,预估偏离程度恰好等于过去15分钟所看到的。未来,OpenAPS或许会有更好的这种预测算法,但目前的算法也经过一段时间的证明很有效

    除了调整最终血糖预测外,上面的BGI计算也在高级的OpenAPS应用中使用,即如果血糖下降慢于预期,则允许持续运行高临基;如果血糖上升低于预期或者下降快于预期,则持续运行低临基。

输入“打盹”

    通过上述血糖偏离调整,OpenAPS能够避免在餐后当血糖上升或者持续高时发起低临基,甚至能够在未告知进餐或者提供碳水数量的情况下做出反应。此外,在餐时遇到大剂量已经输入但血糖还没有开始上升时,避免发起低临基也是很有用的。要做到这一点,OpenAPS使用了“输入打盹”的方式,它能够让OpenAPS在使用者执行大剂量时暂停采取措施,然后根据血糖是否低于预设标准,上升超预期,餐后下降超预期等情况发生后采取进一步行动。因此,在餐时使用者输入大剂量后,OpenAPS会等待观察一段时间,然后在必要时刻接管临基确保血糖回到正常范围。

    输入打盹目前应用于高级OpenAPS方法中,通过跟踪大剂量IOB基于用户正常DIA的一半加速衰减)与净IOB分开,并重新添加大剂量IOBBGI影响,以决定是否设置低临基。如果计算打盹后的血糖高于目标血糖,OpenAPS就不会设定低临基,即使最终目标血糖(基于净IOB)要低于目标血糖很多。这就决定了OpenAPS在大剂量输入后要有效的扩大目标血糖范围,然后在接下来的一到两小时逐渐缩小目标血糖范围,直至逐渐回到正常范围。

    因为多数胰岛素泵没有计算净IOB,而是使用大剂量IOB计算,因此有必要采取额外的预防措施帮助使用者避免输入过大剂量。这里引入了“最大IOB”设置,当使用者净IOB超过大剂量IOB的数值超出预设标准时,OpenAPS就不被允许发起高临基。最大净IOB默认是0,使用者可以手动提高。当设置为0时,意味着OpenAPS只是作为一个低血糖的预防暂停系统,当IOB为负数时,可以发起高临基,但当血糖高,而IOB不是负数时,它不会发起高临基。

oref0之外

    在过去的两年里,OpenAPS已经从一个单一的概念,仅供联合创立人使用的工具包演变成为一款上百人使用的开源软件工具包,各种水平不同的人通过它来建立自己的闭环系统。DIY社区已经稳定运行,现实环境中该系统被使用超过一百万小时,我们与其他人分享我们学到的,逐步完善这一基本的oref0算法,这一算法依然是所有OpenAPS系统算法的核心。

    一项明显的改进是加入了高级餐时助手,也就是OpenAPS体系中的AMAAMA提供了一个可以不断调整的算法,能够在餐后安全的输入胰岛素,无论进餐的类型,以及个体的消化多样性。AMA能非常有效的处理餐时变化,它需要使用者计算并且输入碳水量,同时发起餐时大剂量。这主要是由于速效胰岛素的起效时间相对较慢,通常需要一小时来达到活性峰值,因此需要在餐前仔细计算以匹配餐后血糖,同时又要避免由于碳水吸收缓慢以及吸收暂停(例如从餐后走回家)而引发的低血糖。

    尽管有些局限性,AMA仍然是广泛使用的最高级的餐后胰岛素剂量算法。因此有广泛的关注研究,看看AMA是否能进一步减少使用者的负担,更加完全自动化的计算各种情况下的胰岛素剂量。

oref1介绍及超微大剂量

    为了在这一方向有所前进,我们开发了oref0 AMA算法的扩展,称作“oref1”。

    oref0 and oref1算法的显著不同是oref1使用了餐时胰岛素的微型大剂量 “supermicroboluses” (SMB),能够快速安全的输入需要的胰岛素,以应对碳水吸收引起的血糖上升。

    oref1发起的微型大剂量被称作超级是因为它使用了迷你版本的超级大剂量技术安全快速的输入餐时胰岛素。SMB技术包括第一步设定临时基础为0,时间要足以确保血糖能够回到安全范围而不用采取进一步行动,即使碳水吸收突然减慢(例如餐后活动或者胃肠不适)或者完全停止(例如进餐中断或者预估碳水过高)。就像使用oref0算法一样,oref1算法会基于CGM5分钟的血糖值和之前的剂量持续再计算需要的胰岛素,这意味着oref1会每5分钟持续的发起新的超级微型大剂量,同时根据CGM数据显示的血糖上升或下降,相对应的胰岛素量,根据需要对微型大剂量的规模进行增加或减少的调整。如果血糖开始下降,那时通常零基础已经运行了很长时间,意味着超过IOB的量会根据需要快速减少,直到血糖水平稳定或者再次出现需要更多的胰岛素。

oref1的安全考虑。

    自动发起大剂量的安全性对于这样的算法当然是一个关键性的挑战。就像在oref0设计限制一样,我们要设计避免发起大剂量的限制。在oref1,在系统发起SMB之前,它通常是通过使用多种新的安全监测,检验所有的输出来实现。

   oref1中, SMB安全检查的核心理念就是OpenAPS必须通过多种方法验证,确保它了解所有通过泵推注的胰岛素,同时在它能安全的发起SMB时,泵没有同时进行大剂量输注。此外,它必须计算零基础所需要的时间,以最终能够让血糖回到目标范围,即使没有进一步的碳水摄入;根据需要设定临时基础,检验在发起SMB之前,当前的临时基础率是否正确的运行。

    想要检查它知道所有最近的胰岛素剂量,以及当前没有大剂量推注,oref1首先要检查泵的储药器水平,然后完成对泵的推注历史完全查询,计算需要的胰岛素剂量(注意储药器水平应该是SMB发起时的水平),然后检查泵的大剂量状态,以及在发起SMB时再次确认储药器水平。这种安检查主要是针对历史的剂量推荐,它可能被执行超过1次,或者一个OpenAPS设备在执行一次大剂量输注的同时另一个OpenAPS设备也在执行另一次大剂量输注的可能性。此外,所有的SMB都被限制只能输注根据当前信息计算出的需要剂量的三分之一,这样即使在极端情况下,两个临近的设备几乎同时发出大剂量指令的情况下,它也没有超过需要输入胰岛素剂量的三分之二,这样接下来通过零基础的方式,SMB会被调整以确保oref1不会输入超过安全需要剂量的胰岛素。

    在一些情况下,缺少血糖值或者泵通信中断可能会阻止SMB指令发起,在这种情况下,oref1会尝试降回到oref0+AMA模式,设定一套合适的高基础。然而,如果这些不可行的情况下,则有时需要手动大剂量输入来完成对最近进餐的匹配和阻止血糖升的过高。因此,oref1SMB功能只会在碳水影响依然存在的情况下发起:在几小时后(所有碳水都已经吸收完成),所有这些功能将被关闭,当使用者睡觉或则其他不需要这一系统的时候,OpenAPS会立刻从oref1模式回到oref0模式。

    除了这些安全检查外,oref1的算法设计也会确保安全。就像已经提到的,在发起SMB的同时设置一段时间的零基础以提供避免低血糖的保护。当血糖开始下降时,它会确保胰岛素零输入以避免严重低血糖。即使OpenAPS设备与泵的通信中断,这样的暂停输入也会时间足够长以让血糖回到目标水平,即使没有人工的干预措施(例如睡眠中)。因为这些设计特点,在避免餐后低血糖方面,oref1甚至能比oref0/AMA做的更好。

    在实际测试中,在应对低血糖方面,oref1被充分证明与oref0一样安全。当SMB被激活的时候,能更好应对餐后高血糖。

 

结论

    因为这些规则和设计的限制,所有的OpenAPS设计中采用的方法,我们相信OpenAPS和相似的设计能提供最安全、最快的方式让人工胰腺科技应用于今天的1型群体。

 

最后更新时间为2017429

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有