临床意义与统计学意义,你还差个MCID!

最小重要变化(MIC)和最小临床重要差异(MCID)都可用于临床试验,简单来说,MIC就像是调整音量直到你刚好能清晰听到音乐的那一刻;而MCID就像是比较两个耳机,其中一个让你明显感到音质更好。

但很多临床研究的结果只足够你听到声音,它们只具备统计学意义,但不具备临床意义。

最近我们以为中国学者报道了一些常见的临床研究,在患者报告结局中,MIC与MCID使用情况,它们发现应用情况严重不足。

2024年8月,中国中医科学院广安门医院学者在期刊《Bmc Medical Research Methodology》(中科院三区,IF=3.9)发表了题为:“The gap between statistical and clinical significance: time to pay attention to clinical relevance in patient-reported outcome measures of insomnia”的研究论文。在研究过程中,适当定义和报告MIC/MCID对于得出结果是否具有临床意义至关重要,因此本研究旨在通过汇总失眠干预随机对照试验的结果,确保 MIC 和 MCID 的值在研究过程中能得到正确的运用和理解。

在汇总并分析了81项研究结果后发现,对于最小重要变化 (MIC) 和最小临床重要差异 (MCID) 的解释和使用在失眠结果的测量方面缺乏一致性。这表明了一个紧迫的需求,即需要进一步的努力来解决这一问题,并改进报告的方法。

图片

研究团队纳入对干预没有限制的随机对照试验(RCT),经过纳排,共纳入81项符合条件的与失眠相关的RCT试验。纳入的RCT试验均使用失眠严重程度指数(ISI)或匹兹堡睡眠质量指数(PSQI)问卷作为结局,并发表在睡眠医学杂志上,且不限制研究类型(优效性、非劣效性或等效性试验)。

图片

由于该项试验的重点在两种用于评估失眠干预措施PROM(患者报告结局测量)的最小重要变化 (MIC) 和最小临床重要差异 (MCID),因此我们将文中的具体研究结果分为以下三种:

(1)仅定义和使用的最小重要变化(MIC)

(2)仅定义和使用最小临床重要差异(MCID)

(3)定义和使用最小重要变化(MIC)/最小临床重要差异(MCID)

最终,研究结果表明,在81项RCT研究中,共有31项研究使用MIC/MCID,23项研究使用MIC,8项研究使用MCID,其中:

  • 超三分之一的研究(n=31,占38.3%)使用了MIC/MCID;

  • 21项以失眠严重程度指数(ISI)为结局的研究使用MIC定义为相对下降,范围从3分到8分不等。最常用的MIC值是下降6分(n=7),其次是8分(n=6)和7分下降(n=4),下降4至5分(n=3),较基线降低30%;

  • 6项研究使用MCID值,范围从2.8到4分不等。最常用的MCID值是ISI下降4分(n=4);

  • 4项以匹兹堡睡眠质量指数(PSQI)为结局的研究使用3分变化作为MIC(n=2),使用2.5至2.7分的差异作为MCID(n=2)。4项非劣效性设计研究在其MCID使用中得出具有临床意义的结论时,考虑了区间估计。

图片

综上所述,在这81项研究中,仅31项报告了MIC/MCID值。尽管许多研究报告了具有统计学意义的结果,但缺乏确定和报告的MIC/MCID值的现象令人担忧。

将MIC/MCID纳入解释的一个主要优点是,它能帮助我们确定当前证据在何种情况下不足以得出结论。因此,研究团队建议研究人员应考虑将MIC/MCID及其95%置信区间(CI)纳入分析,以确保研究结果不仅具有统计学意义,而且具临床意义。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果模板中有多个表格,你需要分别计算每个表格的总高度,并根据实际情况设置每个表格的高度。 以下是一个示例代码,假设你的模板中有两个表格,表格下方没有其他内容: ``` java PdfReader reader = new PdfReader("template.pdf"); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf")); // 获取模板中的第一个表格 PdfContentByte canvas = stamper.getOverContent(1); Rectangle pageSize = reader.getPageSize(1); PdfImportedPage page1 = stamper.getImportedPage(reader, 1); PdfPTable table1 = (PdfPTable) page1.get(PdfName.MCID).get(PdfName.TABLE); int rowCount1 = table1.getHeaderRows() + table1.getRows().size() + table1.getFooterRows(); float tableHeight1 = table1.calculateHeights(); float x1 = 50; float y1 = pageSize.getTop() - tableHeight1 - 50; table1.setTotalWidth(pageSize.getWidth() - 100); table1.writeSelectedRows(0, -1, x1, y1, canvas); float availableHeight1 = y1 - pageSize.getBottom(); if (availableHeight1 < tableHeight1) { table1.setTotalWidth(pageSize.getWidth() - 100); table1.scaleAbsoluteWidth(table1.getTotalWidth() * availableHeight1 / tableHeight1); table1.setLockedWidth(true); table1.writeSelectedRows(0, -1, x1, y1, canvas); } // 获取模板中的第二个表格 canvas = stamper.getOverContent(2); pageSize = reader.getPageSize(2); PdfImportedPage page2 = stamper.getImportedPage(reader, 2); PdfPTable table2 = (PdfPTable) page2.get(PdfName.MCID).get(PdfName.TABLE); int rowCount2 = table2.getHeaderRows() + table2.getRows().size() + table2.getFooterRows(); float tableHeight2 = table2.calculateHeights(); float x2 = 50; float y2 = pageSize.getTop() - tableHeight2 - 50 - tableHeight1; table2.setTotalWidth(pageSize.getWidth() - 100); table2.writeSelectedRows(0, -1, x2, y2, canvas); float availableHeight2 = y2 - pageSize.getBottom() - tableHeight1; if (availableHeight2 < tableHeight2) { table2.setTotalWidth(pageSize.getWidth() - 100); table2.scaleAbsoluteWidth(table2.getTotalWidth() * availableHeight2 / tableHeight2); table2.setLockedWidth(true); table2.writeSelectedRows(0, -1, x2, y2, canvas); } stamper.close(); reader.close(); ``` 在这个示例代码中,我们首先获取模板中的第一个表格,计算出表格的总高度,并设置表格的位置和高度。接着,我们获取模板中的第二个表格,计算出表格的总高度,并设置表格的位置和高度。 需要注意的是,我们在计算第二个表格的高度时,需要将第一个表格的高度也考虑在内。因此,我们在设置第二个表格的位置和高度时,需要在第一个表格的下方再留出一些空白。 如果模板中有多个表格,你需要按照类似的方式分别计算每个表格的总高度,并根据实际情况设置每个表格的高度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值