You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于SSMS按月份捕获患者用药路径并按Tag分组统计

在SSMS中实现患者用药路径统计

需求说明

  • 针对每个患者ID,按月份先后顺序捕获用药路径(连续使用相同药物时仅保留一次,直到药物变更)
  • 患者ID与标签(Tag)为一对一关系
  • 按年份分组,再按Tag汇总各用药路径对应的患者数量
  • 用药路径可包含1种或多种药物

输入数据

年份(Year)月份(Month)患者ID(ID)药物(Drug)标签(Tag)
2020/213127EO
2020/215127EO
2020/217127EO
2020/2110127LO
2020/213121AS
2020/215121AS
2020/216121AS
2020/219111AD
2020/2110111AD
2020/2112111LD
2020/218110EO
2020/219110LO
2020/21510AO
2021/223127EO
2021/225127EO
2021/227127EO
2021/2210127LO
2021/223121AS
2021/225121AS
2021/226121AS
2021/229111AD
2021/2210111AD
2021/2212111LD
2021/228110EO
2021/229110EO
2021/22519EO
2021/22791ES

预期输出

年份(Year)用药顺序(Drug Order)数量(Count)标签(Tag)
2020/21E-->L2O
2020/21A1S
2020/21A-->L1D
2020/21A1O
2021/22E-->L1O
2021/22A1S
2021/22A-->L1D
2021/22E2O
2021/22E1S

T-SQL实现代码

WITH RankedDrugs AS (
    -- 为每个患者、年份的用药记录按月份排序,标记前一次使用的药物
    SELECT 
        Year,
        ID,
        Tag,
        Drug,
        Month,
        LAG(Drug) OVER (PARTITION BY Year, ID ORDER BY Month) AS PrevDrug
    FROM YourTableName -- 替换为实际表名
),
DistinctDrugPaths AS (
    -- 过滤连续相同药物,仅保留药物变更节点
    SELECT 
        Year,
        ID,
        Tag,
        Drug
    FROM RankedDrugs
    WHERE PrevDrug IS NULL OR PrevDrug != Drug
),
PatientDrugPaths AS (
    -- 拼接每个患者的用药路径字符串
    SELECT 
        Year,
        ID,
        Tag,
        STRING_AGG(Drug, '-->') WITHIN GROUP (ORDER BY Month) AS DrugOrder
    FROM DistinctDrugPaths
    GROUP BY Year, ID, Tag
)
-- 按年份、Tag、用药路径汇总患者数量
SELECT 
    Year,
    DrugOrder AS [用药顺序(Drug Order)],
    COUNT(ID) AS [数量(Count)],
    Tag AS [标签(Tag)]
FROM PatientDrugPaths
GROUP BY Year, Tag, DrugOrder
ORDER BY Year, Tag, DrugOrder;

代码说明

  1. RankedDrugs:使用LAG()函数获取同一患者同一年份中前一次使用的药物,用于识别连续用药情况。
  2. DistinctDrugPaths:过滤掉连续使用相同药物的重复记录,只保留药物切换的节点,确保用药路径仅展示药物变更顺序。
  3. PatientDrugPaths:通过STRING_AGG()函数按月份顺序拼接每个患者的药物,生成完整用药路径。
  4. 最终按年份、Tag和用药路径分组统计,得到各分组对应的患者数量。

内容的提问来源于stack exchange,提问作者Tars

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:24:32