文章 姚 鑫 · 二月 8, 2021 阅读大约需 1 分钟 第二十八章 Caché 变量大全 $ZEOS 变量 第二十八章 Caché 变量大全 $ZEOS 变量 读取压缩流时包含流结束状态。 大纲 $ZEOS 大纲 $Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPEN或USE命令发出/GZIP命令关键字来激活流压缩/解压缩。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 九月 17, 2023 阅读大约需 2 分钟 第三十章 Classes - 方法生成器 第三十章 Classes - 方法生成器 方法生成器 方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。 Class Queries 类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例: #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 七月 12, 2023 阅读大约需 3 分钟 第五十六章 开发Productions - ObjectScript Productions - 不常见的任务 - 在适配器类中包含凭据 第五十六章 开发Productions - ObjectScript Productions - 不常见的任务 - 在适配器类中包含凭据 在适配器类中包含凭据 要在适配器类中包含生产凭证,请在类定义中执行以下操作: 包括名为 Credentials 的设置。 定义一个名为 CredentialsSet() 的方法,该方法使用 Credentials 设置的值作为键来查找 Credentials 表中的用户名和密码。然后实例化一个包含用户名和密码的凭据对象。 覆盖Production凭证 虽然Production凭证系统集中管理并将登录数据保留在源代码之外,但有时需要编写代码以从其他来源获取凭证。例如,代码可能会从 Web 表单或 cookie 中检索用户名和密码,然后将它们与 HTTP 出站适配器一起使用以连接到其他站点。 #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 九月 18, 2023 阅读大约需 2 分钟 第三十一章 Classes - 继承规则= 第三十一章 Classes - 继承规则 继承规则 与其他基于类的语言一样,可以通过继承组合多个类定义。 类定义可以扩展(或继承)多个其他类。这些类又可以扩展其他类。 请注意,类不能继承 Python 中定义的类(即 .py 文件中包含的类定义),反之亦然。 以下小节提供了中类继承的基本规则。 继承顺序 使用以下继承顺序规则: 默认情况下,如果在多个超类中定义了给定名称的类成员,则子类将从超类列表中最左边的类中获取定义。 如果类定义包含 Inheritance = right,则子类从超类列表中最右侧的类中获取定义。 由于历史原因,大多数类都包含 Inheritance = right。 主要的超类 任何扩展其他类的类都有一个主要超类。 无论类使用哪种继承顺序,主超类都是第一个,从左到右阅读。 对于任何类级编译器关键字,给定类使用其主超类中指定的值。 对于持久化类来说,主超类尤其重要。 #InterSystems IRIS for Health 1 0 0 45
文章 Michael Lei · 十月 10, 2022 阅读大约需 2 分钟 如何在 CI/CD 里管理InterSystems API Manager (IAM)/ Kong API GATEWAY 配置? Kong提供了一个开源的配置管理工具(用Go语言编写),称为decK(即声明式Kong,declarative Kong)。 #InterSystems API管理器(IAM) #持续交付 #持续集成 #提示和技巧 #InterSystems IRIS #InterSystems IRIS for Health #其他 0 0 0 44
文章 姚 鑫 · 九月 9, 2023 阅读大约需 2 分钟 第二十三章 Classes - 属性 第二十三章 Classes - 属性 形式上 IRIS 有两种属性: 属性,保存值。该值可以是以下任意值: 单个文字值,通常基于数据类型。 对象值(包括集合对象和流对象)。 多维数组。这种情况不太常见。 属性一词通常仅指作为properties的attributes,而不是指具有关联的属性。 关系,保持对象之间的关联。 可以在包含 ObjectScript 方法、Python 方法或两者组合的类中定义属性。但是,无法从 Python 方法访问关系。本节展示了一个示例类,其中包含显示以下一些变体的属性定义: #InterSystems IRIS for Health 0 0 0 44
文章 Weiwei Gu · 九月 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) ` #FHIR #InterSystems IRIS for Health 0 0 0 44
文章 姚 鑫 · 二月 7, 2021 阅读大约需 2 分钟 第二十七章 Caché 变量大全 $ZEOF 变量 第二十七章 Caché 变量大全 $ZEOF 变量 包含指示是否已到达文件末尾的标志。 大纲 $ZEOF 描述 在每次顺序文件读取之后,Caché设置$ZEOF特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC设备状态检查的MSM例程兼容。 Caché将$ZEOF设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF值(如果需要,将其复制到变量)。 Caché将$ZEOF设置为下列值: - –1 文件结束 - 0 不在文件末尾 要使用此功能,必须对顺序文件禁用<ENDOFFILE>错误。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 44
文章 姚 鑫 · 八月 16, 2023 阅读大约需 4 分钟 第二十四章 参考 - HL7业务服务的设置- 忽略入站 ACK 第二十四章 参考 - HL7业务服务的设置- 忽略入站 ACK 忽略入站 ACK 如果为 True,业务服务将忽略任何入站 ACK 消息,以避免创建 ACK 反馈循环。 Local Facility Application 以冒号分隔的 LocalFacility:LocalApplication 代码,表示通过此业务服务接收 HL7 消息的设施和应用程序。如果此业务服务创建自己的 ACK,则本地设施应用程序会为 ACK 消息提供 SendingFacility:SendingApplication 代码;否则,该设置将被忽略。 #InterSystems IRIS for Health 0 0 0 44
文章 姚 鑫 · 九月 8, 2023 阅读大约需 2 分钟 第二十二章 Classes - 调用类方法的快捷方式 第二十二章 Classes - 调用类方法的快捷方式 调用类方法的快捷方式 使用 ObjectScript 调用类方法时,在以下情况下可以省略包(或更高级别的包): - 引用是在一个类内,并且被引用的类在同一个包或子包中。 - 引用位于类内,并且该类使用 IMPORT 指令导入包含引用的类的包或子包。 - 该引用位于方法内,并且该方法使用 IMPORT 指令导入包含引用的类的包或子包。 从 ObjectScript 或 Python 调用类方法时,在以下情况下可以省略包(或更高级别的包): #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 八月 24, 2023 阅读大约需 2 分钟 第八章 ObjectScript - 变量的可用性和范围 第八章 ObjectScript - 变量的可用性和范围 变量的可用性和范围 ObjectScript 支持以下程序流程,(在大多数方面)与其他编程语言支持的程序流程类似: 用户可能从用户界面调用方法。 该方法执行一些语句,然后调用另一个方法。 该方法定义了局部变量 A、B 和 C。 变量 A、B 和 C 在此方法的范围内。它们对于该方法是私有的。 该方法还定义了Global ^D。 #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 八月 25, 2023 阅读大约需 2 分钟 第九章 ObjectScript - 多维数组 第九章 ObjectScript - 多维数组 多维数组 在 ObjectScript 中,任何变量都可以是多维数组(也称为数组)。多维数组通常用于保存一组以某种方式相关的值。 ObjectScript 提供的命令和函数可以方便、快速地访问值。 可能会也可能不会直接使用多维数组,具体取决于使用的系统类和自己的偏好。当需要一个用于存储相关值集的容器时,IRIS 提供了一种基于类的替代方案。请参阅集合类。 Basics 多维数组由任意数量的节点组成,由下标定义。以下示例设置数组的几个节点,然后打印数组的内容: #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 八月 23, 2022 第 79 讲 锁 - 等待锁 //player.bilibili.com/player.html?aid=302358945&bvid=BV1UP41157BG&cid=812331965&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #Caché #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 八月 18, 2023 阅读大约需 2 分钟 第二章 IRIS 编程简介 - 同时使用类和例程 第二章 IRIS 编程简介 - 同时使用类和例程 同时使用类和例程 在IRIS 中,可以使用例程中的类。例如,下面显示了例程的一部分,其中我们引用了 Sample.Employee类: #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 九月 3, 2023 阅读大约需 2 分钟 第十七章 ObjectScript - 使用宏和包含文件include file 第十七章 ObjectScript - 使用宏和包含文件 使用宏和包含文件 如前所述,可以定义宏并稍后在同一类或例程中使用它们。更常见的是,在包含文件中定义它们。 Macros ObjectScript 支持定义替换的宏。定义可以是一个值、整行代码或(使用 ##continue 指令)多行。 要定义宏,请使用#define 指令或其他预处理器指令。例如: #define macroname <definition> 要引用宏,请使用以下语法: $$$macroname 或者: $$$macroname(arguments) 使用宏来确保一致性。例如: #InterSystems IRIS for Health 0 0 0 43
文章 姚 鑫 · 八月 31, 2023 阅读大约需 2 分钟 第十四章 ObjectScript - 系统函数 第十四章 ObjectScript - 系统函数 系统函数 本节重点介绍 ObjectScript 中一些最常用的系统函数。 这些函数的名称不区分大小写。 类库还提供了大量实用方法,可以像使用函数一样使用它们。 Value Choice 在给定一些输入的情况下,可以使用以下函数来选择一个值: - $CASE 将给定的测试表达式与一组比较值进行比较,然后返回与匹配的比较值关联的返回值。例如: #InterSystems IRIS for Health 0 0 0 42
文章 Lilian Huang · 十二月 29, 2023 阅读大约需 9 分钟 使用 FHIR 适配器在传统系统上提供 FHIR 服务 - 阅读资源 我们继续推出有关可供 HealthShare HealthConnect 和 InterSystems IRIS 用户使用的 FHIR 适配器工具的系列文章。 在前几篇文章中,我们介绍了小型应用程序,并在此基础上建立了我们的工作,并展示了安装 FHIR 适配器后在 IRIS 实例中部署的架构。在今天的文章中,我们将看到一个示例,说明如何执行最常见的 CRUD(创建 - 读取 - 更新 - 删除)操作之一,即读取操作,我们将通过恢复资源来完成此操作。 什么是资源? FHIR 中的一个资源对应一种相关的临床信息,这种信息可以是病人(Patient)、对实验室的请求(ServiceRequest)或诊断(Condition)等。每种资源都定义了组成它的数据类型,以及对数据的限制和与其他类型资源的关系。每个资源都允许对其包含的信息进行扩展,从而满足 FHIR 80% 以外的需求(满足 80% 以上用户的需求)。 在本文的示例中,我们将使用最常见的资源 "Patient"。让我们来看看它的定义: #FHIR #InterSystems IRIS for Health Open Exchange app 0 0 0 42
文章 姚 鑫 · 九月 4, 2023 阅读大约需 3 分钟 第十八章 ObjectScript - 使用例程 第十八章 ObjectScript - 使用例程 例程 可以将例程视为 ObjectScript 程序。例程可以从头开始编写,也可以在编译类时自动生成。 Procedures, Functions, and Subroutines 过程、函数和子程序 在 ObjectScript 例程中,标签定义以下代码单元之一的起点: Procedures过程(可选地返回一个值)。过程中定义的变量是该过程私有的,这意味着它们不可用于其他代码。对于函数和子例程来说,情况并非如此。 过程也称为过程块。 函数(返回值)。 子例程(不返回值)。 建议使用过程Procedures,因为这可以简化控制变量范围的任务。然而,在现有代码中,可能还会看到函数和子例程,并且能够识别它们非常有用。以下列表显示了所有这些形式的代码的外观。 #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 二月 17, 2021 阅读大约需 1 分钟 第三十七章 Caché 变量大全 $ZPARENT 变量 第三十七章 Caché 变量大全 $ZPARENT 变量 包含当前进程的父进程的ID。 大纲 $ZPARENT $ZP 描述 $ZPARENT包含使用JOB命令创建当前进程的父进程的ID。如果当前进程不是使用JOB命令创建的,则$ZPARENT包含0(零)。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 第三十八章 Caché 变量大全 $ZPI 变量 包含pi的值。 大纲 $ZPI 描述 $zpi包含数值常量Pi到小数点后18位的值(3.141592653589793238)。 该值经常用于三角函数,例如正弦函数$ZSIN。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 八月 21, 2023 阅读大约需 3 分钟 第五章 ObjectScript 第五章 ObjectScript 方法和例程都可以用 ObjectScript 编写,但大多数现代代码都是使用方法编写的。方法包含在类中,这允许将类似的方法分组在一起,在类参考中自动生成文档,以及使用 IRIS 的面向对象功能。 这并不意味着routines 不重要。许多有用的系统实用程序都是作为例程编写的,并且在编译类时会生成例程。 示例类 下面显示了一个名为 User.DemoClass 的示例类,其中包含用 ObjectScript 编写的方法。此示例使我们有机会了解一些常见的 ObjectScript 命令、运算符和函数,并了解代码在方法内的组织方式。 #InterSystems IRIS for Health 0 0 0 40
文章 姚 鑫 · 九月 10, 2023 阅读大约需 2 分钟 第二十四章 Classes - 指定属性关键字 第二十四章 Classes - 指定属性关键字 指定属性关键字 在属性定义中,可以包含影响属性使用方式的可选属性关键字。以下列表显示了一些最常见的关键字: Required 指定可以将此类实例之前设置的属性值存储到磁盘。默认情况下,属性不是必需的。在子类中,可以将可选属性标记为必需,但不能执行相反的操作。 InitialExpression 指定属性的初始值。默认情况下,属性没有初始值。子类继承InitialExpression关键字的值并且可以覆盖它。指定的值必须是有效的 ObjectScript 表达式。 Transient 指定该属性不存储在数据库中。默认情况下,属性不是瞬态的。子类继承 Transient 关键字的值并且不能覆盖它。 Private 指定该属性是私有的。子类继承 Private 关键字的值并且不能覆盖它。 #InterSystems IRIS for Health 0 0 0 40
文章 姚 鑫 · 八月 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 } 假设定义一个变量并将其按值传递给此方法: #InterSystems IRIS for Health 0 0 0 39
文章 姚 鑫 · 七月 21, 2023 阅读大约需 3 分钟 第六十五章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - Runtime 第六十五章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - Runtime Runtime 当Production运行时,业务服务会重复调用入站适配器的 OnTask() 方法。此 OnTask 循环由业务服务的 CallInterval 设置和 %WaitForNextCallInterval 属性控制,如下所示: #InterSystems IRIS for Health 0 0 0 39
文章 姚 鑫 · 八月 27, 2023 阅读大约需 1 分钟 第十一章 ObjectScript - 操作符 第十一章 ObjectScript - 操作符 操作符 ObjectScript 中的运算符优先级严格是从左到右;在表达式中,运算按照它们出现的顺序执行。可以在表达式中使用显式括号来强制某些操作先于其他操作执行。 通常,即使并不严格需要括号,也会使用括号。很有用,因为它使代码的意图更加清晰。 Familiar Operators ObjectScript 为常见活动提供以下运算符: #InterSystems IRIS for Health 0 0 0 39
文章 Michael Lei · 十一月 2, 2022 阅读大约需 1 分钟 InterSystems IRIS医疗版的“专精特新” 门为医疗行业打造,深度整合国内外医疗行业标准,专有技术服务医疗行业44年,可能是全球最早从事医疗信息化的公司; 耕细做打磨数十年的稳定、可靠、易用、可扩展的数据平台; 色鲜明,不唯技术、终生负责、以解决客户问题为核心的特色企业文化; #InterSystems 业务解决方案和架构 #InterSystems IRIS for Health 0 0 0 39
文章 姚 鑫 · 八月 23, 2023 阅读大约需 3 分钟 第七章 ObjectScript - Variables 第七章 ObjectScript - Variables Variables 在 ObjectScript 中,有两种变量,按它们保存数据的方式分类: 局部变量可以具有公共或私有范围。 局部变量,在内存中保存数据。 局部变量可以具有公共或私有范围。 Global,在数据库中保存数据。这些也称为全局变量。与Global的所有交互都会立即影响数据库。例如,当设置Global值时,该更改会立即影响存储的内容;没有单独的步骤来存储值。同样,当删除Global时,数据会立即从数据库中删除。 变量名称 变量的命名遵循以下规则: #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 九月 13, 2023 阅读大约需 2 分钟 第二十七章 Classes - 引用其他类成员 第二十七章 Classes - 引用其他类成员 引用其他类成员 在方法中,使用下面的语法来引用其他类成员: 要引用ObjectScript中的参数,使用如下表达式: ..#PARAMETERNAME 只能使用ObjectScript直接访问参数。要从Python访问参数,请使用ObjectScript包装器方法返回参数,并在需要时调用此方法。例如: #InterSystems IRIS for Health 0 0 0 38
文章 姚 鑫 · 十二月 25, 2023 阅读大约需 2 分钟 第五章 使用$ZF(-100)运行程序或系统命令 - 增加权限 第五章 使用$ZF(-100)运行程序或系统命令 - 增加权限 增加%System_Callout:USE权限 $ZF(-100)需要%System_Callout:USE权限。如果安全设置高于最小值,则可能会禁用此特权。下面的过程描述了如何在%Developer角色中启用它: #InterSystems IRIS for Health 0 0 0 38
文章 Louis Lu · 四月 15, 2021 阅读大约需 4 分钟 2020线上峰会 —— 第2天数据平台专题会议精彩回顾 我们刚刚结束了第二天的专题会议,会议内容精彩纷呈!虽然大家无法同时观看多个平行会议,但是线上会议有一个优势,那就是您可以根据自己的需要回看错过的内容! #2020线上峰会 #InterSystems IRIS #InterSystems IRIS for Health #全球峰会 0 0 0 37
文章 姚 鑫 · 八月 29, 2023 阅读大约需 4 分钟 第十三章 ObjectScript - 特殊变量 第十三章 ObjectScript - 特殊变量 特殊变量 一些特殊变量提供有关代码运行环境的信息。其中包括以下内容: - $HOROLOG,包含操作系统给出的当前进程的日期和时间。请参阅日期和时间值。 - $USERNAME 和 $ROLES,包含有关当前使用的用户名以及该用户所属角色的信息。 write "You are logged in as: ", $USERNAME, !, "And you belong to these roles: ",$ROLES $ZVERSION,其中包含标识当前运行的 IRIS 版本的字符串。 其他包括 $JOB、$ZTIMEZONE、$IO 和 $ZDEVICE。 #InterSystems IRIS for Health 0 0 0 37