公告 Michael Lei · 一月 27, 2023 InterSystems IRIS 持久化类审计包 大家好, 我在 OEX 上加载了一个新软件包,我也计划在本月参加比赛。 简而言之,它为您提供以下内容。 用于 InterSystems IRIS 的持久(表)类以保存记录历史的基类 这些类允许在touch时将持久类记录历史化到另一个持久类中。 这提供了任何记录的完整历史记录。 它允许记录回滚到特定版本。 它可以自动清除旧的历史记录。 请检查一下。 谢谢你们。 #ObjectScript #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 82
文章 姚 鑫 · 二月 3, 2023 阅读大约需 5 分钟 第六十五章 使用 SNMP 监控 IRIS - 用户定义的 SNMP 监视器类示例 第六十五章 使用 SNMP 监控 IRIS - 用户定义的 SNMP 监视器类示例 本节介绍如何定义可通过 SNMP 查询的用户应用程序监视器类的示例。应用程序监视器仅包括 SNMP 数据中具有 %Monitor 数据类型的属性。 Example Sample Class 以下是此示例的示例类: #Caché 0 0 0 88
文章 姚 鑫 · 三月 22, 2023 阅读大约需 2 分钟 第五章 镜像概述 第五章 镜像概述 传统的高可用性和数据复制解决方案通常需要在基础架构、部署、配置、软件许可和规划方面进行大量资本投资。 IRIS® 数据库镜像旨在为两个 IRIS 实例之间快速、可靠、强大的自动故障转移提供经济的解决方案,从而提供有效的企业高可用性解决方案。 依赖共享资源(如共享磁盘)的传统可用性解决方案通常容易出现与该共享资源相关的单点故障。镜像通过在主镜像成员和备份镜像成员上维护独立的资源来降低这种风险。此外,通过利用逻辑数据复制,镜像避免了与基于 SAN 的复制等物理复制技术相关的风险,包括无序更新和结转损坏。 将分布式缓存与镜像相结合可提供更高级别的可用性;具有镜像数据服务器的分布式缓存集群中的应用程序服务器将镜像故障转移视为数据服务器重启,允许处理在新的主服务器上继续不间断,这大大减少了工作流和用户中断。在不同的数据中心配置两个故障转移镜像成员可提供额外的冗余并防止发生灾难性事件。 #Caché 1 0 0 87
公告 Claire Zheng · 四月 19, 2023 报名启动:欢迎参加InterSystems 中国技术培训认证 为支持医疗信息行业人才发展,InterSystems 为中国市场量身定制了贴近需求、灵活、实操性强的技术认证培训计划,由 InterSystems 资深技术专家亲自授课,帮助用户快速掌握 InterSystems 技术,确保用户从快速发展的 InterSystems 技术中获益,以更好地服务于医院信息化建设。点击此处查看课程详情:InterSystems中国技术培训认证 #开发者社区官方 1 0 1 131
文章 姚 鑫 · 四月 30, 2023 阅读大约需 3 分钟 第四十四章 管理镜像 - 传入日记传输率 第四十四章 管理镜像 - 传入日记传输率 传入日记传输率 在备份和异步成员的镜像成员状态列表下方,自上次刷新镜像监视器以来日志数据从主服务器到达的速率显示在该成员的传入日志传输率下。 首次加载镜像监控页面时,该区域显示文本---(将在刷新时显示)。下次刷新页面时,显示的信息取决于传入的日志数据是否压缩(参见镜像流量压缩),如下: #InterSystems IRIS 0 0 0 67
文章 姚 鑫 · 五月 10, 2023 阅读大约需 3 分钟 第五十四章 镜像中断程序 第五十四章 镜像中断程序 由于计划维护或计划外问题,镜像中一个或两个故障转移成员上的 IRIS 实例可能变得不可用。当故障转移成员的 IRIS 实例不可用时,其 ISCAgent 可能继续可用(如果主机系统仍在运行),也可能不可用(如主机系统关闭时)。本节提供了处理各种计划内和计划外中断场景的过程,这些场景涉及实例中断或一个或两个故障转移成员的全部中断。 如自动故障转移机制中所述,从主要故障转移成员到备份故障转移成员的安全和成功故障转移有两个要求: 确认主实例确实已关闭,并且没有被临时网络问题隔离。 确认备份具有来自主数据库的最新日志数据,因为它在主数据库发生故障时处于活动状态(请参阅镜像同步)或因为它已被手动捕获(请参阅主数据库的计划外中断而没有自动故障转移)。 在阅读和使用本材料时,可能需要参考自动故障转移规则来查看管理自动故障转移的规则。 有关使用镜像监视器确定备份故障转移成员是否处于活动状态或 DR 异步是否被赶上的信息,请参阅镜像成员日志传输和取消日志状态和监控镜像。 #InterSystems IRIS 0 0 0 55
文章 Claire Zheng · 五月 23, 2023 阅读大约需 1 分钟 【视频】医疗信息系统如何获得真正的互操作性? 实现医疗系统之间的互操作性是一项艰巨的挑战。随着FHIR日渐普及,对FHIR标准的兼容如今已成为许多国家医疗信息系统的全国性强制性要求。FHIR标准最有价值的一方面就是所有内容可被机器读取,使得FHIR应用跨机构使用成为可能,帮助您距离“语义互操作性”更近一步。 #FHIR #互操作性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 102
文章 Michael Lei · 六月 7, 2023 阅读大约需 1 分钟 2023 年全球峰会,第二天 你好社区! 今天我继续我的全球峰会活动,欢迎你们来到第二天。 上午的演讲专门针对 IRIS 数据平台(太棒了!)。 Scott Gnau 首先解释了为什么 IRIS 被称为 IRIS。我居然才知道! #Global Summit 2023 #活动 #全球峰会 2 0 0 66
文章 Michael Lei · 六月 12, 2023 阅读大约需 1 分钟 FHIR 小技巧:如何发布 FHIR 文件(医疗信息表、出院小结等) 将 FHIR 文档(例如患者信息表、出院摘要)发布到 FHIR 存储库时: EndPoint端点/Bundle捆绑 您可以使用上述 URL 进行 POST。 (以下示例使用 IRIS for Health 提供的 FHIR 存储库。) 我将检查 GET 请求。 我能够确认我能够注册。 对于在FHIR repository注册的FHIR文档,如果能通过指定文档编号来GET会很方便,由于支持,无法对指定Composition.identifier的Bundle资源进行GET请求。 #FHIR #提示和技巧 #InterSystems IRIS for Health 1 0 1 109
文章 Michael Lei · 六月 20, 2023 阅读大约需 5 分钟 使用 RESTful Web 服务创建Ensemble微服务 这是在 Ensemble 中实现“微服务”设计的初学者指南。 “微服务”是当今流行的一个词,具有广泛的解释。我的解释是:“微服务”是一种“NoSQL 服务”。一个什么?答案在文章中。 我们了解了 SQL 和 NoSQL 数据库之间的区别。对我来说,SOA Web 服务和“微服务”之间的区别几乎相同。我将通过一个例子来解释它。 请注意,虽然这是一本初学者指南,但我假定我对数据建模、RESTful 服务和 Ensemble 有深入的技术知识。 航班预订——示例 我的例子很简单。我想为我的家人订一张机票。我使用www.skyscanner.hu ,但它可以是任何预订网站。那我该怎么办?在着陆页上,我输入了航班信息:我需要从布达佩斯到布拉格并返回的机票,10 月29日起飞,11 月 1日返回,直飞航班,经济舱四人。提交搜索表单后,我会返回可用选项。我选择一个并输入乘客详细信息、折扣计划,最后通过 PayPal 付款。直截了当。 在更详细的版本中:后台发生了什么。 n 开始预订 #REST API #新手 #Ensemble 0 0 0 81
文章 姚 鑫 · 七月 13, 2023 阅读大约需 3 分钟 第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表 第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表 IRIS 提供了名为 Lookup() 的实用函数,以便可以轻松地从业务规则或 DTL 数据转换中执行表查找。此功能仅在创建至少一个查找表并用适当的数据填充后才起作用。 有关定义查找表的信息,请参阅配置产品中的定义数据查找表。 如果需要比管理门户提供的更直接的查找表操作,请在类中使用 Ens.Util.LookupTable。此类公开查找表以通过对象或 SQL 进行访问。此外,它还提供类方法来清除表、将数据导出为 XML 以及从 XML 导入数据。 Ens.Util.LookupTable提供以下字符串属性: #InterSystems IRIS for Health 0 0 0 46
文章 姚 鑫 · 七月 27, 2023 阅读大约需 3 分钟 第四章 HL7 架构和可用工具 - 查看数据结构 第四章 HL7 架构和可用工具 - 查看数据结构 查看数据结构 当单击“数据结构”列中的名称时,InterSystems 会显示该数据结构中的所有字段。这是 HL7 数据结构页面。显示的以下列是最有用的: 组件列列出了可用于访问段内字段的数字。 属性名称列列出了可用于访问段内字段的名称。 单击“数据结构”列中的条目可深入了解详细信息。 单击“代码表”列(如果有)中的条目可查看可在此字段中输入的有效代码。 当单击上面段结构页面中名为 2.3:XCN 的数据结构项时,将出现以下示例页面。该页面指出类别 2.3 数据结构 XCN 描述“扩展复合 ID 号和名称”并由 14 个字段组成。其中,有些是简单值,有些是数据结构,有些是代码。 有了这些信息,就可以为消息结构 2.3:ADT_A01 中的复杂 PR1grp().PR1:Surgeon 字段创建虚拟属性路径,如下所示: #InterSystems IRIS for Health 0 0 0 76
公告 Michael Lei · 八月 7, 2023 开发者圆桌在线论坛:医疗行业中的生成式人工智能用例 大家好, 与我们一起参加 8 月 31 日上午 10 点(美国东部时间)在线开发者圆桌会议,讨论医疗保健中的生成式 AI 使用案例。学习医疗保健领域的用例+参考架构,并观看关于大语言模型的Demo演示。我们将像往常一样有时间进行问答和公开讨论。 通过开发者社区Global Masters报名。 演讲者: @Nicholai Mitchko ,InterSystems 解决方案合作伙伴销售工程师经理 背景: Nicholai 在 InterSystems 管理着一支由 10 名解决方案工程师组成的团队,帮助医疗保健公司大规模设计、开发和交付解决方案。在业余时间,Nicholai 致力于大型语言模型的研究,包括开发自己的模型,这些模型出现在Huggingface OpenLLM 排行榜上。 #AI #活动 #Global Masters 0 0 0 137
文章 姚 鑫 · 八月 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 38
文章 Michael Lei · 九月 18, 2023 阅读大约需 6 分钟 开发者作品展示--几乎实现的向量支持 如今,关于大语言模型、人工智能等的消息不绝于耳。向量数据库是其中的一部分,并且已经有非IRIS的技术实现了向量数据库。 为什么是向量? 相似性搜索:向量可以进行高效的相似性搜索,例如在数据集中查找最相似的项目或文档。传统的关系数据库是为精确匹配搜索而设计的,不适合图像或文本相似性搜索等任务。 灵活性:向量表示形式用途广泛,可以从各种数据类型派生,例如文本(通过 Word2Vec、BERT 等嵌入)、图像(通过深度学习模型)等。 跨模态搜索:向量可以跨不同数据模态进行搜索。例如,给定图像的向量表示,人们可以在多模式数据库中搜索相似的图像或相关文本。 还有许多其他原因。 因此,对于这次 pyhon 竞赛,我决定尝试实现这种支持。不幸的是我没能及时完成它,下面我将解释原因。 ##嵌入式 Python #Docker #Git #GitHub #JDBC #ObjectScript #ODBC #Python #SQL #InterSystems IRIS Open Exchange app 0 0 0 48
公告 jieliang liu · 十月 18, 2023 [视频] 如何自定义 InterSystems IRIS for Health FHIR 存储库 嘿开发者, 欣赏Bilibili InterSystems 中国上的新视频: ⏯如何在 2023 年全球峰会上定制 InterSystems IRIS for Health FHIR 存储库 //player.bilibili.com/player.html?aid=704839935&bvid=BV1kQ4y1s7fd&cid=1303147878&p=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #FHIR #视频 #InterSystems IRIS for Health 0 0 0 39
公告 Claire Zheng · 十一月 23, 2023 投票即将截止!获奖名单将于明天公布(附腾讯会议邀请) 大家好! 🏆InterSystems开发者社区中文版第二届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)即将步入尾声!“征文&投票”环节即将结束(截至11月23日23:59)!来抓住最后的时间为你喜欢的作品投票吧! 11月24日19:00-20:00,InterSystems开发者社区将举办“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行作品分享&点评、探讨热门话题,同期还将送出各类奖品,欢迎参会! 会议主题:InterSystems开发者社区第二届技术征文大赛线上分享会会议时间:2023/11/24 19:00-20:00 (GMT+08:00) 中国标准时间 - 北京 #开发者社区官方 0 0 0 19
文章 姚 鑫 · 十二月 12, 2023 阅读大约需 3 分钟 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 其他支持 XML 的类到 XML 类型的映射 对于支持 XML 的类或基于支持 XML 的类的属性,XML 类型按如下方式确定: 如果该类具有 XMLTYPE 参数的值,则该值将用作类型名称。否则,短类名将被视为 XML 类型名。 例如,考虑以下类定义: #InterSystems IRIS for Health 0 0 0 25
文章 姚 鑫 · 十二月 27, 2023 阅读大约需 2 分钟 第七章 创建Callout Library - 创建 ZFEntry 表 第七章 创建Callout Library - 创建 ZFEntry 表 创建 ZFEntry 表 每个 Callout 库必须定义一个 ZFEntry 表,该表允许 IRIS 加载和访问 Callout 函数。 ZFEntry 表由以 ZFBEGIN 开头、以 ZFEND 结尾的宏代码块生成。在这两个宏之间,必须为要公开的每个函数调用一次 ZFENTRY 宏。 每个 ZFENTRY 调用都采用三个参数: ZFENTRY(zfname,linkage,entrypoint) 其中 zfname 是用于在 $ZF 调用中指定函数的字符串,linkage 是指定如何传递参数的字符串,entrypoint 是 C 函数的入口点名称。 #InterSystems IRIS 0 0 0 28
文章 Louis Lu · 一月 28 阅读大约需 2 分钟 通过SQL语句直接获取JSON格式数据 这里介绍三个SQL函数 JSON_ARRAY 、 JSON_OBJECT和JSON_ARRAYAGG,可以直接通过SQL语句返回JSON格式数据 1. JSON_ARRAY 函数通过逗号(,)分割的多个表达式,返回JSON array格式的数据 #InterSystems IRIS 1 0 0 54
公告 Claire Zheng · 二月 29 InterSystems开发者社区全球技术征文大赛:InterSystems IRIS 教程 Hi 开发者们, 我们带来一些令人兴奋的消息!新一届 InterSystems 技术文章写作比赛到了! ✍️技术征文大赛:InterSystems IRIS 教程✍️ 不论您是什么级别的程序员(初级/中级/高级),我们都欢迎您于2月19日~3月24日(美国东部时间)期间撰写一篇可以被当作 InterSystems IRIS 教程的文章。 🎁 人人有奖:每位参赛作者可获得一份特别奖品! #活动 #竞赛 #IRIS竞赛 2 0 0 55
文章 Hao Ma · 三月 20 阅读大约需 2 分钟 IRIS/Caché SQL优化经验分享 - 复合索引的使用 复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。 为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了: 下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。 mysql CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z); 其实这相当于建立了三个索引,分别是: #SQL #新手 #InterSystems IRIS 0 0 0 29
文章 Hao Ma · 四月 16 阅读大约需 3 分钟 IRIS/Caché SQL优化经验分享 - SQL索引分析器 索引分析器工具用来分析索引的使用情况,对DBA和开发者非常有用。 他们需要知道那些查询进行了全表扫描,那些查询缺失了索引, 而那些索引从来又从来没有被用过。多余的索引降低系统性能,浪费了磁盘空间。 索引使用情况 到“管理门户”的" 系统 > SQL 性能工具 > SQL 索引分析器", 点击“索引使用情况”, 您将看到这样的图 执行SQL语句查询会带来更多的灵活性。上面的查询可以写成下面这个SQL, SELECT TableName, indexname, UsageCount FROM %SYS_PTools.UtilSQLAnalysisDB order by usagecount desc 2016年以后的Caché版本就已经有了'索引使用情况'的查询。使用管理门户没有区别, 但SQL语句不同,使用的是比较老的类和表名,各位请参考文档。 #SQL #新手 #InterSystems IRIS 0 0 0 21
公告 jieliang liu · 一月 7, 2021 InterSystems IRIS 和 IRIS for Health 2020.4 预览版本已发布! 现在,InterSystems IRIS、IRIS for Health 和 IRIS Studio 的 2020.4 版发布了预览版本。由于是预览版本,因此我们渴望在下个月正式发布之前了解您对新版本的体验。 #版本 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 101
文章 Qiao Peng · 一月 14, 2021 阅读大约需 7 分钟 使用类投影安装 Caché 应用程序 您好! 本文介绍另一种为基于 InterSystems Caché 的解决方案创建安装程序的简单方法。 主题将涵盖只需一项操作即可安装或从 Caché 中完全删除的应用程序。 如果您仍在编写需要执行多个步骤才能安装应用程序的安装说明,是时候将这个过程自动化了。 #对象数据模型 #终端 #编译器 #部署 #Caché 0 0 0 88
文章 jieliang liu · 一月 8, 2021 阅读大约需 5 分钟 ObjectScript类浏览器 - 以UML类图方式浏览ObjectScript类 你好! #对象数据模型 #ObjectScript #可视化 #工具 #Caché #Ensemble #HealthShare #InterSystems IRIS #Open Exchange Open Exchange app 0 0 1 307
文章 Hao Ma · 一月 15, 2021 阅读大约需 3 分钟 IAM实践指南——OAuth 2.0下的API保卫战(第二部分) 在这个由三部分组成的系列文章中,我们将展示如何在OAuth 2.0标准下使用IAM简单地为IRIS中的未经验证的服务添加安全性。 在第一部分中,我们介绍了一些OAuth 2.0背景知识,以及IRIS和IAM的初始定义和配置,以帮助读者理解确保服务安全的整个过程。 现在,本文将详细讨论和演示配置IAM所需的步骤——验证传入请求中的访问令牌,并在验证成功时将请求转发到后端。 #API #OAuth2 #REST API #安全 #InterSystems IRIS 0 0 0 221
公告 Claire Zheng · 一月 26, 2021 投票时间!InterSystems多模型数据库竞赛 亲爱的社区开发者们! 本周进入 InterSystems多模型数据库竞赛的投票环节!是时候为你所认可的最佳方案投票了! 🔥 投票通道: 点击投票 🔥 如何投票? #多模型 #竞赛 #InterSystems IRIS #Open Exchange 0 0 0 83