文章 Louis Lu · 八月 30, 2023 阅读大约需 1 分钟 使用代码获取数据库剩余空间 大家可以通过InterSystems IRIS 管理门户SMP查看当前数据库剩余空间,路径是 Management Portal: System Operation > Database 当然大家也可以通过下面的代码查看数据库的可用磁盘空间: #InterSystems IRIS 0 0 0 94
文章 姚 鑫 · 七月 7, 2023 阅读大约需 3 分钟 第五十一章 开发Productions - ObjectScript Productions - 不常见的任务 第五十一章 开发Productions - ObjectScript Productions - 不常见的任务 定义自定义实用函数 IRIS提供了一组可以从业务规则和DTL中调用的实用函数;这些在开发业务规则的Productions中使用的效用函数中有所描述。可以添加自己的功能,业务规则引擎和业务规则编辑器会自动适应您的扩展。 要添加新的效用函数: #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 七月 5, 2023 阅读大约需 3 分钟 第四十九章 开发Productions - ObjectScript Productions - 使用复杂记录映射器 - 复杂的记录映射类结构 第四十九章 开发Productions - ObjectScript Productions - 使用复杂记录映射器 - 复杂的记录映射类结构 复杂的记录映射类结构 有两个类以类似于描述记录映射的两个类的方式描述复杂的记录映射。描述复杂记录映射的两个类是: 复杂记录映射,描述复杂记录的外部结构并实现复杂记录解析器和编写器。 生成的复杂记录类定义了包含数据的对象的结构。该对象允许在数据转换和路由规则条件中引用数据。 一个复杂的记录映射业务服务读取并解析传入的数据并创建一条消息,该消息是生成的记录类的一个实例。业务流程可以读取、修改或生成生成的复杂记录类的实例。最后,复杂记录映射业务操作使用实例中的数据,使用复杂记录映射作为格式化模板写入输出数据。复杂记录映射类和生成的复杂记录类都具有描述数据的层次结构。复杂记录映射类和生成的复杂记录类具有并行结构。这与 RecordMap 类不同,其中生成的记录类可以具有不同的层次结构。 #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 六月 9, 2023 阅读大约需 2 分钟 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 第三十章 开发Productions - ObjectScript Productions - 定义业务操作 - 调用适配器方法 调用适配器方法 最常见的是,业务操作不包含用于与外部系统通信的逻辑。相反,业务操作使用处理此逻辑的出站适配器。一旦业务操作与出站适配器相关联,它就会调用适配器的方法来发送和接收数据。有关调用适配器方法的详细信息,请参阅从业务主机访问属性和方法。 向生产中的目标发送请求 尽管业务操作主要负责向特定的外部应用程序传递请求,但它也可以根据需要向其他业务操作或业务流程发送消息。要将消息发送到生产中的目标,请调用 SendRequestSync()、SendRequestAsync() 或 SendDeferredResponse()。 Ens.BusinessOperation 定义了一个可以使用的附加方法:DeferResponse()。 #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 五月 17, 2023 阅读大约需 2 分钟 第七章 准备创建Productions - 使用 Productions 的路线图 第七章 准备创建Productions - 使用 Productions 的路线图 以下部分概述了可能希望从中着手的文档资源,具体取决于角色。 IRIS 生产开发人员 如果是准备使用 IRIS 产品的开发人员,请参阅以下资源: Introducing Interoperability Productions 概述了 IRIS 互操作性和可能希望包含在productions中的选项,并提供了指向更详细信息的指针。 创建作品的最佳实践描述了设计、开发和维护作品的最佳实践。 Developing Productions,反过来,它会向指出应用程序开发集中的特定主题:创建Productions和其他指南。 配置Productions描述了在作品中配置项目的详细信息。 IRIS 管理员 如果是准备使用产品的管理员,请参阅以下资源: #InterSystems IRIS 0 0 0 94
文章 Claire Zheng · 二月 28, 2023 阅读大约需 1 分钟 【GS22 视频】如何让脑健康管理变得普惠? 这是InterSystems 2022年全球峰会上来自客户 Cognetivity Neuroscience 的分享。InterSystems IRIS 数据平台助力 Cognetivity Neurosciences 打造脑健康管理评估工具CognlCA。CognlCA 能够在正确的时间将数据提供给正确的人,推动脑健康评估、筛查和管理的节点前置,从而促进脑健康管理的普惠化。 #2022 全球峰会 #InterSystems IRIS #Summit 1 0 0 94
文章 姚 鑫 · 十月 8, 2022 阅读大约需 2 分钟 第十章 CSP 架构 - Category 第十章 CSP 架构 - Category Category: AllowPrefix 如果应用程序依赖于调用以同一组字符开头的多个类或包,请使用AllowPrefix选项。 重要提示:如果应用程序依赖于调用上面列出的以外的任何类,则使用它可能是不安全的。建议确定是否需要调用此类,并为部署执行风险评估,以便了解使类可用的含义。 要使给定的Web应用程序能够调用以相同字符集开头的类或程序包,请在%sys命名空间中使用以下命令: Set ^SYS("Security", "CSP", "AllowPrefix", "web-app-name", "prefix") = value 其中 #CSP #Caché 1 0 0 94
文章 Michael Lei · 九月 13, 2022 阅读大约需 1 分钟 医疗科技行业趋势 医疗科技市场正处于强劲的演变之中。Gartner的医疗科技的波浪图展示了这些技术是什么,非常好地反映了医疗行业的数字化趋势。 其中很多技术都可以使用InterSystems的技术(ISC Health Tech)来实现: 知情同意管理使用InterSystems Healthshare Stack来做患者主索引和知情同意管理。 #InterSystems 业务解决方案和架构 #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 七月 22, 2022 阅读大约需 3 分钟 第四章 使用 %REST.API 类创建 REST 服务 第四章 使用 %REST.API 类创建 REST 服务 本章介绍如何使用 %REST.API 类来创建、更新和删除 REST 服务。 使用 %REST.API 类创建或更新 REST 服务 创建 REST 服务的推荐方法是从 REST 服务的 OpenAPI 2.0 规范开始,并使用它来生成 REST 服务类。要使用 %REST.API 类执行此操作: #REST API #Caché 0 0 0 94
文章 Michael Lei · 六月 26, 2022 阅读大约需 1 分钟 以程序化的方式检查审计设置 下面的代码允许用户查看其实例的审计设置。通过运行类方法 "test "来运行该代码。: #Code Snippet #ObjectScript #Caché 0 0 0 94
Job Tingting Jiang · 六月 21, 2022 InterSystems热招职位(3):Technical Specialist(Product Support) InterSystems正在招聘Technical Specialist(Product Support),欢迎您的自荐、推荐。 #工作机会 0 0 0 94
文章 姚 鑫 · 十一月 30, 2021 阅读大约需 1 分钟 第一章 SQL谓词的概述(一) 第一章 SQL谓词的概述(一) 描述计算结果为真或假的逻辑条件。 使用谓词 谓词是一个条件表达式,其计算结果为布尔值(true或false)。 谓词可以如下使用: #SQL #Caché 0 0 0 94
文章 姚 鑫 · 十月 19, 2021 阅读大约需 5 分钟 第五十章 SQL命令 HAVING(一) 第五十章 SQL命令 HAVING(一) 对一组数据值指定一个或多个限制性条件的SELECT子句。 大纲 SELECT field FROM table GROUP BY field HAVING condition-expression SELECT aggregatefunc(field %AFTERHAVING) FROM table [GROUP BY field] HAVING condition-expression 参数 condition-expression - 由一个或多个布尔谓词组成的表达式,用于控制要检索哪些数据值。 描述 可选的HAVING子句出现在FROM子句、可选的WHERE和GROUP BY子句之后,可选的ORDER BY子句之前。 #SQL #Caché 0 0 0 94
文章 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 94
文章 姚 鑫 · 七月 25, 2021 阅读大约需 3 分钟 类关键字Hidden,Inheritance,Language,LegacyInstanceContext # <center> 第二十一章 类关键字 - Hidden 指定此类是否隐藏(未在类引用中列出)。 # 用法 要隐藏类,请使用以下语法: ```javaClass MyApp.Person [ Hidden ] { //class members }```否则,省略此关键字或将单词Not放在关键字的前面。 # 详解 如果一个类是隐藏的,当使用Visual Studio代码的对象脚本扩展时,它不会在类引用中列出,也不会在studio检查器的工作区窗口中列出,也不会在对象脚本资源管理器窗格中列出。(但是,如果在“打开”对话框中键入该类的名称,或者在使用VS Code - ObjectScript时将其保存到本地工作区,仍然可以在Studio中打开该类。) # 对子类的影响 此关键字不是继承的。 # 默认 如果省略此关键字,则该类不会被隐藏。 # <center> 第二十二章 类关键字 - Inheritance 指定此类的超类的继承顺序。 # 用法 #Caché 0 0 0 94
文章 Michael Lei · 七月 25, 2024 阅读大约需 6 分钟 配置数据库的多卷存储 ISC 开发者们,我向你们致敬 👑。 #数据库 #系统管理 #InterSystems IRIS 0 0 0 93
文章 姚 鑫 · 九月 8, 2023 阅读大约需 2 分钟 第二十二章 Classes - 调用类方法的快捷方式 第二十二章 Classes - 调用类方法的快捷方式 调用类方法的快捷方式 使用 ObjectScript 调用类方法时,在以下情况下可以省略包(或更高级别的包): - 引用是在一个类内,并且被引用的类在同一个包或子包中。 - 引用位于类内,并且该类使用 IMPORT 指令导入包含引用的类的包或子包。 - 该引用位于方法内,并且该方法使用 IMPORT 指令导入包含引用的类的包或子包。 从 ObjectScript 或 Python 调用类方法时,在以下情况下可以省略包(或更高级别的包): #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 九月 4, 2023 阅读大约需 3 分钟 第十八章 ObjectScript - 使用例程 第十八章 ObjectScript - 使用例程 例程 可以将例程视为 ObjectScript 程序。例程可以从头开始编写,也可以在编译类时自动生成。 Procedures, Functions, and Subroutines 过程、函数和子程序 在 ObjectScript 例程中,标签定义以下代码单元之一的起点: Procedures过程(可选地返回一个值)。过程中定义的变量是该过程私有的,这意味着它们不可用于其他代码。对于函数和子例程来说,情况并非如此。 过程也称为过程块。 函数(返回值)。 子例程(不返回值)。 建议使用过程Procedures,因为这可以简化控制变量范围的任务。然而,在现有代码中,可能还会看到函数和子例程,并且能够识别它们非常有用。以下列表显示了所有这些形式的代码的外观。 #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 八月 28, 2022 阅读大约需 2 分钟 第十五章 配置工作队列管理器类别 [toc] 第十五章 配置工作队列管理器类别 工作队列管理器使能够以编程方式将工作分配给多个并发进程,以提高性能。 当使用工作队列管理器初始化一组辅助job时,可以指定提供辅助job的类别。 类别是一个独立的worker job。 例如,假设为系统提供的SQL类别分配了最多8个worker。 然后,假设为与构建DeepSee仪表板相关的进程创建了一个类别,并为该类别分配最多4个worker。 如果在给定的时间内SQL池中的所有工作线程都被占用,DeepSee类别中的工作线程仍然可以立即处理工作项。 系统提供了两个不能删除的类别:Default 和 SQL。默认情况下,这些类别的最大工作线程数是动态的,相当于系统可用内核数的两倍。 #Caché 0 0 0 93
文章 姚 鑫 · 七月 7, 2022 阅读大约需 4 分钟 第二十一章 使用工作队列管理器(四) 第二十一章 使用工作队列管理器(四) 分离和附加工作队列 通常,初始化一组工作程序,将工作项排队,然后等待工作程序完成工作项。但是,可能会遇到工作人员作业完成工作项所需的时间比预期更长的情况,或者无法将单个进程专门用于等待。因此,工作队列管理器使能够将工作队列与进程分离,然后将工作队列附加到同一进程或不同的进程。 例如,假设队列引用了初始化的工作队列。还假设向工作队列中添加了几个工作项。在调用 Wait() 或 WaitForComplete() 来确定正在处理的工作的状态之前,可以使用以下方法: Detach() method Detach(ByRef token As %String, timeout As %Integer=86400) as Status 从初始化工作队列时创建的对象引用中分离工作队列对象。 Detach() 方法使任何正在进行的工作能够继续并保留工作队列的当前状态。 token 参数表示一个安全令牌,可以使用它随后将工作队列附加到另一个进程。 timeout 参数是可选的,它指示系统保留分离的工作队列对象的时间量(以秒为单位)。超时期限过后,系统会删除与工作队列关联的所有工作人员作业和信息。超时的默认值为 1 天。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 四月 20, 2022 阅读大约需 2 分钟 第118章 SQL函数 REVERSE 第118章 SQL函数 REVERSE 标量字符串函数,它以相反的字符顺序返回一个字符串。 大纲 REVERSE(string-expression) 参数 string-expression - 要反转的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 REVERSE 返回字符顺序颠倒的字符串表达式。例如 'Hello World!' 返回为 '!dlroW olleH'。这是一个简单的字符串顺序反转,没有额外的处理。 返回的字符串是数据类型 VARCHAR,与输入值的数据类型无关。数字转换为规范形式,数字字符串在反转之前不会转换为规范形式。 前导和尾随空白不受反转的影响。 反转 NULL 值会导致 NULL。 #SQL #Caché 0 0 0 93
文章 姚 鑫 · 四月 12, 2022 阅读大约需 2 分钟 第110章 SQL函数 POWER 第110章 SQL函数 POWER 一个数值函数,它返回给定表达式的指定幂的值。 大纲 POWER(numeric-expression,power) {fn POWER(numeric-expression,power)} 参数 numeric-expression - 基数。可以是正整数或负整数或小数。 power - 指数,它是数值表达式的幂。可以是正整数或负整数或小数。 POWER 返回 NUMERIC 或 DOUBLE 数据类型。如果 numeric-expression 是数据类型 DOUBLE,则 POWER 返回 DOUBLE;否则,它返回 NUMERIC。 #SQL #Caché 0 0 0 93
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第15讲 间接寻址 //player.bilibili.com/player.html?aid=674371552&bvid=BV1AU4y1H7Wc&cid=374521031&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 93
文章 姚 鑫 · 八月 26, 2021 阅读大约需 2 分钟 Storage关键字IdFunction,IdLocation,IndexLocation,SqlRowIdName 第149章 Storage关键字 - IdFunction 指定使用默认存储为持久类分配新ID值的系统函数。 大纲 <IdFunction>increment</IdFunction> 值 这个元素的值可以是increment(使用$increment函数)或sequence(使用$sequence函数)。 描述 如果持久化类不使用IdKey来确定对象ID值,则该元素允许指定用于分配ID值的函数($increment函数或$sequence函数)。 如果类使用$increment函数,则通过对<IdLocation>元素中定义的全局位置中存储的值进行递增来创建新的id。 #Caché 0 0 0 93
文章 姚 鑫 · 八月 15, 2021 阅读大约需 4 分钟 属性关键字OnDelete,Private,ReadOnly,Required 第105章 属性关键字 - OnDelete 指定删除相关对象时在当前表中采取的操作。此关键字仅适用于将基数Cardinality 指定为“父”或“一”的关系属性。它的使用在所有其他上下文中都是无效的。 用法 要指定删除相关对象时在当前表中采取的操作,请使用以下语法: Relationship relname As classname [ Cardinality = cardinality, Inverse = inverse, OnDelete = ondelete ]; 其中ondelete是以下值之一。在本讨论中,相关记录是属于关系另一方的记录或对象,引用记录是关系这一方的记录或对象。 #Caché 0 0 0 93
文章 姚 鑫 · 七月 24, 2021 阅读大约需 2 分钟 类关键字DependsOn,Deprecated,Final,GeneratedBy 第十七章 类关键字 - DependsOn 指定此类应在编译器使其他(指定的)类可运行后编译。 用法 要指示类编译器应该在其他类可运行后编译此类,请使用以下语法: Class MyApp.MyClass [ DependsOn = classlist ] { //class members } 其中classlist是下列之一: 类名 [ DependsOn = MyApp.Class1 ] 用逗号分隔的类名列表,用括号括起来。 [ DependsOn = (MyApp.Class1,MyApp.Class2,...) ] 详情 此关键字指定类编译器应该在使指定的类可运行后编译此类。 如果此类的编译使用方法生成器逻辑中的这些其他类,则此关键字非常有用。如果类包含调用其他类的初始表达式,这也很有用。 #Caché #Ensemble 0 0 0 93
文章 姚 鑫 · 五月 18, 2021 阅读大约需 6 分钟 第四章 使用Setup和tear Down方法执行测试 第四章 使用Setup和tear Down方法执行测试 示例:使用Setup和tear Down方法执行测试 以通常的方式执行新的单元测试。 #SQL #Caché #Global Masters #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 五月 8, 2021 阅读大约需 7 分钟 第三章 使用多维存储(全局变量)(四) 第三章 使用多维存储(全局变量)(四) 管理事务 InterSystems IRIS提供了使用全局变量实现完整事务处理所需的基本操作。 InterSystems IRIS对象和SQL自动利用这些特性。 如果直接将事务性数据写入全局变量,则可以使用这些操作。 事务命令是TSTART,它定义事务的开始; TCOMMIT,它提交当前事务; 和TROLLBACK,它将中止当前事务,并撤消自事务开始以来对全局变量所做的任何更改。 例如,下面的ObjectScript代码定义了事务的开始,设置了一些全局变量节点,然后根据ok的值提交或回滚事务: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 93
文章 Michael Lei · 八月 6, 2024 阅读大约需 2 分钟 将Production中的设定参数移动到系统默认设置(System Default Settings) 开发新的互操作性Production时,最初在Production中添加设置是很自然的做法。 不过,一旦要将Production从开发环境移动到测试或其他环境,你就会发现 HTTP 服务器、IP 地址和/或端口之类的设置都需要更改。 为了避免这些设置在后续重新部署时被覆盖,必须将这些设置从Production得设置中移动到系统默认设置(System Default Settings)。 虽然系统默认设置可以手动创建,但是当生产中有大量业务组件时会难以处理。 因此,@Wietze Drost 让我开发一个工具自动执行此流程,通过筛选表达式指定哪些设置必须创建为系统默认设置。 #互操作性 #工具 #InterSystems IRIS #InterSystems IRIS for Health #Health Connect 0 1 0 72