文章 Hao Ma · 十月 28, 2024 阅读大约需 1 分钟 安装IRIS docker container - 索引 我在3年前写过同样内容的文章。随着IRIS版本的更新,安装的细节有了些变化,而且,尤其是2024年以后的版本不再使用PWS(Private Web Server), 安装最新版本的IRIS通常同时要安装一个外部的Web服务器,Apache或者nginx。 另外, 大家对自动部署的需要越来越多,因此我也会在下面的内容里面包括自动部署,配置iris, 安装软件等等内容。希望给各位一个基本完整的介绍。 内容列表如下: 基础篇 IRIS images的下载和docker run apache-webgateway container到iris的连接 nginx-webgateway container到iris的连接 iris-main和在container外保存iris数据 配置iris的新方法:CPF merge ... 随时更新 #新手 #部署 #InterSystems IRIS 1 0 0 77
讨论 Claire Zheng · 七月 25, 2024 来分享一下!看看开发者社区AI(Developer Community AI)能够如何帮到你 Hi社区成员们! 你可能已经知道了,, 我们的 Developer Community AI(开发者社区AI) 已经运行一个多月了 🎉 我们希望你能够出于好奇来尝试一下 😁 如果你还没试过,那就试试吧!无论如何,由于它仍在测试阶段,我们非常有兴趣了解你对它的看法,也很期待听到你的想法和经验。 我们重视你为此付出的时间和精力,所以将随机赠送一个可爱的奖品给愿意分享自己想法的社区成员。要参加此抽奖活动,你需要遵循以下准则: #Artificial Intelligence (AI) #开发者社区官方 1 0 0 77
公告 Claire Zheng · 五月 20, 2024 【精彩会议回放】区域医疗信息互联互通新发展研讨会在深圳举办 为推动《“十四五”全民健康信息化规划》全面实施,充分发挥国家医疗健康信息互联互通标准化成熟度评测工作对区域医疗信息交换促进作用,为医疗数据合规高效流通使用奠定坚实基础。《中国卫生信息管理杂志》社主办、深圳市卫生健康信息协会协办、InterSystems中国承办的区域信息互联互通新发展研讨会于5月11日在深圳举办。 国家卫生健康委统计信息中心胡建平副主任线上参会并致辞、广东省卫生健康委员会事务中心傅承主副主任、深圳市卫生健康信息协会林德南会长参加会议并致辞。胡建平副主任在视频致辞中强调了医疗健康信息互联互通标准化成熟度测评对区域全民健康信息化和智慧医院建设起到的重要作用,总结了互联互通标准化成熟度测评主要开展的四方面工作,指出下一步工作要从网络通、应用通、数据通等三个维度持续发力,通过叠加区块链等信息技术,实现互联互通从1.0阶段向2.0阶段跃迁,赋能卫生健康事业高质量发展。 #InterSystems IRIS for Health #开发者社区官方 0 0 0 77
InterSystems 官方 Claire Zheng · 四月 24, 2024 InterSystems IRIS、IRIS for Health和HealthShare HealthConnect的维护版本2022.1.5 & 2023.1.4现已发布 InterSystems IRIS、IRIS for Health和HealthShare HealthConnect的维护版本2022.1.5 & 2023.1.4现已发布 #版本 #Health Connect #InterSystems IRIS #InterSystems IRIS for Health #InterSystems 官方 0 0 0 77
文章 姚 鑫 · 七月 9, 2023 阅读大约需 4 分钟 第五十三章 开发Productions - ObjectScript Productions - 不常见的任务 - 使用 Ens.Director 访问设置 第五十三章 开发Productions - ObjectScript Productions - 不常见的任务 - 使用 Ens.Director 访问设置 使用 Ens.Director 访问设置 即使production未运行,类中的以下 Ens.Director 方法也允许检索生产设置: GetAdapterSettings() 返回一个数组,其中包含所标识的配置项(业务服务或业务操作)的所有适配器设置的值。该数组由设置名称下标。可以使用 IRIS $ORDER 函数来访问数组的元素。此方法的第一个参数是一个字符串,其中包含由两个竖线 (||) 分隔的产品名称和配置项名称。返回值是状态值。如果状态值不是 $$$OK,则无法找到指定的生产名称 (myProd) 和配置项名称 (myOp) 组合。 #InterSystems IRIS for Health 0 0 0 77
文章 姚 鑫 · 六月 18, 2023 阅读大约需 6 分钟 第六十一章 镜像中断程序 - 计划故障转移到提升的 DR 异步 第六十一章 镜像中断程序 - 计划故障转移到提升的 DR 异步 计划故障转移到提升的 DR 异步 如果在镜像中包含一个或多个 DR 异步以提供灾难恢复功能,则最好通过计划的故障转移到每个 DR 异步来定期测试此功能。要执行此测试,或者当出于任何其他原因(例如包含故障转移成员的数据中心计划停电)而想要故障转移到 DR 异步时,请使用以下过程: 将 IRIS C 提升为故障转移成员;因为 IRIS A 可用,所以不会要求您选择故障转移伙伴。 IRIS C 成为备份, IRIS B(如果存在)降级为 DR 异步。 注意:如果镜像仅包含一个故障转移成员,则过程相同;不需要选择故障转移伙伴, IRIS C 成为备份,因此镜像现在有两个故障转移成员。 #InterSystems IRIS for Health 1 0 1 77
文章 姚 鑫 · 五月 10, 2023 阅读大约需 3 分钟 第五十四章 镜像中断程序 第五十四章 镜像中断程序 由于计划维护或计划外问题,镜像中一个或两个故障转移成员上的 IRIS 实例可能变得不可用。当故障转移成员的 IRIS 实例不可用时,其 ISCAgent 可能继续可用(如果主机系统仍在运行),也可能不可用(如主机系统关闭时)。本节提供了处理各种计划内和计划外中断场景的过程,这些场景涉及实例中断或一个或两个故障转移成员的全部中断。 如自动故障转移机制中所述,从主要故障转移成员到备份故障转移成员的安全和成功故障转移有两个要求: 确认主实例确实已关闭,并且没有被临时网络问题隔离。 确认备份具有来自主数据库的最新日志数据,因为它在主数据库发生故障时处于活动状态(请参阅镜像同步)或因为它已被手动捕获(请参阅主数据库的计划外中断而没有自动故障转移)。 在阅读和使用本材料时,可能需要参考自动故障转移规则来查看管理自动故障转移的规则。 有关使用镜像监视器确定备份故障转移成员是否处于活动状态或 DR 异步是否被赶上的信息,请参阅镜像成员日志传输和取消日志状态和监控镜像。 #InterSystems IRIS 0 0 0 77
文章 姚 鑫 · 六月 27, 2022 阅读大约需 7 分钟 第十二章 信号(二)- 生产者消费者示例 第十二章 信号(二)- 生产者消费者示例 下面是一系列使用信号量实现生产者/消费者场景的类。 “主”进程初始化信号量并等待用户指示活动已全部完成。生产者在循环中随机增加一个信号量值,更新之间的延迟可变。消费者尝试在随机时间从信号量中删除随机数量,也是在循环中。该示例由 5 个类组成: - Main – 初始化环境并等待信号量上的活动完成的类。 - Counter – 实现信号量本身的类。它记录它的创建以及由于信号量在等待列表中而发生的任何回调。 - Producer – 一个类,其主要方法增加信号量值。增量是一个随机选择的小整数。完成增量后,该方法会在下一个增量之前延迟一小段随机数秒。 - Consumer 消费者——这是对生产者的补充。此类的主要方法尝试将信号量减少一个随机选择的小整数。它将递减请求添加到其等待列表中,等待时间也是随机选择的秒数。 - Util - 这个类有几个方法被示例的其他类使用。几种方法解决了为所有活动维护公共日志的问题;其他人解决了多个消费者和多个生产者的命名问题。 #SQL #Caché 0 0 0 77
文章 姚 鑫 · 六月 25, 2022 阅读大约需 2 分钟 第十章 设置结构化日志记录(二) 第十章 设置结构化日志记录(二) 注:IRIS有,Cache无。 启用结构化日志记录 ^LOGDMN 例程允许管理结构化日志记录;还有一个基于类的 API,将在下一节中介绍。 要使用 ^LOGDMN 启用结构化日志记录: 打开终端并输入以下命令: set $namespace="%sys" do ^LOGDMN 这将启动一个带有以下提示的例程: #SQL #Caché 0 0 0 77
文章 姚 鑫 · 三月 19, 2022 阅读大约需 4 分钟 第八十六章 SQL函数 $LISTLENGTH 第八十六章 SQL函数 $LISTLENGTH 返回指定列表中元素数量的列表函数。 大纲 $LISTLENGTH(list) 参数 list- 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。您可以使用 SQL 或 ObjectScript 的 $LISTBUILD 或 $LISTFROMSTRING 函数创建列表。您可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。 描述 $LISTLENGTH 返回列表中元素的数量。 此函数返回 SMALLINT 类型的数据。 示例 以下嵌入式 SQL 示例返回 3,因为列表中有 3 个元素: #SQL #Caché 0 0 0 77
文章 姚 鑫 · 三月 3, 2022 阅读大约需 4 分钟 第七十章 SQL函数 $JUSTIFY 第七十章 SQL函数 $JUSTIFY 在指定宽度内右对齐值的函数,可以选择舍入到指定的小数位数。 大纲 $JUSTIFY(expression,width[,decimal]) 参数 expression - 要右对齐的值。它可以是数字值、字符串文字或解析为数字或字符串的表达式。 width - 表达式要在其中右对齐的字符数。正整数或计算结果为正整数的表达式。 decimal - 可选-小数位数。正整数或计算结果为正整数的表达式。将表达式中的小数位数四舍五入或填充到此值。如果指定DECIMAL,会将表达式视为数字。 描述 $JUSTIFY返回在指定宽度内右对齐的表达式指定的值。可以包括小数参数以在宽度内小数对齐数字。 #SQL #Caché 0 0 0 77
文章 姚 鑫 · 一月 24, 2022 阅读大约需 1 分钟 第三十三章 SQL函数 COT 第三十三章 SQL函数 COT 标量数值函数,返回角度的余切值(以弧度为单位)。 大纲 {fn COT(numeric-expression)} 参数 numeric-expression - 数值表达式。 这是一个用弧度表示的角。 COT返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, COT返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 77
文章 姚 鑫 · 十二月 12, 2021 阅读大约需 3 分钟 第十三章 SQL谓词 IS JSON 第十三章 SQL谓词 IS JSON 确定数据值是否为JSON格式。 注意:IRIS版本可用。其他不行。 大纲 scalar-expression IS [NOT] JSON [keyword] 参数 scalar-expression - 正在检查JSON格式的标量表达式。 keyword - 可选—可选值、标量、数组或对象。 默认为VALUE。 描述 IS JSON谓词确定数据值是否为JSON格式。 下面的示例确定谓词是否是格式化正确的JSON字符串,是JSON对象还是JSON数组: #SQL #Caché 0 0 0 77
文章 姚 鑫 · 十月 28, 2021 阅读大约需 7 分钟 第五十九章 SQL命令 JOIN(一) 第五十九章 SQL命令 JOIN(一) 基于两个表中的数据创建表的SELECT子句。 #SQL #Caché 0 0 0 77
文章 姚 鑫 · 九月 24, 2021 阅读大约需 4 分钟 第二十五章 SQL命令 CREATE VIEW(二) 第二十五章 SQL命令 CREATE VIEW(二) 通过视图更新 视图可用于更新视图所基于的表。可以通过视图插入新行,更新通过视图看到的行中的数据,以及删除通过视图看到的行。如果CREATE VIEW语句指定了此功能,则可以为视图发出INSERT、UPDATE和DELETE语句。要允许通过视图进行更新,请在定义视图时指定WITH CHECK选项(默认值)。 注意:如果视图基于分片表,则不能通过WITH CHECK OPTION视图进行INSERT、UPDATE或DELETE操作。 尝试这样做会导致一个SQLCODE -35,其中%msg INSERT/UPDATE/DELETE not allowed for view (sample.myview) based on sharded table with check option conditions。 #SQL #Caché 0 0 0 77
公告 Johnny Wang · 九月 2, 2021 2021 年 8 月学习资料:现已上线! 2021 年 8 月的学习资料现在可以在learning.intersystems.com上独家获取!您可以: 先睹为快:2021 年虚拟峰会体验实验室 使用自适应分析(Adaptive Analytics)解决方案来组建你的第一个数据模型 免费试用 InterSystems IRIS 社区版 查看 InterSystems 文档中的分析 申请即将举行的线上技术课程 立刻报名! #自适应分析(Adaptive Analytics) #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 77
文章 姚 鑫 · 八月 14, 2021 阅读大约需 3 分钟 属性关键字InitialExpression,Internal,Inverse,MultiDimensional 第101章 属性关键字 - InitialExpression 指定此属性的初始值。 用法 要指定此属性的初始值,请使用以下语法: Property name As classname [ InitialExpression = initialexpression ]; 其中,initialexpression是用大括号括起来的常量或ObjectScript表达式。 详解 此关键字指定属性的初始值。该值是在创建新实例时由类的%New()方法分配的。(如果属性是瞬态的的,则其初始值由创建实例时%New()调用的代码或实例从磁盘加载到内存时%OpenId()调用的代码确定。) 初始表达式的值必须适合给定的属性类型。 表达式可以是任意复杂的,有以下限制: #Caché 0 0 0 77
文章 姚 鑫 · 八月 12, 2021 阅读大约需 3 分钟 属性关键字Aliases,Calculated,Cardinality,ClientName 第九十三章 属性关键字 - Aliases 指定此属性的其他名称,以便通过对象访问使用。 用法 要为属性指定其他名称,请使用以下语法: Property name As classname [ Aliases=othernames ]; 其中othernames是用逗号分隔的有效属性名列表,用大括号括起来。 详解 如果指定别名关键字,编译器会创建一个或多个给定的别名,这些别名指向原始属性所指向的同一基础数据。例如,重新定义Sample.Person的Name属性,如下所示: Property Name As %String(POPSPEC = "Name()") [ Aliases = {Alternate}, Required ]; 然后,代码可以使用Name属性或等效的Alternate属性,如以下终端会话所示: #Caché 0 0 0 77
问题 zhangchao · 七月 17, 2024 IRIS通过JDBC连接第三方Oracle数据库如何设置字符集 IRIS通过JDBC连接第三方数据库汉字查询乱码,第三方反馈需要设置字符集,不知字符集该如何设置 #JDBC #InterSystems IRIS for Health 0 0 0 76
文章 Jingwei Wang · 六月 23, 2024 阅读大约需 8 分钟 用不到150 行代码创建 IRIS 功能齐全的现代后端应用程序 低代码挑战 想象一下那个场景。您正在 Widgets Direct 愉快地工作,这是互联网上首屈一指的小部件和小部件配件零售商。您的老板有一些毁灭性的消息,一些客户可能对他们的小部件不太满意,我们需要一个帮助台应用程序来跟踪这些投诉。为了让事情变得有趣,他希望代码占用非常小,并挑战您使用 InterSystems IRIS 以少于 150 行代码交付应用程序。这可能吗? 免责声明:本文记录了一个非常基本的应用程序的构建,为了简洁起见,省略了安全性和错误处理等细节。该应用程序仅供参考,不得用于任何生产应用。本文使用IRIS 2023.1作为数据平台,并非所描述的所有功能在早期版本中都可用 第 1 步 - 定义数据模型 我们首先定义一个新的干净的命名空间 - 带有代码和数据数据库。虽然所有内容都可以位于 1 个数据库中,但将它们拆分以便于数据刷新。 #Cube #JSON #ObjectScript #REST API #SQL #互操作性 #分析 #数据导入和导出 #管理门户 #InterSystems IRIS 0 0 0 76
文章 姚 鑫 · 九月 18, 2023 阅读大约需 2 分钟 第三十一章 Classes - 继承规则= 第三十一章 Classes - 继承规则 继承规则 与其他基于类的语言一样,可以通过继承组合多个类定义。 类定义可以扩展(或继承)多个其他类。这些类又可以扩展其他类。 请注意,类不能继承 Python 中定义的类(即 .py 文件中包含的类定义),反之亦然。 以下小节提供了中类继承的基本规则。 继承顺序 使用以下继承顺序规则: 默认情况下,如果在多个超类中定义了给定名称的类成员,则子类将从超类列表中最左边的类中获取定义。 如果类定义包含 Inheritance = right,则子类从超类列表中最右侧的类中获取定义。 由于历史原因,大多数类都包含 Inheritance = right。 主要的超类 任何扩展其他类的类都有一个主要超类。 无论类使用哪种继承顺序,主超类都是第一个,从左到右阅读。 对于任何类级编译器关键字,给定类使用其主超类中指定的值。 对于持久化类来说,主超类尤其重要。 #InterSystems IRIS for Health 1 0 0 76
文章 姚 鑫 · 九月 17, 2023 阅读大约需 2 分钟 第三十章 Classes - 方法生成器 第三十章 Classes - 方法生成器 方法生成器 方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。 Class Queries 类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例: #InterSystems IRIS for Health 0 0 0 76
文章 姚 鑫 · 九月 9, 2023 阅读大约需 2 分钟 第二十三章 Classes - 属性 第二十三章 Classes - 属性 形式上 IRIS 有两种属性: 属性,保存值。该值可以是以下任意值: 单个文字值,通常基于数据类型。 对象值(包括集合对象和流对象)。 多维数组。这种情况不太常见。 属性一词通常仅指作为properties的attributes,而不是指具有关联的属性。 关系,保持对象之间的关联。 可以在包含 ObjectScript 方法、Python 方法或两者组合的类中定义属性。但是,无法从 Python 方法访问关系。本节展示了一个示例类,其中包含显示以下一些变体的属性定义: #InterSystems IRIS for Health 0 0 0 76
文章 姚 鑫 · 八月 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 76
文章 姚 鑫 · 七月 26, 2023 阅读大约需 3 分钟 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 第三章 HL7 架构和可用工具 - 使用 HL7 架构结构页面 使用 HL7 架构结构页面 通过 HL7 架构页面,可以导入和查看 HL7 版本 2 架构规范。要显示此页面,请从主页中选择互操作性 > 互操作 > HL7 v2.x > HL7 v2.x 架构结构。有关使用此页面的一般信息,请参阅在产品中使用虚拟文档中的“使用架构结构页面”。 HL7 模式页面提供了一个附加选项卡:消息类型。此选项卡将两个消息结构标识为请求/响应对。 查看文档类型列表 要列出某个类别中的所有文档类型结构,请首先选择该类别,然后单击“DocType 结构”选项卡。 #InterSystems IRIS for Health 1 0 0 76
公告 jieliang liu · 七月 5, 2023 [视频] 为什么横向扩展就像团队合作 嗨,开发者, 欣赏InterSystems Bilibili上的新视频: ⏯为什么水平可扩展性就像团队合作 @ 2022 年全球峰会 //player.bilibili.com/player.html?aid=997773248&bvid=BV1xs4y1r7Yo&cid=1179092746&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #InterSystems IRIS 1 0 0 76
文章 姚 鑫 · 六月 24, 2023 阅读大约需 2 分钟 第三十八章 ObjectScript Productions - Defining Business Metrics - 业务指标中的其他选项 第三十八章 开发Productions - ObjectScript Productions - Defining Business Metrics - 业务指标中的其他选项 业务指标中的其他选项 本节介绍业务指标类中的其他选项。 定义在仪表板中使用的操作 业务指标类可以定义操作,可以将这些操作公开为仪表板中的用户选项。一个操作可以执行客户端活动(例如过滤和刷新仪表板)和服务器端活动(例如调用您自己的 API)的组合。作用机制很一般。 要定义操作,请实施业务指标类的 %OnGetActionList() 和 %OnDashboardAction() 方法。有关这些方法的信息,请参阅实施 商业智能中的定义自定义操作。 #InterSystems IRIS for Health 0 0 0 76
文章 Claire Zheng · 五月 11, 2023 阅读大约需 1 分钟 【视频】InterSystems 2023CHITEC之旅完美收官! 2023年4月14日-16日,2023 CHITEC在合肥圆满举办!此次盛会期间,创新的数据技术提供商InterSystems通过展位展示、主题研讨会、分论坛演讲等方式,全方位多角度展示了“加速评测,助力公立医院高效建设互联互通平台和数据中心”的能力,吸引了众多参会嘉宾。 #其他 1 0 0 76
文章 姚 鑫 · 五月 2, 2023 阅读大约需 5 分钟 第四十六章 管理镜像 - 更新镜像成员网络地址 第四十六章 管理镜像 - 更新镜像成员网络地址 当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示: 由于 IRIS 实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。 注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。 #InterSystems IRIS 0 0 0 76
文章 姚 鑫 · 十月 18, 2022 阅读大约需 3 分钟 第二十章 CSP Session 管理 - 状态管理 第二十章 CSP Session 管理 - 状态管理 状态管理 因为 HTTP 是无状态协议。为 Web 编写的应用程序必须使用特殊技术来管理应用程序上下文或状态。 CSP 提供了许多用于状态管理的机制。这些中的每一个都可能适用于特定情况。 请求之间的跟踪数据 Web 应用程序中状态管理的基本问题是跟踪连续 HTTP 请求之间的信息。有许多可用的技术,包括: 使用隐藏的表单字段或 URL 参数在单个页面上存储数据 将数据存储在客户端的 cookie 中 将数据存储在服务器上的对象中的 %CSP.Session中 在 Caché 数据库中存储数据 在页面中存储数据 要将状态信息存储在页面中,必须放置它以便来自该页面的后续请求包含该信息。 #CSP #Caché 0 0 0 76