返回同一患者的 2 个开始时间之间的结束时间?

Posted

技术标签:

【中文标题】返回同一患者的 2 个开始时间之间的结束时间?【英文标题】:Returning end times between 2 start times of the same patient? 【发布时间】:2019-05-23 14:29:23 【问题描述】:

目前在 Cerner 的 CCL(源自 SQL)中编写临床报告。患者中心线插入的开始张贴在一张表格上,结束张贴在另一张表格上。患者最终可能会在同一次就诊中记录超过 1 个开始时间(单独的插入表格)。我正在尝试按顺序排列患者的开始和结束时间。

例如,该患者有 4 个开始时间,结束时间介于 2 个开始时间之间;一共8个文件。这不是一个好的工作流程,但这是我坚持的。

如果我尝试:

join ce4
    where ce4.parent_event_id = ce3.event_id
    and ce4.event_cd =      703852.00   ;Central IV Activity Type
    and ce4.result_val in ("Discontinue", "Deaccessed Port")
    and ce4.performed_dt_tm > cnvtdatetime(data->centr[d.seq].dev_start)

它只会显示所有 4 个开始时间的最后一次返回时间。我的问题是如何让他们在开始时间之间按顺序返回。

【问题讨论】:

【参考方案1】:

如果数据是在两个单独的表单上捕获的,正如你所说,那么我不会想象表单之间有任何联系(除非它们与它们之间有关系的任务相关联),所以你就离开了假设每个“开始”形式应考虑哪种“结束”形式。充其量只是猜测。例如,您应该选择表格绘制的日期/时间还是用户说表格绘制的日期/时间。

当没有实际的、确定的、链接时,您能做的最好的就是将其呈现给请求者并要求他们定义要使用的逻辑。

一旦有了,您可能可以通过几种不同的方式来实现,但一种是将所有“开始”表单存储在一个列表中。在第二个查询中,获取所有结束表单并遍历开始表单列表,也许,将您认为很重要的内容写到另一个列表中,然后再输出。

对不起,这有点无法回答,但是当没有链接时,您无能为力。

【讨论】:

以上是关于返回同一患者的 2 个开始时间之间的结束时间?的主要内容,如果未能解决你的问题,请参考以下文章

合并时间表行,开始时间和结束时间之间没有间隔

在 Oracle 中生成具有 2 个日期之间时间间隔的行

第四十三章 SQL函数 DATEDIFF

返回两个日期之间除去星期日的时间差

制作一个接受开始日期和结束日期的 UDF。并返回

在包含多个开始和日期列表的表中查找日期,如果找到则返回默认值