文章 姚 鑫 · 十二月 21, 2021 阅读大约需 7 分钟 第一章 聚合函数概述 第一章 聚合函数概述 计算列的所有值并返回单个聚合值的函数。 支持聚合函数 聚合函数执行与单个列中的一个或多个值相关的任务,并返回单个值。 支持的功能有: #SQL #Caché 0 0 0 76
公告 Claire Zheng · 二月 13, 2023 技术奖励结果公布 | 2023 InterSystems 开发者竞赛:工具(Tool) Hi,开发者们! 以下是2023 年 InterSystems 开发者竞赛:工具(Tool)参赛者应用的技术奖励分数! #工具 #竞赛 #IRIS竞赛 #Open Exchange 0 0 0 76
问题 Michael Lei · 四月 21, 2021 来自英文社区的问题:CDS-示例 请问是否有人有一个使用CDS文件的IRIS / Ensemble实际例子以及一、两个样本CDS文件作为参考。谢谢。 #InterSystems IRIS for Health 0 1 0 76
文章 姚 鑫 · 八月 16, 2021 阅读大约需 4 分钟 属性关键字ServerOnly,SqlColumnNumber,SqlComputeCode,SqlComputed 第109章 属性关键字 - ServerOnly 指定是否将此属性投影到Java客户机。 用法 要指定属性是否被投影到Java客户端,请使用以下语法: Property name As classname [ ServerOnly = n ]; 其中n是下列之一: - 0表示此属性是投影的。 - 1表示不投影该属性。 详解 此关键字指定属性是否被投影到Java客户端。 默认 如果省略此关键字,属性将被投影。 第110章 属性关键字 - SqlColumnNumber 指定此属性的SQL列号。仅适用于持久类。 用法 要指定属性的SQL列号,请使用以下语法: #Caché 0 0 0 76
文章 姚 鑫 · 五月 16, 2021 阅读大约需 6 分钟 第二章 使用%UnitTest进行单元测试 第二章 使用%UnitTest进行单元测试 本教程的第二部分介绍了如何使用%UnitTest包对InterSystems IRIS代码进行单元测试。完成本教程的这一部分后,将能够: 解释%UnitTest包中三个主要类的角色。 列出基于%UnitTest包的单元测试类和方法的要求。 创建并执行方法的单元测试。 浏览%UnitTest.Manager创建的测试报告。 执行单元测试时,使用%UnitTest.TestCase方法初始化和还原数据库数据。 什么是%UnitTest? %UnitTest包是一组为IRIS提供测试框架的类。在结构上,它类似于xUnit测试框架。%UnitTest为创建和执行以下各项的单元测试提供类和工具: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 75
文章 Jingwei Wang · 七月 29, 2022 阅读大约需 33 分钟 InterSystems SQL 的优化 - 第一部分 - 定义和构建索引 什么时候使用索引 索引提供了一种机制,通过维护常用数据的分类子集来优化查询。确定哪些字段应该被编入索引需要一些思考:太少或错误的索引,关键查询会运行得太慢;太多的索引会减慢INSERT和UPDATE的性能(因为索引值必须被设置或更新)。 索引什么 为了确定添加索引是否能提高查询性能,从管理门户的SQL界面运行查询,并在Performance中注意 global引用的数量。添加索引,然后重新运行查询,注意 global引用的数量。一个有用的索引应该减少 global引用的数量。你可以通过使用%NOINDEX关键字作为WHERE子句或ON子句条件的前言来阻止索引的使用。 你应该对JOIN中指定的字段(属性)进行索引。例如,LEFT OUTER JOIN从左表开始,然后查看右表,因此,你应该对右表的字段进行索引。在下面的例子中,你应该为T2.f2编制索引。一个INNER JOIN应该在两个ON子句字段上都有索引。 #SQL #InterSystems IRIS 1 0 0 75
文章 Lilian Huang · 二月 28, 2023 阅读大约需 3 分钟 用一个命令设置您的 InterSystems FHIR 服务器 嗨,InterSystems 开发人员! 最近我更新了FHIR 开发模板,它发布了一个 IPM 包fhir-server ,使 InterSystems FHIR 服务器的设置成为一个微不足道的手动或自动或编程的程序,只需一条命令。 请参阅下文,了解如何从中受益。 TLDR USER>zpm "install fhir-server" 以下所有详细信息。 #FHIR #新手 #HealthShare #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 1 0 0 75
公告 Claire Zheng · 一月 7, 2021 Global Masters 奖励计划:1.5 小时的 InterSystems 专家咨询 亲爱的社区用户,您好! 您知道吗,在 Global Masters,您可以兑换关于以下任何 InterSystems 产品的 InterSystems 专家咨询:InterSystems IRIS数据平台、IRIS医疗版、互操作平台 (Ensemble)、IRIS Analytics (DeepSee)、Caché、HealthShare统一的健康档案。 我们还有一个振奋人心的消息要分享,我们现在可以提供以下语言的咨询: 英语、葡萄牙语、俄语、德语、法语、意大利语、西班牙语、日语、汉语 而且! 咨询时长延长到 1.5 小时,让您与专家深入探讨主题。 #Global Masters 0 0 0 75
问题 Michael Lei · 四月 18, 2022 如何从Terminal访问 Globals 从Terminal 访问 global 内容,答案见英文社区: https://community.intersystems.com/post/view-globals-terminal #Globals #Ensemble 0 1 0 75
文章 姚 鑫 · 十月 3, 2022 阅读大约需 2 分钟 第五章 CSP 架构 - 组件,信息流 第五章 CSP 架构 - 组件,信息流 CSP 组件:Web 服务器、CSP 网关、CSP 服务器 CSP 使用三个软件组件:Web 服务器、CSP 网关和 CSP 服务器(在 Caché 服务器上运行): CSP 组件 Web服务器和CSP服务器可以由一台或多台计算机实现。在开发过程中,所有三个组件(Web 服务器、CSP 网关和 CSP 服务器)可能都位于一台 PC 上。在大规模部署中,可能有多个 Web 服务器和 CSP 服务器采用两层或三层配置。 #CSP #Caché 1 0 0 75
文章 姚 鑫 · 一月 6, 2023 阅读大约需 3 分钟 第三十六章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE 第三十六章 使用 ^PROFILE 监控例程性能 - Using ^PROFILE ^PROFILE 实用程序可帮助程序员分析其应用程序例程和类的性能。它分两个阶段完成此任务: 它收集数据,按例程级别分类,以帮助您确定哪些例程最“有效”。 它允许选择要收集的例程并在行级别详细显示数据(子例程、过程和单独的行),以便可以“向下钻取”到可能导致性能问题的各个例程。 默认情况下,^PROFILE 捕获最多 5000 个例程的指标;如果没有足够的共享内存可用于最大数量的例程,该实用程序会显示一条消息,说明监视此集合所需的内存页数和可用页数。然后,该实用程序会捕获尽可能多的例程的指标。 Using ^PROFILE 从 %SYS 命名空间调用 (^PROFILE) 实用程序: %SYS>do ^PROFILE 当系统提示开始收集数据时,按 Enter。 #Caché 0 0 0 75
公告 Michael Lei · 三月 22, 2023 Caelestinus 2023 孵化器活动正式启动! 大家好! 第二次数字健康互操作与FHIR创业孵化器——Caelestinus,今日启动! 今天,21 支选定的队伍将在 Caelestinus 开始为期八个月的旅程。在孵化期间,团队将数字健康互操作性引入到他们的互联医疗服务或医疗设备创新中,并添加对 FHIR、HL7、DICOM、CDA、X12 和其他数字健康标准的支持,并使用InterSystems IRIS for Health和FHIR Server进行转型在经验丰富的 InterSystems 团队的帮助下。 我很高兴邀请大家观看 Caelestinus 2023 启动活动直播,您可以在其中了解哪些团队被选中以及他们的创新想法。 请从欧洲中部时间下午 3 点开始通过www.caelestinus.tech观看流媒体。 #创业公司 #活动 #其他 0 0 0 75
文章 姚 鑫 · 十一月 24, 2021 阅读大约需 2 分钟 第八十六章 SQL命令 USE DATABASE 第八十六章 SQL命令 USE DATABASE 设置当前名称空间和数据库。 大纲 USE [DATABASE] dbname 参数 dbname - 当前进程将使用的名称空间和相应的数据库作为当前名称空间。 描述 USE DATABASE命令将当前进程切换到指定的名称空间及其关联的数据库。 这允许在SQL中更改名称空间。 DATABASE关键字是可选的。 指定的dbname是所需的命名空间和包含数据库文件的对应目录的名称。 指定dbname作为标识符。 命名空间名称不区分大小写。 由于USER是SQL保留字,因此必须使用分隔标识符来指定用户命名空间,如下面的SQL Shell示例所示: #SQL #Caché 0 0 0 75
文章 姚 鑫 · 七月 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 75
问题 Michael Lei · 五月 18, 2022 如何区别参数是纯numeric string 还是number,比如 "123" 和 "123". Hi,大家好。 我想知道如何区分一个变量是纯数字字符串还是一个数字,比如 "123 "和 "123"。 我只知道一个笨方法。 #部署 #Caché 0 1 0 75
公告 Jingwei Wang · 八月 29, 2022 [视频]使用 Business Process Designer(业务流程设计器) 各位开发者, 新的视频已经发布在BiliBili平台: ⏯ 在InterSystmes IRIS 使用 Business Process Designer(业务流程设计器) //player.bilibili.com/player.html?aid=942536280&bvid=BV1BW4y1t7gA&cid=817983964&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #业务流程 (BPL) #管理门户 #InterSystems IRIS 1 1 0 75
问题 Liang Jianhui · 九月 28, 2022 business process message header 如何获得Business Process 的message header信息? 用扩展函数可以获得每条message的session ID ,进而获得message header的信息,不使用扩展函数可以取得message header的信息吗? #Ensemble #HealthShare 0 2 0 75
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第23讲 JOB命令 //player.bilibili.com/player.html?aid=932680893&bvid=BV1jM4y157Rn&cid=398232413&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 75
文章 姚 鑫 · 三月 26, 2023 阅读大约需 4 分钟 第九章 镜像架构和规划 - 备份处于活动状态时自动进行故障转移 第九章 镜像架构和规划 - 备份处于活动状态时自动进行故障转移 备份处于活动状态时自动进行故障转移 当备份处于活动状态时,如果它可以确认故障转移的第二个条件——即主服务器未作为主服务器运行并且在没有人为干预的情况下无法继续运行,则它有资格作为主服务器接管。备份可以通过以下三种方式之一执行此操作: 通过接收来自主要请求它接管的通信。 这发生在主实例正常关闭期间或当主实例检测到它已挂起时。一旦主要发送此消息,它就不能再充当主要并且活动备份可以安全地接管。如果前一个主节点挂起,新的主节点会迫使它关闭。 通过从仲裁器接收到它已与主节点失去联系的信息。 主要和备用 IRIS 实例与仲裁器保持持续联系,仲裁器会在与其他故障转移成员的联系中断或恢复时更新每个实例。当一个网络事件同时将主节点与备份节点和仲裁节点隔离开来时,它就会无限期地进入故障状态。因此,如果一个活动的备份失去了与主的联系,并从仲裁器得知它也失去了与主的联系,备份可以安全地接管,因为主必须要么已经失败,要么被隔离并处于故障状态,因此不能再充当主要角色。恢复连接时,如果以前的主节点挂起,新的主节点会强制关闭它。 #Caché #InterSystems IRIS 0 0 0 75
文章 姚 鑫 · 七月 16, 2021 阅读大约需 4 分钟 第五章 使用文件 第五章 使用文件 使用文件 %Library.File类提供了几个类方法,允许对文件执行各种操作。 复制文件 若要复制文件,请使用CopyFile()方法,该方法返回一个布尔值来指示成功或失败。 此方法采用四个参数: 1. from 从—指定源文件的名称。 2. to至—指定目标文件的名称。 3. pDeleteBeforeCopy —指定在执行复制之前是否删除目标文件(如果存在)。默认值为0。 4. return 返回—输出参数。如果为负,则包含操作系统返回的错误代码,以防方法失败 下面的第一个示例将目录e:\temp中的文件old.txt复制到new.txt。第二个示例将相同的文件复制到默认目录中的new.txt。 #Caché 0 0 0 74
文章 Tete Zhang · 九月 14, 2022 阅读大约需 5 分钟 集成平台消息相关的常见存储问题 从消息查看器看到清除周期以外的消息没有被正常清除 这种情况先抽查这些消息所处的会话中是否有未完成操作周期的消息(状态为除“Completed”“Error”“Discarded”之外的状态)。如有,且定期清除任务配置了“KeepIntegrity”,且该环境并不需要保留这些消息,可通过关闭清除任务中的“KeepIntegrity”配置清除这些会话和包含的消息。如果有这类消息,但是定期清除任务未配置“KeepIntegrity”,可能是定期清除任务的逻辑或消息数据问题导致清楚任务查找的时候没有覆盖这些消息,请联系WRC帮助排查具体原因。 有关定期清除任务的更多信息请参见文档 Purging Production Data | Managing Productions | InterSystems IRIS for Health 2022.1 #HL7 #开发者社区常见问题 #开发运维 #测试 #系统管理 #Ensemble #InterSystems IRIS for Health 2 0 0 74
文章 Claire Zheng · 一月 21, 2021 阅读大约需 1 分钟 【视频】IRIS数据库在医疗行业发展(2):InterSystems IRIS分析能力 这是“IRIS数据库在医疗行业发展”系列课程的第二讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS强大的分析能力。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。 #视频 #InterSystems IRIS for Health 0 0 0 74
文章 姚 鑫 · 八月 17, 2023 阅读大约需 2 分钟 第一章 IRIS 编程简介 第一章 IRIS 编程简介 简介 IRIS 是一个高性能多模型数据平台,具有内置的通用编程语言 ObjectScript,以及对 Python 的内置支持。 IRIS 支持多进程并提供并发控制。每个进程都可以直接、高效地访问数据。 在 IRIS 中,可以根据喜好编写类、例程或它们的组合。在所有情况下,存储的数据最终都包含在称为全局变量的结构中。 IRIS 编程具有以下特点: - 类和例程可以互换使用。 - 类和例程可以互相调用。 - 类提供面向对象的功能。 - 数据库存储已集成到 ObjectScript 和 Python 中。 - 类可以以简化编程的方式保存数据。如果使用持久类,数据可以同时作为对象、SQL 表和全局变量使用。 - 可以直接从类或例程访问全局变量,这意味着可以灵活地按照想要的方式存储和访问数据。 可以选择适合需求的方法。 #InterSystems IRIS for Health 0 0 0 74
文章 water huang · 十月 6, 2023 阅读大约需 4 分钟 快速创建命名空间 一般情况下,我们根据iris的portal向导创建数据库,然后创建命名空间。这个过程比较花时间,如果是已经存在的数据库,还需要再装载。翻阅portal调用的方法后,我整合了这几个方法。把这几个方法拷贝到任意已经存在的命名空间,通过执行CNNS(路径,命名空间),就可以快速创建好命名空间。方法的大概过程是,进入到%sys命名空间,然后依次创建数据库,创建命名空间,创建web应用。创建完成后,回到当前命名空间。 #命名空间 #工具 #InterSystems IRIS 7 0 0 74
文章 Claire Zheng · 二月 1, 2021 阅读大约需 1 分钟 如何更好地搜索开发者社区? Hi, 大家好! 截止目前,社区上已发布了大量好文章。 甚至许多问题都有非常精彩的回答 (参见统计). 感谢各位的贡献! 因此,有时值得使用搜索功能来查找回答或最佳实践,或者查找您记得已发布但找不到的帖子。 #开发者社区常见问题 #开发者社区官方 0 0 0 74
文章 姚 鑫 · 七月 17, 2022 阅读大约需 4 分钟 第八章 使用嵌入式 Python (五) 第八章 使用嵌入式 Python (五) 通过引用传递参数 用 ObjectScript 编写的方法中的参数可以通过值或引用传递。在下面的方法中,签名中第二个和第三个参数前面的 ByRef 关键字表示它们打算通过引用传递。 ClassMethod SandwichSwitch(bread As %String, ByRef filling1 As %String, ByRef filling2 As %String) { set bread = "whole wheat" set filling1 = "almond butter" set filling2 = "cherry preserves" } 从 ObjectScript 调用方法时,在参数前放置一个句点以通过引用传递它,如下所示: ##嵌入式 Python #Caché 0 0 0 74
文章 Yinhang Hao · 十一月 20, 2023 阅读大约需 2 分钟 通过XSL自动生成消息模型 前言 在日常工作中经常会遇到大量的接口开发需求,对于没有IRIS开发经验的同事来说很不友好,需要求助于公司开发人员来做接口开发,对项目联调进度多少会有些影响,本文站在没有IRIS开发经验的工作人员角度来阐述一下如何利用xslt转换文件自动生成接口联调所需要的Message模型。 基本思路是首先定义一套通用的数据模型,用来接收定义消息所需要的基础属性,包括类名,请求&响应(对应继承Ens.Request&Ens.Response),节点名称、节点长度、是否必填、默认值、字段约束等等。 #InterSystems IRIS for Health 10 1 0 74
文章 Lilian Huang · 五月 26, 2022 阅读大约需 2 分钟 在线用Demo服务器工具的重要性- 引自“Importance of the Online Demo Server facility” #Open Exchange 您可能已经看到邀请分享您的 Open Exchange 应用程序的演示:Share a Demo of Your Open Exchange Application它背后的服务——InterSystems Online Demo Server (ODS)——这不是什么新事物 #InterSystems 业务解决方案和架构 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 74
文章 姚 鑫 · 八月 1, 2021 阅读大约需 3 分钟 索引关键字Data,Extent,IdKey,Internal 第四十九章 索引关键字 - Data 指定其值将存储在此索引中的属性列表。 用法 要在索引, 中存储属性值,请使用以下语法: Index name On property_expression_list [ Data = stored_property_list ]; 其中,stored_property_list 是单个属性名称或括号中以逗号分隔的属性 , 列表。 详解 此关键字指定属性列表,其值将存储在此索引中。 不能将此关键字与位图索引一起使用。 默认 如果省略此关键字,属性值将不会存储在索引中。 示例 Index NameIDX On Name [ Data = Name ]; Index ZipIDX On ZipCode [ Data = (City,State) ]; 第五十章 索引关键字 - Extent 定义范围索引。 #Caché 0 0 0 74