文档描述了危急值管理平台为其他产品组提供的标准接口,接口通过类方法或Query提供。
适应于医技系统保存危急值,如果为第三方或分库则应通过平台调用。
HIS8.0.2
##Class(web.DHCAntService).SaveCVResult(ReportType,ExamNo,Adm,OEOrdId,ReportInfo,Result,LisRowid,OrderInfo,TestItems,MTS2DocInfo,MTS2PatInfo,OriginalReportId )
##Class(web.DHCAntCVResult).Save(ReportType,ExamNo,Adm,OEOrdId,ReportInfo,Result,LisRowid,OrderInfo,TestItems,MTS2DocInfo,MTS2PatInfo,OriginalReportId ) //检验调的可能是这个
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| Adm | 就诊ID | |
| OEOrdId | 医嘱ID | 多个医嘱以英文逗号,分隔 |
| ReportInfo | 报告审核信息 | 审核日期2(yyyy-MM-dd)^审核时间2(hh:mm:ss)^审核人ID@审核人工号@审核人姓名3^审核说明4^报告审核科室5^报告科室联系电话6^危急值等级7(Normal一般危急值 High高危危急值 Extreme极危危急值 Unknown未分级)审核人可以理解为危急值上报人,指的是确定危急值要报告的人,对于需要审核才上报的是审核人,但是对于不需要审核就上报的那是报告人。某些项目上由于用户不互通,医技系统的用户工号在HIS内不存在,审核人部分支持“id@工号@姓名”形式( HIS9.1.3) |
| Result | 危急值报告内容 | 危急值报告内容 |
| LisRowid | 唯一ID | 一个检查(检验)号可能调用多次,需要唯一ID来区分哪次调用 HIS8.1 |
| OrderInfo | 医嘱信息,后续添加串 | 申请人^申请日期时间^采集人^采集日期时间^接收人^接收日期时间^预警日期时间^复核人^复核日期时间^报告人^报告日期时间(审核日期时间)^标本类型^危机说明^备注 (时间格式:YYYY-MM-DD hh:mm:ss) HIS8.1 |
| TestItems | 检验项目结果 | $lb($lb(项目代码,项目名称,缩写,结果,单位,结果异常标志,范围,仪器,备注),$lb(项目代码,项目名称,缩写,结果,单位,结果异常标志,范围,仪器,备注)) HIS8.4.2 |
| MTS2DocInfo | 医技系统电话通知医生信息 | 日期(yyyy-MM-dd)1^时间(hh:mm:ss)2^结果3(1成功-1失败)^结果备注(失败原因等)4^通知人姓名5^通知人电话6^沟通内容7^医生姓名8^医生电话9 HIS9.0.1 |
| MTS2PatInfo | 医技系统电话通知患者信息 | 日期(yyyy-MM-dd)1^时间(hh:mm:ss)2^结果3(1成功-1失败)^结果备注(失败原因等)4^通知人姓名5^通知人电话6^沟通内容7^患者姓名8^患者电话9 HIS9.0.1 |
| OriginalReportId | 原始报告ID | 医技系统原始报告ID(指的是对应检验检查报告的) HIS9.2.1 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 0 | 成功 | |
| -1^失败原因 |
适应于根据就诊ID判断是否存在需处理的危急值报告。
HIS8.0.2
##Class(web.DHCAntService).GetReportWarn(EpisodeId)
| 参数名 | 说明 | 备注 |
|---|---|---|
| EpisodeId | 就诊ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 有 | |
| 0 | 无 |
适应于根据就诊ID获取需处理的危急值报告数量。
HIS8.0.2
##Class(web.DHCAntService).GetReportWarnNum(EpisodeId)
| 参数名 | 说明 | 备注 |
|---|---|---|
| EpisodeId | 就诊ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 数字 | 需处理的危急值报告数量 |
适应于根据检查(验)号与医嘱ID判断是否是危急值。
HIS8.3
##Class(web.DHCAntService).IsCVReport(ExamNo,OEOrdId,OriginalReportId)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| OriginalReportId | 原始报告ID | 用于区分判断多报告情况下哪个是危急值 HIS9.2.1 传空不判断原始报告ID 如果传了则会判断危急值报告关联的原始报告ID是否和传的匹配 特别的如果传了但是危急值报告没有原始报告ID也视作匹配 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 0 | 否 | |
| 1^危急值RowId |
适应于根据就诊ID获取危急值列表。
HIS8.0.2
##class(%ResultSet).RunQuery("web.DHCCVCommon","CVReportFromAdm",EpisodeId,TransStatus)
| 参数名 | 说明 | 备注 |
|---|---|---|
| EpisodeId | 就诊ID | |
| TransStatus | 危急值状态 | C未处理 F已处理 在新版本中C未接收未处理 Rec已接收未处理 F已处理 且支持多个英文,分隔 |
| 输出列 | 说明 | 备注 |
|---|---|---|
| ReportId | 报告ID | 检查(验)号||计数 |
| TSName | 医嘱名称 | |
| ReportStatus | 危急值状态 | |
| ReportType | 危急值类型名称 | |
| DPRPType | 危急值类型代码 | |
| DateTime | 报告日期时间 | |
| ApplyDT | 申请日期时间 | |
| SamplingDT | 采样日期时间 | |
| ReceiveDT | 接收日期时间 | |
| AuditDT | 审核日期时间 | |
| Specimen | 标本 | |
| DPRPAlert | 提示 |
适应于保存危急值与医嘱关联。
HIS8.4
##Class(BSP.CV.SRV.Interface).SaveTransOrd(reportID,OEOrdItemIds,UserID)
##class(web.DHCAntCVReportLink).SaveTransOrd(reportID,OEOrdItemIds,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | 危急值报告ID 打开界面传过去的AntCVID |
| OEOrdItemIds | 医嘱ID | 多个以英文,分割 |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于判断是不是为处理危急值而开的医嘱。
HIS8.4
##Class(BSP.CV.SRV.Interface).IsTransOrd(OEOrdItemId)
| 参数名 | 说明 | 备注 |
|---|---|---|
| OEOrdItemId | 医嘱ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 0 | 不是 | |
| 1^附加信息 | 是 | 1^危急值报告ID1$危急值报告ID2 |
适应于保存危急值与病历关联。
HIS8.4
##Class(BSP.CV.SRV.Interface).SaveTransEMR(reportID,OEOrdItemIds,UserID) //实际未使用此
##class(web.DHCAntCVReportLink).SaveTransEMR(reportID,OEOrdItemIds,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | 危急值报告ID 打开界面传过去的FromCode |
| InstanceIDs | 病历ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于判断是不是为处理危急值而写的病程。
HIS8.4
##Class(BSP.CV.SRV.Interface).IsTransEMR(InstanceID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| InstanceID | 病历ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 0 | 不是 | |
| 1^附加信息 | 是 | 1^危急值报告ID1$危急值报告ID2 |
适应于根据就诊或患者ID判断是否需要弹出危急值。 2023-02-13
HIS9.0
判断此患者历次就诊是否有未处理的危急值,有则返回此患者危急值列表链接,无则返回空
##Class(BSP.CV.SRV.Interface).GetCVPopupUrl(EpisodeID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| EpisodeID | 就诊ID | |
| PatientID | 患者ID | 就诊ID和患者ID 至少传一个 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 不需要 | |
| 其它 | 需要 | 返回值为要弹出的链接 |
适应于根据危急值ID获取危急值信息及开的医嘱。
HIS8.4
##Class(BSP.CV.SRV.Interface).GetOneCVInfo(reportID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 获取失败 | |
| 对象 | 获取成功 | BSP.SYS.COM.ProxyObject对象 |
成功返回的是BSP.SYS.COM.ProxyObject对象,具体属性
| 属性名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值id | |
| examNo | 检验(检查)号 | |
| repResult | 危急值报告内容 | |
| repType | 危急值类型 | |
| repTypeDesc | 危急值类型描述 | |
| ordItemId | 此检验(检查)的医嘱Id | 部分项目可能是多个医嘱id,英文,分隔 |
| ordItemDesc | 此检验(检查)的医嘱名称 | |
| repLoc | 报告科室 | 取的医嘱接收科室 |
| repUserName | 报告人名字 | |
| repDate | 报告日期 | Logical |
| repTime | 报告时间 | Logical |
| repDT | 报告日期时间 | 系统配置日期格式 HH:mm:ss |
| trUserName | 处理人名字 | |
| trDate | 处理日期 | Logical |
| trTime | 处理时间 | Logical |
| trDT | 处理日期时间 | 系统配置日期格式 HH:mm:ss |
| trAdvice | 处理意见措施 | 处理界面的意见措施录入框的值 |
| trOrdItemList | 处理医嘱 | 数组(BSP.SYS.COM.ProxyArray) 详细见下表 |
| admDT | 就诊时间 | 系统配置日期格式 HH:mm:ss (2020-04-15增加) |
| admLocDesc | 就诊科室 | (2020-04-15增加) |
| admDocName | 主管医生 | (2020-04-15增加) |
| adm | 就诊id | (2020-04-15增加) |
| patPhone | 患者手机 | (2020-04-15增加) |
| patientID | 患者ID | (2020-04-15增加) |
| recUserName | 接收人名字 | (2020-04-22增加) |
| recDate | 接收日期 | Logical (2020-04-22增加) |
| recTime | 接收时间 | Logical(2020-04-22增加) |
| recDT | 接收日期时间 | 系统配置日期格式 HH:mm:ss (2020-04-22增加) |
处理医嘱trOrdItemList的元素说明
| 属性名 | 说明 | 备注 |
|---|---|---|
| ordItemId | 医嘱id | |
| ordDesc | 医嘱名称 | |
| ordAddDate | 医嘱开立日期 | Logical |
| ordAddTime | 开立时间 | Logical |
| ordAddDT | 开立日期时间 | 系统配置日期格式 HH:mm:ss |
| ordDocName | 开医嘱人名字 | |
| ordLocDesc | 开医嘱科室 | |
| ordRecLocDesc | 医嘱接收科室 | |
| ordDoseQty | 单次剂量 | |
| ordDoseUnit | 单次剂量单位 | |
| ordPHFreq | 频次 | |
| ordInstrDr | 用法 | |
| ordDura | 疗程 |
适应于获取某就诊最近一次危急值信息。 个别项目实现
##Class(BSP.CV.SRV.Interface).GetLatestOneCVInfo(EpisodeID,Status)
| 参数名 | 说明 | 备注 |
|---|---|---|
| EpisodeID | 就诊ID | |
| Status | 状态 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 获取失败 | |
| 对象 | 获取成功 | BSP.SYS.COM.ProxyObject对象具体属性见上接口 |
适应于根据就诊ID获取危急值列表。
HIS8.4
##class(%ResultSet).RunQuery("web.DHCAntService","QryCVByAdm",Adm,Status,DateFrom,DateTo,UseType,ReportType,TimeFrom,TimeTo)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| Status | 危急值状态 | C未接收未处理 Rec已接收未处理 F已处理 空全部 且支持多个英文,分隔 |
| DateFrom | 开始日期 | |
| DateTo | 结束日期 | |
| UseType | 用途 | NURSE-TODO 护士待处理(不同项目护士待处理条件不一样,接口内部去判断) NURSE-DONE 护士已处理(不同项目护士待处理条件不一样,接口内部去判断) (2022-04-22增加) |
| ReportType | 危急值报告类型 | 1检验、2病理、3心电、4超声、5内镜、6放射 多个以,分割 (2023-02-10) |
| TimeFrom | 开始时间 | 与开始日期组合成开始日期时间 2025-11-17 |
| TimeTo | 结束时间 | 与结束日期组合成结束日期时间 2025-11-17 |
| 输出列 | 说明 | 备注 |
|---|---|---|
| reportID | 报告ID | 危急值报告表RowId |
| examno | 检查(检验)号 | |
| ordItem | 医嘱ID | |
| repStatus | 危急值报告状态 | |
| repTypeDesc | 报告类型 | |
| repLoc | 报告科室 | |
| repDate | 报告日期 | |
| repTime | 报告时间 | |
| repResult | 报告结果 | |
| trUser | 处理人 | |
| trAdvice | 处理意见 | |
| ordItemDesc | 医嘱名称 | |
| trDate | 处理日期 | HIS8.5 |
| trTime | 处理时间 | HIS8.5 |
| nurseDoneStatus | 护士是否处理完成(1/0) | 一般指危急值是否已接收,个别项目也为护士处理 |
| recUser | 接收人 | HIS8.5.3 |
| recAdvice | 接收备注 | |
| recDate | 接收日期 | |
| recTime | 接收时间 |
如果要是觉得使用Query有点麻烦,可以使用类方法##class(web.DHCAntCVService).GetCVByAdm,入参和上Query相同,返回值为两层%List形式,即$lb($lb(reportID,examno,ordItem,…),$lb(reportID,examno,ordItem,…))
适应于危急值处理时进行会诊申请,保存危急值与会诊申请关联。
HIS8.5
##Class(BSP.CV.SRV.Interface).SaveTransConsultation(reportID,CstID,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | 危急值报告ID |
| CstID | 会诊ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于保存危急值复查记录与危急值关联。 个别项目
##Class(BSP.CV.SRV.Interface).SaveReexamineEMR(reportID,InstanceID,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | 危急值报告ID |
| InstanceID | 病历ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于患者新就诊(产生了就诊记录有了科室、病区后)时调用,处理患者之前的危急值数据(如处理消息,发新消息,修改危急值最终科室)。 个别项目
##Class(BSP.CV.SRV.Interface).OnNewAdm(Adm,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于患者转科后(就诊记录上科室病区改变后)调用,处理患者之前的危急值数据(如处理消息,发新消息,修改危急值最终科室)。 个别项目
##Class(BSP.CV.SRV.Interface).OnTransLoc(Adm,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 成功 | |
| -1^失败原因 |
适应于为医技系统提供获取危急值处理意见措施接口。
HIS8.5
只会根据条件查到最后一条危急值,然后返回它最后一条处理记录的意见措施字段。ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数
##Class(BSP.CV.SRV.Interface).GetTransAdvice(ReportType, ExamNo, OEOrdId, LisRowid)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 其它 | 成功 | 返回值为意见措施(可能为空) |
适应于医技系统用户确认收到临床处理结果时调用。
HIS8.5
ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数
##Class(BSP.CV.SRV.Interface).SaveTPSConfirmExec(ReportType, ExamNo, OEOrdId, LisRowid, UserCode)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| UserCode | 确认人工号 | 需在HIS内存在 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于为医技系统提供获取危急值撤销接口。
HIS9.0
只会根据条件查到最后一条危急值,然后撤销。已处理的危急值不能撤销。ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数。
##Class(BSP.CV.SRV.Interface).SaveCVCancel(ReportType, ExamNo, OEOrdId, LisRowid, CancelUserCode,CancelNote)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| CancelUserCode | 撤销用户工号 | 需在HIS内存在 |
| CancelNote | 撤销说明备注 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于为护理提供获取某患者危急值列表。 个别项目
##Class(BSP.CV.SRV.Interface).GetAdmCVRS4Nurse(Adm, DoneStatus)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| DoneStatus | 完成状态 | 0 未完成 1 已完成(护士已接收,个别也称已处理) 空 不限制 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 结果集 | 结果集 | 结果集字段说明见 2.13 根据就诊ID获取危急值列表V2 |
适应于根据危急值ID获取危急值详细信息用于界面呈现等。
HIS8.5.3
##Class(BSP.CV.SRV.Interface).GetCVDetailsInfo(reportID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 获取失败 | |
| 对象 | 获取成功 | BSP.SYS.COM.ProxyObject对象 |
成功返回的是BSP.SYS.COM.ProxyObject对象,具体属性
| 属性名 | 说明 | 备注 |
|---|---|---|
| success | 成功与否 | 1成功 0失败 |
| msg | 错误提示信息 | |
| rowid | 危急值id | |
| repType | 危急值类型 | |
| repTypeDesc | 危急值类型描述 | |
| repLabno | 检查(检验)号 | |
| repDateDesc | 报告日期 | 格式为HIS系统配置 |
| repTime | 报告时间 | HH:mm:ss |
| repUserName | 报告人姓名 | |
| repStatus | 报告状态 | C未处理,Rec已接收,F已处理,D撤销 |
| hasNurE | 护士是否已处理 | 不通用,个别项目 |
| nurseDoneStatus | 护士是否已完成 | 1已完成(已接收,个别项目为护士是否已处理),0未完成 |
| repResult | 危急值报告内容 | |
| ordItm | 医嘱ID | 存在多个医嘱ID可能,英文逗号分隔 |
| ordDesc | 医嘱名称 | |
| ordDocName | 开单医生 | |
| ordLocDesc | 开单科室 | |
| EpisodeID | 就诊ID | |
| admType | 就诊类型 | |
| admLoc | 就诊科室ID | |
| admLocDesc | 就诊科室名称 | |
| admDocName | 主管医生 | |
| admDate | 就诊日期 | 格式为HIS系统配置 |
| admLocPhone | 就诊科室电话 | |
| mradm | mradm | |
| PatientID | 患者ID | |
| patName | 患者姓名 | |
| gender | 性别 | |
| DOB | 生日 | 格式为HIS系统配置 |
| age | 年龄 | |
| PAPMINO | 登记号 | |
| patPhone | 患者电话 | |
| patMrNo | 病案号 | |
| transArray | 处理记录数组 | 危急值的接收、转发、处理、记录,数组(BSP.SYS.COM.ProxyArray)对象 |
处理记录transArray的元素说明
| 属性名 | 说明 | 备注 |
|---|---|---|
| trUserName | 操作人姓名 | |
| trDate | 操作日期 | 格式为HIS系统配置 |
| trTime | 操作时间 | HH:mm:ss |
| trContact | 联系人 | |
| trPhone | 联系电话 | |
| trMemo | 联系结果描述 | [已通知,未联系到] |
| trStatus | 联系结果 | [F,C] |
| trAdvice | 接收备注、处理意见措施 | |
| trExecResult | 处理结果代码 | 个别项目此为联系结果的替代(),标版未用 |
| trOpType | 操作类型 | Rec接收,E处理,FwD转发,NurRec护士接收,NurE护士处理,D撤销 护士接收、护士处理仅个别项目独立区分 |
适应于提供危急值首次阅读接口给第三方(PDA等)。 个别项目
##Class(BSP.CV.SRV.Interface).SaveFirstRead(reportID, usercode,sessLocCode)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | |
| usercode | 完成状态 | 阅读人工号 |
| sessLocCode | 操作科室代码 | 操作用户登录的科室 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于提供危急值接收接口给第三方(PDA等)。 个别项目
个别项目将护士接收称作【护士处理】。
##Class(BSP.CV.SRV.Interface).SaveReceive(reportID, contact,contactTel,contactResult,contactResultDesc,note,usercode,contactCode,sessLocCode)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值ID | |
| contact | 联系人姓名 | 一般指医生 |
| contactTel | 联系人电话 | 一般指医生 |
| contactResult | 联系结果 | [F,C] |
| contactResultDesc | 联系结果描述 | [已通知,未联系到] |
| note | 备注 | |
| usercode | 操作人工号 | |
| contactCode | 联系人工号 | 部分项目联系人为下拉选择医生 |
| sessLocCode | 操作科室代码 | 操作用户登录的科室 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于患者新就诊(产生了就诊记录有了科室、病区后)时调用,处理患者之前的危急值数据(如处理消息,发新消息,修改危急值最终科室)。 个别项目
##Class(BSP.CV.SRV.Interface).OnNewAdmV2(Adm,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 大于等于0 | 成功 | 成功返回:大于等于0的数,0表示没有要操作的危急值,大于0表示操作的危急值条数 |
| -1^失败原因 |
适应于患者转科后(就诊记录上科室病区改变后)调用,处理患者之前的危急值数据(如处理消息,发新消息,修改危急值最终科室)。 个别项目
##Class(BSP.CV.SRV.Interface).OnTransLocV2(Adm,UserID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| UserID | 操作人ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 大于等于0 | 成功 | 成功返回:大于等于0的数,0表示没有要操作的危急值,大于0表示操作的危急值条数 |
| -1^失败原因 |
适应于判断患者是否需要弹出危急值界面,有则返回需要弹出的链接,没有则返回空。 2023-11-14
HIS9.0.2
不传场景时,查患者30内历次就诊是否有未处理的危急值
传场景时,根据场景获取该场景下的配置,根据配置条件获取是否有满足条件的危急值 配置取不到当作不需要弹也返回空
##Class(BSP.CV.SRV.Interface).GetPatPopupUrl(Adm, PatientID, Scene)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| PatientID | 患者ID | |
| Scene | 场景 | 见危急值基本配置-其它-危急值业务场景界面弹窗配置 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 无 | |
| 其它 | 有 | 有未处理的危急值返回url链接 |
适应于判断患者是否有超时处理以及超时未处理危急值。 2023-11-22
HIS9.0.2
##Class(BSP.CV.SRV.Interface).IfAdmHasOverTimeCV(Adm)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 有 | |
| 0 | 无 |
适应于判断患者在此前24小时内是否产生过危急值。 2023-11-22
HIS9.0.2
##Class(BSP.CV.SRV.Interface).IfAdmHasCVIn24H(Adm)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 有 | |
| 0 | 无 |
适应于判断患者在一段时间内是否产生过危急值。 2023-11-22
HIS9.0.2
##Class(BSP.CV.SRV.Interface).IfAdmHasCVReport(Adm,Status,StDate,StTime,EndDate,EndTime)
##Class(BSP.CV.SRV.Interface).IfHasCVReport(Adm,Status,StDate,StTime,EndDate,EndTime)
| 参数名 | 说明 | 备注 |
|---|---|---|
| Adm | 就诊ID | |
| Status | 当前状态 | C未接收 Rec已接收 F已处理 D已撤回 空(除了撤销外的所有危急值) |
| StDate | 开始日期 | yyyy-MM-dd |
| StTime | 开始时间 | hh:mm:ss |
| EndDate | 结束日期 | yyyy-MM-dd |
| EndTime | 结束时间 | hh:mm:ss |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 1 | 有 | |
| 0 | 无 |
适应于为医技系统提供保存电话通知医生信息。 2023-06-14
HIS9.0.1
只会根据条件查到最后一条危急值,然后保存。ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数。
##Class(BSP.CV.SRV.Interface).SaveMTSNoticeDocByPhone(ReportType, ExamNo, OEOrdId, LisRowid, MTS2DocInfo,LogUserCode)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| MTS2DocInfo | 通知信息 | 日期(yyyy-MM-dd)1^时间(hh:mm:ss)2^结果3(1成功-1失败)^结果备注(失败原因等)4^通知人姓名5^通知人电话6^沟通内容7^医生姓名8^医生电话9 |
| LogUserCode | 记录用户工号 | 需在HIS内存在 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于为医技系统提供保存电话通知患者信息。 2023-06-14
HIS9.0.1
只会根据条件查到最后一条危急值,然后保存。ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数。
##Class(BSP.CV.SRV.Interface).SaveMTSNoticePatByPhone(ReportType, ExamNo, OEOrdId, LisRowid, MTS2PatInfo,LogUserCode)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| MTS2PatInfo | 通知信息 | 日期(yyyy-MM-dd)1^时间(hh:mm:ss)2^结果3(1成功-1失败)^结果备注(失败原因等)4^通知人姓名5^通知人电话6^沟通内容7^患者姓名8^患者电话9 |
| LogUserCode | 记录用户工号 | 需在HIS内存在 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于保存第三方系统(如手机APP等)对危急值的接收操作(已知HIS危急值报告ID) 2023-12-22
HIS9.0.3
接收步骤需要结合项目实际情况,某些项目可能配置的是无需接收,此时就不需要接收接口。
某些项目配置的是“医生处理时接收 护士显示按钮” 此时护士时对于护士来说还是有接收概念的,医生则只有处理。
##class(BSP.CV.SRV.Interface).SaveReceive4TPS(reportID,contact,contactTel,contactResult,contactResultDesc,note,usercode,oprUserCode,oprLocCode,sourceSystem,sourceIdentity)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值报告表ID | |
| contact | 联系人姓名 | 如果联系人为HIS用户 应为联系人姓名@工号 一般护士接收联系人通知的医生,医生接收为本人 |
| contactTel | 联系人电话 | |
| contactResult | 联系结果代码 | F|C |
| contactResultDesc | 联系结果 | 已通知|未联系到 |
| note | 备注信息 | |
| usercode | 接收人工号 | |
| oprUserCode | 操作人工号 | |
| oprLocCode | 操作科室代码 | |
| sourceSystem | 来源系统 | HIS、APP、SMS、WX等 2024-03-21 还未提交 |
| sourceIdentity | 来源身份 | IP、MAC、IMEI、手机号等 2024-03-21 还未提交 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于保存第三方系统(如手机APP等)对危急值的处理操作(已知HIS危急值报告ID) 2023-12-22
HIS9.0.3
联系人、联系电话、联系结果需要结合实际情况,有些项目可能不需要此信息。
##class(BSP.CV.SRV.Interface).SaveExec4TPS(reportID,contact,contactTel,contactResult,contactResultDesc,note,usercode,oprUserCode,oprLocCode,sourceSystem,sourceIdentity)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值报告表ID | |
| contact | 联系人姓名 | 如果联系人为HIS用户 应为联系人姓名@工号 |
| contactTel | 联系人电话 | |
| contactResult | 联系结果代码 | F|C |
| contactResultDesc | 联系结果 | 已通知|未联系到 |
| note | 处理意见措施 | |
| usercode | 处理工号 | |
| oprUserCode | 操作人工号 | |
| oprLocCode | 操作科室代码 | |
| sourceSystem | 来源系统 | HIS、APP、SMS、WX等 2024-07-15 |
| sourceIdentity | 来源身份 | IP、MAC、IMEI、手机号等 2024-07-15 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于根据危急值ID,获取危急值处理结果(接收、处理、护士确认等)信息 2023-12-26
HIS9.0.3
护士确认 是为了实现危急值必须有护士参与而增加的,这个节点可能是护士点击接收即为确认,也可能是医生接收处理后护士再单独点击一个确认按钮。
##class(BSP.CV.SRV.Interface).GetCVExecInfo(reportID)
##class(web.DHCAntService).GetCVExecInfo(reportID)
| 参数名 | 说明 | 备注 |
|---|---|---|
| reportID | 危急值报告表ID |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 失败 | 危急值ID不正确 |
| 其它字符串 | 成功 | 字符串,以^分隔: 1检查(验)号 2就诊ID 3医嘱ID 4业务系统唯一ID,危急值接口传参LisRowid 5处理日期 6处理时间 7处理人工号 8处理人姓名 9联系人姓名 10联系人电话 11处理结果 12处理意见措施 13接收日期 14接收时间 15接收人工号 16接收人姓名 17接收时联系人(通知医生)18接收时联系电话(通知医生电话) 19接收时联系结果 20接收时备注信息 21护士确认日期 22护士确认时间 23护士工号 24护士姓名 (护士确认为可能是护士点击接收危急值为确认,也可能是医生处理之后护士才看到危急值点下确认表示知晓) |
适应于保存第三方系统(如医技系统本身,或者医技系统直接推危急值给到的系统)对危急值的接收操作(不知HIS危急值报告ID) 2024-07-15 HIS9.1.0
接收步骤需要结合项目实际情况,某些项目可能配置的是无需接收,此时就不需要接收接口。
某些项目配置的是“医生处理时接收 护士显示按钮” 此时护士时对于护士来说还是有接收概念的,医生则只有处理。
ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数
##class(BSP.CV.SRV.Interface).SaveReceive4MTS(ReportType, ExamNo, OEOrdId, LisRowid,contact,contactTel,contactResult,contactResultDesc,note,usercode,oprUserCode,oprLocCode,sourceSystem,sourceIdentity)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| contact | 联系人姓名 | 如果联系人为HIS用户 应为联系人姓名@工号 一般护士接收联系人通知的医生,医生接收为本人 |
| contactTel | 联系人电话 | |
| contactResult | 联系结果代码 | F|C |
| contactResultDesc | 联系结果 | 已通知|未联系到 |
| note | 备注信息 | |
| usercode | 接收人工号 | |
| oprUserCode | 操作人工号 | |
| oprLocCode | 操作科室代码 | |
| sourceSystem | 来源系统 | HIS、APP、SMS、WX等 |
| sourceIdentity | 来源身份 | IP、MAC、IMEI、手机号等 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
适应于保存第三方系统(如医技系统本身,或者医技系统直接推危急值给到的系统)对危急值的处理操作(不知HIS危急值报告ID) 2024-07-15 HIS9.1.0
联系人、联系电话、联系结果需要结合实际情况,有些项目可能不需要此信息。
ReportType,ExamNo,OEOrdId,LisRowid 都对应危急值保存时的参数
##class(BSP.CV.SRV.Interface).SaveExec4MTS(ReportType, ExamNo, OEOrdId, LisRowid,contact,contactTel,contactResult,contactResultDesc,note,usercode,oprUserCode,oprLocCode,sourceSystem,sourceIdentity)
| 参数名 | 说明 | 备注 |
|---|---|---|
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 |
| ExamNo | 检查(检验)号 | |
| OEOrdId | 医嘱ID | |
| LisRowid | 唯一ID | 一般为医技系统的危急值ID |
| contact | 联系人姓名 | 如果联系人为HIS用户 应为联系人姓名@工号 |
| contactTel | 联系人电话 | |
| contactResult | 联系结果代码 | F|C |
| contactResultDesc | 联系结果 | 已通知|未联系到 |
| note | 处理意见措施 | |
| usercode | 处理工号 | |
| oprUserCode | 操作人工号 | |
| oprLocCode | 操作科室代码 | |
| sourceSystem | 来源系统 | HIS、APP、SMS、WX等 |
| sourceIdentity | 来源身份 | IP、MAC、IMEI、手机号等 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| -1^失败原因 | 失败 | |
| 1 | 成功 |
获取一段时间危急值各状态数量 2025-08-01 HIS9.2.0
如获取2025年7月院区ID为2,门诊患者危急值的数量,且要30分钟内处理数量
s ret= ##class(BSP.CV.SRV.Interface).GetStatisticsCount("2025-07-01","2025-07-31","","2","O","","","","",30,"")
返回值$p(ret,"^",1)为总数,$p(ret,"^",10)为30分钟内处理数
如获取2025年7月院区ID为2,住院患者危急值的数量,和当日处理数量
s ret= ##class(BSP.CV.SRV.Interface).GetStatisticsCount("2025-07-01","2025-07-31","","2","I","","","","","","")
返回值$p(ret,"^",1)为总数,$p(ret,"^",18)为当日处理数
##class(BSP.CV.SRV.Interface).GetStatisticsCount(SDate, EDate, ReportType, HospId, AdmType, LocId , LocArgType , ReadTimeLimit , RecTimeLimit , ExecTimeLimit , EmrTimeLimit)
| 参数名 | 说明 | 备注 |
|---|---|---|
| SDate | 开始日期 | yyyy-MM-dd |
| EDate | 结束日期 | yyyy-MM-dd |
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 … 多个可以,分隔 空表示全部 |
| HospId | 院区ID | 为空表示所有院区 |
| AdmType | 就诊类型 | O门诊 E急诊 I住院 H体检 多个可以,分隔 空表示全部 |
| LocId | 科室ID | 空表示全部 不统计某具体科室数量时不用传 |
| LocArgType | 统计时科室条件类型 | AdmLoc当前就诊科室 OrdLoc开医嘱科室 OglLoc报告时患者所在科室 与LocId参数配合使用的 |
| ReadTimeLimit | 查阅时间线(分钟) | 统计的数量有 在x分钟内查阅数 超过x分钟内查阅数 已超过x分钟还未查阅数 还未阅读未超x分钟数 |
| RecTimeLimit | 接收时间线(分钟) | 统计的数量有 在y分钟内接收数 超过y分钟内接收数 已超过y分钟还未接收数 还未接收未超y分钟数 |
| ExecTimeLimit | 处理时间线(分钟) | 统计的数量有 在z分钟内处理数 超过z分钟内处理数 已超过z分钟还未处理数 还未处理未超z分钟数 |
| EmrTimeLimit | 写病历时间线(分钟) | 统计的数量有 在k分钟内写病历数 超过k分钟内写病历数 已超过k分钟还未写病历数 还未写病历未超k分钟数 |
返回值为以^分隔的字符串:1总数 ^ 2在x分钟内查阅数 ^ 3超过x分钟内查阅数 ^ 4已超过x分钟还未查阅数 ^ 5还未阅读未超x分钟数 ^ 6在y分钟内接收数 ^ 7超过y分钟内接收数 ^ 8已超过y分钟还未接收数 ^ 9还未接收未超y分钟数 ^ 10在z分钟内处理数 ^ 11超过z分钟内处理数 ^ 12已超过z分钟还未处理数 ^ 13还未处理未超z分钟数 ^ 14在k分钟内写病历数 ^ 15超过k分钟内写病历数 ^ 16已超过k分钟还未写病历数 ^ 17还未写病历未超k分钟数 ^ 18当日处理数
| ^分隔位数 | 说明 | 备注 |
|---|---|---|
| 1 | 总数 | |
| 2 | 在x分钟内查阅数 | |
| 3 | 超过x分钟内查阅数 | |
| 4 | 已超过x分钟还未查阅数 | |
| 5 | 还未阅读未超x分钟数 | |
| 6 | 在y分钟内接收数 | |
| 7 | 超过y分钟内接收数 | |
| 8 | 已超过y分钟还未接收数 | |
| 9 | 还未接收未超y分钟数 | |
| 10 | 在z分钟内处理数 | |
| 11 | 超过z分钟内处理数 | |
| 12 | 已超过z分钟还未处理数 | |
| 13 | 还未处理未超z分钟数 | |
| 14 | 在k分钟内写病历数 | |
| 15 | 超过k分钟内写病历数 | |
| 16 | 已超过k分钟还未写病历数 | |
| 17 | 还未写病历未超k分钟数 | |
| 18 | 当日处理数 | 危急值报告当日处理完成的数量 |
适应于根据检验检验号获取危急值报告的备注信息 如果存在多条报告,多条备注信息使用Delimiter进行字符串拼接 2025-09-10 HIS9.2.0
##class(BSP.CV.SRV.Interface).GetCVCommentByExamNo(ExamNo, RepTypeFilter, Delimiter)
| 参数名 | 说明 | 备注 |
| ExamNo | 检验(检验)号 | |
| RepTypeFilter | 报告类型过滤 | 医技系统间的检查号标本号可能重复,增加类型过滤 如1检验 2病理 3心电 4超声 5内镜 6放射 3,4,5,6 心电或超声或内镜或放射 |
| Delimiter | 分隔符 | 结果字符串拼接分隔符 默认英文逗号 |
| 返回值 | 说明 | 备注 |
|---|---|---|
| 空 | 无危急值或备注信息 | |
| 其他 | 危急值备注信息 |
获取一段时间危急值不同状态明细 2026-01-06 HIS9.2.1
与2.38 获取一段时间危急值各状态数量对应,前者获取不同状态数量,此query获取对应状态详情
如获取2025年7月院区ID为2,门诊患者危急值的数量,且要30分钟内处理数量
s ret= ##class(BSP.CV.SRV.Interface).GetStatisticsCount("2025-07-01","2025-07-31","","2","O","","","","",30,"")
返回值$p(ret,"^",1)为总数,$p(ret,"^",10)为30分钟内处理数
获取总数明细 d ##class(%ResultSet).RunQuery("web.DHCAntCVRunqian","GetStatisticsCountDet","2025-07-01","2025-07-31","","2","O","","","","",30,"","")
获取30分钟内处理数明细 d ##class(%ResultSet).RunQuery("web.DHCAntCVRunqian","GetStatisticsCountDet","2025-07-01","2025-07-31","","2","O","","","","",30,"","^1^^^")
##class(%ResultSet).RunQuery("web.DHCAntCVRunqian","Statistics",SDate, EDate, ReportType, HospId, AdmType, LocId , LocArgType , ReadTimeLimit , RecTimeLimit , ExecTimeLimit , EmrTimeLimit , pStatus)
| 参数名 | 说明 | 备注 |
|---|---|---|
| SDate | 开始日期 | yyyy-MM-dd |
| EDate | 结束日期 | yyyy-MM-dd |
| ReportType | 危急值类型 | 1检验,2病理,3心电,4超声,5内镜,6放射 … 多个可以,分隔 空表示全部 |
| HospId | 院区ID | 为空表示所有院区 |
| AdmType | 就诊类型 | O门诊 E急诊 I住院 H体检 多个可以,分隔 空表示全部 |
| LocId | 科室ID | 空表示全部 不统计某具体科室数量时不用传 |
| LocArgType | 统计时科室条件类型 | AdmLoc当前就诊科室 OrdLoc开医嘱科室 OglLoc报告时患者所在科室 与LocId参数配合使用的 |
| ReadTimeLimit | 查阅时间线(分钟) | 统计的数量有 在x分钟内查阅数 超过x分钟内查阅数 已超过x分钟还未查阅数 还未阅读未超x分钟数 |
| RecTimeLimit | 接收时间线(分钟) | 统计的数量有 在y分钟内接收数 超过y分钟内接收数 已超过y分钟还未接收数 还未接收未超y分钟数 |
| ExecTimeLimit | 处理时间线(分钟) | 统计的数量有 在z分钟内处理数 超过z分钟内处理数 已超过z分钟还未处理数 还未处理未超z分钟数 |
| EmrTimeLimit | 写病历时间线(分钟) | 统计的数量有 在k分钟内写病历数 超过k分钟内写病历数 已超过k分钟还未写病历数 还未写病历未超k分钟数 |
| pStatus | 状态条件 | 为^分隔形式 pRecStatus^pExecStatus^pEmrStatus^pReadStatus^pSameDayExec 1-pRecStatus:接收状态 及时接收1 超时接收2 未接收但未超时3 超时未接收4 2-pExecStatus:处理状态 及时处理1 超时处理2 未处理但未超时3 超时未处理4 3-pEmrStatus 及时书写1 超时书写2 未书写但未超时3 未书写已超时4 4-pReadStatus 及时查阅1 超时查阅2 未查阅但未超时3 未查阅已超时4 5-pSameDayExec 1当日处理 2非当日处理(含未处理) |
| 输出列 | 说明 | 备注 |
|---|---|---|
| reportID | 报告ID | 危急值报告表RowId |
| adm | 就诊ID | |
| patientID | 患者ID | |
| ordItem | 医嘱ID | |
| examNo | 检验检查号 | |
| repDT | 报告时间 | |
| repUserName | 报告人姓名 | |
| admLocDesc | 就诊科室 | |
| admDocName | 就诊医生姓名 | |
| patName | 患者姓名 | |
| patNo | 患者登记号 | |
| mrNo | 病案号 | |
| age | 年龄 | |
| sex | 性别 | |
| dob | 出生日期 | |
| ordDesc | 医嘱描述 | |
| ordLocDesc | 开单科室 | |
| ordDoc | 开单医生 | |
| repResult | 报告结果 | |
| recDT | 接收时间 | |
| recUserName | 接收人姓名 | |
| recStatus | 接收状态 | |
| recStatusDesc | 接收状态描述 | |
| recTimeUsedAlias | 接收耗时 | |
| execDT | 处理时间 | |
| execUserName | 处理人姓名 | |
| execStatus | 处理状态 | |
| execStatusDesc | 处理状态描述 | |
| execTimeUsedAlias | 处理耗时 | |
| emrDT | 病历记录时间 | |
| emrUserName | 病历记录人 | |
| emrStatus | 病历状态 | |
| emrStatusDesc | 病历状态描述 | |
| emrTimeUsedAlias | 病历耗时 | |
| readDT | 查阅时间 | |
| readUserName | 查阅人姓名 | |
| readStatus | 查阅状态 | |
| readStatusDesc | 查阅状态描述 | |
| readTimeUsedAlias | 查阅耗时 | |
| oglLocDesc | 报告时患者科室 | |
| oglWardDesc | 报告时患者病区 | |
| recContact | 接收时联系人 | |
| recContactTel | 接收时联系电话 | |
| recAdvice | 接收时备注 | |
| recConResutDesc | 接收时联系结果描述 | |
| execContact | 处理时联系人 | |
| execContactTel | 处理时联系电话 | |
| execAdvice | 处理意见措施 | |
| execConResutDesc | 处理时联系结果描述 | |
| sameDayExec | 是否当日处理 | 同一天(非24小时) |