迪迅实验室 LIS 系统 API 文档
1. 基础说明
1.1 BaseUrl
1.2 请求方式
除了登录接口,其他接口需要在请求 header 中添加 Tenant-Id 和 Authorization 两个参数。例如:
- Tenant-Id: 1
- Authorization: Bearer 4f82b35998f64e7fb8fc058672cbce43
其中 Tenant-Id 固定为 1,Authorization 为登录接口返回的 accessToken。
1.3 响应格式
迪迅实验室的返回体格式如下
- code:状态码,0 表示成功,其他表示失败。每一个失败的场景对应一个失败码。
- data:返回数据,根据接口不同,数据结构不同。
- msg:请求失败时, msg 将有具体的说明。
例如,请求成功时,返回体如下:
{
"code": 0,
"data": {
"hello": "world"
},
"msg": ""
}例如,请求失败时,返回体如下:
{
"code": 1014100001,
"msg": "样本已签收"
}2. 名词解释 (Glossary)
在调用和理解本 API 文档前,建议先了解系统中几个核心的领域模型。以下核心对象在后端 lab-server 中均有对应的 Java 实体类(例如 LtmSampleDO、LtmProductDO 等),它们构成了整个 LIS 系统的底层数据流转骨架。
2.1 Sample (样本)
代表实验室接收到的一个具体物理检测样本。
- 核心属性:
id(系统主键)、code(样本内部编号)、barcode(样本条形码)、sampleType(样本类型,如静脉血)。 - 业务意义:一切检测流程的源头。在系统中,通过扫码或导入录入样本后,它将作为后续所有检测任务的基础载体。
2.2 Good (检测项目)
代表实验室可提供的一项标准检测服务或检测套餐(例如“精神类疾病易感基因检测”或“食物特异性抗体 IgG 4 项”)。
- 核心属性:
id、code、name、pipelineId(绑定的检测流水线)、reportTemplate(绑定的报告模板)。 - 业务意义:属于基础配置数据(字典项)。它规定了这个项目需要经过哪条流水线,以及最终出具什么样式的报告。
2.3 Product (检测任务 / 产品实例)
代表“某个 样本 (Sample) 正在进行的某项 检测项目 (Good)” 的实例化任务。
- 核心属性:
id、sampleId(关联的样本)、goodId(关联的检测项目)、status(检测状态)、rawDataFileId(关联的原始数据文件 ID)。 - 业务意义:它是
Sample和Good的结合体。当一个样本被要求做某项检测时,系统会生成一个Product。流水线的流转、工单的分配、检测数据和文件的挂载,都是以Product为主要维度的。
2.4 Indicator (检测指标)
代表某项具体的化验指标基础数据(例如“免疫球蛋白G1”、“白细胞计数”)。
- 核心属性:
id、code、name、unit(单位)、dataType(数据类型,如数值型、枚举型)。 - 业务意义:属于基础配置数据。一个
Good(检测项目) 通常会包含多个Indicator(检测指标)。
2.5 IndicatorRecord (指标记录 / 检测结果)
代表“某个 检测任务 (Product) 中,某项 检测指标 (Indicator) 实际测得的结果数据”。
- 核心属性:
id、productId(关联的检测任务)、indicatorId(关联的指标字典)、value(实际测得的值)、result(结果判定,如偏高、偏低、正常)。 - 业务意义:它是
Product和Indicator的结合体。对于免疫等会产生明细数值的流水线,检测完成后系统会批量生成多条IndicatorRecord记录。
3. 常见业务流程说明
3.1 样本结果查询流程(指标记录或原始文件)
在实际业务中,通常需要根据样本内部编号(code)查询最终的检测结果(指标记录 indicator-record 或原始文件 Excel)。由于底层数据存在关联关系,完整的调用流程如下:
1. 通过“样本编号”获取“样本系统 ID”
首先需要将业务侧的 code 转换成系统内部主键 id。
- 接口:
GET /admin-api/ltm/sample/page - 参数:传入
pageNo、pageSize,并在code参数中传入样本内部编号(支持通过逗号、空格或换行符分隔传入多个)。 - 提取数据:从响应体的
data.list数组中,提取所需样本的id字段(即后续的sampleId)。
2. 通过“样本 ID”查询“检测任务列表”
一个样本可能关联一个或多个检测任务(产品),需获取任务详情以确定是否有指标数据或原始文件。
- 接口:
GET /admin-api/ltm/product/list - 参数:传入上一步获取的
sampleId。 - 提取数据:从响应体的
data数组中,提取检测任务对象的id(即productId)和rawDataFileId(原始数据文件 ID)。
3. 根据业务类型分流获取最终结果
根据检测流水线的不同,结果的形式可能不同(例如免疫检测有具体指标,而基因检测通常只有原始 Excel 文件),需分情况处理:
分支 A:获取具体指标记录(如免疫检测、mRNA 等)
- 接口:
GET /admin-api/ltm/indicator-record/list - 参数:传入第二步获取的
productId(或使用productIds批量查询)。 - 结果:响应的
data数组即为各项指标的具体记录数值(value)、异常状态(result)及关联的指标基础信息。
- 接口:
分支 B:获取原始 Excel 文件(如基因检测等)
- 条件:第二步获取的任务对象中
rawDataFileId不为空。 - 接口:
GET /admin-api/infra/file/get - 参数:传入
id为提取到的rawDataFileId。 - 结果:响应体中的
data.url字段即为该原始 Excel 文件的下载或查看地址(通常为预签名的 OSS 临时访问 URL)。
- 条件:第二步获取的任务对象中
4. 流程全景图
用户输入 [样本内部编号 code 列表]
│
▼
调用 /admin-api/ltm/sample/page
│
├─ 提取出 => [样本主键 ID (sampleId)]
│
▼
调用 /admin-api/ltm/product/list (传入 sampleId)
│
├─ 提取出 => 任务ID (productId)
├─ 提取出 => 原始文件ID (rawDataFileId)
│
▼
业务判断(获取指标记录 还是 原始文件?)
│
├─👉 【获取指标】调用 /admin-api/ltm/indicator-record/list (传入 productId)
│ ┗━ 获得各项指标具体记录数值
│
└─👉 【获取文件】调用 /admin-api/infra/file/get (传入 rawDataFileId)
┗━ 获得文件的真实下载地址 URL4. 核心业务 API 列表
本章节包含了与样本流转、检测结果查询等核心业务强相关的接口。
4.1 分页查询样本列表
该接口用于分页查询实验室样本列表,支持多条件联合筛选,并返回当前页的样本基础信息、关联的检测项目、送检人以及送检机构等详细数据。
请求地址
URL:/admin-api/ltm/sample/page
请求方式
GET
请求参数
| 参数名 | 类型 | 必传 | 说明 | 示例 |
|---|---|---|---|---|
pageNo | Integer | 是 | 请求的当前页码 | 1 |
pageSize | Integer | 是 | 每页显示的记录条数 | 10 |
code | String | 否 | 样本编号。支持传入通过逗号、空格或换行符分隔的多个编号,用于批量精准查询 | "200100419" |
barcode | String | 否 | 样本条形码。支持传入通过逗号、空格或换行符分隔的多个条码,用于批量查询 | "20260416021" |
purposes | Array<Integer> | 否 | 样本用途筛选(1-检验,2-科研,3-质控) | [1, 2] |
userId | Long | 否 | 送检人 ID | 10504 |
groupId | Long | 否 | 机构 ID | 334 |
sampleType | String | 否 | 样本类型 | "venous_blood" |
响应参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
code | Integer | 状态码,0 表示成功,其他表示失败 | 0 |
data | Object | 包含分页主体数据的对象 | - |
data.total | Integer | 符合查询条件的数据总条数 | 2 |
data.list | Array<Object> | 当前页返回的样本数据列表 | - |
data.list[].id | Long | 样本的系统内部主键 ID | 10946 |
data.list[].code | String | 样本的系统编号 | "200100419" |
data.list[].barcode | String | 打印在实体样本管上的条形码 | "20260416021" |
data.list[].userId | Long | 关联的送检人(患者)的用户 ID | 10504 |
data.list[].sampleType | String | 样本类型 | "venous_blood" |
data.list[].sampleTime | Long | 实际采样的时间戳 | null |
data.list[].receiveTime | Long | 实验室接收(签收)样本的时间戳 | 1776268800000 |
data.list[].status | String | 样本的质量状态(如 normal 合格、溶血等) | "normal" |
data.list[].state | Integer | 样本的流程状态(1 代表正常签收,2 代表拒收) | 1 |
data.list[].purpose | Integer | 当前样本的具体用途(1-检验,2-科研,3-质控) | 1 |
data.list[].originId | String | 外部来源系统的原始 ID | "22" |
data.list[].createTime | Long | 该样本记录在系统中的创建时间戳 | 1776391563000 |
data.list[].goods | Array<Object> | 关联的检测项目列表 | - |
data.list[].goods[].id | Long | 检测项目的主键 ID | 58 |
data.list[].goods[].code | String | 检测项目的代码 | "2010" |
data.list[].goods[].cate | String | 项目大类 | "GENE" |
data.list[].goods[].name | String | 具体的检测项目名称 | "精神类疾病易感基因+药物基因检测(NGS)" |
data.list[].goods[].turnaroundDays | Integer | 检测周期(TAT) | 21 |
data.list[].goods[].pipelineId | Long | 对应的检测流水线 ID | 7 |
data.list[].goods[].sampleTypes | Array<String> | 支持的标本类型 | ["venous_blood"] |
data.list[].goods[].reportTemplate | String | 对应的报告模板标识 | "MentalIllnessGenes" |
data.list[].goods[].reportName | String | 正式的报告名称 | "神经精神类疾病基因检测报告" |
data.list[].member | Object | 送检人/患者信息 | - |
data.list[].member.name | String | 患者姓名 | "黄琳" |
data.list[].member.code | String | 患者的唯一病历号/就诊号 | "00123541/20260303/01" |
data.list[].member.sex | Integer | 性别(1 为男,2 为女) | 1 |
data.list[].member.mobile | String | 联系电话 | "18969018021" |
data.list[].member.birthday | Long | 出生日期时间戳 | -590450037000 |
data.list[].group | Object | 送检机构/医院信息 | - |
data.list[].group.id | Long | 机构主键 ID | 334 |
data.list[].group.name | String | 送检单位名称 | "杭州市第七人民医院" |
data.list[].group.apiEnabled | Boolean | 是否开启了与本系统的外部 API 对接能力 | false |
msg | String | 错误或提示信息 | "" |
请求返回示例:
{
"code": 0,
"data": {
"list": [
{
"id": 10946,
"code": 200100419,
"barcode": "20260416021",
"userId": 10504,
"sampleType": "venous_blood",
"sampleTime": null,
"receiveTime": 1776268800000,
"status": "normal",
"state": 1,
"purpose": 1,
"remark": "",
"images": null,
"goods": [
{
"id": 58,
"code": "2010",
"cate": "GENE",
"name": "精神类疾病易感基因+药物基因检测(NGS)",
"description": "",
"turnaroundDays": 21,
"pipelineId": 7,
"sampleTypes": [
"venous_blood",
"nucleic_acid_dna",
"saliva",
"peripheral_blood",
"oral_mucosa_cells"
],
"sort": 10,
"reportTemplate": "MentalIllnessGenes",
"reportName": "神经精神类疾病基因检测报告",
"createTime": 1750408523000,
"updateTime": 1752661785000,
"pipeline": null,
"props": {
"grades": []
},
"valid": true,
"strict": true,
"subGoods": null
}
],
"member": {
"id": 10504,
"nickname": "黄琳",
"name": "黄琳",
"code": "00123541/20260303/01",
"groupId": 334,
"sex": 1,
"birthday": -590450037000,
"status": 0,
"avatar": "",
"mobile": "18969018021",
"idCardNo": null,
"createTime": 1776391563000,
"levelId": null,
"point": 0,
"nationality": null,
"address": null
},
"group": {
"id": 334,
"name": "杭州市第七人民医院",
"code": null,
"status": 0,
"apiEnabled": false,
"logoUrl": null,
"smallLogoUrl": null
},
"product": null,
"createTime": 1776391563000,
"count": null,
"originId": "22"
}
],
"total": 2
},
"msg": ""
}4.2 查询检测产品列表
该接口用于查询实验室检测产品列表(即检测任务或项目实例),常用于根据样本 ID 等条件筛选关联的检测任务。
请求地址
URL:/admin-api/ltm/product/list
请求方式
GET
请求参数
| 参数名 | 类型 | 必传 | 说明 | 示例 |
|---|---|---|---|---|
sampleId | Long | 否 | 样本 ID,用于查询指定样本关联的所有检测任务 | 10766 |
status | Integer | 否 | 检测任务状态(0-检测失败,1-待检测,2-检测中,3-已完成,4-已取消) | 1 |
statuses | Array<Integer> | 否 | 检测状态列表,用于批量状态查询 | [1, 2] |
pipelineId | Long | 否 | 流水线 ID,用于查询分配到指定流水线的检测任务 | 7 |
readyForTesting | Boolean | 否 | 是否准备好进行检测(需结合 pipelineId 使用) | true |
readyForGeneAnalysis | Boolean | 否 | 是否准备好进行基因分析(需结合 pipelineId 使用) | false |
响应参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
code | Integer | 状态码,0 表示成功,其他表示失败 | 0 |
data | Array<Object> | 包含检测任务数据的数组 | - |
data[].id | Long | 检测任务的系统内部主键 ID | 3212 |
data[].code | String | 检测任务(产品)编号 | "63e2607472fc" |
data[].sampleId | Long | 关联的样本 ID | 10766 |
data[].userId | Long | 关联的送检人(患者)的用户 ID | 10328 |
data[].goodId | Long | 关联的检测项目 ID | 79 |
data[].pipelineId | Long | 关联的流水线 ID | 5 |
data[].workOrderId | Long | 当前正在处理该任务的工单 ID | null |
data[].rawDataFileId | Long | 原始数据文件 ID | null |
data[].status | Integer | 检测状态(0-检测失败,1-待检测,2-检测中,3-已完成,4-已取消) | 3 |
data[].processTime | Long | 开始检测的时间戳 | 1775632529000 |
data[].completeTime | Long | 检测完成的时间戳 | 1775632529000 |
data[].purpose | Integer | 检测目的(1-检验,2-科研,3-质控) | 2 |
data[].abnormalCount | Integer | 异常指标数量 | 0 |
data[].createTime | Long | 任务创建的时间戳 | 1775632529000 |
data[].updateTime | Long | 任务更新的时间戳 | 1775632528000 |
data[].good | Object | 关联的检测项目对象信息(如项目代码、名称等) | - |
data[].pipeline | Object | 关联的流水线对象信息 | - |
data[].sample | Object | 关联的样本对象信息 | - |
data[].productSteps | Array<Object> | 检测步骤列表 | - |
data[].subGoods | Array<Object> | 子检测项目/指标列表 | null |
msg | String | 错误或提示信息 | "" |
请求返回示例:
{
"code": 0,
"data": [
{
"id": 3212,
"code": "63e2607472fc",
"sampleId": 10766,
"userId": 10328,
"goodId": 79,
"pipelineId": 5,
"workOrderId": null,
"rawDataFileId": null,
"status": 3,
"good": {
"id": 79,
"code": "IgG-4",
"cate": "IMMUNE",
"name": "IFC-IgG subclass",
"description": "",
"turnaroundDays": 10,
"pipelineId": 5,
"sampleTypes": ["venous_plasma"],
"sort": 1,
"reportTemplate": "IgG",
"reportName": "食物特异性抗体IgG 检测和健康咨询报告",
"createTime": 1775623532000,
"updateTime": 1775623532000,
"pipeline": null,
"props": {
"grades": []
},
"valid": true,
"strict": true,
"subGoods": null
},
"pipeline": {
"id": 5,
"name": "免疫学检测",
"permission": "ltm:pipeline:immune",
"type": 1,
"valid": true
},
"sample": {
"id": 10766,
"code": 100006514,
"barcode": "108002000033",
"userId": 10328,
"sampleType": "venous_plasma",
"sampleTime": null,
"receiveTime": 1774195200000,
"status": "normal",
"state": 1,
"purpose": 2,
"remark": "",
"images": null,
"goods": null,
"member": {
"id": 10328,
"nickname": "33",
"name": "33",
"code": null,
"groupId": 330,
"sex": 0,
"birthday": null,
"status": 0,
"avatar": "",
"mobile": null,
"idCardNo": null,
"createTime": 1775632421000,
"levelId": null,
"point": 0,
"nationality": null,
"address": null
},
"group": {
"id": 330,
"name": "上海翃圣-西门子-免疫球蛋白IgG1-IgG4",
"code": null,
"status": 0,
"apiEnabled": false,
"logoUrl": null,
"smallLogoUrl": null
},
"product": null,
"createTime": 1775632421000,
"count": null,
"originId": null
},
"purpose": 2,
"abnormalCount": 0,
"processTime": 1775632529000,
"completeTime": 1775632529000,
"createTime": 1775632529000,
"updateTime": 1775632528000,
"productSteps": [
{
"id": 10957,
"productId": 3212,
"stepId": 7,
"status": 2,
"remark": "导入自动完成",
"sort": 1,
"completeTime": 1775632529000,
"createTime": 1775632528000,
"updateTime": 1775632528000,
"sample": null,
"product": null,
"nucleicAcid": null,
"sequencingLibrary": null
},
{
"id": 10958,
"productId": 3212,
"stepId": 8,
"status": 2,
"remark": "导入自动完成",
"sort": 2,
"completeTime": 1775632529000,
"createTime": 1775632528000,
"updateTime": 1775632528000,
"sample": null,
"product": null,
"nucleicAcid": null,
"sequencingLibrary": null
},
{
"id": 10959,
"productId": 3212,
"stepId": 9,
"status": 2,
"remark": "导入自动完成",
"sort": 3,
"completeTime": 1775632529000,
"createTime": 1775632528000,
"updateTime": 1775632528000,
"sample": null,
"product": null,
"nucleicAcid": null,
"sequencingLibrary": null
}
],
"subGoods": null
}
],
"msg": ""
}4.3 查询指标记录
该接口用于查询检测产品(任务)关联的各项检测指标的记录结果。
请求地址
URL:/admin-api/ltm/indicator-record/list
请求方式
GET
请求参数
支持 Query 传参(注意:productId、productIds 和 operationId 必须至少填写一个,优先以 operationId 为准,其次是 productId,最后是 productIds):
| 参数名 | 类型 | 必传 | 说明 | 示例 |
|---|---|---|---|---|
productId | Long | 否 | 检测产品(任务)的 ID | 3212 |
productIds | Array<Long> | 否 | 检测产品(任务)的 ID 列表,用于批量查询 | [3212, 3213] |
operationId | Long | 否 | 操作 ID | 1 |
响应参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
code | Integer | 状态码,0 表示成功,其他表示失败 | 0 |
data | Array<Object> | 包含指标记录数据的数组 | - |
data[].id | Long | 指标记录的主键 ID | 165084 |
data[].value | String | 检测指标的记录值 | "4872" |
data[].userId | Long | 记录人的用户 ID | 10328 |
data[].testTime | Long | 检测时间戳 | 1775632529000 |
data[].productId | Long | 关联的检测产品 ID | 3212 |
data[].result | Integer | 结果状态标识。数值类型(0-正常,-1-偏低预警,1-偏高预警,2-偏高异常,-2-偏低异常,10-危机值);枚举类型(3-正常,-3-异常) | 0 |
data[].indicatorId | Long | 关联的指标基础数据 ID | 939 |
data[].refRangeId | Long | 关联的参考范围 ID | 1585 |
data[].sort | Integer | 排序值 | 201 |
data[].indicator | Object | 关联的指标基础信息对象 | - |
data[].indicator.id | Long | 指标基础信息的主键 ID | 939 |
data[].indicator.code | String | 指标代码 | "IgG1" |
data[].indicator.name | String | 指标名称 | "免疫球蛋白G1" |
data[].indicator.unit | String | 指标单位 | "μg/mL" |
data[].indicator.dataType | Integer | 数据类型 | 1 |
data[].refRange | Object | 关联的参考范围对象 | - |
data[].refRange.id | Long | 参考范围的主键 ID | 1585 |
data[].refRange.normalUpper | Double | 正常上限 | null |
data[].refRange.normalLower | Double | 正常下限 | null |
data[].createTime | Long | 记录创建时间戳 | 1775632529000 |
data[].updateTime | Long | 记录更新时间戳 | 1775632529000 |
msg | String | 错误或提示信息 | "" |
请求返回示例:
{
"code": 0,
"data": [
{
"id": 165084,
"value": "4872",
"userId": 10328,
"testTime": null,
"productId": 3212,
"result": 0,
"indicatorId": 939,
"refRangeId": 1585,
"sort": 201,
"indicator": {
"id": 939,
"code": "IgG1",
"name": "免疫球蛋白G1",
"nameEn": "IgG1",
"unit": "μg/mL",
"description": "免疫球蛋白G1",
"dataPrecision": 0,
"dataType": 1,
"enumValues": [],
"valid": true,
"filters": null,
"sort": 201
},
"refRange": {
"id": 1585,
"filters": null,
"indicatorId": 939,
"wideType": null,
"mutantType": null,
"warningUpper": null,
"warningLower": null,
"normalUpper": null,
"normalLower": null,
"dangerUpper": null,
"dangerLower": null,
"createTime": 1775623196000,
"updateTime": 1775623196000
},
"createTime": 1775632529000,
"updateTime": 1775632529000
},
{
"id": 165085,
"value": "2333",
"userId": 10328,
"testTime": null,
"productId": 3212,
"result": 0,
"indicatorId": 940,
"refRangeId": 1586,
"sort": 202,
"indicator": {
"id": 940,
"code": "IgG2",
"name": "免疫球蛋白G2",
"nameEn": "IgG2",
"unit": "μg/mL",
"description": "免疫球蛋白G2",
"dataPrecision": 0,
"dataType": 1,
"enumValues": [],
"valid": true,
"filters": null,
"sort": 202
},
"refRange": {
"id": 1586,
"filters": null,
"indicatorId": 940,
"wideType": null,
"mutantType": null,
"warningUpper": null,
"warningLower": null,
"normalUpper": null,
"normalLower": null,
"dangerUpper": null,
"dangerLower": null,
"createTime": 1775623221000,
"updateTime": 1775623645000
},
"createTime": 1775632529000,
"updateTime": 1775632529000
},
{
"id": 165086,
"value": "237",
"userId": 10328,
"testTime": null,
"productId": 3212,
"result": 0,
"indicatorId": 941,
"refRangeId": 1587,
"sort": 203,
"indicator": {
"id": 941,
"code": "IgG3",
"name": "免疫球蛋白G3",
"nameEn": "IgG3",
"unit": "μg/mL",
"description": "免疫球蛋白G3",
"dataPrecision": 0,
"dataType": 1,
"enumValues": [],
"valid": true,
"filters": null,
"sort": 203
},
"refRange": {
"id": 1587,
"filters": null,
"indicatorId": 941,
"wideType": null,
"mutantType": null,
"warningUpper": null,
"warningLower": null,
"normalUpper": null,
"normalLower": null,
"dangerUpper": null,
"dangerLower": null,
"createTime": 1775623244000,
"updateTime": 1775623244000
},
"createTime": 1775632529000,
"updateTime": 1775632529000
},
{
"id": 165087,
"value": null,
"userId": 10328,
"testTime": null,
"productId": 3212,
"result": null,
"indicatorId": 942,
"refRangeId": 1588,
"sort": 204,
"indicator": {
"id": 942,
"code": "IgG4",
"name": "免疫球蛋白G4",
"nameEn": "IgG4",
"unit": "μg/mL",
"description": "免疫球蛋白G4\n",
"dataPrecision": 0,
"dataType": 1,
"enumValues": [],
"valid": true,
"filters": null,
"sort": 204
},
"refRange": {
"id": 1588,
"filters": null,
"indicatorId": 942,
"wideType": null,
"mutantType": null,
"warningUpper": null,
"warningLower": null,
"normalUpper": null,
"normalLower": null,
"dangerUpper": null,
"dangerLower": null,
"createTime": 1775623266000,
"updateTime": 1775623266000
},
"createTime": 1775632529000,
"updateTime": 1775632529000
}
],
"msg": ""
}4.4 获得文件信息
该接口用于根据文件 ID 获得该文件在系统中的详细信息,比如原始文件名、文件在 OSS 中的预签名 URL 等信息。
请求地址
URL:/admin-api/infra/file/get
请求方式
GET
请求参数
支持 Query 传参:
| 参数名 | 类型 | 必传 | 说明 | 示例 |
|---|---|---|---|---|
id | Long | 是 | 文件的主键 ID | 1326 |
响应参数
| 参数名 | 类型 | 说明 | 示例 |
|---|---|---|---|
code | Integer | 状态码,0 表示成功,其他表示失败 | 0 |
data | Object | 包含文件详细信息的对象 | - |
data.id | Long | 文件的主键 ID | 1326 |
data.configId | Long | 关联的文件配置 ID | 24 |
data.path | String | 文件在 OSS 等存储器中的相对路径 | "products/41-200100018_李孟夏.xlsx" |
data.name | String | 原文件名 | "200100018_李孟夏.xlsx" |
data.url | String | 文件可直接访问的 URL(如果是私有读写 OSS,通常是带有预签名的可临时访问地址) | "https://dixun-private.oss-cn-hangzhou.aliyuncs.com/products/41-200100018_%E6%9D%8E%E5%AD%9F%E5%A4%8F.xlsx?X-Amz-Algorithm=..." |
data.type | String | 文件 MIME 类型 | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" |
data.size | Integer | 文件大小(字节) | 19640 |
data.createTime | Long | 文件记录创建时间戳 | 1732223678000 |
msg | String | 错误或提示信息 | "" |
请求返回示例:
{
"code": 0,
"data": {
"id": 1326,
"configId": 24,
"path": "products/41-200100018_李孟夏.xlsx",
"name": "200100018_李孟夏.xlsx",
"url": "https://dixun-private.oss-cn-hangzhou.aliyuncs.com/products/41-200100018_%E6%9D%8E%E5%AD%9F%E5%A4%8F.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=LTAI5tA4hZ86HaHu7ScuCRzT%2F20260417%2Foss-cn-hangzhou%2Fs3%2Faws4_request&X-Amz-Date=20260417T031706Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Signature=d646845d651baf4fd9c21bea2cdf7e9c49e601c854f463d959d1a4bb39cf803d",
"type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"size": 19640,
"createTime": 1732223678000
},
"msg": ""
}5. 实验数据导入 API 列表
本章节包含了各条检测流水线在流转过程中涉及的 Excel 数据导入接口。
5.1 基因检测相关导入
导入 1.1 gDNA 提取记录单
调用该接口,需已经创建对应的核酸提取工单。
API 文档:http://dx-api.ming-kuai.com/doc.html#/all/实验室 - 核酸管理/importExcel_3
Excel 导入模板: https://mkpublic.oss-cn-hangzhou.aliyuncs.com/lab/import-templates/workorder/gene/1.1 gDNA提取记录单.xlsx
导入 2.1 建库记录单
调用该接口,需已经创建对应的文库构建工单。
API 文档:http://dx-api.ming-kuai.com/doc.html#/all/实验室 - 文库管理/importSingleSeqLibrariesExcel
Excel 导入模板:https://mkpublic.oss-cn-hangzhou.aliyuncs.com/lab/import-templates/workorder/gene/2.1 建库记录单.xlsx
导入 3.1.1 杂交捕获 Pooling 记录单
调用该接口,需已经创建对应的杂交捕获工单。
导入 3.1.2 杂交捕获 QC 记录单
调用该接口,需已经创建对应的杂交捕获工单。
导入 4.1 测序文库 Pooling 单
调用该接口,需已经创建对应的基因测序工单 。
导入 5.1 测序结果信息单
调用该接口,需已经创建对应的基因测序工单 。
API 文档:http://dx-api.ming-kuai.com/doc.html#/all/实验室 - 测序结果管理/importSequencingResult
Excel 导入模板: https://mkpublic.oss-cn-hangzhou.aliyuncs.com/lab/import-templates/workorder/gene/5.1测序结果信息单.xlsx
5.2 免疫检测相关导入
导入检测数据
API 文档: http://dx-api.ming-kuai.com/doc.html#/ltm/实验室 - 检测任务单管理/importExcel
Excel 导入模板: https://mkpublic.oss-cn-hangzhou.aliyuncs.com/lab/import-templates/workorder/common-template.xlsx
5.3 mRNA 相关导入
导入检测数据
该接口与免疫检测的导入检测数据接口相同,但导入模板不同。
API 文档: http://dx-api.ming-kuai.com/doc.html#/ltm/实验室 - 检测任务单管理/importExcel
Excel 导入模板: https://mkpublic.oss-cn-hangzhou.aliyuncs.com/lab/import-templates/workorder/immue-template.xlsx
6. 系统与资源管理 API 列表
6.1 用户登录
该接口用于生信分析接入本系统时用户通过 API 登录本系统。登录的用户需具备 "基因检测" 流水线权限。
请求地址
URL:admin-api/system/auth/login
请求参数
tenantName:租户名称,固定为迪迅实验室username:用户名,由系统管理员注册后分配。password:密码,由系统管理员注册后分配,首次登录需更换自己的默认密码。rememberMe:是否记住我,固定为false
请求体示例
{
"tenantName": "迪迅实验室",
"username": "demo",
"password": "DEMO_PASSWORD",
"rememberMe": false
}响应参数
code:状态码,0 表示成功,其他表示失败。data:登录成功后返回的数据,包含userId、accessToken、refreshToken、expiresTime。userId:用户 IDaccessToken:访问令牌refreshToken:刷新令牌expiresTime:令牌过期时间
msg:状态码对应的提示信息。
请求返回示例
{
"code": 0,
"data": {
"userId": 1,
"accessToken": "6b2d******126027",
"refreshToken": "31d286*******571423abe",
"expiresTime": 1736142177721
},
"msg": ""
}6.2 查询设备信息
分页查询设备信息及状态。
status:设备状态,Integer 类型,含义如下:
- 1: 使用中,
- 2: 维修中,
- 3: 故障,
- 4: 暂停,
- 5: 仪器丢失,
- 6: 备用设备,
- 7: 退回厂商,
- 0: 报废;
文档地址:http://dx-api.ming-kuai.com/doc.html#/erp/实验室 - 仪器设备管理/getPage_1
6.3 查询设备维护记录
文档: http://dx-api.ming-kuai.com/doc.html#/erp/实验室 - 设备维护管理/getPage
