文章
· 八月 19, 2022 阅读大约需 2 分钟
IRIS 医疗版docker 容器初体验

我很高兴与大家分享我第一次使用docker容器版本的IRIS for Health的经验,以探索你对使用或试用的兴趣,利用docker容器的优势,它是轻量级的,易于部署。本文将通过使用Renan Lourenco编写的名为ENSDEMO的GitHub仓库的实施步骤。

设置IRIS for Health社区版docker容器环境的步骤:

0 2
0 274
文章
· 九月 22, 2021 阅读大约需 11 分钟
IRIS 2021 技术文档 First Look 4 ObjectScript 入门

技术概要:ObjectScript

技术概要:ObjectScript

本文档将向您介绍 ObjectScript 编程语言,并提供了几个示例,说明如何使用它来存储和检索来自 InterSystems IRIS®数据平台的数据。本技术概要(First Look)并不试图提供对该语言或其功能的全面概述。您可以使用本文件末尾列出的参考资料,继续您的探索。

要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 313
文章
· 六月 1, 2021 阅读大约需 4 分钟
使用 InterSystems IRIS 实现 Data Fabric 架构

什么是 Data Fabric?

“这是一套用于在公司中实施、管控、管理和执行数据操作的硬件基础架构、软件、工具和资源,功能包括跨所有数据存储平台的数据采集、转换、存储、分发、整合、复制、可用性、安全性、保护、灾难恢复、演示、分析、保存、保留、备份、恢复、归档、召回、删除、监视和容量规划,并可使应用程序的使用满足公司的数据需求”。 
(Alan McSweeney)
0 0
0 313
文章
· 一月 25, 2022 阅读大约需 4 分钟
翻译文章-数据迁移工具 - 第一部分: 从 Postgres 到 IRIS

有时需要将数据和数据模型Schema从Postgres转移或迁移到IRIS。目前有几个选择可以做到这一点,但最流行的两个选项是使用DBeaver(https://openexchange.intersystems.com/package/DBeaver)或SQLGateway。第一种方法将在本文中演示,第二种方法在Robert Cemper的一篇优秀文章中介绍,使用 SQLgateway 迁移数据库(https://community.intersystems.com/post/db-migration-using-sqlgateway),请看本文中如何使用DBeaver执行这种迁移。

为迁移过程获取样本数据

在Github上可以下载一个docker compose项目来构建和运行两个数据库。:

1 0
0 309
文章
· 六月 13, 2023 阅读大约需 13 分钟
IRIS镜像的监控和警告

在维护IRIS的镜像前,管理员需要清楚的了解以下一些概念:

Mirror的切换模式(failover mode)

切换模式在镜像监视器里被翻译成”故障转移模式“。 有两种模式:

  • Agent Controlled模式:
  • Arbiter Controlled模式:(页面上翻译为“仲裁程序受控制”)

通常情况,生产环境的镜像是安装了arbiter(仲裁者)的。Mirror启动时,在还没有连接上arbiter的时候,自动进入Agent-Controlled模式。而后当两台机器,主机,备机都连通了Arbiter,会保持在这个模式。

  • 主备之间有连接;
  • 又都连到arbiter;
  • backup is active,

满足上面的条件,就进入arbiter controlled mode。而如果主备的任一方,失去了和arbiter的连接,或者备用侧丢了active, 开始尝试连接另一方,退回到agent-controlled模式。

1 0
1 306

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

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

2 0
0 306
文章
· 五月 12, 2021 阅读大约需 11 分钟
InterSystems 数据平台和性能 - 第 5 篇 使用 SNMP 进行监控

InterSystems 数据平台和性能 - 第 5 部分 使用 SNMP 进行监控

在之前的帖子中,我展示了如何使用 pButtons 收集历史性能指标。 我首选 pButtons 是因为我知道它随每个数据平台实例(Ensemble、Caché、...)一起安装。 不过,还有其他方法可以实时收集、处理和显示 Caché 性能指标,以进行简单的监视,或进行更重要的并且复杂得多的运营分析和容量计划。 最常见的数据收集方法之一是使用 SNMP(简单网络管理协议)。

SNMP 是 Caché 向各种管理工具提供管理和监控信息的标准方式。 Caché 在线文档包含了 Caché 和 SNMP 之间接口的详细信息。 虽然 SNMP 应该可以直接与 Caché 配合工作,但仍有一些配置技巧和陷阱。 我经历了很多次错误的开始,并且在 InterSystems 其他同事的帮助下,才让 Caché 与操作系统 SNMP 主代理建立对话,所以我写了这篇帖子,希望您可以避免同样的痛苦。

在本帖中,我将介绍如何为 Red Hat Linux 上的 Caché 设置和配置 SNMP,您应该能够对其他 *nix 版本使用相同步骤。 我使用 Red Hat 写这篇文章是因为在 Linux 上进行设置更棘手一些;在 Windows 上,Caché 会自动安装一个 DLL 来与标准 Windows SNMP 服务连接,所以应该更容易配置。

0 2
1 265
文章
· 五月 17, 2023 阅读大约需 12 分钟
IRIS, Caché监控指导 - 指标监控(1)

Caché, IRIS在系统产生了最严重的问题时会产生错误信息并通知客户,但这并不足够。一是客户需要更多更灵活的通知消息,二是客户通常会有第3方的监控系统,因此得到Cache, IRIS的监控指标是必须的。

在所有的指标中,用户最关心的是以下几类:

  • 硬件资源的使用,CPU, 内存, IO性能
  • 数据库使用的硬盘的占用
  • Cache, IRIS Journal的硬盘占有
  • Mirror的状态
  • License的使用情况
  • Caché的性能指标

除此之外,第3方监控系统还需要获得Caché的一些系统信息,比如版本,instance名字等等。

指标的获得

有以下几个获得指标的方法

1. 系统仪表板及其Web服务

Caché的系统仪表板显示的数据包括:系统性能;系统运行状态 (运行时间,上一次备份,数据库,Journal状况等; 事务和进程情况;软件许可使用情况;任务,ECP等,还有就是错误和警告的数量。

0 0
0 300
文章
· 九月 25, 2022 阅读大约需 78 分钟
IRIS与Caché的23种设计模式

IRIS的23种设计模式

第一章 Caché 设计模式 简单工厂模式

定义

  • 简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例

使用场景

  • 工厂类负责创建的对象比较少
  • 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑

优点

  • 使用户根据参数获得对一个的类实例,避免了直接实例化类型,降低了耦合性
  • 能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类:客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,所有的客户类都要进行修改

缺点

  • 可实例化的类型在编译期间已经被确定。
  • 如果增加新类型,则需要修改工厂,这违背了开放封闭原则
  • 子类多过不适合使用

示例

  • 用Caché 实现一个计算器控制台程序,要求输入两个数和运算符号。
17 2
1 260
文章
· 五月 30, 2021 阅读大约需 8 分钟
第十一章 发送和接收IBM WebSphere MQ消息

第十一章 发送和接收IBM WebSphere MQ消息

InterSystems IRIS为IBM WebSphere MQ提供了一个接口,可以使用该接口在InterSystems IRIS和IBM WebSphere MQ的消息队列之间交换消息。要使用此接口,必须能够访问IBM WebSphere MQ服务器,并且IBM WebSphere MQ客户端必须与InterSystems IRIS在同一台计算机上运行。

该接口由%Net.MQSend%Net.MQRecv类组成,这两个类都是%Net.abstractMQ的子类。这些类使用由InterSystems IRIS在所有合适的平台上自动安装的动态链接库。(这是Windows上的MQInterface.dll;其他平台的文件扩展名不同。)。反过来,InterSystems IRIS动态链接库需要IBM WebSphere MQ动态链接库。

该界面仅支持发送和接收文本数据,不支持二进制数据。

0 0
0 300
文章
· 三月 13, 2021 阅读大约需 9 分钟
第九章 SQL查询数据库(二)

第九章 SQL查询数据库(二)

调用用户定义函数的查询

InterSystems SQL允许您在SQL查询中调用类方法。这为扩展SQL语法提供了强大的机制。

若要创建用户定义的函数,请在持久性InterSystems IRIS类中定义一个类方法。该方法必须具有文字(非对象)返回值。这必须是一个类方法,因为在SQL查询中将没有对象实例可以在其上调用实例方法。还必须将其定义为SQL存储过程。

例如,我们可以在MyApp.Person类中定义一个Cube()方法:

0 0
0 296
文章
· 八月 9, 2022 阅读大约需 2 分钟
ObjectScript 错误处理片段

ObjectScriptt至少有三种处理错误的方法(状态代码status codes、异常 exceptions, SQLCODE等)。大多数系统代码使用状态码,但由于一些原因,异常更容易处理。在处理遗留代码时,你要花一些时间在不同的技术之间进行转换。我经常使用这些片段作为参考。希望它们对其他人也是有用的。

0 0
0 294
文章
· 二月 16, 2023 阅读大约需 9 分钟
ChatGPT 为您创建消息转换?

A "big" or a "little" ask for ChatGPT?


几周前我尝试了 OpenAI GPT 的编码模型,看看它是否可以在医疗保健系统之间进行一些消息转换。它肯定可以,在相当大的程度上。

已经将近 3 周了,对于 ChatGPT 来说是很长很长的时间,所以我想知道它现在成长得有多快,以及它是否可以为我们做一些集成工程师的工作,例如它是否可以创建一个 InterSystems COS DTL将 HL7 转换为 FHIR 信息?

在不到一两分钟的时间内,我立即得到了一些答案。


测试

首先我想测试一下我是在和它背后的正确“人”说话


问题一:如何将HL7 V2.4报文转为FHIR STU3?


ChatGPT

1 2
0 251
文章
· 八月 18, 2022 阅读大约需 2 分钟
使用csvgen从文件或URL地址中以编程方式导入CSV

Hi 社区的朋友们,大家好!

有时我们需要以编程方式自动将CSV数据从文件或者UR网址L导入到InterSystems IRIS。我们希望创建具有适当数据类型的类并导入数据。

我在Open Exchange上发布了一个模块csvgen,它正是这样做的。

如果你只需要将CSV文件导入IRIS,你可以这么做:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

或者你的CSV文件在互联网上, 例如GitHub上面的新冠疫情数据 你可以这样获得数据:

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>

0 0
0 291
文章
· 十二月 19, 2021 阅读大约需 3 分钟
我们和Oracle、AWS、SAP数据库做了开源速度对比测试

如果您经常阅读我们的博客,您可能记得去年夏天我们进行了 InterSystems 速度测试,该测试由 ESG 验证,旨在测试数据库可以同时摄取和查询的数据量,以及这表现出的具体的影响。从那以后,我们 GitHub 页面的许多访问者一直在根据自己的想法重复验证这个测试

0 3
0 231

本贴提供了在 VMware ESXi 5.5 及更高版本的环境中部署 Caché 2015 及更高版本时,关于配置、系统规模调整和容量规划等方面的指南。

我假定您已经了解 VMware vSphere 虚拟化平台,所以直接给出推荐。 本指南中的推荐不特定于任何具体硬件或站点特定的实现,也不应作为规划和配置 vSphere 部署的全面指南,而是一份您可以做出选择的最佳实践配置清单。 我希望您的 VMware 专家实施团队能针对具体站点对这些推荐进行评估。


这里是 InterSystems 数据平台和性能系列的其他帖子的列表。

注:本帖更新于 2017 年 1 月 3 日,强调必须为生产数据库实例设置虚拟机内存预留,以保证 Caché 有足够内存可用,并且不会出现内存交换或膨胀而对数据库性能产生负面影响。 更多详细信息,请参见下面的内存部分。

0 0
0 287
文章
· 一月 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 245
文章
· 一月 8, 2021 阅读大约需 9 分钟
InterSystems IRIS 和 Caché 中的多模型数据并行处理

众所周知,InterSystems IRIS 提供了很多的工具来提升应用系统可伸缩性。尤其在提升数据并行处理能力方面,InterSystems 做了很多努力,例如在 SQL 查询中使用并行处理,以及在 IRIS中引入最具吸引力的特征:分片(sharding)。然而,许多成熟的开发成果最初是在 Caché中完成的,而且已经迁移到 IRIS 中。这些成熟的开发成果大都使用 DBMS(数据库管理系统)的多模型功能,实现在单独的数据库中共存不同的数据模型。例如, HIS qMS 数据库同时包含语义关系(电子病历)、传统关系(与 PACS 的交互)和层次数据模型(实验室数据以及与其他系统的集成)。这些数据模型大多是通过 SP.ARM 的 qWORD 工具(一种直接访问 Global的小型数据库管理系统)实现的。遗憾的是,由于查询未使用 IRIS SQL,无法利用并行查询处理的新功能进行扩展。

而且,随着数据库规模的不断增长,大型关系型数据库所固有的大多数问题开始出现在非关系型数据库中。这就是我们关注可用于扩展的并行数据处理技术的一个主要原因。

在本文中,我将围绕多年来在解决任务时用到的并行数据处理展开多方位讨论,而这些是我在大数据问题探讨中很少提到的。我将重点讨论数据库的技术改造,或者更确切地说,是数据库转换技术。

0 0
0 285

%SYS.Journal.Record 类有一个查询(query), List, 可以列出Journal文件中记录的数据修改历史。例如,要查询谁对global节点^QP(1,2)做过修改,可以使用如下代码。它查询Journal文件(输入参数pFilePath)中的global节点(输入参数pSearchGlobal)的操作:

2 1
2 264
文章
· 十月 7, 2022 阅读大约需 4 分钟
第三方HA软件结合MIRROR使用方法探讨

在Cache 2018之前的版本中,数据库的高可用是通过第三方HA软件保障的,Cache数据库在2018以后及IRIS支持MIRROR技术,通过MIRROR可以保障数据库的高可用及数据的冗余,那么在新版本中,第三方HA软件与MIRROR是否可以同时使用以实现更高的数据库可用性?使用起来有哪些需要注意的?本文重点介绍探讨上述两个问题。

12 0
0 281
文章
· 四月 11, 2021 阅读大约需 16 分钟
人月神话

人月神话

焦油坑

  1. 编程系统产品开发的工作量是供个人使用的,独立开发的构件程序的9倍。我估计软件构件产品化引起了3倍工作量,将软件构件整合成完成系统所需要的设计,集成和测试又强加了3倍工作量,这些高成本的构件在根本上是互相独立的。
  2. 编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有情感”,其提供了五种乐趣:
  • 创建事物的快乐
  • 开发对其他人有用的东西的乐趣
  • 将可以活动,相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力。
  • 面对不重复的任务,不断学习的乐趣。
  • 纯粹的思维活动。
  1. 同样,这个行业具有一些内在固有的苦恼:

- 将做事方式调正到追求完美是学习编程的最困难的部分。
- 由其他人设定目标,并且必须依靠自己无法控制的事物,权威不等同于责任
- 任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外
- 人们通常期望项目在接近结束时,软件项目能收敛得快一些,然后,情况却是越接近完成,收敛得越慢。

0 1
0 259
文章
· 二月 22, 2023 阅读大约需 12 分钟
InterSystems IRIS的面向对象数据库特性

面向对象编程的优势

在应用程序开发时,我们使用的大多数开发语言都是面向对象编程 object-oriented programming (OOP)语言,例如大家熟悉的Java、.NET。而TIOBE的2023年2月的最新开发语言流行排行榜上,前5大语言都是面向对象编程语言,连排名第六的Visual Basic都有了越来越多的OO特性:

1 0
0 277

技术概要:ODBC 和 InterSystems 数据库

如果您希望在 InterSystems IRIS®数据平台上使用 ODBC,本文将介绍如何设置它。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems 技术概要(InterSystems First Looks)。

1 ODBC: 如何在 InterSystems IRIS 中使用它
InterSystems 提供了一个完全兼容的(ODBC 3.5)ODBC 驱动程序,您可以使用它通过 ODBC 访问 InterSystems IRIS 数据库。当您安装 InterSystems IRIS 时,默认安装该驱动程序。
为了开始在 InterSystems IRIS 中使用 ODBC,您只需要在 InterSystems IRIS 实例上配置驱动程序。本技术概要(First Look)文档对这一过程进行了概述。
如果您还不熟悉 ODBC,请参见本文档末尾的 "了解更多信息" 一节中的链接,以获得更多信息。

0 0
0 277