跳转到内容
快速开始

数据

标准化机制

结构化读数如何变成带编码、单位归一、可查询的数据。

健康数据到达时是杂乱的:“血糖(空腹)”、“FBG”、“Glucose, fasting” 指的是同一个指标,单位也同样五花八门。无论是通过 POST /v1/data 写入,还是由 POST /v1/standardize 存储,Mirobody 都会把每条结构化读数标准化,让 agent 和你的查询看到的是同一份连贯、带编码的数据集。

POST /v1/files 是独立的文件存储与文本抽取接口;上传文件时,Mirobody 会自动把其中的报告数值标准化为结构化读数。/v1/standardize 是同一抽取的显式路径:用它审阅结果(dry-run),或按需标准化 text / file_key 来源。

文档与结构化记录都进入同一条管线:

  1. 读取来源 PDF / 图片 → 文本(OCR);Excel → 行。
  2. 抽出读数 找出每条 {指标, 值, 单位, 日期}。仅文档需要这一步:/v1/data 记录本就是结构化的,直接进入编码。
  3. 为指标编码 把名称匹配到 LOINC 编码。没有高置信匹配时,loinc_code 保持 null,绝不给一个错码。
  4. 归一单位 把单位写法折叠成统一的 UCUM 形式,并把值解析为数字:"mg/dl"mg/dL
  5. 落成一条序列 每条读数在 Subject 的时间线上占一行,可按指标、编码与日期查询。

关键在第 3 步:编码是匹配出来的,绝不是编造出来的。 模型很擅长文档,却不该被用来编码体系:一个错的 LOINC 码比没有更糟。所以当匹配不够可信时,Mirobody 会保留原始名称、让 loinc_codenull,而不是去猜。

自部署时这条管线覆盖的是结构化读数:引擎的 provider 通道与端上批量样本走同一条归一写入,而文件抽取直接写入存储、保留报告原文的指标名,由语义检索归并。见数据流

你发送给 /v1/data 的内容(或 /v1/standardize 从报告中读到的内容)与结构化存储中的结果:

Before(原样)After(标准化后)
指标"血糖(空腹)" / "FBG" / "Glucose, fasting"loinc_code: "1558-6"canonical_name: "Fasting glucose [Mass/volume] in Serum or Plasma"
"97 mg/dL"(一个字符串)value: "97"(原样的值,不带单位)、parsed_value: "97"parsed_unit: "mg/dL"(UCUM)
单位写法"mg/dl""MG/DL""mg/dL""mg/dL"(统一 UCUM 形式)
互操作自由文本LOINC 编码 + UCUM 单位,即 FHIR 自身使用的那套词表
原文保留value 是原样的值本身(如 97,不追加单位,单位在 parsed_unit 中);原始名称/单位不丢

同一项检测的三种写法归成一条序列:趋势查询、agent 的数据工具与你自己的分析都把它当作同一个指标。

接口呈现出什么
POST /v1/data响应在 ingested 之外还统计 standardized
GET /v1/data每行携带 parsed_value / parsed_unit / loinc_code / canonical_name;数据源带了参考区间时,还会带上参考区间与 abnormal 标记。
POST /v1/standardize整条管线的同步调用形态:默认 dry-run,可先审阅标准化结果再决定写入。
agent有据可循的回答查询的是标准化后的序列,所以”我的血糖怎么样”能找到写成 “FBG” 的记录。

Cookbook:一次调用,报告 → 结构化数据

Section titled “Cookbook:一次调用,报告 → 结构化数据”
Terminal window
# 先审阅(什么都不持久化)……
curl https://api.mirobody.ai/v1/standardize \
-H "Authorization: Bearer $MIROBODY_API_KEY" \
-F "user=alice" -F "file=@lab_report.pdf"
# ……再提交同一份抽取
curl https://api.mirobody.ai/v1/standardize \
-H "Authorization: Bearer $MIROBODY_API_KEY" \
-F "user=alice" -F "file=@lab_report.pdf" \
-F "store=true" -F "retention=permanent"

完整行形状(indicator_rawloinc_codeconfidence 等)见叙事文本与报告