注册库 API — 开发者文档
ODIN 开放注册库的机器接入:REST + DICOMweb(STOW-RS / QIDO-RS / WADO-RS)。试点阶段令牌人工发放。
认证
REST:每个请求带 X-Registry-Token 请求头(试点令牌)。
DICOMweb:HTTP Basic(试点账号)。仅开放 /dicom-web/,Orthanc 管理 API 不对外。
REST 接口
POST | /api/registry/case | baseline-кейс caseFormV0 → { study_uuid } |
POST | /api/registry/upload | resumable upload (tus-core: create → HEAD offset → PATCH append) |
POST | /api/registry/predict | { study_uuid } → CDSS percentile vs cohort (research prototype) |
POST | /api/registry/outcome | { study_uuid, outcome, marginal_bone_loss_mm?, outcome_date? } |
GET | /api/registry/chain | hash-chain audit (data passport v0) |
GET | /api/registry/health | liveness |
DICOMweb(对接 PACS)
POST | /dicom-web/studies | STOW-RS: multipart/related; type="application/dicom" |
GET | /dicom-web/studies?PatientID={study_uuid} | QIDO-RS: поиск по study_uuid |
GET | /dicom-web/studies/{study}/metadata | WADO-RS metadata (application/dicom+json) |
约定:PatientID = 病例的 study_uuid(先在注册库创建)。2D 影像:IO / DX / PX / CR。CT/CBCT 可接收,写盘之前完成去面部化:软组织(<150 HU)替换为空气——不存在皮肤等值面,骨/牙/种植体保留(软组织诊断信息丢失,如实声明)。要求:未压缩 transfer syntax、MONOCHROME2、已校准 HU,否则拒收。
curl -u "pilot-user:pilot-pass" \
-X POST https://dentum.uz/dicom-web/studies \
-H 'Content-Type: multipart/related; type="application/dicom"; boundary=B' \
-H 'Accept: application/dicom+json' \
--data-binary @stow-body.bin 研究接入(T1)
经 OAuth2 + DUA 点击:去标识化的 FHIR R4 与 OMOP CDM v5.4 导出。T3 联邦(带签名更新的 FedAvg)——需 ≥2 家诊所。
POST | /api/registry/oauth/token | OAuth2 client-credentials → Bearer (после DUA-accept) |
POST | /api/registry/dua/accept | click-through DUA для скоупа T1 |
GET | /api/registry/fhir/{Resource} | FHIR R4 ndjson/Bundle (Patient/Observation/…) — Bearer T1 |
GET | /api/registry/fhir/metadata | FHIR CapabilityStatement (публично) |
GET | /api/registry/omop/{table} | OMOP CDM v5.4 ndjson (person/condition_occurrence/…) — Bearer T1 |
去标识化(写盘之前完成)
- PS3.15 Basic Profile 子集:删除 PII 标签(姓名、地址、机构、设备序列号、备注等),AccessionNumber/StudyID 置空
- 删除全部私有标签、overlay(60xx)与 curve(50xx)组
- 所有 UID 经 SHA-256+盐确定性重映射到 2.25 空间——序列一致性保留,无法回链诊所 PACS
- 保留 StudyDate/StudyTime(6/12 个月结局需要)
- 不做像素清理:BurnedInAnnotation=YES 一律拒收
- CBCT/CT:写盘前软组织消融去面部化(<150 HU → 空气);骨形态保留——剩余风险在 T2 DUA 中声明
OpenAPI 草案(YAML) → ·T0 stats → ·Data dictionary → ·Open tier T0 →