docs(pkb): Add development records and update system status
Summary: - Add PKB module development record for 2026-01-07 - Create PKB module status document (00-模块当前状态与开发指南.md) - Update system status document to v2.7 Documents added: - docs/03-业务模块/PKB-个人知识库/06-开发记录/2026-01-07_PKB模块前端V3设计实现.md - docs/03-业务模块/PKB-个人知识库/00-模块当前状态与开发指南.md Documents updated: - docs/00-系统总体设计/00-系统当前状态与开发指南.md PKB module progress: 75% complete - Frontend Dashboard: 90% - Frontend Workspace: 85% - 3 work modes implemented - Batch processing API pending debug
This commit is contained in:
@@ -36,3 +36,4 @@ Status: Day 1 complete (11/11 tasks), ready for Day 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -264,5 +264,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -212,3 +212,4 @@ https://iit.xunzhengyixue.com/api/v1/iit/health
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -141,3 +141,4 @@ https://iit.xunzhengyixue.com/api/v1/iit/health
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -42,3 +42,4 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -302,3 +302,4 @@ npx tsx src/modules/iit-manager/test-patient-wechat-url-verify.ts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -164,3 +164,4 @@ npm run dev
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -59,5 +59,6 @@ WHERE table_schema = 'dc_schema'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -97,5 +97,6 @@ ORDER BY ordinal_position;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -110,5 +110,6 @@ runMigration()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -44,5 +44,6 @@ COMMENT ON COLUMN "dc_schema"."dc_tool_c_sessions"."column_mapping" IS '列名
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -71,5 +71,6 @@ COMMENT ON COLUMN dc_schema.dc_tool_c_sessions.expires_at IS '过期时间(创
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -113,3 +113,4 @@ Write-Host ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -221,5 +221,6 @@ function extractCodeBlocks(obj, blocks = []) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -240,5 +240,6 @@ checkDCTables();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -192,5 +192,6 @@ createAiHistoryTable()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -179,5 +179,6 @@ createToolCTable()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -176,5 +176,6 @@ createToolCTable()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -325,3 +325,4 @@ runTests().catch(error => {
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -290,3 +290,4 @@ verifySchemas()
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -308,5 +308,6 @@ export function getBatchItems<T>(
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -344,5 +344,6 @@ runTests().catch((error) => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -285,5 +285,6 @@ runTest()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -323,5 +323,6 @@ Content-Type: application/json
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -259,5 +259,6 @@ export const conflictDetectionService = new ConflictDetectionService();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -209,5 +209,6 @@ curl -X POST http://localhost:3000/api/v1/dc/tool-c/test/execute \
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -263,5 +263,6 @@ export const streamAIController = new StreamAIController();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -174,3 +174,4 @@ logger.info('[SessionMemory] 会话记忆管理器已启动', {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -108,3 +108,4 @@ checkTableStructure();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -95,3 +95,4 @@ checkProjectConfig().catch(console.error);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -77,3 +77,4 @@ main();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -534,3 +534,4 @@ URL: https://iit.xunzhengyixue.com/api/v1/iit/patient-wechat/callback
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -169,3 +169,4 @@ console.log('');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -486,3 +486,4 @@ export const patientWechatService = new PatientWechatService();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -131,3 +131,4 @@ testDifyIntegration().catch(error => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -160,3 +160,4 @@ testIitDatabase()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -146,3 +146,4 @@ if (hasError) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -172,3 +172,4 @@ async function testUrlVerification() {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -253,3 +253,4 @@ main().catch((error) => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -137,3 +137,4 @@ Write-Host ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -230,3 +230,4 @@ export interface CachedProtocolRules {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -43,3 +43,4 @@ export default async function healthRoutes(fastify: FastifyInstance) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -409,5 +409,6 @@ SET session_replication_role = 'origin';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -111,5 +111,6 @@ WHERE key = 'verify_test';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -254,5 +254,6 @@ verifyDatabase()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1
backend/src/types/global.d.ts
vendored
1
backend/src/types/global.d.ts
vendored
@@ -44,5 +44,6 @@ export {}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -67,5 +67,6 @@ Write-Host "✅ 完成!" -ForegroundColor Green
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -157,3 +157,4 @@ DELETE {{baseUrl}}/api/v2/pkb/knowledge/knowledge-bases/{{testKbId}}
|
||||
###
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -354,5 +354,6 @@ runAdvancedTests().catch(error => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -420,5 +420,6 @@ runAllTests()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -378,5 +378,6 @@ runAllTests()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -162,5 +162,6 @@ Set-Location ..
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# AIclinicalresearch 系统当前状态与开发指南
|
||||
|
||||
> **文档版本:** v2.6
|
||||
> **文档版本:** v2.7
|
||||
> **创建日期:** 2025-11-28
|
||||
> **维护者:** 开发团队
|
||||
> **最后更新:** 2026-01-03
|
||||
> **重大进展:** 🎉 **IIT Manager Agent Phase 1.5完成!** - AI基于REDCap真实数据对话,解决LLM幻觉问题!
|
||||
> **最后更新:** 2026-01-07
|
||||
> **重大进展:** 🎉 **PKB模块前端V3设计实现完成!** - Dashboard + Workspace + 3种工作模式
|
||||
> **部署状态:** ✅ 生产环境运行中 | 公网地址:http://8.140.53.236/
|
||||
> **文档目的:** 快速了解系统当前状态,为新AI助手提供上下文
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
| 模块代号 | 模块名称 | 核心功能 | 商业价值 | 当前状态 | 优先级 |
|
||||
|---------|---------|---------|---------|---------|--------|
|
||||
| **AIA** | AI智能问答 | 10+专业智能体(选题评价、PICO梳理等) | ⭐⭐⭐⭐ | ✅ 已完成 | P1 |
|
||||
| **PKB** | 个人知识库 | RAG问答、私人文献库 | ⭐⭐⭐ | ✅ 已完成 | P1 |
|
||||
| **PKB** | 个人知识库 | RAG问答、私人文献库 | ⭐⭐⭐ | ✅ **前端V3设计完成(75%)** | P1 |
|
||||
| **ASL** | AI智能文献 | 文献筛选、Meta分析、证据图谱 | ⭐⭐⭐⭐⭐ | 🚧 **正在开发** | **P0** |
|
||||
| **DC** | 数据清洗整理 | ETL + 医学NER(百万行级数据) | ⭐⭐⭐⭐⭐ | ✅ **Tool B完成 + Tool C 99%(异步架构+性能优化-99%+多指标转换+7大功能)** | **P0** |
|
||||
| **IIT** | IIT Manager Agent | AI驱动IIT研究助手 - 智能质控+REDCap集成 | ⭐⭐⭐⭐⭐ | 🎉 **Phase 1.5完成(60%)- AI对话+REDCap数据集成** | **P0** |
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 🚀 当前开发状态(2025-12-24)
|
||||
## 🚀 当前开发状态(2026-01-07)
|
||||
|
||||
### ✅ 已完成模块
|
||||
|
||||
@@ -151,12 +151,35 @@
|
||||
- ✅ 批处理模式
|
||||
- **状态**:生产就绪
|
||||
|
||||
#### 3. PKB模块 - 个人知识库(已完成)
|
||||
- ✅ 知识库CRUD
|
||||
- ✅ 文档上传(PDF/Word/TXT/MD)
|
||||
- ✅ RAG问答
|
||||
- ✅ 批处理任务
|
||||
- **状态**:生产就绪
|
||||
#### 3. PKB模块 - 个人知识库 🎉 **前端V3设计完成!**
|
||||
|
||||
**开发进度**:
|
||||
- ✅ **后端API**:100%完成(v1 + v2双路由运行)
|
||||
- ✅ **前端Dashboard**:90%完成(基于知识库仪表盘V5原型)
|
||||
- ✅ **前端Workspace**:85%完成(基于工作台V3原型)
|
||||
- ✅ **全文阅读模式**:90%完成(Chat组件集成)
|
||||
- ✅ **逐篇精读模式**:85%完成(文档选择+对话)
|
||||
- 🔧 **批处理模式**:70%完成(UI完成,API待调试)
|
||||
- ❌ **RAG检索模式**:0%(后端待实现)
|
||||
|
||||
**核心功能**:
|
||||
- 知识库CRUD + 文档管理
|
||||
- 3种工作模式(全文阅读、逐篇精读、批处理)
|
||||
- Ant Design X Chat组件集成
|
||||
- 响应式全屏布局
|
||||
|
||||
**技术亮点**:
|
||||
- ✅ 模块化架构迁移(/modules/pkb)
|
||||
- ✅ Zustand状态管理
|
||||
- ✅ 复用shared/components/Chat通用组件
|
||||
- ✅ 单层Header + 紧凑工作模式栏设计
|
||||
|
||||
**待解决问题**:
|
||||
- 🔧 批处理API执行待调试
|
||||
- 🔧 知识资产页面导航条待完善
|
||||
- 🔧 UI与原型图精细化对比
|
||||
|
||||
**详细文档**:[PKB模块当前状态](../03-业务模块/PKB-个人知识库/00-模块当前状态与开发指南.md)
|
||||
|
||||
### 🚧 正在开发模块
|
||||
|
||||
@@ -635,7 +658,8 @@ AIclinicalresearch/
|
||||
| **2025-12-31** | **IIT Agent启动** 🎯 | ✅ Day 1完成(数据库+企微配置+模块骨架) |
|
||||
| **2026-01-01** | **企微可信域名** 🌐 | ✅ iit.xunzhengyixue.com域名验证完成 |
|
||||
| **2026-01-02** | **REDCap对接方案** 🏆 | ✅ REDCap环境部署 + DET+REST API方案确定 |
|
||||
| **当前** | Day 2准备中 | 🚧 REDCap API集成开发(Adapter+Webhook+SyncManager) |
|
||||
| **2026-01-07** | **PKB前端V3** 🎉 | ✅ PKB模块前端V3设计实现完成(Dashboard+Workspace+3种工作模式) |
|
||||
| **当前** | PKB优化中 | 🔧 批处理API调试 + UI精细化 |
|
||||
|
||||
---
|
||||
|
||||
@@ -789,8 +813,8 @@ npm run dev # http://localhost:3000
|
||||
- **总计**:约 85,000 行
|
||||
|
||||
### 模块完成度
|
||||
- ✅ **已完成**:AIA(100%)、PKB(100%)、平台基础层(100%)
|
||||
- 🚧 **开发中**:ASL(80%)、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)
|
||||
- ✅ **已完成**:AIA(100%)、平台基础层(100%)
|
||||
- 🚧 **开发中**:PKB(75%,前端V3设计完成)、ASL(80%)、DC(Tool C 98%,Tool B后端100%,Tool B前端0%)、IIT(60%,Phase 1.5完成)
|
||||
- 📋 **未开始**:SSA、ST、RVW
|
||||
|
||||
### 部署完成度
|
||||
@@ -927,9 +951,9 @@ if (items.length >= 50) {
|
||||
|
||||
---
|
||||
|
||||
**文档版本**:v2.6
|
||||
**最后更新**:2026-01-03
|
||||
**下次更新**:IIT Manager Agent Phase 2 或 SAE应用部署完成
|
||||
**文档版本**:v2.7
|
||||
**最后更新**:2026-01-07
|
||||
**下次更新**:PKB批处理功能调试完成 或 IIT Manager Agent Phase 2
|
||||
|
||||
---
|
||||
|
||||
@@ -937,24 +961,35 @@ if (items.length >= 50) {
|
||||
|
||||
---
|
||||
|
||||
## 📝 最新更新(2026-01-03)
|
||||
## 📝 最新更新(2026-01-07)
|
||||
|
||||
**IIT Manager Agent Phase 1.5 完成 🎉**:
|
||||
1. ✅ **AI对话集成完成**:ChatService (390行) + SessionMemory (170行)
|
||||
2. ✅ **REDCap数据查询集成**:意图识别 + 数据注入LLM
|
||||
3. ✅ **解决LLM幻觉问题**:AI基于真实数据回答,不编造信息
|
||||
4. ✅ **测试通过**:查询test0102项目(10条记录),ID 7患者详细信息
|
||||
5. ✅ **上下文记忆**:SessionMemory保存最近3轮对话
|
||||
6. ✅ **即时反馈**:"正在查询"消息改善用户体验
|
||||
3. ✅ **技术可行性验证通过**(DET功能源码验证,REST API测试通过)
|
||||
4. ✅ **完整技术方案文档**(1070行《REDCap对接技术方案与实施指南》)
|
||||
5. ✅ **代码设计100%完成**(RedcapAdapter、WebhookController、SyncManager)
|
||||
6. ✅ **REDCap文档体系建立**(部署、对接、排查全覆盖)
|
||||
**PKB模块前端V3设计完成 🎉**:
|
||||
1. ✅ **后端模块迁移**:迁移到 /modules/pkb,v2 API路由注册
|
||||
2. ✅ **Dashboard页面**:基于知识库仪表盘V5原型实现
|
||||
3. ✅ **Workspace页面**:基于工作台V3原型实现
|
||||
4. ✅ **3种工作模式**:全文阅读、逐篇精读、批处理
|
||||
5. ✅ **Chat组件集成**:复用Ant Design X通用Chat组件
|
||||
6. ✅ **响应式布局**:单层Header + 紧凑工作模式栏 + 最大化聊天区域
|
||||
|
||||
**技术亮点**:
|
||||
- 🔥 **DET实时触发**:0秒延迟,CRC保存→5秒内质控通知
|
||||
- 🔥 **零侵入性**:只用REDCap原生功能,无需修改源码
|
||||
- 🔥 **双保险机制**:Webhook(主)+ 轮询(补充),可靠性99.9%
|
||||
- 🔥 **生产级架构**:Docker配置可直接用于ECS/医院环境
|
||||
- 🔥 **模块化架构**:前后端完整迁移到新架构
|
||||
- 🔥 **复用通用组件**:shared/components/Chat
|
||||
- 🔥 **Zustand状态管理**:轻量级状态管理
|
||||
- 🔥 **双路由兼容**:v1 + v2 API同时运行
|
||||
|
||||
**模块进度**:Day 1完成 + REDCap环境就绪(18%)→ Day 2准备就绪
|
||||
**待解决问题**:
|
||||
- 🔧 批处理API执行待调试
|
||||
- 🔧 知识资产页面导航条待完善
|
||||
- 🔧 UI与原型图精细化对比
|
||||
|
||||
**模块进度**:75%完成
|
||||
|
||||
---
|
||||
|
||||
**IIT Manager Agent Phase 1.5 完成(2026-01-03)**:
|
||||
- ✅ AI对话集成完成:ChatService + SessionMemory
|
||||
- ✅ REDCap数据查询集成:意图识别 + 数据注入LLM
|
||||
- ✅ 解决LLM幻觉问题:AI基于真实数据回答
|
||||
- ✅ 测试通过:查询test0102项目,ID 7患者详细信息
|
||||
|
||||
**模块进度**:60%完成(Phase 1.5)
|
||||
|
||||
@@ -604,5 +604,6 @@ async saveProcessedData(recordId, newData) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -791,5 +791,6 @@ export const AsyncProgressBar: React.FC<AsyncProgressBarProps> = ({
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1284,5 +1284,6 @@ interface FulltextScreeningResult {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -398,5 +398,6 @@ GET /api/v1/asl/fulltext-screening/tasks/:taskId/export
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -341,5 +341,6 @@ Linter错误:0个
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -500,5 +500,6 @@ Failed to open file '\\tmp\\extraction_service\\temp_10000_test.pdf'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -566,5 +566,6 @@ df['creatinine'] = pd.to_numeric(df['creatinine'], errors='coerce')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -404,5 +404,6 @@ npm run dev
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -981,5 +981,6 @@ export const aiController = new AIController();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1315,5 +1315,6 @@ npm install react-markdown
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -223,5 +223,6 @@ FMA___基线 | FMA___1个月 | FMA___2个月
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -381,5 +381,6 @@ formula = "FMA总分(0-100) / 100"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -215,5 +215,6 @@ async handleFillnaMice(request, reply) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -187,5 +187,6 @@ method: 'mean' | 'median' | 'mode' | 'constant' | 'ffill' | 'bfill'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -337,5 +337,6 @@ Changes:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -409,5 +409,6 @@ cd path; command
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -638,5 +638,6 @@ import { logger } from '../../../../common/logging/index.js';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -642,5 +642,6 @@ Content-Length: 45234
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -294,5 +294,6 @@ Response:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -447,5 +447,6 @@ Response:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -441,5 +441,6 @@ import { ChatContainer } from '@/shared/components/Chat';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -351,5 +351,6 @@ const initialMessages = defaultMessages.length > 0 ? defaultMessages : [{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -391,5 +391,6 @@ python main.py
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -639,5 +639,6 @@ http://localhost:5173/data-cleaning/tool-c
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -249,5 +249,6 @@ Day 5 (6-8小时):
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -427,5 +427,6 @@ Docs: docs/03-业务模块/DC-数据清洗整理/06-开发记录/DC模块重建
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -402,5 +402,6 @@ const mockAssets: Asset[] = [
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -386,5 +386,6 @@ frontend-v2/src/modules/dc/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -346,5 +346,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -300,5 +300,6 @@ ConflictDetectionService // 冲突检测(字段级对比)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -349,5 +349,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -312,5 +312,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -376,5 +376,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -464,5 +464,6 @@ Tool B后端代码**100%复用**了平台通用能力层,无任何重复开发
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -310,5 +310,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -241,5 +241,6 @@ $ node scripts/check-dc-tables.mjs
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -474,5 +474,6 @@ ${fields.map((f, i) => `${i + 1}. ${f.name}:${f.desc}`).join('\n')}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -681,3 +681,4 @@ private async processMessageAsync(xmlData: any) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1075,3 +1075,4 @@ async function testIntegration() {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -216,3 +216,4 @@ Content-Type: application/json
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -636,3 +636,4 @@ REDCap API: exportRecords success { recordCount: 1 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -642,3 +642,4 @@ backend/src/modules/iit-manager/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -792,3 +792,4 @@ CREATE TABLE iit_schema.wechat_tokens (
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -549,3 +549,4 @@ Day 3 的开发工作虽然遇到了多个技术问题,但最终成功完成
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -316,3 +316,4 @@ AI: "出生日期:2017-01-04
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -260,3 +260,4 @@ Day 4: REDCap EM(Webhook推送)← 作为增强,而非核心
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -674,3 +674,4 @@ const answer = `根据研究方案[1]和CRF表格[2],纳入标准包括:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user