公告 Claire Zheng · 一月 28 InterSystems推出两款新的云原生智能数据服务,加速数据库和机器学习应用程序的开发 近日,InterSystems宣布 InterSystems IRIS® Cloud SQL 和 InterSystems IRIS® Cloud IntegratedML® 服务全面上市。 这些全面托管的云原生智能数据服务使开发人员能够轻松地在SQL环境中构建云原生数据库和机器学习(ML)应用程序。 通过 Cloud SQL和 Cloud IntegratedML,开发人员可以访问下一代关系数据库即服务(DBaaS),DBaaS快速且易于配置和使用。 嵌入式AutoML功能支持开发人员在全面托管的、弹性的云原生环境中,仅仅通过几条类似SQL的命令即可轻松开发并执行机器学习模型。 #IntegratedML #SQL #云 #性能 #机器学习 #InterSystems IRIS 0 0 0 17
文章 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 59
文章 Michael Lei · 一月 26 阅读大约需 2 分钟 InterSystems 常见问题解答--日志文件长期保留而未被删除的原因 InterSystems 常见问题解答 如果系统24小时没有停止,旧的日志文件将根据“日志文件删除设置”在0:30删除。 导致日志文件保留的时间早于“日志文件删除设置”的一个可能原因是存在仍处于开放状态的事务。 在这种情况下,您将能够通过搜索执行事务的进程并完成事务来删除日志文件。 下面的示例检查是否存在未完成的事务,如果存在,则输出目标文件名和日志记录信息。 (示例可以从这里下载 *注意*如果要检查的日志文件较大或日志文件较多,则执行需要时间,因此请联系我们的支持中心。 #提示和技巧 #日志 #系统管理 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 27
文章 姚 鑫 · 一月 23 阅读大约需 3 分钟 第七章 使用 SQL Search - 同义词表 第七章 使用 SQL Search - 同义词表 同义词表 要实现同义词表,请将该表定义为扩展 iFind.Synonym 抽象类的持久类。 此类定义了两个属性:FromTerm 和 ToTerm。一对 FromTerm 和 ToTerm 属性将 ToTerm 定义为 FromTerm 的同义词。如果查询包含 FromTerm,SQL 搜索将使用 ToTerm 来扩展查询。 该查询使用此类的 GetMatch() 方法根据查询词在同义词表中搜索同义词。 #InterSystems IRIS for Health 0 0 0 19
文章 Claire Zheng · 一月 17 阅读大约需 1 分钟 新的开发者大赛开始啦,如何在大赛中提交您的应用? 第一步 您需要在Open Exchange中提交并发布您的应用。 第二步 通过您的个人主页/Open Exchange页面进入您个人的开发者页面 在这里您可以找到自己提交成功的全部应用 #开发者社区常见问题 #提示和技巧 #IRIS竞赛 #Open Exchange #开发者社区官方 0 0 0 56
文章 Michael Lei · 一月 15 阅读大约需 2 分钟 FAQ 关于当前通用内存堆(gmheap)和最大可获得锁表(locksiz)大小 作为针对数据导入处理性能和错误(锁定表已满)的衡量标准,可能需要调整常规内存堆 (gmheap) 和锁定表大小 (locksiz) 参数。 事实上,您可以使用终端和管理门户来检查当前分配了多少通用内存堆。 ★终端用 // 一般メモリヒープサマリUSER> w $system .Config.SharedMemoryHeap.GetUsageSummary() 4992226 , 6029312 , 59441152 通用内存堆摘要以使用量、分配量和配置量(字节)的形式显示返回值。 #提示和技巧 #系统管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 27
文章 Claire Zheng · 一月 15 阅读大约需 1 分钟 视频合集 | InterSystems IRIS医疗版互联互通套件产品用例 本文汇聚了InterSystems IRIS医疗版互联互通套件产品用例视频,共19个视频,欢迎收藏、观看!您也可以通过B站视频合集观看全部内容。 #视频 #InterSystems IRIS for Health 0 0 0 41
文章 Claire Zheng · 一月 15 阅读大约需 2 分钟 InterSystems第三次入围Gartner云数据库管理系统魔力象限,2023年荣膺“挑战者”称号 Gartner魔力象限是业内知名的分析报告,针对特定市场进行严谨、基于事实的研究后发布的魔力象限报告,可为用户提供全面视图,以便其了解在高速增长、差异化明显的市场中供应商的相对位置。在魔力象限中,供应商被定位在四个象限中:领导者(Leader)、挑战者(Challenger)、远见者(Visionary)和利基玩家(Niche Player)。 2023年年底,在 Gartner 2023年最新发布的“云数据库管理系统(Cloud DBMS)魔力象限”中,InterSystems再次荣膺“挑战者”(Challenger)称号,这是InterSystems第三次入围这一报告并得到认可(2022年“远见者”,2021年“挑战者”)。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 19
公告 Michael Lei · 一月 10 全球创新:2023 年欧洲医疗健康黑克松Hackathon InterSystems FHIR 挑战赛获胜数字健康项目 嗨,大家好, 我们想重点介绍 2023 年布拉格欧洲欧洲医疗健康黑克松Hackathon期间创建的一些杰出项目。IKEM 和阿斯利康向参与者提出了九个现实世界的医疗保健挑战。 InterSystems 向参与者介绍了使用 FHIR 存储库并通过在 AWS 上提供 FHIR 云服务来在其解决方案中执行 FHIR 可用性的机会。 来认识一下我们挑战的获胜者: 第一名Čarodějové (PathoSync) “PathoSync 软件是复杂病理学家平台的坚实基础。通过使用自定义映射,任何实验室都可以将其数据投影到 FHIR7 标准,该标准很快将在全球范围内强制执行。这使得数字化过程更加顺利。与 InterSystems 的连接确保了质量并实现了很多医疗保健功能。此外,使用位于欧洲的FHIR服务器严格遵循GDPR规范,因此软件的使用遵循欧洲标准。 #FHIR #InterSystems IRIS #其他 0 0 0 22
公告 Claire Zheng · 一月 10 InterSystems 编程大赛:FHIR和数字医疗互操作性 Hi 开发者们, 我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,此次编程大赛关注于“FHIR与数字医疗互操作性”这个主题。 🏆 InterSystems编程大赛:FHIR 与数字医疗互操作性🏆 时间: 2024年1月15日至2月5日(美国东部时间) 奖金池: 14,000 美元 #FHIR #活动 #竞赛 #InterSystems IRIS for Health #IRIS竞赛 1 1 0 105
文章 姚 鑫 · 一月 5 阅读大约需 3 分钟 第十六章 调用Callout Library函数 第十六章 调用Callout Library函数 Callout 库是一个共享库(DLL 或 SO 文件),其中包含 $ZF Callout 接口的挂钩,允许各种 $ZF 函数在运行时加载它并调用其函数。 $ZF Callout 接口提供了四种不同的接口,可用于在运行时加载 Callout 库并从该库调用函数。这些接口的主要区别在于如何识别库并将其加载到内存中: #InterSystems IRIS for Health 0 0 0 18
文章 姚 鑫 · 一月 4 阅读大约需 2 分钟 第十五章 创建Callout Library - 处理 UNIX 信号处理错误 第十五章 创建Callout Library - 处理 UNIX 信号处理错误 处理 UNIX 信号处理错误 在 UNIX 及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl 和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C 和应重新启动的调用。 以下函数允许检查异步事件并在 $ZF 中设置新的警报处理程序。函数声明包含在 iris-cdzf.h 中: sigrtclr() int sigrtclr(); — 清除重试标志。应在使用 sigrtchk() 之前调用一次。 dzfalarm() int dzfalarm(); — 建立新的 `SIGALRM 处理程序。 进入 $ZF 时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。 #InterSystems IRIS for Health 0 0 0 23
公告 Claire Zheng · 一月 2 InterSystems开发者社区中文版:每月摘要(2023年12月) 您好,欢迎了解InterSystems开发者社区中文版2023年12月摘要信息。 统计信息 ✓ 十二月发布了 26 篇新帖子: – 24篇新文章 – 2个新公告 ✓ 十二月有 52 位新成员加入✓ 截至目前共发布 2,028 篇帖子✓ 截至目前共有 1,644 位成员加入 #摘要 #开发者社区官方 0 0 0 23
文章 姚 鑫 · 十二月 31, 2023 阅读大约需 3 分钟 第十一章 创建Callout Library - 使用 J 链接类型传递标准计数字符串 第十一章 创建Callout Library - 使用 J 链接类型传递标准计数字符串 使用 J 链接类型传递标准计数字符串 iris-callin.h 头文件定义了计数字符串结构 IRIS_EXSTR,表示标准 IRIS 字符串。此结构包含一个字符元素数组(8 位、16 位 Unicode 或 32 位 wchar t)和一个指定数组中元素数量的 int 值(最多字符串长度限制): #InterSystems IRIS for Health 0 0 0 16
文章 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 40
文章 姚 鑫 · 十二月 27, 2023 阅读大约需 2 分钟 百讲知识点索引 百讲知识点索引 简介 B站已更新截止到2023.12.31之前的所有百讲课程,总计261讲。 什么是百讲?百讲是一个主要介绍IRIS、Cache编程知识的免费课程。 课程的特点是,将每一个知识点,都会用示例演示出来、了解原理,而不是仅仅告诉有这个功能。 每周一期,每期会请到有多年开发经验的老师来给大家讲解课程。 百讲观看地址:https://www.bilibili.com/video/BV1cw41147xr/ #Caché #InterSystems IRIS 3 1 0 68
文章 姚 鑫 · 十二月 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 29
文章 Nicky Zhu · 十二月 27, 2023 阅读大约需 7 分钟 FHIR小百科 - 处方的表达 在医疗行业中,处方是个非常重要的临床工作数据概念。因此,在考察用FHIR能如何构造我国所需医疗行业数据模型时,就会需要考虑如何用FHIR表达处方。 在2019年,FHIR的工作组已否认需要使用特定的资源来表达处方(不是药嘱)这个概念,见: #FHIR #HL7 #提示和技巧 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 96
文章 姚 鑫 · 十二月 26, 2023 阅读大约需 4 分钟 第六章 创建Callout Library 第六章 创建Callout Library Callout library 库是一个共享库,其中包含自定义Callout函数和允许 IRIS使用它们的启用代码。本章描述如何创建Callout库并在运行时访问它。 - Callout library 简介-描述如何创建和访问Callout library 。 - ZFEntry链接选项 - 提供了决定如何传递函数参数的链接选项的详细描述。 - 兼容语言和编译器-描述如何使用C以外的语言创建Callout库。 - Callout Library运行和运行函数-描述两个可选函数,可将其设置为在加载或卸载标注库时自动运行。 - 故障排除和错误处理-列出了一些应该避免的编码实践,并描述了处理UNIX信号处理错误的特殊函数。 #InterSystems IRIS for Health 0 0 0 30
文章 姚 鑫 · 十二月 25, 2023 阅读大约需 2 分钟 第五章 使用$ZF(-100)运行程序或系统命令 - 增加权限 第五章 使用$ZF(-100)运行程序或系统命令 - 增加权限 增加%System_Callout:USE权限 $ZF(-100)需要%System_Callout:USE权限。如果安全设置高于最小值,则可能会禁用此特权。下面的过程描述了如何在%Developer角色中启用它: #InterSystems IRIS for Health 0 0 0 36
文章 Louis Lu · 十二月 24, 2023 阅读大约需 2 分钟 接收POST请求的Base64 文件 在此文章中将分享,当使用InterSystems IRIS 做后端时如何接收并保存通过POST方式发送过来的 Base64文件。 前后端之间传输文件,我认为较简单的方式是:前端将文件转为Base64格式,调用POST方法并将Base64内容附加在JSON消息中的一个参数中,在JSON消息中的另一个参数可以是文件名,比如消息定义如下: #InterSystems IRIS 0 0 0 72
文章 姚 鑫 · 十二月 23, 2023 阅读大约需 3 分钟 第三章 使用$ZF(-100)运行程序或系统命令 第三章 使用$ZF(-100)运行程序或系统命令 $ZF(-100)函数允许 IRIS 进程调用可执行程序或主机操作系统的命令。这是唯一可以在没有特殊的Callout共享库的情况下使用的$ZF函数。 $ZF(-100)的语法和功能概述。 程序执行-程序可以选择异步运行或在操作系统外壳中运行。 记录命令和重定向输出——可选设置可以记录命令或重定向I/O。 添加%System_Callout:USE特权—使用$ZF(-100)需要此特权。 注意:$ZF(-100)取代了已弃用的函数$ZF(-1)和$ZF(-2),在所有情况下都应优先使用。 #InterSystems IRIS for Health 0 0 0 23
文章 姚 鑫 · 十二月 22, 2023 阅读大约需 3 分钟 第二章 $ZF Callout函数概述 第二章 $ZF Callout函数概述 IRIS $ZF系统功能是一套相关功能的容器。$ZF套件中的大多数函数都由函数调用的第一个参数标识,该参数将是一个负数,-100或-3到-6。例如,调用操作系统命令的函数具有$ZF(-100, <oscommand>)的形式,其中<oscommand>是包含要执行的命令的字符串。当讨论这个函数时,它将被称为$ZF(-100)。以同样的方式,其他函数将被称为$ZF(-3)到$ZF(-6),只使用实际函数调用的第一个参数。也可以在不带负数参数的情况下调用$ZF()函数,在这种情况下,它调用名为iriszf的特殊Callout库中的函数。 #InterSystems IRIS for Health 0 0 0 23
文章 姚 鑫 · 十二月 20, 2023 阅读大约需 2 分钟 第四十一章 XML 映射参数摘要 第四十一章 XML 映射参数摘要 Topic Parameters 启用 XML 映射。 XMLENABLED 类参数 将属性映射到元素或属性。 #InterSystems IRIS for Health 0 0 0 18
文章 姚 鑫 · 十二月 19, 2023 阅读大约需 1 分钟 第四十章 其他特殊主题 - 处理导入时意外的元素和属性 第四十章 其他特殊主题 - 处理导入时意外的元素和属性 处理导入时意外的元素和属性 由于源 XML 文档可能包含意外的元素和属性,因此支持 XML 的类提供两个参数来指定导入此类文档时如何反应。例如,考虑以下类定义: Class GXML.TestImportParms.Person Extends (%Persistent,%XML.Adaptor) { Property Name As %Name [ Required ]; Property DOB As %Date(FORMAT = 5, MAXVAL = "+$h") [ Required ]; } 另请考虑以下 XML 文档: #InterSystems IRIS for Health 0 0 0 20
文章 姚 鑫 · 十二月 18, 2023 阅读大约需 2 分钟 第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出 第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出 当在顶层映射 IRIS 对象(而不是作为另一个对象的属性)时,其内部 ID、OID 和全局唯一 ID 不能用作对象属性,因此不会映射这些 ID。但是,在某些情况下,可能希望使用对象 ID 作为唯一标识符。然后,例如,可以在更新存储的对象之前将传入(已更改)的对象与相应的存储对象进行匹配。 IRIS XML 支持提供了多个帮助程序类,可用于将 IRIS 对象标识符投影到 XML 文档: %XML.Id 中(对于内部 ID)、%XML.Oid(对于 ``)和 %XML.GUID(用于全局唯一 ID)。 #InterSystems IRIS for Health 0 0 0 19
文章 Tete Zhang · 十二月 18, 2023 阅读大约需 2 分钟 镜像备机长时间宕机的处理 最近在多家现场都遇到了备机长时间宕机导致镜像日志写满磁盘的问题。在这里我将对这个问题发生的原因、发生后的处理、和如何预防这类问题发生进行一些讨论。 问题的发生一般始于一些原因导致的主机(如,01)宕机,进而触发镜像的主备切换。切换后备机(如,02)成为主机,并无缝接管业务。由于业务不受影响,如果不注意监控环境的话,很可能现场技术人员长时间都注意不到镜像的备机(01)是宕机状态。 备机长时间宕机会导致如下问题: 1. 这种情况下如果主机(02)再次遇到问题宕机,镜像将无法发挥其高可用性,无法保持业务稳定运行。 2. 主机(02)产生的镜像日志将无法同步到备机(01)。未同步的日志将一直被保存在主机(02)上不被删除。长此以往镜像日志磁盘将被写满,同样导致主机(02)宕机。 问题发现时切记不要手动从文件夹直接删除主机(02)上的镜像日志。未同步的日志一旦手动删除,镜像将无法自动同步,需要重做主备镜像。 问题发现时如果主机(02)还未宕机,此时尝试解决备机(01)问题,启动备机(01),等待镜像自动同步即可。同步完成之后镜像日志将可以被定时任务定时清除。如果遇到较为复杂的情况,现场请第一时间联系您的软件供应商,软件供应商将协同系联软件全球响应中心一起来解决您遇到的具体问题。 #开发运维 #系统管理 #镜像 #高可用性 #Ensemble #InterSystems IRIS for Health 3 0 0 63
文章 姚 鑫 · 十二月 17, 2023 阅读大约需 2 分钟 第三十八章 其他特殊主题 第三十八章 其他特殊主题 类和属性参数 XMLNAME XMLSEQUENCE XMLUNSWIZZLE XMLPREFIX XMLIGNOREINVALIDTAG XMLIGNOREINVALIDATTRIBUTE 控制元素的关闭 在 XML 中,仅包含属性的元素可以用以下任一方式表示: #InterSystems IRIS for Health 0 0 0 21
文章 姚 鑫 · 十二月 16, 2023 阅读大约需 4 分钟 第三十七章 XML 模式的高级选项 - 超类如何表示为类型 第三十七章 XML 模式的高级选项 - 超类如何表示为类型 超类如何表示为类型 如果需要 XML 架构来显示特定的类型层次结构,则需要了解映射如何解释 IRIS 类层次结构。 类层次结构代表了有意义的数据组织等。该层次结构尽可能地反映在相应的 XML 类型定义中。 例如,假设有以下类: - 名为 Base 的类,定义了三个公共属性(Property1、Property2 和 Property3)。 - 名为 Addition1 的类,它扩展 Baseand 并定义一个附加公共属性 (Addition1)。 - 名为 Addition2 的类,它扩展 Addition1 并定义一个附加公共属性 (Addition2)。 #InterSystems IRIS for Health 0 0 0 23
文章 姚 鑫 · 十二月 16, 2023 阅读大约需 1 分钟 第三十六章 XML 模式的高级选项 - 创建子类型的替换组 第三十六章 XML 模式的高级选项 - 创建子类型的替换组 创建子类型的替换组 XML 模式规范还允许定义替换组,这可以是创建选择的替代方法。语法有些不同。无需制作明确的集中类型列表,而是注释可能的替代项,如下所示: #InterSystems IRIS for Health 0 0 0 29