文章
· 十月 26, 2022 阅读大约需 3 分钟
运行池大小配置的解读

“池大小”(PoolSize)设置的值决定了一个组件的作业的量和启动方式。在这篇文章中我们将具体讨论对于不同类型的组件来说“池大小”设置的可能值和这些值所代表的含义。

Pool Size = 1

对于所有的组件来说,运行池大小为1的含义都是一样的: 该组件有且只有一个作业,单独运行该组件的代码,顺序处理发送到该组件的消息(FIFO)。

Pool Size > 1

对于业务进程(BP)和业务操作(BO)来说,当运行池大小大于1时,该组件将运行多个作业(作业数=运行池大小设置数)。每个作业都只运行该组件的代码,但消息处理的顺序将被打乱。将运行池的大小设为大于1的值可以在一定程度上提升组件处理消息的性能,但是每个作业的性能还是受限于系统资源的,所以并不是说组件的性能可以随着运行池的大小增加而无限提升。

对于轮询类业务服务(Polling BS)来说,当运行池大小大于1时,该服务也将运行多个作业(作业数=运行池大小设置数)。但这种配置会导致多个进程对轮询结果产生竞争(race condition),所以一般情况下轮询服务不应将运行池大小设为大于1的数值。

1 1
0 77
文章
· 四月 11, 2022 阅读大约需 8 分钟
InterSystems 数据平台与三级等保 - 第一篇

数据平台不仅要安全,还要合规,三级等保是我们要符合的主要安全规范。InterSystems的数据平台和集成平台产品都和三级等保有关。如果没有正确配置它们的安全选项,就会影响到整个系统的安全,影响到合规性。

在生产环境上,如何配置安全的InterSystems的数据平台,并达到三级等保的要求?

这个系列文章,针对InterSystems 数据平台的安全架构,围绕对三级等保的合规性展开,介绍如何配置出一个安全、合规的数据平台。

1 0
2 277

在软件开发和业务集成中,规则无处不在:会员折扣的计算规则、根据消息类型和内容将其路由到不同目标系统的路由规则。还有一个规则发挥重要作用的地方- 辅助决策规则,例如临床知识库和医疗质量指标规则。

规则经常需要随业务调整和知识积累进行调整,而规则的调整是业务和行业专家定的。如果规则是以代码硬编码的,这些调整需要程序员改动,一来不直观、需要业务专家与程序员大量的沟通成本,二来硬编码改动会对应用伤筋动骨,甚至带来风险,三来没法控制新规则生效的时间 – 总不能让程序员在新规则生效的那一刻去编译和部署吧。

1 0
0 214

本文根据InterSystems中国技术总监乔鹏( @Qiao Peng )的演讲“互联互通套件赋能数据利用与应用创新”整理而成。

IRIS医疗版互联互通套件的缘起与发展演进

来源HL7:正在到来的挑战

http://hl7.org/fhir/change.html

这是来自HL7官网上的一张图,描述了我们在医疗卫生行业面临的一些挑战,以及信息化建设在应对挑战中发挥的作用。当今,医疗卫生、生物学、信息技术有很强的融合趋势,加之社会变革带来的经济方面的需求,同时构成颠覆传统医疗卫生行业的因素。

这张图显示了从“被动医疗”转向“主动医疗”过程中信息的爆炸式增长,信息共享交换推动了我们对信息的利用,在这一进程中,医疗卫生信息化起着核心作用——而让信息更具价值,赋予信息标准化和互操作能力的过程,这也是InterSystems一直努力的方向,我们在国内支持大量医院实现了互联互通建设。在建设过程中,我们注意到项目的定量部分的建设成本占比是比较高的,很多的工作都花在了合规性和相关管理工具的开发上——应用标准的实施是有成本的,而对于标准的理解在各个项目上水平不尽相同,这就进一步影响了互联互通项目的建设成果。

1 0
0 103
文章
· 十二月 30, 2021 阅读大约需 7 分钟
用API描述文件创建REST服务

可以使用内嵌REST API用描述文件生成REST服务

请求消息如下:

POST: http://[YourServer]/api/mgmnt/v2/INTEROP/cmAPI

Body: API 描述文件,例如下面的Json文件

Basic Authorization Username: 用户名

Basic Authorization Password: 密码

Content-Type Header: application/json

1 0
0 140

在上一篇文章中,我们看到了最常用的HL7消息类型之一--ADT(入院、出院、转院)的结构,以及ADT^A04的例子和它所有字段的描述。现在让我们来看看另一个数据流,它与测试订单的订购和履行有关。我说的是ORM(从2.5版本开始,你应该使用特定的消息来订购测试,如OMG、OML、OMD、OMS、OMN、OMI和OMP),ORL和ORU消息。在一个非常简化的情况下,数据的交换可能看起来像这样。

让我们更详细地看一下这些消息。

1 0
0 78

第一章 高可用性解决方案 - HA 解决方案中的问题

高可用性(HA)指的是使系统或应用程序在长时间内保持正常运行并可供用户使用的目标,从而最大限度地减少计划内和计划外停机时间。 IRIS提供自己的HA解决方案,并轻松与操作系统提供商提供的常见HA解决方案集成。

维护高系统可用性的主要机制称为故障转移。在这种方法下,故障的主系统由备用系统代替;也就是说,生产故障转移到备份系统。许多HA配置还提供了灾难恢复(DR)机制,即当HA机制无法保持系统可用时,恢复系统可用性。

本页简要讨论可与基于 IRIS 的应用程序一起使用的一般 HA 策略,然后涵盖 IRIS HA 解决方案中的问题,提供 HA 解决方案功能比较,并讨论使用分布式缓存和故障转移策略

1 0
0 28
文章
· 一月 20, 2021 阅读大约需 6 分钟
InterSystems IRIS医疗版2020.1 HL7基准测试

简介

最近完成了针对IRIS医疗版2020.1版本的性能及可扩展性基准测试,重点关注HL7v2的互操作性。本文介绍了在各种工作负载下观察到的吞吐量,并提供了IRIS医疗版用作HL7v2消息传输互操作性引擎时的系统常规配置和调整准则。

基准测试模拟了与实际环境接近的工作负载(详细信息请参见“工作负载说明和方法”部分)。本次测试的工作负载包括HL7v2患者管理(ADT)和生命体征结果(ORU)数据,并包含数据内容转换和路由。

IRIS医疗版2020.1版本可以表明,采用第二代Intel®Xeon®可扩展处理器和Intel®Optane™SSD DC P4800X系列SSD存储的商用服务器,每天的持续消息吞吐量超过23亿条(入站和出站总量),与此前的Ensemble 2017.1 HL7v2吞吐量基准测试相比,扩展性提高了一倍多。

1 2
0 188
文章
· 九月 14, 2022 阅读大约需 2 分钟
集成平台实例中有哪些文件在占用磁盘?
  1. 系统文件

系统文件根据版本不同,大约会占用1GB左右的空间。这部分空间是不能省略的,随意删除文件会导致实例无法正常运行。

  1. 备份文件

备份文件应及时转存到另外的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. Journal日志

Journal日志文件存储路径应设置为与.DAT数据库存储路径不同的磁盘或磁盘分区上,不应与.DAT数据库占用相同的磁盘分区。

  1. 消息存储

因为HSHC集成平台设计上不支持过多的消息存储,用户应该为每个有消息流量的命名空间配置定期消息清除任务。

1 0
0 58
文章
· 九月 28, 2022 阅读大约需 3 分钟
使用嵌入式Python生成数据流

Hi Developers,

嗨,各位开发者们:

各位都知道,Python是一个庞大而强大的生态系统,包含了成千上万的库和包,特别是在数据科学方面。

因此,我想首次尝试使用IRIS最近的一项功能--嵌入式Python,简单地导入一个名为datetime的Python库,生成带有时间戳成分的数据,并在InterSystems IRIS for Health Data Platform中持久化。同样的方法在IRIS数据平台上也可以使用。

1 1
0 63

可以使用%SYS.Journal.File类中的ByTimeReverseOrder查询,以及%SYS.Journal.Record类中的List查询来实现。

下面是这两个查询的具体作用:

A) %SYS.Journal.File类中的ByTimeReverseOrder查询
这个查询会获取journal日志文件名并按降序排列

1 0
1 114
文章
· 十二月 2, 2022 阅读大约需 9 分钟
通过智能数据编织应对数据挑战

1.数据的价值

数据的核心价值是帮助我们决策。

我们无时无刻不在决策,大到战略决策——为一家新医院选址,还有战术决策——鉴别产品的目标市场或抵押贷款审批,更频繁的是操作决策——决定患者的手术方案或患者药物的调整。

这些决策要求不同的决策速度,传统的数据中心已经能较好地帮助我们做战略决策、战术决策,甚至一些操作决策。但新的业务需求要求我们的决策速度越来越快,甚至借助机器学习自动为我们做出即时的决策,例如批准还是拒绝一笔信用卡交易或基于算法自动交易。

无论是人工决策还是基于机器学习的自动决策,决策的依据是数据。数据的速度和质量决定了决策的速度和质量。要支持决策,需要数据具有如下特征:

(1)完整 :关联且具有完整上下文;

(2)干净 :数据质量没有问题;

(3)及时 :在决策点上没有延迟。

1 0
0 81
文章
· 四月 8, 2021 阅读大约需 8 分钟
第二十章 用户、角色和权限

第二十章 用户、角色和权限

InterSystems IRIS®具有系统级安全性,以及一组与sql相关的额外安全性特性。
在数据库级保护之外,InterSystems SQL安全性提供了额外级别的安全功能。
SQL和系统级安全性之间的一些关键区别是:
- SQL保护比系统级保护更细粒度。可以为表、视图和存储过程定义特权。
- SQL权限既可以授予用户,也可以授予角色。
系统级权限只分配给角色。
- 持有SQL特权会隐式授予执行SQL操作所需的任何相关系统特权。
(相反,系统级特权并不意味着表级特权。)

InterSystems SQL在InterSystems IRIS数据平台上对ODBC、JDBC、Dynamic SQL和SQL Shell接口进行权限检查。
嵌入式SQL语句不执行特权检查;
假定使用嵌入式SQL的应用程序在使用嵌入式SQL语句之前会检查特权。

SQL权限和系统权限

要通过特定于SQL的机制操作表或其他SQL实体,用户必须具有适当的SQL权限。
系统级权限不足。
用户可以直接被授予SQL权限,也可以属于具有SQL权限的角色。

1 1
0 134
文章
· 十月 6, 2022 阅读大约需 10 分钟
集成产品的业务行为监控

最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量...

业务行为监控对于集成平台来说非常重要,可以帮助我们:

  • 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。
  • 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。
  • 做业务规划 — 通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。
  • 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。

仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。

1 0
0 115
文章
· 三月 28 阅读大约需 1 分钟
安装本地 FHIR 服务器的最快最简单的方法!

嗨大家好!

最近我需要使用 IRIS For Health 设置本地 FHIR 服务器,我认为我找到了有史以来最简单的方法!

只需在终端中运行以下两行:

 docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

您将在 http://localhost:9092/fhir/r4 本地运行 FHIR 服务器。

就是这么简单!

FHIR 服务器将使用最新版本的 InterSystems IRIS for Health Community Edition,并将通过 FHIRSERVER 命名空间中的 IPM 包从该应用程序部署 FHIR 服务器

这是针对 Mac OS的,所以请在评论中添加它在 Windows 中的工作方式。

这是一篇非常短的文章,因为使用 InterSystems IRIS for Health 和IPM Package Manager 设置本地 FHIR 服务器真的很容易。

1 0
0 72
文章
· 二月 14, 2021 阅读大约需 1 分钟
第三十四章 Caché 变量大全 $ZNAME 变量

第三十四章 Caché 变量大全 $ZNAME 变量

包含当前例程名称。

大纲

$ZNAME
$ZN

描述

$ZNAME包含在当前进程上执行的例程的名称。通常,这是ZLOAD加载的当前例程。如果当前没有执行任何例程,则$ZNAME包含空字符串。

当ZLOAD加载一个例程时,它将成为所有名称空间中当前进程的当前加载例程。因此,可以使用$ZNAME显示任何名称空间中当前加载的例程的名称,而不仅仅是加载该例程的名称空间。

例程名称区分大小写。

请注意,尝试ZLOAD例程失败会删除当前加载的例程,并将$ZNAME设置为空字符串。

不能使用SET命令修改此特殊变量。尝试这样做会导致错误。

$ZNAME值可以通过以下任何命令设置:

  • ZLOAD command
  • ZSAVE command
  • 无参数ZREMOVE命令(设置为空字符串)
  • DO command
  • GOTO command with ^routine
0 0
0 40

Caché Shadow

上次介绍了使用InterSystems IRIS/Caché的Reporting类型的异步镜像成员获取数据变更。但早期的Caché并不支持镜像,例如Caché 2008,它只支持Shadow。

在这些早期版本上是否也可以实利用Journal实现类似CDC的功能呢?答案是肯定的,就是利用Shadow服务器的Dejournaling filter routine (Dejournaling过滤器routine)。

Dejournaling filter routine

InterSystems Caché的 Dejournaling过滤器routine是一个用户自定义的routine,用于在Shadow服务器上过滤Journal记录。当配置了Dejournaling 过滤器后,Shadow服务器在redo journal前会自动调用Dejournaling过滤器routine。该routine传入参数以下:

0 0
0 178
文章
· 四月 9, 2021 阅读大约需 4 分钟
第二十一章 导入和导出SQL数据

第二十一章 导入和导出SQL数据

在InterSystems IRIS®Data Platform Management Portal中,有用于导入和导出数据的工具:
- 从文本文件导入数据
- 将数据导出到文本文件

这些工具使用动态SQL,这意味着查询是在运行时准备和执行的。可以导入或导出的行的最大大小为3,641,144个字符。

还可以使用%SQL.Import.Mgr类导入数据,使用%SQL.Export.Mgr类导出数据。

从文本文件导入数据

可以将数据从文本文件导入到合适的InterSystems IRIS类中。执行此操作时,系统将在表中为该类创建并保存新行。该类必须已经存在并且必须编译。要将数据导入到此类中,请执行以下操作:
1. 从管理门户中选择系统资源管理器,然后选择SQL。使用页面顶部的切换选项选择一个命名空间;这将显示可用命名空间的列表。
2. 在页面顶部,单击向导下拉列表,然后选择数据导入。

  1. 在向导的第一页上,从指定外部文件的位置开始。对于导入文件所在的位置,请单击要使用的服务器的名称。

0 0
0 97
文章
· 四月 26, 2021 阅读大约需 9 分钟
第六章 SQL性能分析工具包

第六章 SQL性能分析工具包

本章介绍可用于主动分析特定SQL语句的分析工具。这些工具收集有关这些SQL语句执行的详细信息。使用这些信息,开发人员可以采取措施提高低效SQL语句的性能。

根据请求的详细程度,此活动分析可能会显著增加服务器上的负载。因此,SQL性能分析工具包旨在进行协调一致的代码分析工作。它不是用来连续监视执行代码的。

分析工具界面

SQL性能分析工具包为开发人员和支持专家提供了分析特定SQL语句或语句组的能力。通过在执行特定SQL语句期间使用这些工具,它们可以收集详细信息,这些信息可用于单独或跨活动工作负载分析有问题的语句。

要记录的细节级别是可配置的,最细粒度的设置在模块级别收集信息,为语句的查询计划中的不同“步骤”提供信息。

0 0
0 53
文章
· 五月 12, 2021 阅读大约需 13 分钟
InterSystems 数据平台和性能 – 第 3 篇:聚焦 CPU

本周,我将关注 CPU - 主要硬件食物群之一 :) 一位客户请我就以下情况提供建议:他们的生产服务器已接近使用寿命终止,是时候更新硬件了。 他们还考虑通过虚拟化来整合服务器,并希望适当调整裸机或虚拟机的容量规模。 今天我们将关注 CPU,在后面的帖子中,我将介绍适当调整其他主要食物群(内存和 IO)规模的方法。

所以问题是:

  • 如何将五年多以前对处理器的应用要求转换成针对当今的处理器?
  • 目前的处理器有哪些是合适的?
  • 虚拟化如何影响 CPU 容量计划?
0 0
0 139