文章 姚 鑫 · 十月 20, 2021 阅读大约需 6 分钟 第五十一章 SQL命令 HAVING(二) 第五十一章 SQL命令 HAVING(二) In和%INLIST谓词 IN谓词用于将值与一系列非结构化的项进行匹配。 %INLIST谓词是 IRIS扩展,用于将值与列表结构的元素进行匹配。 使用任一谓词,都可以执行相等比较和子查询比较。 在中有两种格式。第一个用作使用与OR运算符链接在一起的多个相等比较的速记。例如: SELECT Name, Home_State FROM Sample.Person GROUP BY Home_State HAVING Home_State IN ('ME','NH','VT','MA','RI','CT') 如果Home_State等于括号列表中的任意值,则计算为TRUE。列表元素可以是常量或表达式。排序规则适用于IN比较,因为它适用于相等性测试。默认情况下,IN比较使用字段定义的排序规则类型;默认情况下,字符串字段定义为SQLUPPER,不区分大小写。 #SQL #Caché 0 0 0 106
文章 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 106
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第22讲 Do命令 //player.bilibili.com/player.html?aid=975150747&bvid=BV1x44y1C7qP&cid=400717734&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 106
文章 姚 鑫 · 八月 24, 2021 阅读大约需 2 分钟 触发器关键字UpdateColumnList,Internal,MimeType,SchemaSpec 第141章 触发器关键字 - UpdateColumnList 指定一个或多个列,其修改将导致SQL触发触发器。 仅对TSQL可用。 用法 要指定其修改触发触发器的列,请使用以下语法: Trigger name [ Event = sqlevent, UpdateColumnList = updatecolumnlist ] { //implementation } 其中updatecolumnlist是一个列名或用逗号分隔的列名列表,用括号括起来。 详情 该关键字指定一个或多个列,其修改将触发触发器。 注意,此关键字仅对TSQL可用。 第142章 XData关键字 - Internal 指定这个XData块是否是内部的(不在类文档中显示)。 注意,类文档目前根本没有显示XData。 #Caché 0 0 0 106
文章 Michael Lei · 九月 27, 2024 阅读大约需 11 分钟 使用 GitLab 持续交付 InterSystems 解决方案 – 第 11 部分:互操作性 欢迎来到我的 CI/CD 系列的下一个章节,我们将探讨使用 InterSystems 技术和 GitLab 进行软件开发可以采用的几种方式。 今天,我们来谈谈互操作性。 问题 当您有一个有效的互操作性生产时,您有两个独立的流程:一个是处理消息的可以正常运行的生产流程,另一个是更新代码、生产配置和系统默认设置的 CI/CD 流程。 显然,CI/CD 流程会影响互操作性。 但问题是: 更新期间究竟发生了什么? 我们需要做些什么以在更新期间尽可能缩短或消除生产停机时间? #Git #业务流程 (BPL) #互操作性 #持续交付 #持续集成 #InterSystems IRIS 0 0 0 105
文章 姚 鑫 · 九月 8, 2024 阅读大约需 3 分钟 第二十章 加密 SOAP 主体 第二十章 加密 SOAP 主体 本主题介绍如何加密 IRIS Web 服务和 Web 客户端发送的 SOAP 消息正文。 主题“加密安全标头元素”和“使用派生密钥令牌进行加密和签名”描述了如何加密安全标头元素以及加密 SOAP 主体的其他方法。 加密概述 IRIS 对 SOAP 消息加密的支持基于 WS-Security 1.1。反过来,WS-Security 遵循 XML 加密规范。根据后者规范,要加密 XML 文档: 生成一个对称密钥以供临时使用。 可以使用它来加密文档(或文档的选定部分)。 使用包含内容加密版本的 <EncryptedData> 元素替换文档的这些部分。 #InterSystems IRIS for Health 1 0 0 105
文章 Louis Lu · 四月 23, 2024 阅读大约需 2 分钟 BPL 中动态设置 <call>的目标 当我们在设计一个需要重复使用的BP时候,往往需要开发一个可配置<call>的对象的组件,我们将call的target 设置为 @process.TargetConfigName 即可实现。 下面是完整代码: #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 105
公告 Jeff Liu · 二月 22, 2024 [视频] 加州大学戴维斯分校健康中心如何使用 InterSystems API Manager 嘿开发者, 观看此视频,了解 UC Davis Health 如何使用 InterSystems API Manager 来满足业务合作伙伴对访问自定义 API 和 FHIR API 的需求: ⏯加州大学戴维斯分校健康中心如何使用 InterSystems API Manager @ 2023 年全球峰会 //player.bilibili.com/player.html?aid=1450775730&bvid=BV1zv421k7yy&cid=1443790325&p=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #API #FHIR #InterSystems API管理器(IAM) #视频 #InterSystems IRIS 0 0 0 105
文章 Louis Lu · 十月 19, 2023 阅读大约需 1 分钟 获取数据库缓存(global buffer)使用的大小 使用(^GLOBUFF )可以获取到使用的数据库缓存global buff的大小, 可以直接执行这个命令或者通过代码的方式获取结果 下面是执行命令的方式: #InterSystems IRIS 0 0 0 105
文章 姚 鑫 · 七月 22, 2023 阅读大约需 3 分钟 第六十六章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - 业务流程的生命 第六十六章 开发Productions - ObjectScript Productions - Production品及其零部件的生命周期 - 业务流程的生命周期 业务流程的生命周期 每次Production启动时, IRIS都会为Production创建公共参与者池。ActorPoolSize设置的值确定池中的作业数。 在执行元池中的每个作业中,都有一个Ens.ActorEns.在一个对象中,该对象负责管理业务流程对其作业的使用。在一个Ens.Actor时称为执行元。 #InterSystems IRIS for Health 0 0 0 105
文章 姚 鑫 · 七月 5, 2023 阅读大约需 3 分钟 第四十九章 开发Productions - ObjectScript Productions - 使用复杂记录映射器 - 复杂的记录映射类结构 第四十九章 开发Productions - ObjectScript Productions - 使用复杂记录映射器 - 复杂的记录映射类结构 复杂的记录映射类结构 有两个类以类似于描述记录映射的两个类的方式描述复杂的记录映射。描述复杂记录映射的两个类是: 复杂记录映射,描述复杂记录的外部结构并实现复杂记录解析器和编写器。 生成的复杂记录类定义了包含数据的对象的结构。该对象允许在数据转换和路由规则条件中引用数据。 一个复杂的记录映射业务服务读取并解析传入的数据并创建一条消息,该消息是生成的记录类的一个实例。业务流程可以读取、修改或生成生成的复杂记录类的实例。最后,复杂记录映射业务操作使用实例中的数据,使用复杂记录映射作为格式化模板写入输出数据。复杂记录映射类和生成的复杂记录类都具有描述数据的层次结构。复杂记录映射类和生成的复杂记录类具有并行结构。这与 RecordMap 类不同,其中生成的记录类可以具有不同的层次结构。 #InterSystems IRIS for Health 0 0 0 105
文章 姚 鑫 · 一月 8, 2023 阅读大约需 3 分钟 第三十八章 使用^%SYS.MONLBL检查例程性能 第三十八章 使用^%SYS.MONLBL检查例程性能 例程^%SYS.MONLBL为监视器工具提供用户界面。该实用程序提供了一种方法来诊断在例程中执行选定代码所花费的时间,从而帮助识别特别耗费资源的代码行。它是现有监视器实用程序的扩展,可通过^PerfMon和%Monitor系统程序包类访问。由于这些实用程序共享相同的内存分配,因此一次只能在IRIS实例上运行其中一个实用程序。 调用逐行监视例程 如果在调用^%SYS.MONLBL时监视器没有运行,则例程会显示一条警告消息,并提供启动监视器或检查内存要求的选项。例如: #Caché 0 0 0 105
文章 Michael Lei · 九月 13, 2022 阅读大约需 1 分钟 医疗科技行业趋势 医疗科技市场正处于强劲的演变之中。Gartner的医疗科技的波浪图展示了这些技术是什么,非常好地反映了医疗行业的数字化趋势。 其中很多技术都可以使用InterSystems的技术(ISC Health Tech)来实现: 知情同意管理使用InterSystems Healthshare Stack来做患者主索引和知情同意管理。 #InterSystems 业务解决方案和架构 #InterSystems IRIS for Health 0 0 0 105
文章 姚 鑫 · 八月 29, 2022 阅读大约需 5 分钟 第十六章 维护本地数据库(一) 第十六章 维护本地数据库(一) 可以在管理Portal (System Operations > databases)的“数据库”页面查看和维护本地数据库。 在此页面,可以查看到以下信息: 数据库一般信息Databases General Information-所有数据库的概述信息。 数据库空闲空间信息 Databases Free Space Information - 所有数据库的空闲空间信息 数据库详细信息页 Database Details Page -个别数据库的特定信息。 还可以通过维护操作增加该页面的可用空间。 本节中描述的大多数信息和操作也可以使用^DATABASE命令行实用程序找到并执行。 数据库的一般信息 数据库页面(系统操作 > 数据库)包含所有本地数据库的列表。对于每个本地数据库,会看到以下信息: #Caché 0 0 0 105
文章 姚 鑫 · 六月 27, 2022 阅读大约需 7 分钟 第十二章 信号(二)- 生产者消费者示例 第十二章 信号(二)- 生产者消费者示例 下面是一系列使用信号量实现生产者/消费者场景的类。 “主”进程初始化信号量并等待用户指示活动已全部完成。生产者在循环中随机增加一个信号量值,更新之间的延迟可变。消费者尝试在随机时间从信号量中删除随机数量,也是在循环中。该示例由 5 个类组成: - Main – 初始化环境并等待信号量上的活动完成的类。 - Counter – 实现信号量本身的类。它记录它的创建以及由于信号量在等待列表中而发生的任何回调。 - Producer – 一个类,其主要方法增加信号量值。增量是一个随机选择的小整数。完成增量后,该方法会在下一个增量之前延迟一小段随机数秒。 - Consumer 消费者——这是对生产者的补充。此类的主要方法尝试将信号量减少一个随机选择的小整数。它将递减请求添加到其等待列表中,等待时间也是随机选择的秒数。 - Util - 这个类有几个方法被示例的其他类使用。几种方法解决了为所有活动维护公共日志的问题;其他人解决了多个消费者和多个生产者的命名问题。 #SQL #Caché 0 0 0 105
文章 姚 鑫 · 六月 22, 2022 阅读大约需 4 分钟 第七章 操作位和位串(三) 第七章 操作位和位串(三) 操作位串 要创建新的位串,请使用 $bit 函数将所需位设置为 1: kill bitstring set $bit(bitstring, 3) = 1 set $bit(bitstring, 6) = 1 set $bit(bitstring, 11) = 1 使用 $bit 将现有位串中的位设置为 1: set $bit(bitstring, 5) = 1 使用 $bit 将现有位串中的位设置为 0: set $bit(bitstring, 5) = 0 由于位串中的第一位是位 1,因此尝试设置位 0 会返回错误: #SQL #Caché 0 0 0 105
文章 姚 鑫 · 二月 15, 2022 阅读大约需 3 分钟 第五十五章 SQL函数 %EXTERNAL 第五十五章 SQL函数 %EXTERNAL 以显示格式返回表达式的格式转换函数。 大纲 %EXTERNAL(expression) %EXTERNAL expression 参数 expression - 要转换的表达式。字段名、包含字段名的表达式或返回值为可转换数据类型(如DATE或%LIST)的函数。不能是流字段。 描述 %EXTERNAL将表达式转换为显示格式,与当前选择模式(显示模式)无关。显示格式表示VARCHAR数据类型的数据,无论字段或数据类型LogicalToDisplay方法执行什么数据转换。 %EXTERNAL通常用于选择列表SELECT-ITEM。它可以在WHERE子句中使用,但不建议这样使用,因为使用%EXTERNAL会阻止在指定字段上使用索引。 #SQL #Caché 0 0 0 105
文章 姚 鑫 · 十一月 11, 2021 阅读大约需 8 分钟 第七十三章 SQL命令 SET OPTION 第七十三章 SQL命令 SET OPTION 设置执行选项。 大纲 SET OPTION option_keyword = value 描述 SET OPTION语句用于设置执行选项,如编译模式、SQL配置设置和控制日期、时间和数字约定的区域设置。 每个set option语句只能设置一个关键字选项。 SET OPTION支持以下选项: #SQL #Caché 0 0 0 105
文章 Claire Zheng · 七月 6, 2021 Caché从零基础到精通-第6讲 数据类型 - 数字 //player.bilibili.com/player.html?aid=376583572&bvid=BV1ho4y1X7YL&cid=365370198&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 105
文章 姚 鑫 · 六月 23, 2021 阅读大约需 4 分钟 第十六章 创建或编辑DOM 第十六章 创建或编辑DOM 创建或编辑DOM 要创建DOM或修改现有DOM,请使用%XML.Document的以下方法在: CreateDocument() classmethod CreateDocument(localName As %String, namespace As %String) as %XML.Document 在仅包含根元素的返回%XML.Document新实例。 AppendCharacter() method AppendCharacter(text As %String) 将新的字符数据节点追加到此元素节点的子节点列表中。当前节点指针不变;此节点仍然是追加的子节点的父节点。 #Caché 0 0 0 105
公告 Claire Zheng · 一月 7, 2021 Global Masters_ Open Exchange 上每个 ZPM 应用程序的奖励积分 亲爱的社区用户,您好! 您可能知道,您在 Open Exchange 上每发布一个应用程序都会获得 Global Masters 积分奖励。 最近,我们针对 ZPM 应用程序推出了附加积分。 现在,您的每个 ZPM 应用程序都会为您赢得额外的 400 积分!积分将自动调整。 立即查看 Global Masters 上的积分和可用奖励! #InterSystems Package Manager (IPM) #Global Masters #Open Exchange 0 0 0 105
文章 Lilian Huang · 四月 16 阅读大约需 7 分钟 Iris-AgenticAI: 基于OpenAI智能体SDK驱动的企业自动化多智能体工作流平台 Hi 大家好在本文中,我讲介绍我的应用 iris-AgenticAI . 代理式人工智能的兴起标志着人工智能与世界互动方式的变革性飞跃--从静态响应转变为动态、目标驱动的问题解决方式。参看 OpenAI’s Agentic SDK , OpenAI Agents SDK使您能够在一个轻量级、易用且抽象程度极低的软件包中构建代理人工智能应用程序。它是我们之前的代理实验 Swarm 的生产就绪升级版。 该应用展示了下一代自主人工智能系统,这些系统能够进行推理、协作,并以类似人类的适应能力执行复杂任务。 应用功能 Agent Loop 🔄 一个内置循环,可自主管理工具的执行,将结果发回 LLM,并迭代直至任务完成。 Python-First 🐍 利用本地 Python 语法(装饰器、生成器等)来协调和连锁代理,而无需外部 DSL。 Handoffs 🤝 通过在专业代理之间委派任务,无缝协调多代理工作流程。 Function Tools ⚒️ 用 @tool 修饰任何 Python 函数,可立即将其集成到代理的工具包中。 Vector Search (RAG) 🧠 原生集成向量存储(IRIS),用于 RAG 检索。 Tracing 🔍 内置跟踪功能,可实时可视化、调试和监控代理工作流(想想 LangSmith 的替代方案)。 MCP Servers 🌐 通过 stdio 和 HTTP 支持模型上下文协议(MCP),实现跨进程代理通信。 Chainlit UI 🖥️ 集成 Chainlit 框架,可使用最少的代码构建交互式聊天界面。 Stateful Memory 🧠 跨会话保存聊天历史、上下文和代理状态,以实现连续性和长期任务。 ##嵌入式 Python #ChatGPT #Large Language Model (LLM) #Python #工具 #框架 #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 104
问题 water huang · 九月 3, 2024 如何结束 %SYSTEM.WorkMgr进程 我使用%SYSTEM.WorkMgr的多进程( multicompile=1)来处理数据,但是我发现执行完 WaitForComplete后,%SYSTEM.WorkMgr创建的进程没有马上结束, #Caché #Ensemble 0 0 0 104
文章 Michael Lei · 七月 7, 2024 阅读大约需 2 分钟 InterSystems 常见问题系列如何从FTP 服务器上传/下载影像文件 InterSystems 常见问题系列FAQ 流程如下 1. 上传到 FTP server #ObjectScript #提示和技巧 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 104
公告 Claire Zheng · 五月 20, 2024 【精彩会议回放】区域医疗信息互联互通新发展研讨会在深圳举办 为推动《“十四五”全民健康信息化规划》全面实施,充分发挥国家医疗健康信息互联互通标准化成熟度评测工作对区域医疗信息交换促进作用,为医疗数据合规高效流通使用奠定坚实基础。《中国卫生信息管理杂志》社主办、深圳市卫生健康信息协会协办、InterSystems中国承办的区域信息互联互通新发展研讨会于5月11日在深圳举办。 国家卫生健康委统计信息中心胡建平副主任线上参会并致辞、广东省卫生健康委员会事务中心傅承主副主任、深圳市卫生健康信息协会林德南会长参加会议并致辞。胡建平副主任在视频致辞中强调了医疗健康信息互联互通标准化成熟度测评对区域全民健康信息化和智慧医院建设起到的重要作用,总结了互联互通标准化成熟度测评主要开展的四方面工作,指出下一步工作要从网络通、应用通、数据通等三个维度持续发力,通过叠加区块链等信息技术,实现互联互通从1.0阶段向2.0阶段跃迁,赋能卫生健康事业高质量发展。 #InterSystems IRIS for Health #开发者社区官方 0 0 0 104
公告 Claire Zheng · 四月 10, 2023 创意社区新闻摘要#5 | InterSystems Ideas News#5 Hi 开发者社区的成员们,大家好! 欢迎关注我们第5期 InterSystems Ideas News! 本期分享如下: ✓名人堂 ——创意社区门户的新页面 ✓与 Global Masters 整合——您的每个奇思妙想都可以积分 ✓计划实施的想法清单 #InterSystems 想法门户 1 0 0 104
公告 Jingwei Wang · 一月 26, 2023 通过基于任务的学习资源增加您的知识 使用学习服务中的一系列资源制定您今年的学习目标。在2023 年 1 月简报中,了解如何找到与您的工作任务相关的有针对性的学习资源,并通过课堂课程或练习题为认证做准备。 #学习门户 1 0 0 104
文章 姚 鑫 · 八月 24, 2022 阅读大约需 5 分钟 第十一章 配置数据库(三) # 第十一章 配置数据库(三) ## 编辑本地数据库的属性 显示的信息取决于数据库是否被镜像。本节确定以下字段: ### 部分编辑非镜像本地数据库属性 单击非镜像数据库的名称可查看以下数据库属性并更改其中一些属性。 (“创建本地数据库”部分描述了其中的许多字段。) #Caché 0 0 0 104
文章 姚 鑫 · 七月 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 104
文章 姚 鑫 · 七月 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 104