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

如何将患者重叠时间的事件合并为单行记录?

合并患者重叠事件记录

我有一张记录患者事件的表,包含encounter_id(事件ID)、patient、start_date、end_date列,事件之间可能存在时间重叠。需要将同一患者的重叠事件合并为单个事件,合并后取所有重叠事件的最小start_date和最大end_date。

原始数据

ENCOUNTER_IDPATIENTSTART_DATEEND_DATE
0Patient12022-01-01 01:00:00.0002022-01-10 01:00:00.000
1Patient12022-01-02 01:00:00.0002022-01-05 01:00:00.000
2Patient12022-01-20 01:00:00.0002022-01-30 01:00:00.000
3Patient12022-01-09 01:00:00.0002022-01-15 01:00:00.000
4Patient22022-01-01 01:00:00.0002022-01-01 02:00:00.000
5Patient22022-01-02 01:00:00.0002022-01-02 02:00:00.000
6Patient22022-01-03 01:00:00.0002022-01-03 02:00:00.000

期望结果

ENCOUNTER_IDPATIENTSTART_DATEEND_DATE
0Patient12022-01-01 01:00:00.0002022-01-15 01:00:00.000
1Patient12022-01-20 01:00:00.0002022-01-30 01:00:00.000
2Patient22022-01-01 01:00:00.0002022-01-01 02:00:00.000
3Patient22022-01-02 01:00:00.0002022-01-02 02:00:00.000
4Patient22022-01-03 01:00:00.0002022-01-03 02:00:00.000

其中Patient1的事件0、1、3存在重叠(事件0与1重叠,0与3重叠),合并后取这三个事件的最小起始时间和最大结束时间;Patient2的事件无重叠,保持原样。

Snowflake示例表创建代码

select
    index as encounter_id,
    to_char(get(k.value, 0)) as patient,
    to_timestamp(get(k.value, 1)) as start_date,
    to_timestamp(get(k.value, 2)) as end_date
from
table(flatten(
    ARRAY_CONSTRUCT(
        ARRAY_CONSTRUCT('Patient1', '2022-01-01 01:00:00.000', '2022-01-10 01:00:00.000'),
        ARRAY_CONSTRUCT('Patient1', '2022-01-02 01:00:00.000', '2022-01-05 01:00:00.000'),
        ARRAY_CONSTRUCT('Patient1', '2022-01-20 01:00:00.000', '2022-01-30 01:00:00.000'),
        ARRAY_CONSTRUCT('Patient1', '2022-01-09 01:00:00.000', '2022-01-15 01:00:00.000'),
        ARRAY_CONSTRUCT('Patient2', '2022-01-01 01:00:00.000', '2022-01-01 02:00:00.000'),
        ARRAY_CONSTRUCT('Patient2', '2022-01-02 01:00:00.000', '2022-01-02 02:00:00.000'),
        ARRAY_CONSTRUCT('Patient2', '2022-01-03 01:00:00.000', '2022-01-03 02:00:00.000')
        ))) k

我试过用表自连接,但只能生成重叠事件对,无法实现“若事件A与B重叠、A与C重叠,则A、B、C为完整重叠组”的规则,求解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:30:57