文章
· 五月 10, 2021 阅读大约需 5 分钟
第四章 多维存储的SQL和对象使用(二)

第四章 多维存储的SQL和对象使用(二)

索引

持久化类可以定义一个或多个索引;其他数据结构用于提高操作(如排序或条件搜索)的效率。InterSystems SQL在执行查询时使用这些索引。InterSystems IRIS对象和SQL在执行INSERTUPDATEDELETE操作时自动维护索引内的正确值。

标准索引的存储结构

标准索引将一个或多个属性值的有序集与包含属性的对象的对象ID值相关联。

例如,假设我们定义了一个简单的持久化MyApp.Person类,该类具有两个文本属性和一个关于其Name属性的索引:

0 0
0 54
文章
· 十月 20, 2022 阅读大约需 5 分钟
在集成产品中压缩解压文件

在InterSystems IRIS医疗版里有一个文件压缩解压的适配器HS.Util.Zip.Adapter和对应的文件压缩解压业务操作HS.Util.Zip.Operations。集成产品可以使用它们进行文件的压缩和解压操作。这2个类的联机文档说明较少,这里介绍它们的使用方法。

1. 基础配置

InterSystems IRIS使用操作系统的压缩和解压缩能力,因此需要注册操作系统执行压缩解压的命令。

在管理门户的Health标签页下,选中配置注册(Configuration Registry):

在其中增加2个注册项目:

\ZipUtility\UnZipCommand\ZipUtility\ZipCommand,分别代表解压和压缩命令。适配器HS.Util.Zip.Adapter会检查这2个注册项并得到相应的命令。各个操作系统的命令并不一样,示例如下:

3 0
1 54
文章
· 二月 23, 2021 阅读大约需 3 分钟
第四十五章 Caché 变量大全 $ZVERSION 变量

第四十五章 Caché 变量大全 $ZVERSION 变量

包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。

大纲

$ZVERSION 
$ZV

描述

$ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。

以下示例返回$ZVERSION字符串:

0 0
0 54
文章
· 二月 9, 2021 阅读大约需 9 分钟
第二十九章 Caché 变量大全 $ZERROR 变量

第二十九章 Caché 变量大全 $ZERROR 变量

包含上一个错误的名称和位置。

大纲

$ZERROR
$ZE 

描述

$ZERROR包含最新错误的名称,最新错误的位置(在适用的情况下)以及(对于某些错误代码而言)有关导致错误的原因的其他信息。 $ZERROR始终包含相应语言模式的最新错误。

$ZERROR值旨在错误后立即使用。由于$ZERROR值可能不会在例程调用中保留,因此希望保留$ZERROR值以供以后使用的用户应将其复制到变量中。强烈建议用户在使用后立即将$ZERROR设置为空字符串(“”)。

$ZERROR中包含的字符串可以是以下任何一种形式:

0 0
0 54
文章
· 二月 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 53

Alt Text

大家好!

在这里跟大家分享一下我在大奖赛上的项目 :)

FHIR病人查看器是一个建立在Vue.js上的单页、反应式渲染工具,它以对人友好的方式显示从对InterSystems FHIR服务器的/Patient/{id}/$everything调用返回的数据。在自述文件中,包括3个主要内容:
1. 一个视频演示,将FHIR患者浏览器连接到一个沙盒IRIS FHIR服务器上(这是测试它的最快方法);
2.第二个视频显示我如何在生产环境中使用FHIR患者浏览器(使用一个定制的后端来处理API调用,在我的例子中用PHP/Laravel编写,但可以转移到其他语言/框架);
3.修改组件的说明,创建你自己版本的工具,并建立你自己的dist文件。

谢谢大家! 本次大赛的参赛作品质量很好!

Dan

0 0
0 53
文章
· 二月 18, 2021 阅读大约需 6 分钟
第四十章 Caché 变量大全 $ZREFERENCE 变量

第四十章 Caché 变量大全 $ZREFERENCE 变量

包含当前全局变量global引用。

大纲

$ZREFERENCE
$ZR

描述

$ZREFERENCE包含上次全局引用的名称和下标。这就是所谓裸指针。

注意:最后一个全局引用是最近访问的全局节点。通常,这是对全局的最新显式引用。但是,某些命令可能在内部使用$ORDER函数遍历全局下标(ZWRITE命令就是一个例子),或者它们可能在内部引用其他全局脚本。发生这种情况时,$ZREFERENCE包含上次访问的全局节点,该节点可能不是为命令指定的全局节点。

0 0
0 53

第六十二章 开发Productions - ObjectScript Productions - 部署Production - 导出Production

导出Production

要使用管理门户导出ProductionXML,请打开Production,单击Production设置和操作选项卡,然后单击导出按钮。 IRIS 选择所有业务服务、业务流程、业务操作和一些相关类,然后显示以下表单以允许添加导出注释和其他组件。

还可以导出业务服务、流程或操作,方法是在Productions配置中选择组件,然后单击“操作”选项卡上的“导出”按钮。在这两种情况下,都可以通过单击其中一个按钮并选择一个组件来将其他组件添加到包中。以通过清除该复选框来从包中删除组件。

可以使用导出注释来描述部署包中的内容。例如,可以描述完整的Productions是否位于作为Productions更新的包或组件集中。当使用管理门户将包部署到目标系统时,会显示导出注释。

0 0
0 53
文章
· 八月 4, 2023 阅读大约需 3 分钟
第十二章 配置Production - 添加HL7序列管理器

第十二章 配置Production - 添加HL7序列管理器

添加HL7序列管理器

HL7消息可能由于各种原因而乱序,特别是在多个处理器处理它们时。在某些情况下,需要确保按照正确的顺序处理HL7消息。在这种情况下,可以将HL7序列管理器添加到production的适当部分。

HL7序列管理器是一个业务流程,它接受传入的HL7消息(可能来自多个源),然后按照消息中的MSH:13 SequenceNumbers字段指定的顺序将消息转发到目标配置项。

序列管理器可以检测重复的消息和消息之间的时间间隔。它还确定顺序消息之间的时间间隔何时大到足以表明问题。它的灵敏度级别可以使用它的配置设置来调整。

要构建用于HL7消息路由生产的HL7序列管理器,必须创建并配置它,然后将其集成到生产中。本主题将解释每个步骤。

0 0
0 52

第三十五章 开发Productions - ObjectScript Productions - Defining Business Metrics - 定义单实例业务指标

定义单实例业务指标

要定义单实例业务指标,请定义一个满足以下要求的类:

  • 它必须是 Ens.BusinessMetric的子类。

对于此类,ADAPTER 参数是 Ens.InboundAdapter,它提供了 CallInterval 设置。这确保定期调用业务指标。

  • 它必须定义一个或多个业务度量属性。简单属性和具有自动历史的属性的细节不同。
  • 它可以选择性地为属性参数指定值,例如,以控制值的范围。
  • 它必须为业务度量属性分配值。为此,它必须实施 OnCalculateMetrics() 方法。

定义简单的业务指标属性

要定义一个简单的业务指标属性,请将一个属性添加到业务指标类,如下所示:

0 0
0 52

第五十九章 开发Productions - ObjectScript Productions - 测试和调试Production - 从管理门户进行测试

从管理门户进行测试

可以使用管理门户在开发、测试和调试Production时执行多项任务:

  • 能够查看和修改系统配置。
  • 能够启动和停止Production
  • 能够查看队列及其内容;消息及其详细信息;适配器和参与者及其状态;业务流程及其状态;配置项的代码和图形表示。
  • 能够查看、排序和有选择地清除事件日志条目。
  • 能够暂停(并稍后重新发送)连接暂时被阻止的消息。
  • 能够使用图形用户界面或通过输入 SQL SELECT 命令,按类别或消息内容过滤和搜索消息仓库中的特定消息。
  • 能够使用图形用户界面直观地跟踪消息活动。
  • 能够创建和查看统计报告。

对于开发人员来说,最有用的门户功能是不断收集运行时数据的监视服务、可用于向正在开发的产品发出模拟请求的测试服务以及记录业务主机发出的状态消息的事件日志。同时使用这些功能来生成测试数据并研究结果。

0 0
0 51
文章
· 九月 28, 2022 阅读大约需 3 分钟
第四十六章 功能跟踪器收集使用统计信息

[toc]

第四十六章 功能跟踪器收集使用统计信息

作为 不断努力改进其产品以满足客户需求的一部分, 在 IRIS® 数据平台中包含一个名为 Feature Tracker 的软件实用程序,该软件实用程序收集软件模块使用情况的统计数据。本主题介绍特征跟踪器。

为什么 InterSystems 收集统计数据

Feature Tracker 收集的统计数据记录软件模块是否存在并在给定的 IRIS 实例中使用。 Feature Tracker 每周通过 https 将此信息发送给 InterSystems。这些统计数据有助于 InterSystems 规划开发和支持。
收集的信息不包括任何应用程序数据。

2 0
0 50
文章
· 十一月 1, 2022 阅读大约需 1 分钟
【动画视频】医院需要什么样的互联互通平台?

医院管理者、信息中心、业务骨干,每个角色都有独特的业务诉求,InterSystems IRIS医疗版互联互通套件专为国内用户设计,截至2021年,InterSystems技术已助力一百余家医院通过四级及以上医院信息互联互通标准化成熟度评级,其中,五乙用户占全国30%以上。

0 0
0 49

第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表

IRIS 提供了名为 Lookup() 的实用函数,以便可以轻松地从业务规则或 DTL 数据转换中执行表查找。此功能仅在创建至少一个查找表并用适当的数据填充后才起作用。

有关定义查找表的信息,请参阅配置产品中的定义数据查找表。

如果需要比管理门户提供的更直接的查找表操作,请在类中使用 Ens.Util.LookupTable。此类公开查找表以通过对象或 SQL 进行访问。此外,它还提供类方法来清除表、将数据导出为 XML 以及从 XML 导入数据。

Ens.Util.LookupTable提供以下字符串属性:

0 0
0 49
文章
· 九月 11, 2023 阅读大约需 3 分钟
第二十五章 Classes - 基于数据类型的属性

第二十五章 Classes - 基于数据类型的属性

基于数据类型的属性

当定义属性并将其类型指定为数据类型类时,可以使用特殊选项来定义和使用该属性,如本节中所述。

数据类型类

数据类型类使能够强制执行有关属性值的规则集。

IRIS 提供的数据类型类包括 %Library.String%Library.Integer%Library.Numeric%Library.Date等等。因为 %Library 包的类名可以缩写,所以可以缩写其中的许多类;例如, %Date%Library.Date的缩写。

每个数据类型类都具有以下特征:

  • 它指定编译器关键字的值。对于属性,编译器关键字可以执行以下操作:

0 0
0 48
文章
· 二月 15, 2021 阅读大约需 3 分钟
第三十五章 Caché 变量大全 $ZNSPACE 变量

第三十五章 Caché 变量大全 $ZNSPACE 变量

包含当前命名空间名称。

大纲

$ZNSPACE

描述

$ZNSPACE包含当前命名空间的名称。通过设置$ZNSPACE,可以更改当前名称空间。

要获取当前命名空间名称,请执行以下操作:

DHC-APP>SET ns=$ZNSPACE

DHC-APP>WRITE ns
DHC-APP

还可以通过调用%SYSTEM.SYS类的Namespace()方法来获取当前命名空间的名称,如下所示:

0 0
0 47

第五十章 开发Productions - ObjectScript Productions - 高效处理批量记录

高效处理批量记录

RecordMap 功能一次导入一条记录,但如果正在导入或导出大量记录,则可以通过使用 RecordMap Batch 获得显着的效率提升。 RecordMap Batch 功能处理同类记录并一次处理一批中的所有记录。可以选择在批次之前加上一个标题记录,然后跟一个尾部记录。

要创建 RecordMap 批处理,需要实现一个继承自中的 %PersistentEnsLib.RecordMap.Batch的类。 Batch 类包含处理解析和写出与特定批次关联的任何标头和尾部的方法。必须提供解析和编写标头的代码。对于简单的表头和表尾,可以使用类中的 EnsLib.RecordMap.SimpleBatch,它继承自 Batch 类,并提供处理简单表头和表尾的代码。如果需要处理更复杂的标头和尾数据,可以扩展这两个批处理实现中的任何一个。

0 0
0 47

第五十八章 开发Productions - ObjectScript Productions - 测试和调试Production

本主题介绍可用于测试和调试产品的工具。该信息对于故障排除和调整企业已在使用的Production软件也很有用。

纠正Production问题状态

如果Production暂停或出现问题,请阅读本节。

暂停Production

Production在队列中的所有异步消息可以被处理之前停止时,就会发生暂停Production。如果不手动清除这些异步消息,它们会在Production开始备份时自动处理。如果希望处理消息,则在开始暂停Production之前不需要其他步骤。

0 0
0 47
文章
· 七月 26, 2023 阅读大约需 3 分钟
第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面

第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面

使用 HL7 架构结构页面

通过 HL7 架构页面,可以导入和查看 HL7 版本 2 架构规范。要显示此页面,请从主页中选择互操作性 > 互操作 > HL7 v2.x > HL7 v2.x 架构结构。有关使用此页面的一般信息,请参阅在产品中使用虚拟文档中的“使用架构结构页面”。

HL7 模式页面提供了一个附加选项卡:消息类型。此选项卡将两个消息结构标识为请求/响应对。

查看文档类型列表

要列出某个类别中的所有文档类型结构,请首先选择该类别,然后单击“DocType 结构”选项卡。

1 0
0 46

第三十八章 开发Productions - ObjectScript Productions - Defining Business Metrics - 业务指标中的其他选项

业务指标中的其他选项

本节介绍业务指标类中的其他选项。

定义在仪表板中使用的操作

业务指标类可以定义操作,可以将这些操作公开为仪表板中的用户选项。一个操作可以执行客户端活动(例如过滤和刷新仪表板)和服务器端活动(例如调用您自己的 API)的组合。作用机制很一般。

要定义操作,请实施业务指标类的 %OnGetActionList()%OnDashboardAction() 方法。有关这些方法的信息,请参阅实施 商业智能中的定义自定义操作。

0 0
0 45
文章
· 八月 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

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

使用 Ens.Director 访问设置

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

GetAdapterSettings()

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

0 0
0 45
文章
· 二月 8, 2021 阅读大约需 1 分钟
第二十八章 Caché 变量大全 $ZEOS 变量

第二十八章 Caché 变量大全 $ZEOS 变量

读取压缩流时包含流结束状态。

大纲

$ZEOS

大纲

$Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPENUSE命令发出/GZIP命令关键字来激活流压缩/解压缩。

0 0
0 45
文章
· 九月 17, 2023 阅读大约需 2 分钟
第三十章 Classes - 方法生成器

第三十章 Classes - 方法生成器

方法生成器

方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。

Class Queries

类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例:

0 0
0 45
文章
· 九月 9, 2023 阅读大约需 2 分钟
第二十三章 Classes - 属性

第二十三章 Classes - 属性

形式上 IRIS 有两种属性:

  • 属性,保存值。该值可以是以下任意值:

    • 单个文字值,通常基于数据类型。
    • 对象值(包括集合对象和流对象)。
    • 多维数组。这种情况不太常见。

    属性一词通常仅指作为propertiesattributes,而不是指具有关联的属性。

  • 关系,保持对象之间的关联。

可以在包含 ObjectScript 方法、Python 方法或两者组合的类中定义属性。但是,无法从 Python 方法访问关系。本节展示了一个示例类,其中包含显示以下一些变体的属性定义:

0 0
0 44