文章
· 八月 26, 2023 阅读大约需 3 分钟
第十章 ObjectScript - 按值或按引用传递变量

第十章 ObjectScript - 按值或按引用传递变量

按值或按引用传递变量

调用方法时,可以通过值或引用将变量值传递给该方法。在大多数情况下,这些变量是没有下标的局部变量,因此本节首先讨论这些变量。

与其他编程语言一样, IRIS 具有一个存储位置,其中包含每个局部变量的值。变量的名称充当内存位置的地址。

当将没有下标的局部变量传递给方法时,可以按值传递该变量。这意味着系统会复制该值,从而使原始值不受影响。要传递内存地址,请在参数列表中紧邻变量名称之前放置一个句点。

为了演示这一点,请考虑名为 Test.Parameters 的类中的以下方法:

ClassMethod Square(input As %Integer) As %Integer
{
    set answer=input*input
    set input=input + 10
    return answer
}

假设定义一个变量并将其按值传递给此方法:

0 0
0 35
文章
· 九月 12, 2023 阅读大约需 1 分钟
第二十六章 Classes - Methods

第二十六章 Classes - Methods

Methods

方法有两种:实例方法和类方法(在其他语言中称为静态方法)。

指定方法关键字

在方法定义中,可以包含影响方法行为的可选编译器关键字。以下列表显示了一些最常见的方法关键字:

Language

IRIS 中,可以用 ObjectScriptPython 编写方法。要指定编写方法所用的语言,请使用以下语法:

0 0
0 20

我们最近发布了一份关于在镜像环境中使用报告节点(完整的“异步报告镜像成员”)的新白皮书。越来越多的客户正在研究这种机制,将其作为一种快速、简单的方法来设置保持最新的生产数据副本,但可以用于分析查询或重型报告工作负载,而不影响源系统。 请在此处阅读白皮书

与往常一样,我们很想听听您对如何在组织中使用此镜像选项的反馈,以及您是否对我们如何提高其效率有想法。

0 0
0 21
文章
· 五月 23, 2023 阅读大约需 1 分钟
【视频】医疗信息系统如何获得真正的互操作性?

实现医疗系统之间的互操作性是一项艰巨的挑战。随着FHIR日渐普及,对FHIR标准的兼容如今已成为许多国家医疗信息系统的全国性强制性要求。FHIR标准最有价值的一方面就是所有内容可被机器读取,使得FHIR应用跨机构使用成为可能,帮助您距离“语义互操作性”更近一步。

0 0
0 103

第五十三章 开发Productions - ObjectScript Productions - 不常见的任务 - 使用 Ens.Director 访问设置

使用 Ens.Director 访问设置

即使production未运行,类中的以下 Ens.Director 方法也允许检索生产设置:

GetAdapterSettings()

返回一个数组,其中包含所标识的配置项(业务服务或业务操作)的所有适配器设置的值。该数组由设置名称下标。可以使用 IRIS $ORDER 函数来访问数组的元素。此方法的第一个参数是一个字符串,其中包含由两个竖线 (||) 分隔的产品名称和配置项名称。返回值是状态值。如果状态值不是 $$$OK,则无法找到指定的生产名称 (myProd) 和配置项名称 (myOp) 组合。

0 0
0 45

第六十七章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - BO和适配器的生命周期

BO和适配器的生命周期

IRIS 自动管理每个业务操作的生命周期。

Production Startup

Production生产(或更改特定业务操作的配置)时, IRIS 自动为每个配置的业务操作类(即,为Production定义中列出的每个业务操作)执行以下任务:

  1. 它调用类的 OnProductionStart() 回调方法(如果已定义)。

OnProductionStart() 方法是一种类方法,它为Production配置中列出的每个业务操作类调用一次。业务操作类可以使用此回调来执行它可能需要的任何类范围的初始化。

0 0
0 58
文章
· 八月 8, 2023 阅读大约需 3 分钟
第十六章 定义 HL7 的 DTL 数据转换 - 转换长段字段

第十六章 定义 HL7 的 DTL 数据转换 - 转换长段字段

转换长段字段

DTL 转换使用的 ObjectScript 方法 GetValueAtHL7 段字段截断为 3.6MB。因此,当转换长度超过 3.6MB 的字段时,无法在 DTL 编辑器中使用从左到右的拖动操作。例如,如果 OBX:5 字段超过 3.6MB,则无法使用 DTL 编辑器将源字段拖动到目标,因为它将被截断。同样,如果要转换的字段长度超过 3.6MB,则自定义代码不应调用 GetValueAt

0 0
0 58
文章
· 八月 27, 2023 阅读大约需 1 分钟
第十一章 ObjectScript - 操作符

第十一章 ObjectScript - 操作符

操作符

ObjectScript 中的运算符优先级严格是从左到右;在表达式中,运算按照它们出现的顺序执行。可以在表达式中使用显式括号来强制某些操作先于其他操作执行。

通常,即使并不严格需要括号,也会使用括号。很有用,因为它使代码的意图更加清晰。

Familiar Operators

ObjectScript 为常见活动提供以下运算符:

0 0
0 36
文章
· 九月 13, 2023 阅读大约需 1 分钟
去掉了 InstallFoundation 的方法 (IRIS 2023.2+ )

我们最近发布了 IRIS 2023.2版本。
此版本从此类“HS.HC.Util.Installer”中删除了“InstallFoundation”
这是一个没有记录在官方文档中的私有的方法,但它被社区广泛用来安装 FHIR 服务器。
所以如果你遇到这个错误:<METHOD DOES NOT EXIST> *InstallFoundation,HS.HC.Util.Installer
在构建我们自己的 FHIR 服务器的演示时,您可以通过替换此行来修复它:
do ##class(HS.HC.Util.Installer).InstallFoundation (namespace) 替换成 Do ##class(HS.Util.Installer.Foundation).Install(namespace) `

0 0
0 43
文章
· 十二月 16, 2023 阅读大约需 4 分钟
第三十七章 XML 模式的高级选项 - 超类如何表示为类型

第三十七章 XML 模式的高级选项 - 超类如何表示为类型

超类如何表示为类型

如果需要 XML 架构来显示特定的类型层次结构,则需要了解映射如何解释 IRIS 类层次结构。

类层次结构代表了有意义的数据组织等。该层次结构尽可能地反映在相应的 XML 类型定义中。

例如,假设有以下类:
- 名为 Base 的类,定义了三个公共属性(Property1Property2Property3)。
- 名为 Addition1 的类,它扩展 Baseand 并定义一个附加公共属性 (Addition1)。
- 名为 Addition2 的类,它扩展 Addition1 并定义一个附加公共属性 (Addition2)。

0 0
0 23

Gartner魔力象限是业内知名的分析报告,针对特定市场进行严谨、基于事实的研究后发布的魔力象限报告,可为用户提供全面视图,以便其了解在高速增长、差异化明显的市场中供应商的相对位置。在魔力象限中,供应商被定位在四个象限中:领导者(Leader)、挑战者(Challenger)、远见者(Visionary)和利基玩家(Niche Player)。

2023年年底,在 Gartner 2023年最新发布的“云数据库管理系统(Cloud DBMS)魔力象限”中,InterSystems再次荣膺“挑战者”(Challenger)称号,这是InterSystems第三次入围这一报告并得到认可(2022年“远见者”2021年“挑战者”)。

0 0
0 19
文章
· 七月 25, 2023 阅读大约需 3 分钟
第二章 HL7 架构和可用工具

第二章 HL7 架构和可用工具 - HL7 模式和消息概述

HL7 模式和消息概述

InterSystems 产品可以处理和传递 HL7 消息,而无需使用架构来解析它,但将架构与消息关联允许执行以下操作:
- 解析消息并访问以下字段值:
- 数据转换
- 路由规则
- 自定义 ObjectScript 代码
- 验证消息是否符合架构。

每个 HL7 消息均由消息类型标识,该消息类型在 MSHMessageType 字段 (MSH:9) 中指定。一些消息类型共享相同的消息结构。例如,在HL7版本2.3.1中,用于预先接纳患者的ADT_A05消息具有与ADT_A01接纳消息相同的结构。该架构指定 ADT_A05 消息具有结构类型 ADT_A01

0 1
0 59
文章
· 八月 10, 2023 阅读大约需 3 分钟
第十八章 定义 HL7 搜索表

第十八章 定义 HL7 搜索表

HL7 搜索表类 EnsLib.HL7.SearchTable,自动索引填充的 HL7 属性。

如果需要搜索更多的项,可以创建一个子类。子类继承Identifier属性,以及使搜索表工作的基础结构。具体操作请参见在产品中使用虚拟文档中的“定义搜索表类”。

对于HL7, 支持PropType的附加值。除了在产品中使用虚拟文档中列出的类型之外,还可以使用DateTime:HL7

创建搜索表时,不要使用保留的包名;参见开发产品中的“保留包名”。

默认索引的属性

当选择EnsLib.HL7。searchtable作为搜索表类,使能够在HL7消息中搜索以下虚拟属性。

  • MSHTypeName

消息结构名称。为了创建这个字符串,将HL7消息中的以下值连接起来:
- MSH消息头段

0 0
0 45

医院拥有丰富的CDA文档库,如何实现数据的有效利用和共享?

//player.bilibili.com/player.html?aid=274423967&bvid=BV1mF411f77g&cid=1226555487&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 66
文章
· 九月 13, 2023 阅读大约需 2 分钟
第二十七章 Classes - 引用其他类成员

第二十七章 Classes - 引用其他类成员

引用其他类成员

在方法中,使用下面的语法来引用其他类成员:

  • 要引用ObjectScript中的参数,使用如下表达式:
 ..#PARAMETERNAME

只能使用ObjectScript直接访问参数。要从Python访问参数,请使用ObjectScript包装器方法返回参数,并在需要时调用此方法。例如:

0 0
0 37
文章
· 十一月 20, 2023 阅读大约需 2 分钟
Java 大赛作品展示--基于IRIS 原生 Java API 的Global编辑器

这是Java 编程比赛的相关文章。

我决定推出一个基于 IRIS Native API for Java 的 CRUD++ Global编辑器。
++因为它不仅仅是C reate、 R ead、 U pdate、 D elete
Global可视化对于立即查看结果始终很重要。

  • 为此,我使用模仿 ZWrite 的树查看器扩展了 API,并且还允许检查子树。
  • $Query Style Navigator 正向和反向操作可轻松找到感兴趣的全局节点。
  • 最后,ZKill 添加了一个选项,可以删除全局节点的内容而不删除下面的子树。

这需要在服务器端有一个小的帮助器类作为默认 API 的扩展

我的策略是拥有一个可从命令行使用的相当适度的界面
就像在 Docker 控制台或终端上一样,并使其尽可能简单。
花哨的图形界面只会分散示例的基本内容。

0 0
0 71
文章
· 十二月 17, 2023 阅读大约需 2 分钟
第三十八章 其他特殊主题

第三十八章 其他特殊主题

类和属性参数

  • XMLNAME
  • XMLSEQUENCE
  • XMLUNSWIZZLE
  • XMLPREFIX
  • XMLIGNOREINVALIDTAG
  • XMLIGNOREINVALIDATTRIBUTE

控制元素的关闭

XML 中,仅包含属性的元素可以用以下任一方式表示:

0 0
0 21

开发者们可以让轻松让全世界了解他们如何与Epic软件进行连接

2022年12月,全球排名第一的电子病历厂商Epic宣布发布Connection Hub供应商服务平台,供全球供应商来分享他们与Epic软件实现互操作能力的平台。

这个新网站于2023年1月9日开放,将允许所有与Epic有连接的供应商列出他们的应用,并自我报告他们是否已经实现了成功的数据交换。网站访问者,包括Epic客户,可以看到供应商提供的信息,如应用描述和网站链接。

Connection Hub将对所有供应商开放,目的是使供应商更容易加入其在线产品目录。希望被列入名录的供应商可以通过提供他们的信息和完成一个可选填的问卷来加入。除了Connection Hub,Epic还将推出供应商服务--提供Epic的新闻通讯、详细的教程、扩大的测试沙盒和技术支持的访问。

EPIC现有应用市场将进行更新并计划在今年晚些时候重新启动。 目前在应用市场的供应商将自动迁移到Connection Hub供应商服务平台。所有连接将不会受到影响,在应用市场中接受服务、API和测试工具的供应商将继续通过Connection Hub进行。对于那些目前在应用市场中列有实时连接的供应商,EPIC将为他们提供一个简单的方法,将其现有信息转移到Connection Hub。

0 0
0 102
文章
· 八月 10, 2023 阅读大约需 2 分钟
如何比较两个数据库中的多个Global和Routines

InterSystems 常见问题解答

※如果您想比较使用Mirror、Shadow或其他机制复制的数据库,请使用此方法。

您可以使用 DATACHECK 实用程序来比较Global。请参阅下面的文档。
DataCheck 概述 [IRIS]

***

Routines比较使用系统例程 %RCMP 或管理门户。

以下是如何在管理门户中使用它。

0 0
0 94
文章
· 八月 28, 2023 阅读大约需 3 分钟
第十二章 ObjectScript - 命令

第十二章 ObjectScript - 命令

命令

本节概述了在 ObjectScript 常用命令。其中包括与其他语言中的命令相似的命令,以及其他语言中没有等效项的其他命令。

命令名称不区分大小写,尽管按照惯例它们在运行文本中显示为全大写。

熟悉的命令

ObjectScript 提供命令来执行熟悉的任务,如下所示:
- 要定义变量,请使用 SET(如前所示)。
- 要删除变量,请使用 KILL,如前所示。
- 要控制逻辑流程,请使用以下命令:
- IFELSEIFELSE 一起工作
- FOR
- WHILE,可以单独使用
- DOWHILE 可以一起使用
- QUIT,也可以返回一个值

0 0
0 27
文章
· 九月 14, 2023 阅读大约需 2 分钟
容器中的 InterSystems IRIS

InterSystems 还发布了容器化部署的IRIS。这篇文章旨在演示 InterSystems IRIS 和依赖 IRIS 后端的应用程序如何打包到镜像中并在容器中的其他计算机中运行,以及这样做有多么简单。

容器运行包含所有必需的可执行文件、二进制代码、库和配置文件的镜像。镜像可以从一台机器移动到另一台机器,像 Docker Hub 这样的镜像存储库可以简化这个过程。

我在本演示中使用了 Open Exchange 的应用程序。

演示视频: https://www.loom.com/share/93f9a760b5f54c0a8811b7a212387b9d

IRIS 数据平台社区版的镜像(image)可以在 InterSystems 容器注册表中找到:

0 0
0 78

作为针对数据导入处理性能和错误(锁定表已满)的衡量标准,可能需要调整常规内存堆 (gmheap) 和锁定表大小 (locksiz) 参数。

事实上,您可以使用终端和管理门户来检查当前分配了多少通用内存堆。


★终端用

// 一般メモリヒープサマリUSER> w $system .Config.SharedMemoryHeap.GetUsageSummary() 4992226 , 6029312 , 59441152

通用内存堆摘要以使用量、分配量和配置量(字节)的形式显示返回值。

0 0
0 27

第五十六章 开发Productions - ObjectScript Productions - 不常见的任务 - 在适配器类中包含凭据

在适配器类中包含凭据

要在适配器类中包含生产凭证,请在类定义中执行以下操作:

  • 包括名为 Credentials 的设置。
  • 定义一个名为 CredentialsSet() 的方法,该方法使用 Credentials 设置的值作为键来查找 Credentials 表中的用户名和密码。然后实例化一个包含用户名和密码的凭据对象。

覆盖Production凭证

虽然Production凭证系统集中管理并将登录数据保留在源代码之外,但有时需要编写代码以从其他来源获取凭证。例如,代码可能会从 Web 表单或 cookie 中检索用户名和密码,然后将它们与 HTTP 出站适配器一起使用以连接到其他站点。

0 0
0 43
文章
· 七月 27, 2023 阅读大约需 3 分钟
第四章 HL7 架构和可用工具 - 查看数据结构

第四章 HL7 架构和可用工具 - 查看数据结构

查看数据结构

当单击“数据结构”列中的名称时,InterSystems 会显示该数据结构中的所有字段。这是 HL7 数据结构页面。显示的以下列是最有用的:

  • 组件列列出了可用于访问段内字段的数字。
  • 属性名称列列出了可用于访问段内字段的名称。
  • 单击“数据结构”列中的条目可深入了解详细信息。
  • 单击“代码表”列(如果有)中的条目可查看可在此字段中输入的有效代码。

当单击上面段结构页面中名为 2.3:XCN 的数据结构项时,将出现以下示例页面。该页面指出类别 2.3 数据结构 XCN 描述“扩展复合 ID 号和名称”并由 14 个字段组成。其中,有些是简单值,有些是数据结构,有些是代码。

有了这些信息,就可以为消息结构 2.3:ADT_A01 中的复杂 PR1grp().PR1:Surgeon 字段创建虚拟属性路径,如下所示:

0 0
0 76