患者就医旅程数据模板
患者就医旅程数据模板
- 建议使用的临床属性
- 关键流程节点
- MEDITECH数据提取指南
患者就医旅程属性
| 名称 | 说明 | ||
|---|---|---|---|
| 事件时间戳 EventTimestamp | 活动发生的具体日期和时间。 | ||
| 说明 此属性记录活动发生的准确时间,用于按时间顺序排列事件,并计算流程步骤之间的时长指标。 要准确分析等待时间,需要高精度时间戳,例如分诊与评估之间的间隔,或诊断结果的周转时间。 重要性 用于排列事件顺序,并计算周期时间和处理量。 获取途径 源表中的交易日期/时间列。 示例 2023-10-15T08:30:00Z2023-10-15T09:15:22Z2023-10-16T14:45:00Z | |||
| 患者就诊记录 PatientEpisode | 用于标识特定患者护理或就诊时段的唯一标识符。 | ||
| 说明 患者就诊记录是流程分析的核心案例标识符。它将单次住院或门诊就诊相关的所有临床、管理和财务事件归为一个完整的就医过程。 在MEDITECH系统中,它通常对应账户号码或就诊ID。此属性是重建患者从登记到出院的就医过程的基础,可用于计算住院时间和分析临床路径。 重要性 这是将不同事件关联为单个流程实例所必需的案例主键。 获取途径 MEDITECH入院或登记模块,通常为账户号码字段。 示例 V100938475AC29384755E993847211O229384711 | |||
| 数据最后更新时间 LastDataUpdate | 数据最近一次提取或刷新的时间戳。 | ||
| 说明 表示记录最近一次处理或加载到流程挖掘工具的时间。这有助于审计数据时效性,并确保分析反映系统的最新状态。 它与事件时间戳不同,反映的是技术数据管道的时间,而非临床事件发生时间。 重要性 对于数据治理和确保分析使用最新数据至关重要。 获取途径 ETL执行时的系统日期。 示例 2023-11-01T00:00:00Z2023-11-02T12:00:00Z | |||
| 活动名称 ActivityName | 所执行的具体临床或管理操作。 | ||
| 说明 此属性表示患者就医过程中发生的事件或任务名称,例如“患者已登记”“已给药”或“已开具出院医嘱”。 正确识别活动对于绘制流程图至关重要。这些值通常来自电子病历中的交易代码、医嘱状态或已记录的干预措施。 重要性 用于定义流程步骤,是可视化流程图的必要数据。 获取途径 根据各类交易日志生成,包括OE医嘱、NUR干预措施和ADM事件。 示例 患者已登记分诊已完成已给药诊断结果已核实 | |||
| 源系统 SourceSystem | 数据来源系统的标识符。 | ||
| 说明 标识提取事件数据的MEDITECH实例或特定模块。在多院区环境中,这有助于区分不同医疗机构或系统版本的数据。 对于单系统数据提取,此属性是固定的;但在合并数据、构建医院网络的统一视图时,它至关重要。 重要性 确保多系统环境中的数据沿袭清晰、可追溯。 获取途径 在提取过程中硬编码,或通过系统ID配置。 示例 MEDITECH_ExpanseMEDITECH_6.1Hospital_A_Main | |||
| 主治医护人员 AttendingProvider | 负责该活动的主要临床医生或医护人员。 | ||
| 说明 记录执行任务或负责护理的医生、护士或技术人员的姓名或ID。此属性可支持“治疗计划制定效率”仪表板,将速度和效率指标归因于具体员工或角色。 资源分析可据此平衡工作量,并识别临床人员的培训需求。 重要性 支持资源绩效分析和工作量平衡。 获取途径 活动日志中的医护人员或用户字段。 示例 Smith医生Jones注册护士Adams技术人员 | |||
| 主要诊断 PrimaryDiagnosis | 患者此次就诊所确定的主要病情。 | ||
| 说明 包含此次就诊主要原因的ICD-10代码或说明,是“临床路径变体分析”的基础。 按主要诊断对病例分组后,临床管理人员可以将实际治疗路径与该病情对应的理想临床路径进行比较。 重要性 对病例分组和临床路径分析至关重要。 获取途径 病历或病案编码模块。 示例 J18.9 - 肺炎I21.9 - 急性心肌梗死S72.0 - 股骨骨折 | |||
| 出院去向 DischargeDisposition | 患者出院时的去向或状态。 | ||
| 说明 表示患者此次就诊结束后的去向,例如“回家”“专业护理机构”“居家护理”或“死亡”。这是“出院计划优化”仪表板的重要结果指标。 分析此属性有助于判断,安排急性期后护理是否延误了出院并延长住院时间。 重要性 分析住院时长和再入院风险的重要结果指标。 获取途径 出院病案编码或登记界面。 示例 出院回家转至短期综合医院死亡未经医嘱离院 | |||
| 分诊紧急程度 TriageAcuityLevel | 患者分诊时评定的病情严重程度。 | ||
| 说明 表示患者病情的紧急程度,通常按等级划分(例如1至5级,1级为危重)。此属性是“急诊科流程分析”的核心数据。 分析人员可据此关联等待时间与患者病情严重程度,确保优先处理病情最危重的患者。 重要性 对于分析急诊优先级安排和安全合规情况至关重要。 获取途径 急诊科或分诊护士评估界面。 示例 1 - 复苏2 - 紧急3 - 急迫4 - 较不紧急 | |||
| 医院科室 HospitalDepartment | 活动发生的具体单元或科室。 | ||
| 说明 标识负责该活动的职能单元,例如“急诊科”“放射科”“ICU”或“普通病房”。此属性是“科室资源周转”仪表板的重要数据。 您可以按单元细分绩效指标,从而定位院内转运和资源利用方面的瓶颈。 重要性 有助于开展组织分析,并识别特定单元中的瓶颈。 获取途径 交易表中的地点或科室字段。 示例 急诊科放射科重症监护室外科病房3 | |||
| 患者类型 PatientType | 患者就诊类别,例如住院、门诊或急诊。 | ||
| 说明 对医院就诊类型进行分类。常见值包括“住院”“门诊”“急诊”或“留观”。此分类是筛选和比较流程的基础,因为不同类型的诊疗标准和预期时长差异显著。 此字段可用于“出院计划优化”仪表板,按患者类型细分住院时长预期。 重要性 流程比较的基础分类维度(住院与门诊)。 获取途径 入院或就诊表,例如AdmVisits.Status。 示例 住院急诊门诊手术留观 | |||
| 是否再次入院 IsReadmission | 标记此次就诊是否发生在上次出院后的30天内。 | ||
| 说明 布尔属性:如果患者当前登记日期距上次就诊出院日期不超过30天,则返回true。此属性可支持“再入院与护理质量”仪表板。 识别再次入院病例后,分析人员可以追溯上次就诊,查找出院计划或后续护理中的不足。 重要性 影响报销和患者治疗结果的重要质量指标。 获取途径 通过比较同一MedicalRecordNumber对应的当前StartTime和上一个Case EndTime计算得出。 示例 truefalse | |||
| 病历号 MedicalRecordNumber | 用于标识患者在所有就诊记录中的唯一编号。 | ||
| 说明 病历号(MRN)用于在医疗机构内唯一标识患者,与特定就诊事件的ID不同。分析人员可据此关联同一患者不同时期的多个就诊事件。 此属性是“再入院与护理质量”仪表板的必要数据,可用于识别出院后30天内再次入院的患者。 重要性 支持跨就诊事件分析和以患者为中心的视图。 获取途径 患者主索引或登记表。 示例 MRN-100293MRN-55928388291002 | |||
| 入院来源 AdmitSource | 患者的来源,例如家中、转院或转诊。 | ||
| 说明 描述患者入院来源,例如“医生转诊”“急诊室”或“从其他医院转入”,帮助了解患者如何进入医疗系统。 此属性有助于了解患者流入模式及其对“急诊科流程分析”和资源规划的影响。 重要性 说明患者流入情况和需求渠道。 获取途径 入院登记数据。 示例 急诊室门诊转诊从专业护理机构转入 | |||
| 分诊等待时间 TriageWaitTime | 从登记到完成分诊的时长。 | ||
| 说明 计算“患者登记”事件与“分诊完成”事件之间的时长,直接用于“平均分诊周转时间”KPI。 监测此时长有助于急诊科管理人员在高峰时段调整人员配置,确保符合患者安全标准。 重要性 急诊科的重要运营指标。 获取途径 根据特定活动的时间戳差值计算。 示例 15分钟1小时20分钟 | |||
| 医嘱类别 OrderCategory | 临床医嘱分类,例如检验、放射或会诊。 | ||
| 说明 将医嘱归入更广泛的类别,例如“检验”“放射”“膳食”或“会诊”。这是“诊断服务周转时间”仪表板的必要数据。 您可以据此区分不同工作流,分别分析影像检查和血液检验的周期时间,因为两者的瓶颈往往不同。 重要性 细分诊断和治疗工作流。 获取途径 医嘱录入(OE)模块中的类别字段。 示例 检验放射科护理药房 | |||
| 是否违反诊疗路径 IsAdherenceViolation | 标记病例是否偏离标准临床路径。 | ||
| 说明 布尔标记:如果活动顺序与患者主要诊断对应的参考模型不符,则设为true。此属性可支持“临床路径变体分析”。 您可以快速筛选出不符合参考模型的病例,调查未遵循标准诊疗方案的原因。 重要性 快速识别流程偏差和差异。 获取途径 通过一致性检查算法计算得出。 示例 truefalse | |||
| 药品名称 MedicationName | 所用药品的名称。 | ||
| 说明 记录“已给药”事件涉及的具体药品,是“用药合规”仪表板的必要数据。 护理管理人员可据此核查高风险或有严格时间要求的药物(如脓毒症治疗用抗生素)是否在适当的治疗时间窗内给药。 重要性 临床合规与安全分析所需的数据。 获取途径 药房(PHA)或床旁核对(BMV)模块。 示例 对乙酰氨基酚万古霉素肝素胰岛素 | |||
| 费用金额 ChargeAmount | 与特定活动或服务相关的金额。 | ||
| 说明 表示特定事件产生的费用或收费金额,例如检查费或床位费。虽然主要用于财务分析,但也与资源投入程度相关。 汇总后可帮助了解流程差异带来的财务影响,但此视图主要关注临床流程。 重要性 为流程分析增加财务维度。 获取途径 计费或BAR(计费/应收账款)模块。 示例 150.001200.5045.00 | |||
患者就医旅程活动
| 活动 | 说明 | ||
|---|---|---|---|
| 分诊已完成 | 表示急诊科初步护理评估已完成,并据此确定患者的病情紧急程度和严重程度评分。 | ||
| 重要性 对于衡量患者处理量和等待时间的急诊科流程分析仪表板至关重要。 获取途径 MEDITECH EDM(急诊科管理)模块。根据EDM跟踪器中的状态变更或分诊评估文档的时间戳生成。 采集 状态字段变为“已分诊”时记录 事件类型 explicit | |||
| 已下达医嘱 | 记录临床人员提出的服务、药物或诊断检查申请,是后续临床活动的触发事件。 | ||
| 重要性 为“诊断服务周转时间”KPI建立基准。与执行时间进行比较,可识别服务交付延误。 获取途径 MEDITECH OE(医嘱录入)模块。从“OeOrders”表中的医嘱日期/时间字段获取。 采集 执行“录入医嘱”交易时记录 事件类型 explicit | |||
| 已开具出院医嘱 | 医生签署出院授权医嘱的时间戳,标志着“出院计划”阶段开始。 | ||
| 重要性 为“出院计划提前期”建立基准。该时间与患者实际离院时间之间的间隔反映了运营效率问题。 获取途径 MEDITECH OE(医嘱录入)。筛选Category = Discharge的医嘱。 采集 执行“录入医嘱”交易时记录 事件类型 explicit | |||
| 已给药 | 记录护理人员实际向患者给药的情况,通常通过床旁扫描条形码记录。 | ||
| 重要性 支持“给药规范遵循情况”分析,可识别护理单元中的安全风险和工作流中断。 获取途径 MEDITECH PHA(药房)或eMAR(电子给药记录)。取自给药历史中的“AdminDateTime”。 采集 执行“给药”交易时记录 事件类型 explicit | |||
| 已记录诊断 | 临床人员将编码诊断(ICD-10)录入患者记录的节点。这通常会触发特定临床路径。 | ||
| 重要性 通过对案例分类,支持“临床路径变体分析”,也是对患者进行分组比较的关键。 获取途径 MEDITECH ABS(病案摘要)或病历模块。诊断代码与账户关联时记录。 采集 执行“录入诊断”交易时记录 事件类型 explicit | |||
| 患者已出院 | 表示就诊记录已完成管理结案,患者已实际离院,床位已释放。 | ||
| 重要性 流程正式结束的节点,用于计算最终住院时间并确定30天再入院观察期。 获取途径 MEDITECH ADM(入院管理)。就诊记录中的“DischargeDateTime”字段。 采集 执行“患者出院”交易时记录 事件类型 explicit | |||
| 患者已登记 | 此事件表示系统中已创建患者就诊记录或就诊档案,属于管理操作。它记录患者进入MEDITECH ADM(入院管理)模块的起始节点。 | ||
| 重要性 用于确定患者就医流程的起点并计算周期时间,也是计算总住院时间的必要依据。 获取途径 MEDITECH ADM模块。数据来自“Admissions”表,具体为“AdmitDateTime”或交易日志创建时间戳。 采集 执行“新建就诊”交易时记录 事件类型 explicit | |||
| 患者已转运 | 表示患者从一个地点(病区/房间/床位)实际转移到另一个地点,用于跟踪患者在医院内的流转。 | ||
| 重要性 这是分析“院内转运瓶颈”的关键指标。转运时间过长可能意味着资源冲突或转运延误。 获取途径 MEDITECH ADM(入院管理)。数据来自“Location History”或“RoomBed”交易日志。 采集 执行“转运患者”交易时记录 事件类型 explicit | |||
| 诊断结果已核实 | 表示诊断检查(实验室或放射科)已完成,且结果已由技术人员或放射科医生签署确认。这标志着诊断医嘱流程已完成。 | ||
| 重要性 这是“诊断服务周转时间”的终点,也是分析辅助科室瓶颈的重要依据。 获取途径 MEDITECH LAB或ITS(影像与治疗服务)模块。根据结果状态变为“已核实”或“已签署”时记录。 采集 状态字段变为“已核实”时记录 事件类型 explicit | |||
| 会诊已完成 | 表示专科评估已完成。通常根据特定类型文档的归档时间推断,例如“心脏科会诊记录”。 | ||
| 重要性 这是衡量专科响应速度的终点,对确保及时推进护理至关重要。 获取途径 MEDITECH PCM(医嘱管理)或EMR。根据特定标题文档的创建时间戳推断。 采集 比较变更前后的状态字段 事件类型 inferred | |||
| 已发送会诊申请 | 请求专科医生提供意见的特定类型医嘱。此事件启动“专科会诊响应”仪表板的计时。 | ||
| 重要性 用于识别多学科护理协调中的瓶颈。此处等待时间过长会延长住院时间。 获取途径 MEDITECH OE(医嘱录入)。筛选“OeOrders”中Category = Consult的记录进行识别。 采集 执行“录入医嘱”交易时记录 事件类型 explicit | |||
| 已启动护理计划 | 表示已创建或分配特定的护理计划或多学科护理计划,对应“已制定治疗计划”这一概念。 | ||
| 重要性 用于衡量“治疗计划制定速度”。此处延误可能意味着临床决策存在缺口。 获取途径 MEDITECH PCS(患者护理系统)或Care Manager。记录将标准护理计划应用于患者的时间戳。 采集 执行“添加护理计划”交易时记录 事件类型 explicit | |||
| 已采集标本 | 表示已采集用于实验室分析的生物样本。这一活动衔接医嘱开具与样本处理。 | ||
| 重要性 这是诊断流程中可能造成延误的细分步骤,有助于区分护理延误和实验室延误。 获取途径 MEDITECH LAB模块。通常在采血人员扫描条形码或将标本状态更新为“已采集”时记录。 采集 执行“采集标本”交易时记录 事件类型 explicit | |||
| 已预约复诊 | 为患者安排未来的预约就诊,有助于保障出院后的护理连续性。 | ||
| 重要性 支持“复诊预约”分析,与较低的再入院率相关。 获取途径 MEDITECH SCH(预约管理)。通过关联出院日期前后创建的新预约记录与患者ID进行推断。 采集 比较“预约创建日期”字段与出院日期后推导 事件类型 inferred | |||
数据提取指南
步骤
确定数据存储库服务器:找到托管MEDITECH数据存储库(DR)的Microsoft SQL Server实例。该服务器不同于事务型M-AT或基于文件的数据库。您需要只读凭据(通常为服务账户)。
确定架构版本:MEDITECH DR的结构在Magic、Client/Server(6.x)和Expanse之间略有不同。以下查询采用标准命名约定(例如AdmVisits、OeOrders)。请在本地SQL Server Management Studio(SSMS)的对象资源管理器中核实表名。
确定数据范围:找到患者就诊记录的主表。根据DR配置,表名通常为AdmVisits、RegAcct或AbstractData。此查询以AdmVisits作为患者就诊记录的锚点。
准备SQL环境:打开SSMS并连接到DR,然后新建查询窗口。确认当前连接的是正确的数据库(通常名为livedb或类似名称)。
配置参数:在提供的SQL脚本中,替换日期范围(例如“2023-01-01”)和医疗机构标识符的占位值,尤其是在DR托管多个站点时。
执行数据提取:运行完整的T-SQL脚本。脚本使用公用表表达式(CTE)先定义目标人群,再通过UNION ALL合并多个数据源,生成标准化事件日志。
处理NULL属性:查询包含处理时间戳中潜在NULL值的逻辑(在适当情况下使用COALESCE),并确保关键联接键(SourceID/VisitID)均存在。
核实分诊和急诊数据:MEDITECH将急诊数据存储在特定模块中。如果您要分析急诊工作流,请确认EdVisits或NurInterventions表中有数据。
验证医嘱类别:查询根据类别urn或助记码区分一般医嘱、会诊和出院医嘱。您可能需要调整具体的WHERE子句,以匹配所在医疗机构的助记码字典。
导出数据:查询结果返回后,在SSMS结果网格中单击鼠标右键,选择“Save Results As CSV”。请确保包含表头。
最终格式检查:打开CSV文件,确认日期采用符合ISO 8601规范的格式(YYYY-MM-DD HH:MM:SS),再导入ProcessMind。
配置
- 数据库访问:需要拥有MEDITECH DR SQL数据库的db_datareader权限。
- 日期范围:建议提取已出院患者最近3至6个月的数据,以确保流程周期已完成。
- 医疗机构筛选:如果DR包含多个医疗机构的数据,请按FacilityID或SourceSystemID筛选BaseVisits CTE。
- 就诊记录定义:脚本使用唯一VisitID(通常称为Account Number或Episode Number)作为案例ID。
- 性能:查询使用CTE锚点限制扫描范围。为获得最佳性能,请确保AdmVisits表中的AdmitDate和DischargeDate字段已建立索引。
- 数据延迟:根据站点配置,数据存储库传输可能延迟15分钟至24小时。请确认LastDataUpdate时间戳。
查询示例 sql
/* MEDITECH Data Repository T-SQL Extraction for ProcessMind */
/* Process: Patient Journey */
/* Dialect: T-SQL */
WITH BaseVisits AS (
/* Define the population: Discharged patients within a date range */
SELECT
V.VisitID,
V.PatientID,
V.AccountNumber AS MedicalRecordNumber,
V.AdmitDateTime,
V.DischargeDateTime,
V.FacilityID,
V.PatientType,
V.AttendingProviderID,
V.DischargeDisposition,
NULLIF(DATEDIFF(MINUTE, V.AdmitDateTime, V.DischargeDateTime), 0) / 1440.0 AS LengthOfStay,
/* Flag readmissions logic would go here, simplified as 0 for base script */
0 AS IsReadmission
FROM
[YourDatabaseName].[dbo].[AdmVisits] V
WHERE
V.DischargeDateTime >= '2023-01-01'
AND V.DischargeDateTime < '2023-04-01'
AND V.Status = 'DIS' /* Discharged Status */
),
PatientDiagnoses AS (
/* Helper CTE for Primary Diagnosis to avoid duplicates in joins */
SELECT
D.VisitID,
MAX(D.ICDCode) AS PrimaryDiagnosis
FROM
[YourDatabaseName].[dbo].[AbsDiagnoses] D
WHERE
D.Rank = 1 /* Primary Diagnosis Rank */
GROUP BY
D.VisitID
),
TriageData AS (
/* Helper CTE for Triage Acuity */
SELECT
T.VisitID,
MAX(T.AcuityLevel) AS TriageAcuityLevel
FROM
[YourDatabaseName].[dbo].[EdTriage] T
GROUP BY
T.VisitID
)
/* 1. Patient Registered */
SELECT
V.VisitID AS PatientEpisode,
'Patient Registered' AS ActivityName,
V.AdmitDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
V.AttendingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
BaseVisits V
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
V.AdmitDateTime IS NOT NULL
UNION ALL
/* 2. Triage Completed */
SELECT
V.VisitID AS PatientEpisode,
'Triage Completed' AS ActivityName,
ED.TriageDateTime AS EventTimestamp,
'MEDITECH_ED' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Emergency Department' AS HospitalDepartment,
ED.TriageNurseID AS AttendingProvider,
V.PatientType,
ED.AcuityLevel AS TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[EdTriage] ED
INNER JOIN BaseVisits V ON ED.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
WHERE
ED.TriageDateTime IS NOT NULL
UNION ALL
/* 3. Order Placed (General) */
SELECT
V.VisitID AS PatientEpisode,
'Order Placed' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category NOT IN ('CONSULT', 'DISCHARGE') /* Exclude specific types handled elsewhere */
UNION ALL
/* 4. Specimen Collected */
SELECT
V.VisitID AS PatientEpisode,
'Specimen Collected' AS ActivityName,
L.CollectionDateTime AS EventTimestamp,
'MEDITECH_LAB' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Laboratory' AS HospitalDepartment,
L.CollectedBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[LabSpecimens] L
INNER JOIN BaseVisits V ON L.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
L.CollectionDateTime IS NOT NULL
UNION ALL
/* 5. Diagnostic Result Verified */
SELECT
V.VisitID AS PatientEpisode,
'Diagnostic Result Verified' AS ActivityName,
R.VerifiedDateTime AS EventTimestamp,
'MEDITECH_LAB' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
'Laboratory' AS HospitalDepartment,
R.VerifiedBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[LabResults] R
INNER JOIN BaseVisits V ON R.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
R.VerifiedDateTime IS NOT NULL
UNION ALL
/* 6. Diagnosis Documented */
SELECT
V.VisitID AS PatientEpisode,
'Diagnosis Documented' AS ActivityName,
DX.EntryDateTime AS EventTimestamp,
'MEDITECH_ABS' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
DX.ProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[AbsDiagnoses] DX
INNER JOIN BaseVisits V ON DX.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
DX.EntryDateTime IS NOT NULL
UNION ALL
/* 7. Care Plan Initiated */
SELECT
V.VisitID AS PatientEpisode,
'Care Plan Initiated' AS ActivityName,
N.CreateDateTime AS EventTimestamp,
'MEDITECH_NUR' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
N.NurseUnit AS HospitalDepartment,
N.NurseID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[NurPlan] N
INNER JOIN BaseVisits V ON N.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
N.CreateDateTime IS NOT NULL
UNION ALL
/* 8. Medication Administered */
SELECT
V.VisitID AS PatientEpisode,
'Medication Administered' AS ActivityName,
M.AdminDateTime AS EventTimestamp,
'MEDITECH_PHA' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
M.AdminLocation AS HospitalDepartment,
M.AdministeredBy AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[PhaMedAdmin] M
INNER JOIN BaseVisits V ON M.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
M.Status = 'ADMINISTERED'
UNION ALL
/* 9. Consult Request Sent */
SELECT
V.VisitID AS PatientEpisode,
'Consult Request Sent' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'CONSULT'
UNION ALL
/* 10. Consultation Completed */
SELECT
V.VisitID AS PatientEpisode,
'Consultation Completed' AS ActivityName,
O.CompletedDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'CONSULT'
AND O.Status = 'COMPLETED'
AND O.CompletedDateTime IS NOT NULL
UNION ALL
/* 11. Patient Transferred */
SELECT
V.VisitID AS PatientEpisode,
'Patient Transferred' AS ActivityName,
TX.TransferDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
TX.ToLocation AS HospitalDepartment,
NULL AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[AdmRoomTx] TX
INNER JOIN BaseVisits V ON TX.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
TX.TransferDateTime IS NOT NULL
UNION ALL
/* 12. Discharge Order Written */
SELECT
V.VisitID AS PatientEpisode,
'Discharge Order Written' AS ActivityName,
O.OrderDateTime AS EventTimestamp,
'MEDITECH_OE' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
O.Department AS HospitalDepartment,
O.OrderingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[OeOrders] O
INNER JOIN BaseVisits V ON O.VisitID = V.VisitID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
O.Category = 'DISCHARGE'
OR O.Mnemonic LIKE '%DISCHARGE%'
UNION ALL
/* 13. Patient Discharged */
SELECT
V.VisitID AS PatientEpisode,
'Patient Discharged' AS ActivityName,
V.DischargeDateTime AS EventTimestamp,
'MEDITECH_ADM' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
V.FacilityID AS HospitalDepartment,
V.AttendingProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
BaseVisits V
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
V.DischargeDateTime IS NOT NULL
UNION ALL
/* 14. Follow-up Booked */
SELECT
V.VisitID AS PatientEpisode,
'Follow-up Booked' AS ActivityName,
S.BookDateTime AS EventTimestamp,
'MEDITECH_SCH' AS SourceSystem,
GETDATE() AS LastDataUpdate,
V.MedicalRecordNumber,
S.ApptDepartment AS HospitalDepartment,
S.ProviderID AS AttendingProvider,
V.PatientType,
T.TriageAcuityLevel,
D.PrimaryDiagnosis,
V.DischargeDisposition,
V.LengthOfStay,
V.IsReadmission
FROM
[YourDatabaseName].[dbo].[SchAppt] S
INNER JOIN BaseVisits V ON S.PatientID = V.PatientID
LEFT JOIN PatientDiagnoses D ON V.VisitID = D.VisitID
LEFT JOIN TriageData T ON V.VisitID = T.VisitID
WHERE
S.BookDateTime > V.AdmitDateTime
AND S.BookDateTime <= DATEADD(day, 30, V.DischargeDateTime) /* Logic to link appt to episode */
AND S.Status NOT IN ('CANCELLED', 'NOSHOW'); 立即优化患者就医旅程,减少延误
将周期时间缩短30%,提升医院效率
无需信用卡,几分钟即可开始。