06-病案质控服务.md 6.9 KB

06 - 病案质控服务

服务类: src.DRG.QC


6.1 执行质控检查 (02010301)

接口Code: 02010301 接口名称: 执行质控检查 方法名: PerformQCCheck

入参

字段 类型 必填 说明 示例
medicalRecordId String 病案ID "1001"

出参

字段 类型 说明
errorCode String 错误码
errorMessage String 错误信息
result.issueCount Number 问题数量
result.issues Array 问题列表

result.issues 每项字段

字段 类型 说明
issueNo String 问题流水号
issueType String 问题类型
issueCategory String 问题分类
issueLevel String 问题级别:high/medium/low
issueDesc String 问题描述
fieldName String 问题字段名
suggestValue String 建议值

请求示例

{
  "code": "02010301",
  "params": [{ "medicalRecordId": "1001" }]
}

响应示例

{
  "errorCode": "0",
  "errorMessage": "",
  "result": {
    "issueCount": 2,
    "issues": [
      {
        "issueNo": "Q20260320001234",
        "issueType": "diagnosis",
        "issueCategory": "诊断编码",
        "issueLevel": "high",
        "issueDesc": "主诊断编码[I21.0]与手术编码[51.23]不匹配,建议核实",
        "fieldName": "mainDiagnosisCode",
        "suggestValue": "K80.1"
      },
      {
        "issueNo": "Q20260320001235",
        "issueType": "fee",
        "issueCategory": "费用异常",
        "issueLevel": "medium",
        "issueDesc": "总费用45000元超过DRG(FB13)平均费用(32000元)的40%",
        "fieldName": "totalFee",
        "suggestValue": ""
      }
    ]
  }
}

质控检查规则

序号 检查项 说明
1 主要诊断为空 检查 principalDiagnosis 是否为空
2 诊断与手术匹配 检查主诊断与主手术是否匹配
3 住院天数合理性 检查 admDate 到 disDate 的天数
4 费用异常 总费用与DRG平均费用对比
5 年龄与诊断匹配 检查 patientAge 与诊断是否合理

6.2 查询质控问题 (02010302)

接口Code: 02010302 接口名称: 查询质控问题 方法名: QueryQCIssues

入参

字段 类型 必填 说明 示例
issueNo String 问题流水号 "Q20260320001"
issueType String 问题类型 "diagnosis"
issueStatus String 问题状态:pending/processed "pending"
startDate String 开始日期 "2026-03-01"
endDate String 结束日期 "2026-03-31"
deptCode String 科室编码 "01"
doctorCode String 医生编码 "D001"
page Number 页码,默认1 1
limit Number 每页条数,默认20 20

出参

字段 类型 说明
errorCode String 错误码
errorMessage String 错误信息
result.total Number 总记录数
result.rows Array 问题列表

result.rows 每项字段

字段 类型 说明
id Number 问题ID
issueNo String 问题流水号
issueType String 问题类型
issueCategory String 问题分类
issueLevel String 问题级别
issueDesc String 问题描述
hisAdmID String HIS就诊号
patientName String 患者姓名
deptCode String 科室编码
deptName String 科室名称
doctorCode String 医生编码
doctorName String 医生姓名
drgCode String DRG编码
issueStatus String 问题状态
findDate String 发现日期

请求示例

{
  "code": "02010302",
  "params": [{
    "issueType": "diagnosis",
    "issueStatus": "pending",
    "startDate": "2026-03-01",
    "endDate": "2026-03-31",
    "page": 1,
    "limit": 20
  }]
}

响应示例

{
  "errorCode": "0",
  "errorMessage": "",
  "result": {
    "total": 45,
    "rows": [
      {
        "id": 1,
        "issueNo": "Q20260320001234",
        "issueType": "diagnosis",
        "issueCategory": "诊断编码",
        "issueLevel": "high",
        "issueDesc": "主诊断编码与手术编码不匹配",
        "hisAdmID": "A20260301001",
        "patientName": "张三",
        "deptCode": "01",
        "deptName": "心内科",
        "doctorCode": "D001",
        "doctorName": "李医生",
        "drgCode": "FB13",
        "issueStatus": "pending",
        "findDate": "2026-03-20"
      }
    ]
  }
}

6.3 处理质控问题 (02010303)

接口Code: 02010303 接口名称: 处理质控问题 方法名: ProcessQCIssue

入参

字段 类型 必填 说明 示例
issueId String 质控问题ID "1"
processStatus String 处理状态 "processed"
processRemark String 处理备注 "已修正诊断编码"

出参

字段 类型 说明
errorCode String 错误码
errorMessage String 错误信息

请求示例

{
  "code": "02010303",
  "params": [{
    "issueId": "1",
    "processStatus": "processed",
    "processRemark": "已修正主诊断编码为K80.1"
  }]
}

响应示例

{
  "errorCode": "0",
  "errorMessage": "处理成功",
  "result": {}
}

6.4 质控统计报表 (02010304)

接口Code: 02010304 接口名称: 质控统计报表 方法名: QueryQCStats

入参

字段 类型 必填 说明 示例
startDate String 开始日期 "2026-03-01"
endDate String 结束日期 "2026-03-31"
deptCode String 科室编码 "01"

出参

字段 类型 说明
errorCode String 错误码
errorMessage String 错误信息
result.totalCount Number 问题总数
result.pendingCount Number 待处理数
result.processedCount Number 已处理数
result.typeStats Object 按类型统计
result.levelStats Object 按级别统计
result.deptStats Array 按科室统计

请求示例

{
  "code": "02010304",
  "params": [{
    "startDate": "2026-03-01",
    "endDate": "2026-03-31"
  }]
}

响应示例

{
  "errorCode": "0",
  "errorMessage": "",
  "result": {
    "totalCount": 156,
    "pendingCount": 42,
    "processedCount": 114,
    "typeStats": {
      "diagnosis": 68,
      "fee": 45,
      "days": 23,
      "age": 20
    },
    "levelStats": {
      "high": 35,
      "medium": 78,
      "low": 43
    },
    "deptStats": [
      { "deptCode": "01", "deptName": "心内科", "issueCount": 28 },
      { "deptCode": "02", "deptName": "骨科", "issueCount": 22 }
    ]
  }
}