文章 Jingwei Wang · 七月 25, 2022 阅读大约需 4 分钟 ESB和注册中心概述 本章介绍了使用InterSystems IRIS作为企业服务总线,描述了InterSystems IRIS ESB架构,并提供了部署ESB的概述。 企业服务总线的概念 企业服务总线(ESB)提供了一个单点来访问和管理具有SOAP、REST或其他网络API的应用程序。ESB提供了以下功能。 #InterSystems IRIS for Health 0 0 0 409
公告 Michael Lei · 七月 25, 2022 InterSystems 即将举办“推动女性健康-FemTech不止是利基市场“在线论坛 Hi 大家好! 我们很荣幸地宣布InterSystems 将在剑桥总部举办 推动女性健康-FemTech不止是利基市场 高层论坛,论坛将在线上线下同步举行! ⏱ 时间: 7月 29日, 5:30 AM – 7:30 AM ,北京时间(July 28,5:30 PM – 7:30 PM ,EDT/美国东部时间)📍 地点: InterSystems 总部,1 Memorial Drive, Cambridge, MA #活动 #开发者社区官方 0 0 0 84
文章 姚 鑫 · 七月 24, 2022 阅读大约需 2 分钟 第六章 修改规范(SPEC)类 第六章 修改规范(SPEC)类 概述 下表列出了修改规范类的原因并简要总结了所需的更改: #REST API #Caché 0 0 0 86
文章 姚 鑫 · 七月 23, 2022 阅读大约需 2 分钟 第五章 修改实现(IMPL)类 第五章 修改实现(IMPL)类 本章讨论如何修改 REST 服务的实现类。 初始方法定义 实现类最初包含存根方法,如下例所示: #REST API #Caché 0 0 0 84
文章 姚 鑫 · 七月 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 80
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 DeepSee 的开发 - 第五部分 - 创建和打包透视表和仪表盘 在创建一个或多个立方体后,你通常会创建并打包一组透视表和仪表盘,而用户通常会根据需要创建新的透视表和仪表盘。 本章简要地引导你了解创建透视表和仪表盘的过程。它包括以下几个步骤。 创建透视表 创建一个仪表盘 导出并打包这些项目 创建透视表 在本教程的前面,我们创建了一个使用Patients cube的透视表。现在让我们创建使用你的新立方体Tutorial的透视表。 #仪表板 #分析器 #InterSystems IRIS BI (DeepSee) 0 0 0 127
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 DeepSee 的开发 - 第四部分 - 创建主题区 一个主题区是一个子立方体,可以选择覆盖项目的名称。你定义一个主题区是为了使用户能够关注较小的数据集,出于安全原因或其他原因。本章讨论了以下主题。 简介 在本教程中,我们创建了两个主题区域,按邮政编码划分患者: Patient Set A: 居住在邮政编码为32006, 32007, or 36711区域的患者 Patient Set B: 居住在邮政编码为34577 or 38928区域的患者 创建主题领域 要创建主题区域,请做以下工作。 #仪表板 #分析器 #InterSystems IRIS BI (DeepSee) 0 0 0 70
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 14 分钟 DeepSee 的开发 - 第三部分 - 扩展Cube 增加level 到目前为止,我们所创建的每个维度都包含一个具有一个level的层级结构。在这一节中,我们将在HomeD维度的层级结构中添加一个level。 #仪表板 #InterSystems IRIS BI (DeepSee) 0 0 0 140
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 10 分钟 DeepSee 的开发 - 第二部分 - 创建Cube 创建Cube 点击主页,Analytics - > 模型。 #仪表板 #可视化 #InterSystems IRIS BI (DeepSee) 0 0 0 114
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 7 分钟 精华文章系列 DeepSee 的开发 - 第一部分 - Cube 创建一个透视表 在模型内容窗格中展开DiagD维度。 将Diagnoses拖放到行中,或者双击诊断。 将Patient Count(病人计数)拖放到Measure(度量)中,或双击病人数。 将 Avg Age(平均年龄) 拖至Measure(度量),或双击 "平均年龄"。 单击保存。 系统显示一个对话框,你可以指定透视表的名称。 保存透视表并给它一个名字。当你这样做时,你是在保存检索数据的基础查询,以及以你选择的方式显示数据所需的信息。你不是在保存数据。 对于文件夹,键入Test #仪表板 #分析器 #可视化 #InterSystems IRIS BI (DeepSee) 0 0 0 109
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 3 分钟 InterSystems SQL 的使用 - 第六部分 - SQL 数据的导入、导出 在InterSystems IRIS数据平台管理门户中,有一些工具用于导入和导出数据。这些工具使用动态SQL,这意味着查询是在运行时准备和执行的。可以导入或导出的行的最大尺寸是3,641,144个字符。 你也可以使用%SQL.Import.Mgr类或LOAD DATA SQL命令导入数据,并使用%SQL.Export.Mgr类导出数据。 从文本文件中导入数据(.csv 和.txt) 你可以从一个文本文件中导入数据到一个合适的InterSystems IRIS类。当你这样做时,系统会在该类的表中创建并保存新的行。该类必须已经存在并且必须被编译。 步骤如下: #SQL #InterSystems IRIS for Health 0 0 0 192
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 4 分钟 InterSystems SQL 的使用 - 第五部分 - 导入SQL Code 本章介绍了如何将SQL code从文本文件导入InterSystems SQL。当你导入SQL code时,InterSystems IRIS 数据平台使用动态SQL准备并执行每一行的SQL。如果遇到无法解析的SQL code行,SQL导入会跳过该行code,继续准备和执行后续的code行,直到到达文件的末端。所有的SQL code导入操作都会导入到当前的命名空间。 SQL导入主要用于导入数据定义语言(DDL)命令,如CREATE TABLE,并使用INSERT、UPDATE和DELETE命令来填充表。SQL导入可以准备和执行SELECT查询,但不创建结果集。 #SQL #InterSystems IRIS for Health 0 0 0 135
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 InterSystems SQL 的使用 - 第四部分 - 视图 视图为存储查询,提供了物理表的所有灵活性和安全权限。所有的视图都是可更新的或只读的。 注意:不能对只读的数据库中的数据创建视图。不能对存储在通过ODBC或JDBC网关连接的Informix表中的数据创建视图。这是因为InterSystems IRIS查询转换在FROM子句中使用子查询,而Informix不支持FROM子句的子查询。 #SQL #InterSystems IRIS for Health 0 0 0 189
文章 姚 鑫 · 七月 21, 2022 阅读大约需 3 分钟 第三章 使用 ^%REST 例程创建 REST 服务 第三章 使用 ^%REST 例程创建 REST 服务 本章介绍如何使用 ^%REST 例程创建和删除 REST 服务。 提示:还可以使用此例程更新REST服务;只需删除REST服务,然后重新创建它。 使用^%REST例程 ^%REST例程是一个简单的命令行界面。在任何提示下,可以输入以下答案: ^ - 使例程跳回上一个问题。 ? - 使例程显示一条列出所有当前选项的消息。 q或quit - 结束例程。 此外,每个问题都会在括号中显示该问题的默认答案。 #REST API #Caché 0 0 0 55
文章 Michael Lei · 七月 20, 2022 阅读大约需 1 分钟 如何将IRIS的启动/停止状态输出到一个文件中 IRIS 命令qlist或list可以用来把输出结果输出到一个文件。 qlist的结果以文本格式输出,以^为分隔符。 第三部分,以^为界,包含运行状态数据。 $ iris qlist IRIS > iris.log $ cat iris.log IRIS^/Applications/iris^2022.1.0.164.0^running, since Thu Apr 7 16:37:03 2022^iris.cpf^1972^52773^0^alert^IRIS^^^/Applications/iris 在列表的情况下,以status:为前缀的一行包含运行状态数据。 对于基于Unix的操作系统 $ iris list IRIS > iris.log $ cat iris.log #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 162
文章 姚 鑫 · 七月 20, 2022 阅读大约需 4 分钟 第二章 使用 api mgmnt 服务 第二章 使用 /api/mgmnt/ 服务 本章介绍如何使用 /api/mgmnt 服务来创建、更新和删除 REST 服务。 /api/mgmnt 服务还提供了可用于发现和记录 Web 服务的选项,如本书后面所述。 使用 /api/mgmnt 服务创建 REST 服务 创建 REST 服务的推荐方法是为 REST 服务创建 OpenAPI 2.0(也称为 Swagger)描述,并使用它来生成 REST 服务类。如果您正在实现由第三方定义的 REST 服务,他们可能会提供此 OpenAPI 2.0 描述。有关 OpenAPI 2.0 描述格式的详细信息,请参阅 OpenAPI 2.0 规范。以下主题描述了如何使用 /api/mgmnt 服务来执行此操作。 #Caché 0 0 0 80
文章 Lilian Huang · 七月 20, 2022 阅读大约需 4 分钟 FHIR 中的问卷和表格(Questionnaire & Forms):从创建到使用 本文将讨论 FHIR 中的问卷和问卷反馈( #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 七月 19, 2022 阅读大约需 8 分钟 第一章 创建 REST 服务简介 第一章 创建 REST 服务简介 本文介绍 IRIS® 中的 REST 和 REST 服务。 #REST API #Caché 0 0 0 90
问题 Michael Lei · 三月 1, 2022 如何重置 Web Gateway 用户名和密码 Hi Community, C:\InterSystems\IRISHealth\CSP\bin.csp.cni 有用户名, 但密码被加密了,如何解密或者重置? 谢谢! #Global Masters #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 184
问题 Michael Lei · 二月 5, 2022 为某一个给定类获取SQL 表名称(答案见英文社区) 假设有一个类 "X.Y.Z" 它的SQL表名称是什么?如何通过ObjectScript获取?? 快速的搜素不能显示任何方法或属性。文档有点 "不对" 说 SQL 表名称是一样的. 至少应该是 'x_y.z'. 答案见英文社区:https://community.intersystems.com/post/getting-sql-table-name-given-class #ObjectScript #SQL #InterSystems IRIS 0 1 0 181
问题 Michael Lei · 四月 29, 2022 Cache 动态 SQL 分页 我想知道是否有更好的方法来使用动态SQL对数据集进行分页,而不是我下面使用的方法。问题是,当潜在的数据池变大时,这段代码就会变慢,以至于无法使用。在分析下面的每一行代码时,似乎速度变慢与最初的rset.%Next()迭代有关。 有没有什么不需要子查询/%VID的可用方法,比如简单的LIMIT/OFFSET? 我的代码类似于: s sql=##class(%SQL.Statement).%New() s query="SELECT *,%VID FROM (SELECT prop FROM table WHERE prop=x) WHERE %VID BETWEEN 1 AND 100" s sc=sql.%Prepare(query) s rset=sql.%Execute() while rset.%Next() {..... #对象数据模型 #SQL #Caché 0 1 1 390
问题 Michael Lei · 四月 18, 2022 如何从Terminal访问 Globals 从Terminal 访问 global 内容,答案见英文社区: https://community.intersystems.com/post/view-globals-terminal #Globals #Ensemble 0 1 0 98
问题 Michael Lei · 四月 14, 2022 如何从抽象类获得所有扩展类?How to get all extended classes from abstract class 答案见文档:https://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?... #Caché 0 1 0 77
问题 Michael Lei · 五月 8, 2022 在production中删除项目 大家好! 我正在创建一个脚本,从Ensemble Production中删除一个项目(Component),我知道有手动的方法,但由于有几个Component,我想用一个脚本来更快。 我试着用%Delete()并在Ens.Config.Item上做选择,但这最终在生产中产生了几个错误。有谁知道我怎样才能简单地做到这一点? 答案参见:https://community.intersystems.com/post/delete-item-production #开发环境 #系统管理 #Ensemble 0 1 0 96
问题 Michael Lei · 四月 27, 2022 如何更改主键? Hi, 请问如何更改表(有数据)上的主键?谢谢! 答: 如果数据已经存在,那么这是一项必须重视的任务,特别是如果存在继承或父/子关系,因为这将导致你的数据存储方案的改变。 最简单的方法是通过一个中间(临时)表来实现。 创建一个具有相同结构的新类,但有一个新的主键。使用SQL(不是合并命令)将数据从旧的类中移到它里面。删除旧类中的数据/索引,然后改变其中的主键。使用合并命令,将数据从新类移到旧类中。删除带有数据的新类。重建索引(如果有的话)。 几个有用的链接: MERGE #SQL #数据导入和导出 #数据库 #Ensemble #InterSystems IRIS 0 1 0 116
文章 Michael Lei · 七月 18, 2022 阅读大约需 8 分钟 翻译文章--Angular 14 新特性介绍 Hi 大家好! 我是 Sergei Sarkisian,在InterSystems 做Angular 前端7年。Angular是非常流行的框架,我们的开发人员、客户和合作伙伴经常选择它来开发他们的应用程序。 我会写一系列的文章,涵盖Angular的不同方面:概念、方法、最佳实践、高级主题等等。这个系列的文章将针对那些已经熟悉Angular的人,不会涉及基本概念。由于我正在构建文章的路线图,我想从突出最近的Angular版本中的一些重要功能开始。 严格类型化表单 这可能是近几年来Angular最受欢迎的功能。有了Angular 14,开发者现在可以在Angular Reactive Forms中使用TypeScript的所有严格类型检查功能。 表单控制Formcontrol 类现在是通用的,并接受它所持有的值的类型。 #Angular #Angular2 #UI 开发 #前端 #其他 0 0 0 663
文章 姚 鑫 · 七月 18, 2022 阅读大约需 6 分钟 第九章 使用嵌入式 Python (六) 第九章 使用嵌入式 Python (六) 异常处理 IRIS 异常处理程序可以处理 Python 异常并将它们无缝传递给 ObjectScript。在前面的 Python 库示例的基础上,如果尝试使用不存在的文件调用 canvas.drawImage(),并在 ObjectScript 中捕获异常,会看到以下内容: ##嵌入式 Python #InterSystems IRIS for Health 0 0 0 71
文章 姚 鑫 · 七月 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 99
文章 姚 鑫 · 七月 16, 2022 阅读大约需 4 分钟 第七章 使用嵌入式 Python (四) 第七章 使用嵌入式 Python (四) 弥合 ObjectScript 和嵌入式 Python 之间的差距 由于 ObjectScript 和 Python 语言之间的差异,将需要了解一些有助于弥合语言之间差距的信息。 在 ObjectScript 方面,%SYS.Python 类允许从 ObjectScript 使用 Python。 在 Python 方面,iris 模块允许使用 Python 中的 ObjectScript。在 Python 中,键入 help(iris) 以获取其方法和函数的列表。 使用 Python 内置函数 builtins 包在 Python 解释器启动时自动加载,它包含语言的所有内置标识符,例如基对象类和所有内置数据类型类、异常类、函数和常量。 ##嵌入式 Python #Caché 0 0 0 106
文章 姚 鑫 · 七月 15, 2022 阅读大约需 5 分钟 第六章 使用嵌入式 Python (三) 第六章 使用嵌入式 Python (三) 从 ObjectScript 调用嵌入式 Python 代码 使用 Python 库 嵌入式 Python 让可以轻松访问数以千计的有用库。通常称为“包”,它们需要从 Python 包索引 (PyPI) 安装到 <installdir>/mgr/python 目录中,然后才能使用。 例如,ReportLab Toolkit 是一个用于生成 PDF 和图形的开源库。以下命令使用软件包安装程序 irispip 在 Windows 系统上安装 ReportLab: C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python reportlab 在基于 UNIX 的系统上,使用: ##嵌入式 Python #Caché 0 0 0 92