当前位置: 首页 > news >正文

医疗大数据数据上报失败问题完整排查复盘

一、问题描述

业务方反馈,在对外数据上报过程中,存在一条处方数据未成功上报,客户平台无法查询到该记录。整体数据流转链路:ADS 层数据(StarRocks)→ 数据采集同步任务 → MySQL 前置库(bizreport)→ 对外数据上报接口。

二、初步定位步骤

根据业务反馈,登录数据上报平台,定位到具体异常报单信息。

从异常单据中提取最关键唯一标识:处方号,作为整个排查的核心依据。

使用处方号分别查询两张核心业务表:

门诊处方主表:数据存在,字段完整,更新时间正常。

门诊处方代煎子表:无任何匹配记录,全部为空。

初步判断:主表数据正常到达 ADS 层,问题出在子表数据未生成,导致最终上报缺失。

三、排查原则与思路

遇到子表数据缺失,遵循先业务、后技术;先源头、后加工的标准排查逻辑:

第一步:确认业务真实性

首先核查该处方在源端系统(HIS)中的发药方式:

若为自取、自煎,子表不需要数据,属于正常逻辑。

若为代煎、免煎等需要记入子表的类型,则为异常问题。

经确认,该处方属于应进入子表的类型,因此进入技术排查。

第二步:分层技术排查(ODS → ADS)

优先查询 ODS 原始层数据,ODS 最贴近源端,排查成本最低。

结果:ODS 层存在该处方完整数据,说明源头采集正常。

结论:问题出在 ADS 层 ETL 转换逻辑。

四、SQL 逻辑定位详细过程

找到对应子表的数据开发脚本,复制 SQL 到 DataGrip 执行调试。

重点排查:SELECT 字段、JOIN 关联、WHERE 过滤条件。

高效定位技巧:

先注释掉所有 WHERE 条件,仅添加处方号限定,查看是否出数据。

注释全部 WHERE 后,数据正常显示 → 100% 是过滤条件导致数据被屏蔽。

逐步恢复 WHERE 条件,逐行测试,最终定位到异常条件:

AND 发药类型 IN ('01','02')

五、根因分析

查询业务字典含义:

01:代煎

02:自煎

03:免煎(业务新增类型,原有脚本未更新)

异常处方的发药类型为 03(免煎),不在原有过滤范围内,被直接过滤,导致子表无数据,最终上报失败。

六、问题根本原因总结

ETL 脚本中发药类型枚举值硬编码不全,未兼容业务新增的03(免煎)类型,导致符合业务要求的数据被错误过滤,造成数据丢失与上报失败。

七、排查经验与个人收获

1、掌握了 ODS-ADS-MySQL 全链路数据排查方法,具备完整数据问题定位能力。

2、养成先业务判断、后技术排查的规范思维,避免盲目修改代码。

3、掌握WHERE 全注释快速定位法,能高效定位数据丢失类问题。

4、理解业务字典变更对 ETL 逻辑的影响,具备数据质量与数据一致性意识。

5、能够独立完成问题复现、定位、根因分析,并输出标准化排查 SOP。

6、深刻理解数据开发与数据交付岗位核心:保证数据准确、完整、不丢不乱。

http://www.jsqmd.com/news/573424/

相关文章:

  • 混合ai开发新思路:快马生成项目演示云端与d盘本地ollama协同编程
  • 2026年,探秘天水钢筋网片厂家!
  • 【底层重构】C语言100篇:从入门到天花板 第43篇 文件字符读写:fgetc/fputc 与缓冲区机制
  • 腾讯云轻量服务器+宝塔面板:新手零代码搭建个人网站的保姆级避坑指南
  • 三分钟搭建小说解析器:用快马AI快速验证你的文本处理创意
  • 从零到一:Cobalt Strike远控实战指南
  • Mermaid Live Editor:代码驱动的图表创作革命,让复杂可视化变得简单高效
  • 如何构建专业领域的大语言模型:中医AI诊疗系统的技术实现方案
  • [特殊字符]C# ASP.NET Core 前后端分离终极实战:JWT 身份认证与授权全攻略(保姆级配置 + 避坑指南)
  • 【边打字.边学昆仑正义文化】_17_宇宙信息网(2)
  • OpenClaw技能扩展:基于Kimi-VL-A3B-Thinking的自动化内容创作流程
  • c++编程:(PAT1001)害死人不偿命的(3n+1)猜想
  • 无需先装pycharm:用快马ai描述需求,直接生成一个可运行的flask项目原型
  • 如何快速完整备份iOS微信聊天记录:WeChatExporter终极指南
  • Mojo与Python共存架构设计,深度解析GIL绕过、类型桥接与ABI对齐三大生死关卡
  • 智能编程搭档:让快马AI辅助你优化蓝桥杯嵌入式代码逻辑与性能
  • java开发学习阶段
  • AI Agent + OCR 硬核实战,打造 2B 级智能进销存
  • 为什么你的VirtualThread仍OOM?Java结构化并发内存优化的4个反直觉真相
  • 收藏!3个方法教你赋予LLM规划能力,小白也能看懂大模型进阶技巧!
  • OpenClaw智能家居控制:Qwen3-32B镜像对接Home Assistant
  • 阿里达摩院GTE中文向量模型效果展示:中文方言书面语语义对齐能力验证
  • flutter pub get报错了,怎么办
  • OpenClaw多模态探索:Phi-3-mini-128k-instruct与OCR技能联动
  • C语言文件操作详解:从基础到实战
  • Oracle 备份恢复,用 AI 重新做一遍——效率提升 10 倍的实战经验
  • 2026“钉耙编程”中国大学生算法设计春季联赛(2)题解
  • 大语言模型初识:从概念到趋势,一文带你入门
  • 嵌入式开发中数据结构的优化与应用实践
  • 实战应用:使用claude code skill在快马平台构建电商管理系统