● LIVE medicalcrewagent · LangGraph 计划引擎已上线

让每一次临床决策
都有可审计的智能护航

MedicalCrew 是一个治理优先的医疗 AI 平台 —— 15 个独立子应用、统一数据平面与 LangGraph Agent 协同工作,从变量生产、科研分析到治疗推荐,每一步写入都经过版本化契约与两阶段审核。

15
注册子应用
3
节点 AMD64 生产部署
100%
写入操作强制审批
PHI
隐私数据全程阻断
// Application Matrix

一个仓库,一支完整的医疗数据舰队

每个应用保留独立的 Compose 网络、数据库与端口,通过 MedicalGateway allowlist 与稳定平台别名互通 —— 微服务的自由,平台的纪律。

🧠
AGENT CORE
MedicalCrewAgent
统一会话、计划、审批与五大领域工作台的集成 Agent
API 8025 · WEB 8103
🎯
AGENT CORE
MedicalAgent
相似患者检索 · PGVector 索引 · 治疗推荐工作流
API 8022 · WEB 8102
📊
AGENT CORE
MedicalBI
受治理医学 BI:工作簿、ChartSpec 版本与 SSR 渲染
API 8026 · WEB 8104
🧪
RESEARCH
MedicalResearch
多角色科研项目、Protocol/SAP、仿真分析、正式运行与成果审批
API 8027 · WEB 8105
🪪
MedicalCenter
身份、应用注册、权限与共享模型配置的中枢
API 8013 · WEB 8093
📐
MedicalVariable
医学变量的版本化生产与契约校验
API 8010 · WEB 8091
🏷️
MedicalAnnotation
JSON 实体抽取、标注与归一化服务
API 8011 · WEB 8092
🔍
MedicalSearch
医学检索服务,连接患者与知识
API 8012 · WEB 8080
MedicalQuality
质量规则引擎,为数据生产把关
API 8014 · WEB 8094
📚
MedicalKnowledge
知识与 API 文档的统一发布
API 8015 · WEB 8095
🗂️
MedicalAssets
数据集与资产管理,BI 的唯一数据源
API 8016 · WEB 8096
#️⃣
MedicalTags
标签管理与计算服务
API 8017 · WEB 8097
⚙️
MedicalJobs
生产作业编排与 Pipeline 执行
API 8018 · WEB 8098
🗄️
MedicalSQL
受治理的 SQL 设计与安全发布
API 8020 · WEB 8100
🚪
MedicalGateway
共享 API 网关,allowlist 即边界
API 8019 · WEB 8099
// Architecture

四层结构,一条可追溯的数据命脉

请求自上而下穿越治理层、智能层、领域层与数据平面;PostgreSQL / PGVector 共享底座之上,Arrow Flight 承载高性能流量。

L1 · 治理中枢 Governance
MedicalCenter · 身份/权限MedicalGateway · AllowlistMedicalKnowledge · 文档MedicalQuality · 质量规则
L2 · 智能与业务工作台 Intelligence & Workspaces
MedicalCrewAgent · 计划/审批MedicalAgent · 检索/推荐MedicalBI · 受治理图表MedicalResearch · 科研协作LangGraph Planner · live 模式
L3 · 领域生产 Domain Services
MedicalVariableMedicalAnnotationMedicalSearchMedicalSQLMedicalTagsMedicalAssetsMedicalJobs
L4 · 数据平面 Data Plane · 8830–8834
MedicalDataPlane · HTTP + Arrow FlightPipelineOps · 8023ExecutionRuntime · 租约调度PostgreSQL / PGVector
// Agent Engine

先计划,后执行
写入永远等人点头

🗺️

LangGraph 实时规划

自然语言消息以 202 Accepted 进入持久化 Run 队列,Worker 以 PostgreSQL 租约认领并生成 AgentPlan 与 AgentRunStep —— 读取自动执行,写入暂停待审。

🔐

PendingAction 两阶段确认

SQL 发布、变量写入、生产执行、业务回滚与临床建议一律先生成 PendingAction,UI 审核 + API confirmed=true 双闸门。

🌿

快照 · 分支 · 幂等重试

版本化 WorkspaceManifest 固定完整工作台状态,/retry 复用原 Run 快照不随领域升级漂移。

🛡️

三级记忆 + PHI 阻断

患者标识与临床记录绝不进入长期记忆;团队记忆需提议与审批双权限,审计摘要全程留痕。

medicalcrewagent · session #4821
// LLM Agent Capabilities

用自然语言,驱动整条医学数据流水线

对话即编程:变量 DAG、SQL 任务、病历实体抽取、结构化标注 —— 全部由 Agent 从自然语言生成、校验并交付执行,PG 与 SparkSQL 双引擎随选。

💬 MedicalCrewAgent · 变量工作台
定义变量「高血压合并糖尿病」,需要收缩压≥140 且有任意时点糖化血红蛋白≥6.5% 的患者标记,作为下游入组筛选的入参。
Agent · 已解析为变量规则草案 v1-draft
  • 输入依赖:bp.systolic_max(MedicalVariable v4)→ lab.hba1c_any
  • 判定逻辑:SBP ≥ 140 AND HbA1c ≥ 6.5%
  • 输出:flag_hypertension_dm · BOOLEAN
检测到 2 个上游依赖,DAG 已生成 ↓ 确认后发布为 v5。
/variable create发送 ⏎
🔗 Variable DAG · flag_hypertension_dm
bp.systolic_maxMedicalVariable · v4 lab.hba1c_anyMedicalVariable · v2 SBP≥140 AND HbA1c≥6.5判定节点 · 由 LLM 解析 flag_hypertension_dm
✔ 依赖闭环校验通过⏸ 发布需两阶段确认
💬 对话生成 SQL 任务
统计近一年各科室出院患者的平均住院日和抗生素使用率,用 Spark 跑,结果写到资产表。
Agent · 已生成只读 QueryPlan + 任务草稿:
  • 引擎:spark_sql(别名 spark 自动映射)· driver 4C/8G · executor×4
  • 安全校验:MedicalSQL 只读检查 ✔ · 数据集资产绑定 ds_inpatient_2025
  • 输出管道:medical_bi_chart → output_writer 写回 MedicalAssets
SQL 仅持久化哈希与结构化解析结果,原文不留存。
/sql task create --engine spark发送 ⏎
⚙️ Task Spec · dual-engine
SELECT dept,
       AVG(discharge_date - admit_date)  AS avg_los_days,
       AVG(CASE WHEN antibiotic_used THEN 1.0 ELSE 0.0 END) AS abx_rate
FROM   ds_inpatient_2025.adm
WHERE  discharge_date >= '2025-08-01'
GROUP BY dept;
driver: 4 cores / 8 GB · executor ×4 (2C/4G) · dynamic_allocation on · Arrow Flight 回传
💬 病历实体识别 · 关系绑定
把这段病程记录做实体抽取和关系绑定,按平台标准实体体系输出。
Agent · 抽取完成:7 个实体 · 5 条关系。已通过 MedicalAnnotation 归一化并映射到标准术语;PHI 字段已就地脱敏。
美托洛尔缓释片 47.5mg qd控制血压,2 型糖尿病病史 8 年,近日诉多饮多尿,查 HbA1c 8.2%眼底荧光造影糖尿病视网膜病变 II 期
🧬 关系图谱
美托洛尔treats →高血压(隐含)
2型糖尿病has_symptom →多饮多尿
HbA1c 8.2%indicates →血糖控制不佳
眼底造影diagnosed →糖网病变 II 期
糖网病变complication_of →2型糖尿病
归一化引擎:MedicalAnnotation · 术语映射 ✔ · PHI 阻断 ✔
💬 LLM 结构化文本标注
按照「肿瘤分期标注契约 v3」批量标注这批病理报告,不合格的进人工复核队列。
Agent · 批处理完成(1,204 / 1,204):
  • 结构化产出对齐 annotation_contract v3 · schema 校验通过率 99.4%
  • 46 例低置信度样本 → 人工复核队列(MedicalQuality 规则触发)
  • 标注版本已冻结,可整体回滚 · 审计摘要已写入
🏷️ Annotation Output · contract v3
{
  "contract": "tumor_staging/v3",
  "source_ref": {"domain": "medicalannotation",
                 "kind": "pathology_report", "version": "r-88231"},
  "labels": {
    "tumor_type": "lung_adenocarcinoma",
    "tnm": {"T": "T2b", "N": "N1", "M": "M0", "stage": "IIB"},
    "ki67": 0.25,
    "lymph_nodes": {"sampled": 12, "positive": 2}
  },
  "confidence": 0.96,
  "review_state": "auto_approved"
}
// MedicalResearch · Governed R&D Workspace

把科研协作,从文件往返
变成可审计的项目闭环

面向真实世界研究、HEOR、上市后研究与医学统计团队,MedicalResearch 把项目方案、数据审批、R/Python 仿真、脚本版本、正式计算和成果出域统一在同一条受治理链路中。

10+PROJECT ROLES
职责分离
R + PYJUPYTER / RSTUDIO
双工作区
1SEALED PATH
正式结果出口
01 · PROJECT项目与研究问题手工创建或 AI 导入项目文档
02 · PROTOCOLProtocol / SAP版本化方案、分析项与研究变量
03 · RELEASE数据申请审批后生成不可变 DataRelease
04 · SIMULATE仿真调试JupyterLab / RStudio 只读输入
05 · FREEZE脚本与 Bundle多文件回流、Hash 与冻结审批
06 · RUN正式统计无网络密封运行与产物扫描
07 · REVIEW成果出域独立复核、一次性下载与审计
SCENARIO 01 · RWE / HEOR

从研究方案直接建立项目骨架

导入 Protocol、SAP 或 CSR 草稿,预览研究目的、章节、分析项和研究变量后再确认创建,避免研究方案散落在邮件与文档版本中。

  • AI 提取只生成可审阅草稿
  • 研究变量统一归类并保留来源
  • PI 与 Data Steward 职责分离
SCENARIO 02 · BIOSTATISTICS

R / Python 仿真脚本持续回流

研究者在 SIMULATED 数据上使用 JupyterLab 或 RStudio 调试;确认后的多文件脚本、唯一入口、依赖锁和 Hash 固化为项目不可变版本。

  • work/input 数据集只读挂载
  • 新工作区恢复同语言完整脚本
  • 修改后可继续仿真直到发布
SCENARIO 03 · GOVERNED OUTPUT

正式结果只有一条受控出口

冻结的 Analysis Bundle 绑定批准方案、脚本清单、镜像摘要和 DataRelease;正式运行隔离网络,产物扫描后进入 Output Reviewer 审批。

  • runsc / gVisor 密封执行
  • Artifact 与分析项逐项绑定
  • 导出审批、短期下载和全链审计
COLLABORATION LANES PI · 研究负责人 Researcher · 方案与仿真 Biostatistician · 统计审查 Data Steward · 数据治理 Output Reviewer · 成果复核
// Pipeline DAG & Scheduler

任务编排:从快照到发布的自动化流水线

MedicalJobs 编排生产作业,MedicalExecutionRuntime 以租约调度执行分区节点 —— 依赖闭环自动解析、失败重试有界、写回必须经审批。

Pipeline · 科室质量周报

由 /jobs 触发 · 上游版本冻结 · 全部节点可追溯

● run_2a91 · running
⏱ 调度触发cron 07:00 周一 🗂️ 快照解析固定值/上游输出 🧮 变量计算 ×3MedicalVariable v4 🗄️ SQL 任务spark_sql · 只读校验 ✔ 🏷️ 标注批任务queued · 等待租约 ✅ 质控关卡MedicalQuality 规则 📤 版本发布output_writer · 待审

触发方式/jobs

cron 定时07:00 周一
手动立即执行即时入队
上游事件变量发布后级联

执行运行时8024

调度模型PostgreSQL 租约
并发分区独立 Worker
流量通道DataPlane LB

引擎配置spark.yml

别名映射pg→postgresql
spark→spark_sql
动态分配driver/executor 可配

失败处理bounded retry

重试上限3 次 / 指数退避
步骤幂等键run_id + step_seq
人工介入PendingAction 审批

血缘审计lineage

输入引用{domain,kind,version}
输出产物ChartSpec 版本
回滚方式领域命令再次确认
// Governance & Safety

医疗级信任,不是口号而是契约

📜

版本化领域契约

SQL、变量、标注、检索全部走版本化契约 + 独立适配器。结构化引用固定保存 {domain, kind, version},显示文本永不参与反向解析。

🔒

只读安全的 SQL 治理

统计 SQL 经 llm / sqlglot 双模式解析后,仍要过 MedicalSQL 只读校验、数据集资产校验与 QueryPlan 校验三道关,未修正的草稿不能发布。

🧾

全程审计与降级开关

Center 集成模式以一次性 token 完成 /auth/introspect 校验;shadow / disabled 作为显式降级开关保留,审计归档周期由部署机构策略决定。

// Deployment

三条命令,点亮整个平台

$ cp

.env.example → .env

一份环境文件声明模型、密钥与端口拓扑。

$ make

preflight · up · health

Compose 由各子应用权威定义生成,健康检查一键验收。

×3

节点 AMD64 生产拓扑

nginx + systemd + compose 三位一体,备份恢复脚本齐备。

// Get Started

把临床智能装进你的机构

克隆仓库,三条命令启动 15 个子应用。
每一个写入都被看见,每一次推荐与科研结论都可追溯。

阅读架构文档 → 查看完成度矩阵
$ git clone … && make preflight && make up && make health
// Technical Collaboration

技术合作

欢迎围绕医疗数据治理、医学科研平台、LLM + Agent 应用及私有化部署开展技术交流与合作。

✉ medicalcrew@163.com