呼吸睡眠接口文档 - back

1


DataForwardingSimple - API

<p>[TOC]</p> <h1>1.测量数据外发接口</h1> <h2>1.1 简要描述</h2> <p>这个接口是Konsung平台用来发送实时呼吸机数据到其他公司或服务的一个工具。别的公司或服务会通过实现这个接口(HTTP服务)来接收这些数据。为了保证数据的安全,接收方需要有一套验证系统。</p> <h2>1.2 接口使用方法</h2> <p>如果你想接收来自Konsung平台的实时呼吸机数据,你需要按照我们提供的格式设置一个接口,并在你的网站上运行这个服务。一旦设置好,Konsung平台就会自动把实时数据发送到你的服务上。</p> <p><strong>安全要求</strong>:</p> <ul> <li><strong>重要性</strong>:为了保护数据的安全性,所有通过这个接口的数据传输都必须进行加密。</li> <li><strong>方法</strong>:使用AES加密方法对所有请求和响应进行加密和解密。</li> <li><strong>更多信息</strong>:请查阅我们提供的“安全加密指南”,了解具体的操作步骤和加密细节。</li> </ul> <h2>1.3 整合流程图</h2> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=35d2ec66aff0cb7064919d6d7bd3df54&amp;amp;file=file.png" alt="整合流程图" /></p> <h2>1.4 数据传输方式</h2> <ul> <li><strong>协议:</strong> HTTP</li> <li><strong>数据格式:</strong> JSON</li> <li><strong>请求方式:</strong> POST</li> </ul> <h2>1.5 数据传输机制</h2> <p>这个接口的数据传输过程分为三个主要步骤:</p> <ol> <li> <p><strong>呼吸机数据上传</strong>:</p> <ul> <li>呼吸机将实时数据上传到Konsung平台。</li> <li>这确保了数据的即时性和准确性。</li> </ul> </li> <li> <p><strong>数据汇总</strong>:</p> <ul> <li>Konsung平台会对收集到的所有呼吸机数据进行汇总。</li> <li>汇总是基于每天收集的数据进行的。</li> </ul> </li> <li><strong>转发数据</strong>: <ul> <li>汇总后的数据被整理成一个结果集。</li> <li>然后,这些数据会被发送到指定的接收方。</li> </ul></li> </ol> <h2>1.6 数据推送机制</h2> <hr /> <h3>1.6.1 机制一(实时传输)</h3> <p>&gt; 患者通过WIFI进行治疗时,数据以实时方式传输。</p> <p><strong>每天中午 <code>11:59:00</code> 推送数据</strong></p> <p>&gt; 例如:<code>2024年9月4日 11:59:00</code> 发送的数据包括 <code>2024年9月3日 11:59:00 ~ 2024年9月4日 11:59:00</code> 期间的治疗数据。</p> <h3>1.6.2 机制二(SD卡)</h3> <p>&gt; 医生导入患者的SD卡时,系统会统一传输数据,时间间隔为1秒。</p> <p><strong>手动导入SD卡数据时,系统会依次推送尚未传送的治疗日期数据</strong></p> <p>&gt; 例如:假设SD卡中的治疗数据周期为:</p> <ol> <li>2024-9-1 00:41:06 ~ 2024-9-1 06:41:06</li> <li>2024-9-2 01:22:06 ~ 2024-9-2 07:41:06</li> <li>2024-9-2 23:22:06 ~ 2024-9-3 05:41:06</li> </ol> <p>导入SD卡数据时,系统会逐条发送数据。例如,若第一条已发送,系统将接着发送其余两条数据。</p> <h2>1.7 数据接收地址</h2> <p>&gt; <code>HTTPS/HTTP</code></p> <ul> <li><strong>网址格式:</strong> <code>http://ip:port/path/method</code></li> <li><code>ip</code>:第三方接口地址</li> <li><code>port</code>:第三方接口端口</li> <li><code>path</code>:第三方接口请求路径</li> <li><code>method</code>:第三方接口方法</li> </ul> <h2>1.8 请求参数说明</h2> <h3>1.8.1 参数说明</h3> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必需</th> <th>长度</th> <th>描述</th> <th>详细说明</th> </tr> </thead> <tbody> <tr> <td>dataId</td> <td>string</td> <td>是</td> <td>32</td> <td>数据编号</td> <td>数据在系统中的唯一编码,用于在同步或更新操作时进行区分。</td> </tr> <tr> <td>deviceCode</td> <td>string</td> <td>是</td> <td>32</td> <td>设备编码</td> <td>设备的唯一标识符,用于标识请求来源的具体机器设备。</td> </tr> <tr> <td>deviceModel</td> <td>string</td> <td>是的</td> <td>20</td> <td>设备型号</td> <td>例如,DM28-25S-B</td> </tr> <tr> <td>time</td> <td>string</td> <td>是</td> <td>32</td> <td>当前时间</td> <td>发起请求的当前时间(时间戳ms)。</td> </tr> <tr> <td>dataDate</td> <td>string</td> <td>Yes</td> <td>32</td> <td>数据的时间</td> <td>Format: <code>yyyy-MM-dd</code></td> </tr> <tr> <td>key</td> <td>string</td> <td>是</td> <td>32</td> <td>加密领域</td> <td>用于安全验证的加密字符串,生成方式为MD5加密<code>appSecret</code>和<code>time</code>的组合,其中<code>appSecret</code>由Konsung提供。</td> </tr> <tr> <td>checkData</td> <td>array</td> <td>是</td> <td>-</td> <td>数据集</td> <td>传输的数据集数组,每个元素包含特定检测数据的详细信息。</td> </tr> </tbody> </table> <h3>1.8.2 checkData对象说明</h3> <ul> <li>checkData对象数组解释( 治疗结果数据 + 机器设置信息) <ol> <li><strong>治疗结果数据</strong>:这是呼吸机在治疗过程中生成的最终数据,包含了所有关于治疗效果的信息。</li> <li><strong>机器设置信息</strong>:这些数据提供了关于呼吸机设置的详细信息。</li> </ol></li> </ul> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>必需</th> <th>长度</th> <th>描述</th> <th>详细说明</th> </tr> </thead> <tbody> <tr> <td>checkKindCode</td> <td>string</td> <td>是</td> <td>10</td> <td>主要类别代码</td> <td>用于标识数据的主要类别,具体代码和类别请参考[1.8.3 类别对象说明]()。</td> </tr> <tr> <td>checkTypeCode</td> <td>string</td> <td>否</td> <td>10</td> <td>小类别代码</td> <td>用于标识数据的更具体的小类别,详情见[1.8.3 类别对象说明]()。</td> </tr> <tr> <td>value</td> <td>string</td> <td>是</td> <td>10</td> <td>测量值</td> <td>该检测项的具体数据值。</td> </tr> <tr> <td>unit</td> <td>string</td> <td>是</td> <td>10</td> <td>单位</td> <td>测量值的单位。</td> </tr> </tbody> </table> <p>为了区分这两类数据,需要注意<code>checkData</code>字段中的<code>checkKindCode</code>值:</p> <ul> <li>当<code>checkKindCode</code>为<code>31</code>时,表示这是关于治疗的数据。相关数据可从<code>checkTypeCode</code>字段获取。</li> </ul> <h3>1.8.3 类别对象说明</h3> <table> <thead> <tr> <th>检测大项编码</th> <th>检测小项编码</th> <th>描述</th> <th>单位</th> </tr> </thead> <tbody> <tr> <td>31</td> <td>duration</td> <td>持续时间,表示佩戴的总使用时长。</td> <td>秒</td> </tr> <tr> <td>31</td> <td>maskFit</td> <td>面罩贴合度,计算公式为(不漏气的使用时长/总使用时长),不漏气的使用时长表示头饰有戴在病人的脸上的时长。</td> <td>%</td> </tr> <tr> <td>31</td> <td>tidalVolumeAvg</td> <td>平均呼出潮气量。</td> <td>ml</td> </tr> <tr> <td>31</td> <td>Ahi</td> <td>包含患者呼吸暂停低通气指数。该指标表明患者睡眠呼吸暂停的严重程度。</td> <td>-</td> </tr> <tr> <td>31</td> <td>respiratoryRateAvg</td> <td>平均呼吸频率,表示每分钟呼吸的次数。</td> <td>次/分钟</td> </tr> <tr> <td>31</td> <td>ieRatioAvg</td> <td>平均呼吸比,即吸气时间与呼气时间的比例。</td> <td>-</td> </tr> </tbody> </table> <p><strong>示例说明</strong></p> <p>以下JSON示例展示了如何从<code>checkData</code>数组中提取特定的治疗和机器设置数据:</p> <ul> <li>当<code>checkKindCode</code>为<code>31</code>时,表示这是关于治疗的数据。可以根据<code>checkTypeCode</code>的值(例如<code>duration</code>、<code>largeLeakDuration</code>、<code>tidalVolume</code>)获取对应的<code>value</code>。</li> </ul> <h2>1.9 请求参数示例</h2> <pre><code class="language-json">{ &amp;quot;dataId&amp;quot;: &amp;quot;16155278813612&amp;quot;, &amp;quot;deviceCode&amp;quot;: &amp;quot;YB202304140456&amp;quot;, &amp;quot;deviceModel&amp;quot;: &amp;quot;DM28-25S-B&amp;quot;, &amp;quot;time&amp;quot;: &amp;quot;1708480637598&amp;quot;, &amp;quot;dataDate&amp;quot;: &amp;quot;2024-09-04&amp;quot;, &amp;quot;key&amp;quot;: &amp;quot;d3c004f1b695fbea0040f82cde631fe9&amp;quot;, &amp;quot;checkData&amp;quot;: [{ &amp;quot;checkKindCode&amp;quot;: &amp;quot;31&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;duration&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;7800&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;s&amp;quot; }, { &amp;quot;checkKindCode&amp;quot;: &amp;quot;31&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;maskFit&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;95&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;%&amp;quot; }, { &amp;quot;checkKindCode&amp;quot;: &amp;quot;31&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;tidalVolumeAvg&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;400&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;ml&amp;quot; },{ &amp;quot;checkKindCode&amp;quot;: &amp;quot;31&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;ahi&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;4.7&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;Event/H&amp;quot; }, { &amp;quot;checkKindCode&amp;quot;: &amp;quot;31&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;respiratoryRateAvg&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;12&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;cpm&amp;quot; } { &amp;quot;checkKindCode&amp;quot;: &amp;quot;32&amp;quot;, &amp;quot;checkTypeCode&amp;quot;: &amp;quot;ieRatioAvg&amp;quot;, &amp;quot;value&amp;quot;: &amp;quot;1.4&amp;quot;, &amp;quot;unit&amp;quot;: &amp;quot;%&amp;quot; } ] }</code></pre> <h3>1.9.1 请求参数解释</h3> <ul> <li><strong>dataId</strong>: 唯一标识数据记录的 ID。</li> <li><strong>deviceCode</strong>: 设备的唯一标识符,用于识别具体的设备。</li> <li><strong>deviceModel</strong>: 设备型号。</li> <li><strong>time</strong>: 请求的时间戳(13 位),以毫秒为单位,用于验证请求的时效性。</li> <li><strong>dataDate</strong>: 数据记录的日期,格式为 YYYY-MM-DD。</li> <li><strong>key</strong>: 请求的签名密钥,用于验证请求的真实性。</li> <li><strong>checkData</strong>: 包含多个数据检查项的数组,每个数据项包含以下字段: <ul> <li><strong>checkKindCode</strong>: 检测大项编码,用于标识检测类别(例如,31 表示治疗数据)。</li> <li><strong>checkTypeCode</strong>: 检测小项编码,用于标识具体的数据项(如 <code>duration</code> 表示持续时间)。</li> <li><strong>value</strong>: 实际检测值。</li> <li><strong>unit</strong>: 数据值的单位(如秒 <code>s</code>、毫升 <code>ml</code>)。</li> </ul></li> </ul> <h2>1.10 响应结果参数示例</h2> <pre><code class="language-JSON">{ &amp;quot;code&amp;quot;: &amp;quot;000&amp;quot;, &amp;quot;errorMessage&amp;quot;: &amp;quot;Operation successful!&amp;quot;, &amp;quot;data&amp;quot;: null }</code></pre> <table> <thead> <tr> <th>姓名</th> <th>类型</th> <th>必需的</th> <th>长度</th> <th>描述</th> <th>解释</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>string</td> <td>是的</td> <td>20</td> <td>状态码</td> <td>000:成功 001:请求失败 002:参数格式错误 003:缺少参数 105:无效密钥</td> </tr> <tr> <td>errorMessage</td> <td>string</td> <td>不</td> <td>10</td> <td>错误信息</td> <td>-</td> </tr> <tr> <td>data</td> <td>object</td> <td>不</td> <td>-</td> <td>数据</td> <td>-</td> </tr> </tbody> </table> <h2>变更历史记录</h2> <table> <thead> <tr> <th style="text-align: left;">改变日期</th> <th style="text-align: left;">变更摘要</th> <th style="text-align: left;">操作</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">-</td> <td style="text-align: left;">-</td> <td style="text-align: left;">-</td> </tr> </tbody> </table> <p>目前没有可用的更改历史记录。</p>

页面列表

ITEM_HTML