文章 Claire Zheng · 八月 17, 2021 阅读大约需 2 分钟 FHIR标准和国际基于FHIR的互联互通实践(1):如何定义互联互通? 什么是互联互通?我们所说的互联互通其实就是国际上的互操作性,HIMSS对于互操作性定义的是:不同的信息系统、设备、应用系统之间、程序之间,在机构区域和国家边界之内,以及跨机构、区域和国家边界,以协调的方式来访问交换集成和协作使用数据的能力。 #FHIR #REST API #其他 1 0 0 281
文章 PEIPEI DUAN · 三月 3, 2021 阅读大约需 1 分钟 欢迎大家来投票啦!!! 这是我们团队参加的第一届InterStstems编程竞赛! 快来看看投票给我们! 超额预订管理系统结合了酒店业的独特条件,例如房价,订购渠道,客户需求等。 本系统使用机器学习算法(例如:KNN / ES-RNN ...)来准确预测酒店的每日未入住和入住率,并进一步与收益结合以找到最佳的最大客房销售量,从而精准增加酒店的边际收益。 #Open Exchange Open Exchange app 1 1 0 64
文章 Qianzhu Liu · 七月 4, 2021 阅读大约需 4 分钟 临床医生与信息系统的“爱恨情愁”之四:MDT就是力量 多学科协作诊疗(Multidisciplinary Team, #TrakCare 1 0 0 355
文章 Qiao Peng · 一月 14, 2021 阅读大约需 12 分钟 InterSystems IRIS 开放授权框架 (OAuth 2.0) 实现 – 第 1 部分 本文以及后面两篇该系列文章,是为需要在其基于 InterSystems 产品的应用程序中使用 OAuth 2.0 框架(下文简称为 OAUTH)的开发人员或系统管理员提供的指南。 #OAuth2 #安全 #访问控制 #身份认证 #Caché #InterSystems IRIS 0 0 0 254
文章 Hao Ma · 一月 15, 2021 阅读大约需 3 分钟 IAM实践指南——OAuth 2.0下的API保卫战(第二部分) 在这个由三部分组成的系列文章中,我们将展示如何在OAuth 2.0标准下使用IAM简单地为IRIS中的未经验证的服务添加安全性。 在第一部分中,我们介绍了一些OAuth 2.0背景知识,以及IRIS和IAM的初始定义和配置,以帮助读者理解确保服务安全的整个过程。 现在,本文将详细讨论和演示配置IAM所需的步骤——验证传入请求中的访问令牌,并在验证成功时将请求转发到后端。 #API #OAuth2 #REST API #安全 #InterSystems IRIS 0 0 0 222
文章 姚 鑫 · 二月 6, 2021 阅读大约需 2 分钟 第二十六章 Caché 变量大全 $ZCHILD 变量 第二十六章 Caché 变量大全 $ZCHILD 变量 当前进程的包含最后一个子进程的ID。 DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB() DHC-APP>w $zchild 16636 DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB() DHC-APP>w $zchild 5412 大纲 $ZCHILD $ZC 描述 $ZCHILD包含当前进程使用JOB命令创建的最后一个子进程的ID。如果进程没有使用JOB创建子进程,则$ZCHILD返回0(零)。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 55
文章 姚 鑫 · 二月 22, 2021 阅读大约需 7 分钟 第四十四章 Caché 变量大全 $ZTRAP 变量 第四十四章 Caché 变量大全 $ZTRAP 变量 包含当前错误陷阱处理程序的名称。 大纲 $ZTRAP $ZT 描述 $ZTRAP包含当前错误陷阱处理程序的行标签名和/或例程名。有三种方法可以设置$ZTRAP: SET $ZTRAP=“location” SET $ZTRAP=“*location” SET $ZTRAP=“^%ET” or “^%ETN” 在这里,位置可以指定为标签(当前例程中的行标签)、^routine(指定外部例程的开始)或label^routine(指定外部例程中的指定标签)。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 55
文章 Claire Zheng · 三月 11, 2021 阅读大约需 1 分钟 【中文字幕】经济学人访谈录:凝望医疗健康数字化的未来 新冠肺炎疫情大流行史无前例地推动着医疗数字化发展,这一进程不仅影响了医疗服务的提供方式,更带来深刻的行业服务模式变革。经济学人邀请了来自数据技术提供商InterSystems、初级医疗服务提供商Babylon、咨询服务提供商埃森哲、数字化医疗解决方案提供商Kaiser Permanente的专家,从各自的领域和观察出发解读多个热点话题。 #视频 #其他 0 4 0 89
文章 姚 鑫 · 三月 22, 2021 阅读大约需 1 分钟 第十二章 使用嵌入式SQL(六) 第十二章 使用嵌入式SQL(六) 持久类方法中的嵌入式SQL 下面的示例显示了一个持久类,其中包含一个类方法和一个实例方法,两者都包含嵌入式SQL: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 131
文章 姚 鑫 · 三月 26, 2021 阅读大约需 6 分钟 第十三章 使用动态SQL(四) 第十三章 使用动态SQL(四) 返回完整结果集 使用%Execute()或%ExecDirect()执行语句将返回一个实现%SQL.StatementResult接口的对象。该对象可以是单一值,结果集或从CALL语句返回的上下文对象。 %Display()方法 可以通过调用%SQL.StatementResult类的%Display()实例方法来显示整个结果集(结果对象的内容),如以下示例所示: DO rset.%Display() 请注意,%Display()方法不会返回%Status值。 显示查询结果集时,%Display()通过显示行数来结束:“受影响的5行”。 (这是%Display()遍历结果集之后的%ROWCOUNT值。)请注意,%Display()不会在此行计数语句之后发出行返回。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 165
文章 姚 鑫 · 四月 5, 2021 阅读大约需 6 分钟 第十七章 使用触发器 第十七章 使用触发器 本章介绍如何在Intersystems SQL中定义触发器。触发器是响应某些SQL事件执行的代码行。本章包括以下主题: 定义触发器 有几种方法可以为特定表定义触发器: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 295
文章 Louis Lu · 四月 15, 2021 阅读大约需 15 分钟 精华文章--访问IRIS数据平台的四种方式 IRIS 中支持的四种方式: SQL、Objects、REST 和 GraphQL 卡济米尔·马列维奇,《运动员》(1932) > > “你当然无法理解! 习惯了坐马车旅行的人怎么可能理解乘坐火车或者飞机旅行的人的感受和印象?”> > > > 卡济米尔·马列维奇 (1916)> ## 引言 我们已经讨论过为什么在主题领域建模使用对象类型优于使用 SQL。 当时得出的结论和总结的事实如今依然适用。 那么,我们为什么要退后到对象和类型之前的时代,讨论将对象的操作拖回到使用global的技术? 我们又为什么要鼓励面条式代码?难道是为了用它难以跟踪的错误考验开发者的技能熟练度? 目前有几种观点支持通过基于 SQL/REST/GraphQL 的 API 传输数据,而不是将其表示为类型/对象: 这些技术经过深入研究,相当易于部署。 知名度非常高,已在便捷的开源软件中广泛实现。 您通常别无选择,只能使用这些技术,尤其是在网络和数据库中。 最重要的是,API 仍然使用对象,因为它们提供了在代码中实现 API 的最适途径。 在讨论实现 API 之前,我们先来看一下底层的抽象层。 下图显示了数据在永久存储位置与处理并向应用程序用户呈现的位置之间的移动方式。 #API #对象数据模型 #数据模型 #新手 #InterSystems IRIS 0 0 0 476
文章 姚 鑫 · 四月 21, 2021 阅读大约需 13 分钟 第四章 缓存查询(二) 第四章 缓存查询(二) 运行时计划选择 运行时计划选择(RTPC)是一个配置选项,它允许SQL优化器利用运行时(查询执行时)的离群值信息。运行时计划选择是系统范围的SQL配置选项。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 101
文章 姚 鑫 · 五月 3, 2021 阅读大约需 6 分钟 第二章 全局变量结构(一) 第二章 全局变量结构(一) 本章描述全局变量的逻辑视图,并概述全局变量是如何在磁盘上物理存储的。 全局变量的逻辑结构 全局变量是存储在物理InterSystems IRIS®数据库中的命名多维数组。 在应用程序中,全局变量到物理数据库的映射基于当前名称空间——名称空间提供一个或多个物理数据库的逻辑统一视图。 全局命名约定和限制 全局名称指定其目标和用途。有两种类型的全局变量和一组单独的变量,称为“进程私有全局变量”: - 全局变量 - 这就是所谓的标准全局变量;通常,这些变量被简称为全局变量。它是驻留在当前命名空间中的永久性多维数组。 - 扩展全局引用-这是位于当前命名空间以外的命名空间中的全局引用。 - 进程私有全局变量-这是一个数组变量,只有创建它的进程才能访问。 全局变量的命名约定如下: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
文章 Michael Lei · 五月 8, 2021 阅读大约需 8 分钟 将 Python JDBC 连接到 IRIS 数据库 - 快速笔记 关键字:Python,JDBC,SQL,IRIS,Jupyter Notebook,Pandas,Numpy ,机器学习 1. 目的 这是一个用于演示的 5 分钟快速笔记,通过 Jupyter Notebook 中的 Python 3 调用 IRIS JDBC 驱动程序,以经由 SQL 语法从 IRIS 数据库实例读取数据和向 IRIS 数据库实例写入数据。 去年,我发表了关于将 Python 绑定到 Cache 数据库的简要笔记(第 4.7 节)。 如何使用 Python 挂入 IRIS 数据库以将其数据读入 Pandas 数据框和 NumPy 数组进行常规分析,然后再将一些经过预处理或标准化的数据写回 IRIS 中,准备进一步用于 ML/DL 管道,现在可能是时候回顾一些选项和讨论了。 一些立即浮现的快速选项: #JDBC #ODBC #Python #机器学习 #InterSystems IRIS 0 0 0 215
文章 Michael Lei · 五月 18, 2021 阅读大约需 2 分钟 来自英文社区:IRIS与Caché/Ensemble之间的ECP 那些已经与ECP合作过的人可能知道它不仅在操作系统,处理器技术(big-little-endian),但在C / E的各个版本中也有限制。此交叉版本功能还包括IRIS(针对2020.1进行了验证)和C / E(2018.3) #ECP #Globals #应用程序服务器 #Caché #Ensemble #InterSystems IRIS 0 0 0 121
文章 姚 鑫 · 五月 25, 2021 阅读大约需 7 分钟 第六章 从POP3服务器提取电子邮件 第六章 从POP3服务器提取电子邮件 从POP3服务器提取电子邮件 与POP3服务器通信 如果拥有所需的权限,并且邮件服务器正在运行,则可以使用POP3协议从该服务器下载和处理电子邮件。通常,要与POP3服务器通信,请登录,执行一系列影响邮箱的操作,然后提交或回滚任何更改。要在系统间IRIS中执行此操作,请执行以下操作: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 89
文章 姚 鑫 · 六月 5, 2021 阅读大约需 7 分钟 第六章 Caché JSON 使用JSON适配器 第六章 Caché JSON 使用JSON适配器 JSON适配器是一种将ObjectScript对象(registered, serial or persistent)映射到JSON文本或动态实体的方法。本章涵盖以下主题: #JSON #Caché #Ensemble #InterSystems IRIS 0 0 0 132
文章 姚 鑫 · 六月 22, 2021 阅读大约需 5 分钟 第十五章 XML检查属性 第十五章 XML检查属性 检查属性的基本方法 可以使用%XML.Node的以下方法。以检查当前节点的属性。 - AttributeDefined() 如果当前元素具有具有给定名称的属性,则返回非零(TRUE)。 - FirstAttributeName() 返回当前元素的第一个属性的属性名称。 - GetAttributeValue() 返回给定属性的值。如果元素没有该属性,则该方法返回NULL。 - GetNumberAttributes() 返回当前元素的属性数。 - LastAttributeName() 返回当前元素的最后一个属性的属性名称。 - NextAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回下一个属性的名称。 - PreviousAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回上一个属性的名称。 #Caché #InterSystems IRIS 0 0 0 73
文章 姚 鑫 · 七月 5, 2021 阅读大约需 7 分钟 第二十八章 定制SAX解析器创建自定义内容处理程序 [toc] 第二十八章 定制SAX解析器创建自定义内容处理程序 创建自定义内容处理程序 如果直接调用InterSystems IRIS SAX解析器,则可以根据自己的需要创建自定义内容处理程序。本节讨论以下主题: - Overview - 要在内容处理程序中自定义的方法的描述 - %XML.SAX.Parser类中解析方法的参数列表摘要 - 示例 创建自定义内容处理程序概述 要定制InterSystems IRIS SAX解析器导入和处理XML的方式,请创建并使用定制的SAX内容处理程序。具体地说,创建%XML.SAX.ContentHandler的子类。然后,在新类中,重写任何默认方法以执行所需的操作。在解析XML文档时使用新的内容处理程序作为参数;为此,需要使用%XML.SAX.Parser类的解析方法。 此操作如下图所示: #Ensemble 0 0 0 116
文章 姚 鑫 · 七月 9, 2021 阅读大约需 6 分钟 第三十二章 XML基础知识概念 第三十二章 XML基础知识概念 attribute 以下形式的名值对: ID="QD5690" 属性位于元素中,如下所示,一个元素可以有任意数量的属性。 <Patient ID="QD5690">Cromley,Marcia N.</Patient> CDATA区域 表示不应该验证的文本,如下所示: #Caché 0 0 0 121
文章 姚 鑫 · 七月 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 65
文章 姚 鑫 · 八月 5, 2021 阅读大约需 3 分钟 方法关键字GenerateAfter,Internal,Language,NotInheritable 第六十五章 方法关键字 - GenerateAfter 指定何时生成此方法。仅当方法是方法生成器时适用。 用法 要指定在生成其他方法后调用此方法的生成器,请使用以下语法: Method name(formal_spec) As returnclass [ CodeMode = ObjectGenerator, GenerateAfter = methodlist ] { //implementation } 其中methodlist是单个方法名或用逗号分隔的方法名列表,用括号括起来。 详解 在方法生成器方法的情况下,指定生成器应在生成列出的方法后调用。当需要控制方法生成器的调用顺序时,此关键字非常有用。 第六十六章 方法关键字 - Internal 指定此方法定义是否是内部的(不显示在类文档中)。 用法 要指定此方法是内部的,请使用以下语法: #Caché 0 0 0 89
文章 Claire Zheng · 八月 17, 2021 阅读大约需 2 分钟 FHIR标准和国际基于FHIR的互联互通实践(3):常见的互操作范式 实现互通的方式方法有很多种,我们通常会见到4种:消息交换、文档交换、服务和 API。 #FHIR #REST API #其他 0 0 0 230
文章 姚 鑫 · 八月 25, 2021 阅读大约需 2 分钟 XData关键字XMLNamespace,DataLocation,DefaultData,Final 第145章 XData关键字 - XMLNamespace 指定XData块所属的XML名称空间。 用法 要指定XData块所属的XML名称空间,请使用如下语法: XData name [ XMLNamespace = "namespaceURL" ] { } 其中namespaceURL是XML名称空间的URI。 注意,这一项是用双引号括起来的。 详情 该关键字指定XData块所属的XML名称空间。 默认 如果省略这个关键字,则该XData块的内容不属于任何名称空间。 #Caché 0 0 0 64
文章 Claire Zheng · 九月 2, 2021 Caché从零基础到精通-第17讲 赋值命令 //player.bilibili.com/player.html?aid=716832591&bvid=BV1KX4y1c7f4&cid=374521528&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #Caché 0 0 0 59
文章 姚 鑫 · 九月 8, 2021 阅读大约需 7 分钟 第十章 SQL命令 CREATE PROCEDURE(一) 第十章 SQL命令 CREATE PROCEDURE(一) 创建作为SQL存储过程公开的方法或查询。 #SQL #Caché 0 0 0 79
文章 姚 鑫 · 九月 17, 2021 阅读大约需 9 分钟 第十八章 SQL命令 CREATE TABLE(五) 第十八章 SQL命令 CREATE TABLE(五) 定义外键 外键是引用另一个表的字段;存储在外键字段中的值是唯一标识另一个表中的记录的值。此引用的最简单形式如下例所示,其中外键显式引用Customers表中的主键字段CustID: CREATE TABLE Orders ( OrderID INT UNIQUE NOT NULL, OrderItem VARCHAR, OrderQuantity INT, CustomerNum INT, CONSTRAINT OrdersPK PRIMARY KEY (OrderID), CONSTRAINT CustomersFK FOREIGN KEY (CustomerNum) REFERENCES Customers (CustID) ) 最常见的情况是,外键引用另一个表的主键字段。但是,外键可以引用RowID(ID)或标识列。在任何情况下,外键引用都必须存在于被引用的表中,并且必须定义为唯一的;被引用的字段不能包含重复值或NULL。 #SQL #Caché 0 0 0 80
文章 Jingwei Wang · 九月 28, 2021 阅读大约需 5 分钟 IRIS 2021 技术文档 First Look 16 Java 网关(Gateway)和InterSystems 产品 本文档介绍了如何在 InterSystems IRIS®数据平台中使用 Java 网关(Gateway)与 Java 组件进行互操作。在本文中,您将首先创建一个示例 JAR 文件。然后,您将在 InterSystems IRIS 管理门户(Management Portal)中创建并启动 Java 网关(Gateway)。您将以编程方式导入创建的示例 JAR 文件。最后,您将在 ObjectScript 中创建并操作一些代理类(proxy class)和对象(object)。 为了让您体验 Java 网关(Gateway ),而又不陷入细节困境,我们保持了简单的探索。这些活动被设计成只使用默认设置和功能,这样您就可以熟悉功能的基本原理,而不必处理那些离题或过于复杂的细节。当您把 Java 网关(Gateway)引入您的生产系统时,您可能需要做一些不同的事情。请确保不要把这种对 Java 网关(Gateway )的探索与真实的情况相混淆!本文档末尾提供的参考资料将使您对在生产中使用 Java 网关(Gateway)的情况有一个很好的了解。 #Ensemble #InterSystems IRIS 0 2 0 117
文章 姚 鑫 · 十月 2, 2021 阅读大约需 6 分钟 第三十三章 SQL命令 DROP INDEX 第三十三章 SQL命令 DROP INDEX 删除索引。 #SQL #Caché 0 0 0 91