文章 姚 鑫 · 一月 8, 2023 3m read

第三十八章 使用^%SYS.MONLBL检查例程性能

例程^%SYS.MONLBL为监视器工具提供用户界面。该实用程序提供了一种方法来诊断在例程中执行选定代码所花费的时间,从而帮助识别特别耗费资源的代码行。它是现有监视器实用程序的扩展,可通过^PerfMon%Monitor系统程序包类访问。由于这些实用程序共享相同的内存分配,因此一次只能在IRIS实例上运行其中一个实用程序。

调用逐行监视例程

如果在调用^%SYS.MONLBL时监视器没有运行,则例程会显示一条警告消息,并提供启动监视器或检查内存要求的选项。例如:


%SYS>Do ^%SYS.MONLBL
  
  
WARNING ! Starting the line-by-line monitor will enable the
  collection of statistics for *every* line of code executed by
  the selected routines and processes. This can have a significant
  impact on the performance of a system, and it is recommended
  that you do this on a 'test' system.
0
0 112
问题 water huang · 十一月 20, 2022

请问下,项目上数据库用的是cache2010 ,有些文件是部署的,现在想要备份,在cache2016里面可以导出obj为xml,但是cache2010 导出的时候会报错,ERROR #6080: Can not export 'OBJ' type in %RO format for item “xxxxx” 要报错 。

2
0 263
文章 姚 鑫 · 一月 7, 2023 4m read

第三十七章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

  • 当显示子例程标签列表(以及每个标签的指标)时,可以指定以下任何一项
Option Description
# 要更详细地分析的子例程标签(在代码中)的行号。按 Enter 后,将显示指定标签的代码。
B 显示列表的上一页。
L 切换到子程序的行级显示。
N 显示列表的下一页。
Q 退出列表,返回上一级。
R 使用最新指标刷新列表。注:如果列表中显示*UNKNOWN*,请输入R

当显示代码行时,系统会提示指定下一步要执行的操作。的选择包括:

Option Description
# 要更详细地分析的代码中的行号。按Enter键后,将显示指定标签的代码。
B 显示列表的上一页。
C 在源代码和中间(INT/MVI)代码之间切换代码显示。
M 更改页边距和长度。
N 显示列表的下一页。
O 根据不同的指标对页面进行重新排序。
Q 退出列表,返回到上一级别。
R 使用最新指标刷新列表。
S 切换到例程的子例程级别显示。

^PROFILE 示例

以下是在终端中以交互方式运行^配置文件实用程序(从%sys命名空间)的示例:

  1. 输入以下命令:
do ^PROFILE
  1. 此时将显示以下消息。
0
0 107
文章 姚 鑫 · 一月 6, 2023 3m read

第三十六章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE

^PROFILE 实用程序可帮助程序员分析其应用程序例程和类的性能。它分两个阶段完成此任务:

  1. 它收集数据,按例程级别分类,以帮助您确定哪些例程最“有效”。
  2. 它允许选择要收集的例程并在行级别详细显示数据(子例程、过程和单独的行),以便可以“向下钻取”到可能导致性能问题的各个例程。

默认情况下,^PROFILE 捕获最多 5000 个例程的指标;如果没有足够的共享内存可用于最大数量的例程,该实用程序会显示一条消息,说明监视此集合所需的内存页数和可用页数。然后,该实用程序会捕获尽可能多的例程的指标。

Using ^PROFILE

%SYS 命名空间调用 (^PROFILE) 实用程序:

%SYS>do ^PROFILE

当系统提示开始收集数据时,按 Enter

注意:当系统提示回答(是或否除外)时,可以输入显示联机帮助。

默认情况下,配置文件显示具有以下指标的例程编号列表;最初,列表按 RtnLine 指标排序:

Column Title (Metric) Description
RtnLine 执行的例程代码行数。默认情况下,它将值列为所有已执行代码行的百分比。
Time 执行例程所用的时间。默认情况下,时间列为所有例程使用的总时间的百分比。
CPU 用于执行例程的 CPU 时间。
0
0 140
文章 Nicky Zhu · 一月 6, 2023 8m read

国务院于2022年12月19日发布了《中共中央 国务院关于构建数据基础制度更好发挥数据要素作用的意见》(后简称《数据二十条》),如何有效利用数据已经成为下一步的趋势。另一方面,无论是基于数据中台还是数据编织理念,两者也都对如何利用数据提出了构想。因此医疗行业数字化建设的目标已不能再局限于如何收集数据,建立医疗行业数据的流通机制将会是为越来越普遍的需求。

 

时钟拨回几年前,数据中台概念开始火爆。人们对数据中台的定义、诠释尽管有诸多差异,通过数据中台降低数据共享和利用的成本则是共同的期望。但经过这几年的探索之后,中台已死的观点也在涌现。究其原因,除去中台概念在技术上的不确定,数据流通过程中的责权益的不清晰也是严重的制约因素。毕竟,数据中台自身作为一套技术框架并不能代替法律法规与市场自动将数据转变为商品从而创造出流通价值。

那么,如何能够使数据的流通合规合法,使数据能够如货币和商品一般自由流动,则是我们需要思考和探索的主题,这次《数据二十条》的出现,无疑为医疗信息技术工作者提供了一个明确的思考方向。

0
0 379
问题 Undefined Undefined · 九月 23, 2022

Journaling is NOT on. Updates will NOT be journaled
*** Missing previous 1 files that may contain TSTARTs

ERROR: <ZFILE>ScanForOpenTrans+42^JRNRESTB

There is a problem with searching for open transactions in older files.
If you decide to continue, transactions started in files earlier than
the first one to be restored might remain open after the restore.

Do you want to abort? Yes => No

请问什么情况下会触发出现Do you want to abort?

在门户网站查看数据库Global Journal也是勾选上的.

2
0 217
问题 water huang · 十一月 17, 2022

环境是windows server2012 r2 standard+ensemble2016.

新搭建的环境,安装ensemble的时候,选的是正常模式,就是设置了密码,然后新建了命名空间,发布了bs服务(webservice服务),访问的时候需要用户密码,如果在安全里面的web应用程序里面设置为不需要密码,不勾选密码,就访问不了服务,production页面都进不去。这个还需要什么配置吗?期望的效果是,登录portal需要用户名密码,但是对应某些命名空间发布的web服务,不需要用户密码就能访问

3
0 344
文章 Hao Ma · 一月 4, 2023 4m read

以下是我们应客户的要求拟定的Caché系统健康检查的建议。InterSystems的工程师们认为其中的项目足以了解客户当前的系统健康状况。

这些项目中有些,比如Buttons, pButtons报告是必须的,其他内容,尤其是问卷部分,越多回答对系统健康的了解也越清楚。InterSystems公司的技术支持中心WRC(World Response Center),在合适的条件下可以协助用户解读健康检查的结果。

在后面的内容中, 我会详细介绍这些检查的项目,比如报告的执行步骤,已经如何简单的发现问题。

检查的内容也适用于IRIS,仅仅是执行的步骤上有细微的区别,后面文章会详细说。

健康检查项目

本健康检查只用于Caché系统本身的内容, 不包括Caché上使用的各种应用。

建议用户收集下列两部分数据和资料:

系统运行数据

  • 所有Caché实例服务器的网络架构图,包含所有的数据服务器,应用服务器,镜像服务器,灾备服务器。还应该包含网段的划分, 相关的Web服务器,负载均衡设备的部署等情况。以及一切客户认为和Caché工作相关的网络配置的情况。

  • Caché数据库使用的存储设备的信息, 不限于类型,大小,品牌等等任何可以帮助了解存储设备的信息。

  • 所有数据库上一次的完整性检查报告。

0
0 444
文章 Hao Ma · 一月 4, 2023 4m read

本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。

InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。

关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。

还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。

因此,我要写的这个文章的的目的是这样的:

  • 简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。

  • 易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。

  • 对读者的要求低,您只需要了解基本的Caché操作,包括

  • Caché的用户维护界面

    • 操作终端(Terminal)的操作
  • 基本的Caché命令的格式

让我们进入主题。有几个要点要先交代一下。

0
0 781
文章 sun yao · 一月 4, 2023 6m read

一、目的 因使用BP中Switch分支来区分不同节点(即接口)及流向,个人已知方法中无相关统计功能能直接获取各分支节点及流向BO(调用第三方系统)信息,且当前使用系统未封装相关模块供查询,故通过解析BP中XData的方式获取Switch-Case节点及Call调用相关信息

二、解析类中的XData数据

/// 解析类中的XData内容
/// SELECT * FROM %Dictionary.CompiledXData
/// xdataID XData表ID
/// d ##class(BOE.TEST.ClassAnalysis).XDataAnalysisTextReader("JHIP.SM.BP.View||BPL")
ClassMethod XDataAnalysisTextReader(xdataID As %String) As %Status
{
   //获取XData流
   s compiledXdata=##class(%Dictionary.CompiledXData).%OpenId(xdataID)
   s tStream=compiledXdata.Data
   If '$IsObject(tStream) s tSC=%objlasterror q
   
   //逐行读取xml
   s status=##class(%XML.
0
0 242
文章 Claire Zheng · 一月 4, 2023 1m read

这是InterSystems 2022年全球峰会上InterSystems 医疗行业负责人 Don Wooklock 的分享,他认为,在数字医疗发展如火如荼的当下,经济、消费主义和技术三股力量正在推动医疗行业快速变革。我们面临着压力,但更多的是机遇,利用好市场能量,在具备变革精神的医疗卫生行业中,全力以赴!

0
0 264
文章 Claire Zheng · 一月 4, 2023 1m read

在InterSystems 2022年全球峰会上,InterSystems 数据平台负责人 Scott Gnau解读了智能数据编织(smart data fabric)及其实现方式。Scott 同时也是一位钢笔收藏家,他分享了自己学习收藏的过程,认为这种过程与智能数据编织有着异曲同工之妙。InterSystems IRIS数据平台的诸多优秀能力可以帮助用户实现智能数据编织,重塑数据利用方式!

0
0 195
文章 Claire Zheng · 一月 4, 2023 9m read

2022年,香港大学深圳医院迎来建院十周年。作为深港合作医疗平台和公立医院改革试点,医院是由深圳市政府全额投资,并引进香港大学现代化管理模式的大型综合性公立医院。十年来,医院全力打造集“医、教、研、管”为一体的四个粤港澳大湾区国际化中心,2021年7月成为国家公立医院高质量发展试点医院,2021年12月成为国家建立健全现代医院管理制度试点医院。目前,医院正在探索改革创新路径,全面配合公立医院高质量发展对信息化建设提出的需求。

0
0 316
文章 water huang · 九月 25, 2022 25m read

日常工作中,JSON使用越来越多,很多其他的语言里面有成熟的JSON API,但cache 我一直没找到。而同事们使用的基本都是自己写的一些JSON工具。这些小工具,多多少少有些局限。使用ensemble2016后,发现了 Ens.Util.JSON类,他可以处理JSON。翻阅代码后,实际上主要API是 %ZEN.Auxiliary.abstractController。在使用中,我们遇到一个问题,那就是有些JSON的节点名是带有下划线的,这个不太好处理。一般来说,我们把对象转为xml的时候,对象的属性我们是去掉下划线的,带下划线的名字是用 XMLNAME来设置的,于是考虑JSON里面也使用它(如果配置了)作为对象转JSON的时候,JSON的名字。修改 %ZEN.Auxiliary.jsonProvider %WriteJSONStreamFromObject方法后,发现ensemble的一些自带的页面的功能受到了影响。因此重新建立了一个副本。这里假定为 Util.JSON Extends %ZEN.Auxiliary.abstractController [ System = 3 ]。

4
0 329
文章 Lilian Huang · 十二月 31, 2022 10m read

在上一篇文章中,我们讨论了标准 HL7v2 的起源、结构和消息类型。现在让我们看一下最常用的消息类型之一及其结构示例。我说的是 ADT。

HL7 ADT 消息(入院、出院、转院)用于在医疗机构传达基本患者信息、就诊信息和患者状态。 ADT 消息是使用最广泛且容量最大的 HL7 消息类型之一,因为它为许多触发事件提供信息,包括患者入院、注册、取消、更新、出院、患者数据合并等。

0
0 1275
文章 Hao Ma · 三月 25, 2021 2m read

在Caché时代, 比较受欢迎的IRIS数据库客户端是Sqldbx和Winsql, 这两者的共同点是提供ODBC兼容的连接,而且免费。限制也差不多:只能用于Windows环境,只能用ODBC连接。 

DBeaver是我最近使用的免费SQL客户端, 推荐给各位。它有几个好处:

1
1 648
文章 Michael Lei · 十二月 27, 2022 2m read

一个简单的生产配置,使 FHIR 交易捆绑包能够通过 Box 和 Dropbox 加载到 InterSystems® FHIR® 服务器中。使用包含的 MFT 连接组件和 14 行自定义业务流程,此生产配置会将您的交易捆绑包处理到 FHIR 资源,以便立即使用,就像哈利·波特的魔法一样。

我首先会展示该生产配置的短视频导览、MFT 连接以及 IRIS 上 Box 和 Dropbox 的 Oauth2 应用配置,接下来循序渐进地展示一些步骤,让您使用您喜欢的任何 MFT 供应商以及您选择的任何工作流程、桌面、API 或 Web 控制台拖放操作。


 

一些陷阱:

 

  • OAUTH2 回调需要使用 IRIS 的 SSL 端点来提供重定向… 最好在 Health Connect Cloud 上尝试一下!
  • Dropbox for Business 在基于团队的令牌方面面临挑战,个人 Dropbox 则运行良好。 这不是无法忍受的情形,但需要一些耐心。
  • 配置 MFT 连接时,注意 Dropbox 的 baseurl 上的“/”(确保它存在)。
  • 对于 Box 和 DropBox 的路径,MFT 出站适配器都需要具有结尾“/”。

现在,鉴于以上获奖的 OBS 支持的内容可能有不足之处,如果 InterSytems 文档还不够,下面是需要遵循的步骤。

0
0 228
文章 姚 鑫 · 十二月 27, 2022 4m read

第二十六章 使用系统监视器 - 使用 ^%SYSMONMGR 管理应用程序监视器

如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括应用程序监视器。该实用程序可以在任何名称空间中执行,使用它所做的更改只会影响启动它的名称空间。必须通过在该命名空间中启动 ^%SYSMONMGR 来为配置的每个启动命名空间维护单独的应用程序监视器配置。

注意:在对应用程序监视器配置进行任何更改(例如激活类)之后,必须在进行更改的名称空间中重新启动系统监视器以使更改生效。

要管理应用程序监视器,请在终端中输入以下命令:

%SYS>do ^%SYSMONMGR

然后为管理应用程序监视器输入 5。显示以下菜单:

1) Set Sample Interval
2) Manage Monitor Classes
3) Change Default Notification Method
4) Manage Email Options
5) Manage Alerts
6) Debug Monitor Classes
7) Exit
 
Option?

输入选择的数字或按 Enter 退出 Application Monitor实用程序。

0
0 162
公告 Claire Zheng · 十二月 22, 2022

2022年12月24日-25日,卫生健康信息标准应用管理培训班 (第二期)将于线上举办,此次培训班由国家卫生健康委统计信息中心指导、由《中国卫生信息管理杂志》社、深圳市卫生健康信息协会主办,InterSystems协办。详细日程请点击此处了解。

1
0 210
文章 姚 鑫 · 十二月 26, 2022 4m read

第二十五章 使用系统监视器 - 配置健康监视器类

此子菜单中的选项可让自定义 Health Monitor,如下表所述。

注意:不能在系统监视器运行时使用这些选项来自定义健康监视器;必须先停止系统监视器,然后在进行更改后重新启动它。

Option Description
1) Activate/ Deactivate Rules (未在此版本中使用)
2) Configure Periods 列出当前配置的周期以及添加和删除周期
3) Configure Charts 列出所有现有图表的均值和西格玛,按时期组织。
详细检查各个图表,包括平均值和西格玛所基于的读数,并标出最高读数。
使用“编辑图表”选项更改现有图表的均值和西格玛。
创建图表,指定警报和警告阈值。
手动重新校准所有图表(包括用户创建的图表)或来自最新数据的单个图表。
4) Edit Sensor Objects 列出代表 SYS.Monitor.SystemSensors 类中传感器的传感器对象,并修改它们的基数、最大值、警告、最大乘数和警告乘数。
5) Reset Defaults 重置为默认周期配置并删除所有现有图表,将每个周期返回到分析模式(请参阅健康监视器进程描述)。
删除所有现有图表(包括用户创建的图表),将每个周期返回到分析模式,而不删除任何用户定义的周期配置。
将所有传感器对象重置为其默认值。
0
0 127
文章 姚 鑫 · 十二月 25, 2022 2m read

第二十四章 使用系统监视器 - 使用 ^%SYSMONMGR 管理运行状况监视器

如使用 ^%SYSMONMGR 实用程序中所述,^%SYSMONMGR 实用程序允许管理和配置系统监视器,包括运行状况监视器。要管理 Health Monitor,请在终端中切换到 %SYS 命名空间,然后输入以下命令:

%SYS>do ^%SYSMONMGR

1) Start/Stop System Monitor
2) Set System Monitor Options
3) Configure System Monitor Classes
4) View System Monitor State
5) Manage Application Monitor
6) Manage Health Monitor
7) View System Data
8) Exit 

Option? 

注意:Health Monitor 仅在 %SYS 命名空间中运行。当在另一个命名空间中启动 ^%SYSMONMGR 时,选项 6(管理健康监视器)不会出现。

为管理运行状况监视器输入 6。

0
0 182
文章 姚 鑫 · 十二月 24, 2022 3m read

第二十三章 使用系统监视器 - 通知规则

通知规则

如果一段时间内传感器的三个连续读数大于传感器最大阈值,Health Monitor 将生成警报(严重性 2 的通知),如果一段时间内传感器的五个连续读数大于传感器最大阈值,则健康监视器将生成警告(严重性 1 的通知)大于传感器警告阈值。最大值和警告阈值取决于传感器对象中的设置以及适用的图表是由 Health Monitor 生成还是由用户创建,如下表所示。

另请注意:

  • 当传感器对象设置了最大值和警告值时,不需要图表,因此不会生成图表,即使禁用 Health Monitor 也会生成通知。
  • 当传感器对象设置了最大乘数和警告乘数,或者只有基数时,需要图表;在分析模式下收集到足够的样本以生成图表之前,不会生成任何通知。
  • 当存在用户创建的图表时,传感器对象设置是什么并不重要。
0
0 166
文章 姚 鑫 · 十二月 23, 2022 4m read

第二十二章 使用系统监视器 - 周期

Periods

默认情况下,每周有 63 个重复周期对传感器进行采样。这些期间中的每一个都代表一周中特定日期的以下指定间隔之一:

默认健康监控周期

     
00:15 a.m. – 02:45 a.m. 03:00 a.m. – 06:00 a.m. 06:15 a.m. – 08:45 a.m.
09:00 a.m. – 11:30 a.m. 11:45 a.m. – 01:15 p.m. 01:30 p.m. – 04:00 p.m.
04:15 p.m. – 06:00 p.m. 06:15 p.m. – 08:45 p.m. 09:00 p.m. – 11:59 p.m.

可以使用 ^%SYSMONMGR 实用程序中的配置周期选项列出、添加和删除周期(请参阅下面的配置健康监视器类部分)。您可以添加每月、每季度或每年的期间以及每周的期间。

注意:季度期间以三个月为增量列出,从指定为开始月份的月份开始;例如,如果指定 5(五月)作为起始月份,则季度循环将在八月 (8)、十一月 (11) 和二月 (2) 重复。

对于用户定义的期间,描述是可选的。

Charts

如果传感器对象的通知阈值未作为乘数给出(或未指定),则 Health Monitor 需要图表来评估这些传感器读数。

0
0 150