文章 姚 鑫 · 八月 24, 2023 阅读大约需 2 分钟 第八章 ObjectScript - 变量的可用性和范围 第八章 ObjectScript - 变量的可用性和范围 变量的可用性和范围 ObjectScript 支持以下程序流程,(在大多数方面)与其他编程语言支持的程序流程类似: 用户可能从用户界面调用方法。 该方法执行一些语句,然后调用另一个方法。 该方法定义了局部变量 A、B 和 C。 变量 A、B 和 C 在此方法的范围内。它们对于该方法是私有的。 该方法还定义了Global ^D。 #InterSystems IRIS for Health 0 0 0 42
文章 姚 鑫 · 九月 17, 2023 阅读大约需 2 分钟 第三十章 Classes - 方法生成器 第三十章 Classes - 方法生成器 方法生成器 方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。 Class Queries 类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例: #InterSystems IRIS for Health 0 0 0 44
文章 Qiao Peng · 十月 26, 2023 阅读大约需 10 分钟 FHIR CDS Hooks CDS Hooks是FHIR生态下一个决策支持架构,是SMART(Substitutable Medical Applications and Reusable Technologies, 可替代的医学应用和可复用技术)下的一个项目。 FHIR标准下也有一个决策支持相关的模块 - FHIR的Clinical Reasoning模块。它和CDS Hooks是有区别的: FHIR的Clinical Reasoning模块提供一系列资源模型和工件,用于构建决策支持相关的规则、医嘱集、临床协议和质量指标,并基于此对特定患者和人群进行评估,进而产生决策行为。它构建的是本地决策支持体系。 而CDS Hooks提供一个决策支持架构,打通外部决策支持系统和本地的决策数据源、业务流程。 #FHIR #HL7 #HealthShare #InterSystems IRIS for Health 0 0 0 80
文章 姚 鑫 · 十二月 12, 2023 阅读大约需 3 分钟 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 其他支持 XML 的类到 XML 类型的映射 对于支持 XML 的类或基于支持 XML 的类的属性,XML 类型按如下方式确定: 如果该类具有 XMLTYPE 参数的值,则该值将用作类型名称。否则,短类名将被视为 XML 类型名。 例如,考虑以下类定义: #InterSystems IRIS for Health 0 0 0 25
文章 姚 鑫 · 十二月 27, 2023 阅读大约需 2 分钟 第七章 创建Callout Library - 创建 ZFEntry 表 第七章 创建Callout Library - 创建 ZFEntry 表 创建 ZFEntry 表 每个 Callout 库必须定义一个 ZFEntry 表,该表允许 IRIS 加载和访问 Callout 函数。 ZFEntry 表由以 ZFBEGIN 开头、以 ZFEND 结尾的宏代码块生成。在这两个宏之间,必须为要公开的每个函数调用一次 ZFENTRY 宏。 每个 ZFENTRY 调用都采用三个参数: ZFENTRY(zfname,linkage,entrypoint) 其中 zfname 是用于在 $ZF 调用中指定函数的字符串,linkage 是指定如何传递参数的字符串,entrypoint 是 C 函数的入口点名称。 #InterSystems IRIS 0 0 0 29
文章 Michael Lei · 二月 14 阅读大约需 4 分钟 FHIR 用例集: 打破数字医疗壁垒,实现高质量发展 FHIR 用例集: 打破数字医疗壁垒,实现高质量发展 --促进互联互通,改进工作流程,提高数据洞察 简介 HL7® FHIR®(快速医疗互操作性资源)是以电子方式访问、交换和管理医疗信息的国际标准。与以往的标准不同,FHIR 可让帮助行业从业者轻松构建创新应用程序,有效地收集、汇总和分析来自不同来源的各种医疗保健和管理数据。医疗机构、社保/保险公司、政府机构、生命科学公司、医疗设备制造商和医疗科技等多种主体利用 FHIR 来简化信息流、提高数据洞察力、改善临床效果和业务成果。 FHIR 基于 JSON、HTTP 和 REST 等流行的网络技术。有了 FHIR,没有医疗信息化背景的软件开发人员也能使用熟悉的开发工具和开源技术,快速、轻松地满足政府机构、临床医生、研究人员、医疗行业从业者以及各类市场主体的数据需求。 FHIR 是一种灵活、适应性强的医疗数据模型,可轻松定制,以实现各种用例的互操作性。FHIR 由称为 "资源 "的离散、可计算的数据对象组成,以实现最佳效率。通过 FHIR 资源,应用程序可以访问单个医疗记录元素,而无需检索摘要文档中包含的所有数据。 #FHIR #InterSystems IRIS for Health 0 0 0 37
文章 Hao Ma · 三月 20 阅读大约需 2 分钟 IRIS/Caché SQL优化经验分享 - 复合索引的使用 复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。 为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了: 下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。 mysql CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z); 其实这相当于建立了三个索引,分别是: #SQL #新手 #InterSystems IRIS 0 0 0 32
文章 jieliang liu · 一月 7, 2021 阅读大约需 2 分钟 InterSystems 最佳实践系列之--从持久类和序列类生成 Swagger 规范 最近,我需要从持久类和序列类生成一个 Swagger 规范,所以我发布了我的代码(它并不完整 - 你仍然需要处理应用程序的细节,但这是一个开始)。 代码在这里。 假设你有下面的类: #API #Code Snippet #REST API #InterSystems IRIS 0 0 0 180
文章 Hao Ma · 一月 10, 2021 阅读大约需 6 分钟 我的日志不断增长 - 如何将其减到最小 在我发了前一个帖子后,有人催促我说重点 - 好吧,于是我找到了我的“明星”日志 global,也就是那些最占空间的 global - 但如何避免这种情况呢? 如何最大程度地减小日志? [免责声明:有些人在看到本帖后可能仍然会失望 ,那就等下个帖子吧... ] #日志 #系统管理 #Caché 0 0 0 115
文章 Nicky Zhu · 一月 11, 2021 阅读大约需 5 分钟 ObjectScript包管理器中的单元测试和测试覆盖率 本文将描述通过ObjectScript包管理器(见https://openexchange.intersystems.com/package/ObjectScript-Package-Manag...)运行单元测试的过程,包括测试覆盖率测量(见https://openexchange.intersystems.com/package/Test-Coverage-Tool)。 #ObjectScript #InterSystems Package Manager (IPM) #持续集成 #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 157
文章 Claire Zheng · 一月 21, 2021 阅读大约需 1 分钟 【视频】IRIS数据库在医疗行业发展(1):InterSystems IRIS架构 这是“IRIS数据库在医疗行业发展”系列课程的第一讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS架构。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。 //player.bilibili.com/player.html?aid=203682263&bvid=BV1mh4112784&cid=284392132&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #视频 #InterSystems IRIS for Health 0 0 0 120
文章 姚 鑫 · 二月 14, 2021 阅读大约需 1 分钟 第三十四章 Caché 变量大全 $ZNAME 变量 第三十四章 Caché 变量大全 $ZNAME 变量 包含当前例程名称。 大纲 $ZNAME $ZN 描述 $ZNAME包含在当前进程上执行的例程的名称。通常,这是ZLOAD加载的当前例程。如果当前没有执行任何例程,则$ZNAME包含空字符串。 当ZLOAD加载一个例程时,它将成为所有名称空间中当前进程的当前加载例程。因此,可以使用$ZNAME显示任何名称空间中当前加载的例程的名称,而不仅仅是加载该例程的名称空间。 例程名称区分大小写。 请注意,尝试ZLOAD例程失败会删除当前加载的例程,并将$ZNAME设置为空字符串。 不能使用SET命令修改此特殊变量。尝试这样做会导致错误。 $ZNAME值可以通过以下任何命令设置: ZLOAD command ZSAVE command 无参数ZREMOVE命令(设置为空字符串) DO command GOTO command with ^routine #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 53
文章 jieliang liu · 三月 15, 2021 阅读大约需 1 分钟 JDBC 兼容性状态 JDBC 兼容性状态 **这是一篇 [InterSystems 常见问题解答网站](https://faq.intersystems.co.jp/)文章。 版本 2009.1 及更高版本与 JDBC 4.0 API 兼容。 有关详细信息,请查阅以下文档。 [关于 JDBC 支持](First Look: JDBC and InterSystems Databases - InterSystems IRIS Data Platform 2020.3) #Java #JDBC #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 217
文章 Hao Ma · 三月 25, 2021 阅读大约需 4 分钟 为什么 COVID-19 对机器学习也有危险?(Part I) 几个月前,我在 MIT Technology Review 读到一篇很有意思的文章,作者解释了新冠疫情如何给全球 IT 团队带来关乎机器学习 (ML) 系统的难题。 这篇文章引起我对 ML 模型部署后如何处理性能问题的思考。 我在一个 Open Exchange 技术示例应用 (iris-integratedml-monitor-example) 中模拟了一个简单的性能问题场景,并提交到 InterSystems IRIS AI Contest。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :) #AI #IntegratedML #分析 #机器学习 #竞赛 #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 244
文章 姚 鑫 · 三月 29, 2021 阅读大约需 16 分钟 第十三章 使用动态SQL(七) 第十三章 使用动态SQL(七) SQL元数据 动态SQL提供以下类型的元数据: - 在“准备”之后,描述查询类型的元数据。 - 在“准备”之后,描述查询中选择项的元数据(“列”和“扩展列信息”)。 - 在准备之后,描述查询参数的元数据:参数,:var参数和常量。 (语句参数,形式参数和对象) - 执行之后,描述查询结果集的元数据。在执行Prepare操作(%Prepare(),%PrepareClassQuery()或%ExecDirect())之后,可以使用%SQL.StatementMetadata属性值。 - 可以直接为最新的%Prepare()返回%SQL.Statement元数据属性。 - 可以返回包含%SQL.StatementMetadata属性的oref的%SQL.Statement%Metadata属性。这使可以返回多个准备操作的元数据。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 178
文章 姚 鑫 · 四月 12, 2021 阅读大约需 3 分钟 第一章 SQL性能优化简介 第一章 SQL性能优化简介 InterSystems SQL支持几个特性来优化InterSystems IRIS®数据平台的SQL性能。 表定义优化 SQL性能从根本上取决于良好的数据架构。 将数据划分为多个表并在这些表之间建立关系对于高效的SQL是必不可少的。 描述了以下优化表定义的操作。 这些操作要求定义表,但不要求用数据填充表: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 107
文章 姚 鑫 · 四月 19, 2021 阅读大约需 11 分钟 第三章 优化表(二) 第三章 优化表(二) 调整表计算值 调优表操作根据表中的代表性数据计算和设置表统计信息: - ExtentSize,它可能是表中的实际行数(行数),也可能不是。 - 表中每个属性(字段)的选择性。 可以选择性地阻止单个属性的选择性计算。 - 属性的离群选择性,其中一个值比其他值出现得更普遍。 有效的查询可以利用离群值优化。 - 标识某些属性特征的每个属性的注释。 - 每个属性的平均字段大小。 - 表的SQL Map Name、BlockCount和Source of BlockCount。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 99
文章 Nicky Zhu · 四月 27, 2021 阅读大约需 6 分钟 在IRIS中联合运用OCR与NLP技术 根据IDC的报道,超过80%的信息是基于NoSQL的,尤其是文本文件。当数字服务或应用程序不能处理所有这些信息时,企业就会遭受损失。为了面对这一挑战,可以使用OCR技术。OCR使用机器学习和/或训练的图像模式将图像像素转化为文本。这一点很重要,因为许多文件被扫描成PDF格式的图像,或者许多文件中包含有文本的图像。因此,OCR是一个重要的步骤,可以从文件中获得所有可能的数据。 为了实现OCR,可以使用开源解决方案Google Tesseract,这是Python和Java社区中最流行的解决方案。Tesseract支持100多个习语,并且可以用新的模型进行训练以识别车牌、验证码等等。Tesseract是在C++中创建的,可以通过Java套用Tess4J构成一个中介层来使用它。下面的代码展示了调用过程。 #Java #互操作性 #分析 #InterSystems IRIS Open Exchange app 0 2 0 302
文章 Michael Lei · 九月 15, 2022 阅读大约需 5 分钟 示例:使用 Java + SpringBoot + Hibernate 和 IRIS 数据库创建 REST API Spring Boot 是最常用来创建 REST API 和微服务的 Java 框架。 它可用于部署 Web 应用程序、可执行 Web 应用程序或桌面自包含应用程序,其中应用程序和其他依赖项打包在一起。 Spring Boot 允许执行许多功能,请参见: 注:要了解有关 SpringBoot 的信息,请参见官方网站 - https://spring.io/quickstart 要创建具有一个或多个微服务的 Web api 应用程序,可以使用 Spring IDE for Eclipse/VSCode,并使用向导配置上述将在应用程序中使用的技术,请参见: 您可以选择技术并创建项目。 所有技术都将通过 maven 导入。 它就像一个可视化的 zpm。 #API #Java #微服务 #InterSystems IRIS Open Exchange app 0 0 0 387
文章 姚 鑫 · 五月 12, 2021 阅读大约需 4 分钟 第五章 管理全局变量(一) 第五章 管理全局变量(一) 管理门户提供管理全局变量的工具,系统类提供执行某些相同任务的方法。本章介绍如何使用这些工具。 一般建议 与ObjectScript命令SET、MERGE、KILL和其他命令一样,这里描述的工具提供了直接访问操作全局变量的权限。如果通过全局访问删除或修改,则会绕过所有对象和SQL完整性检查,并且没有撤消选项。因此,在执行这些任务时要非常小心,这一点很重要。(查看和导出不会影响数据库,并且是安全活动。) 使用本章中介绍的工具时,请确保以下事项: IRIS使用哪些全局变量。并不是所有这些都被视为“系统”全局变量-也就是说,即使没有选中“系统”复选框,它们中的一些也是可见的。其中一些全局变量存储代码,包括的代码。 确保知道应用程序使用哪些全局变量。 即使应用程序从不执行任何直接全局访问,应用程序也会使用全局变量。请记住,如果创建持久类,则它们的数据和任何索引都存储在全局变量中,全局变量的名称基于类名(默认情况下)。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 67
文章 Michael Lei · 五月 24, 2021 阅读大约需 2 分钟 InterSystems 数据平台和性能 – 如何更新 pButtons 。之前我展示了如何运行 pButtons 来收集我们在下列帖子中研究的性能指标。 第 1 部分 - 入门:收集指标。 第 2 部分 - 研究收集的指标。 更新:2020 年 5 月。 #InterSystems 业务解决方案和架构 #性能 #系统管理 #文档 0 0 0 121
文章 姚 鑫 · 五月 30, 2021 阅读大约需 8 分钟 第十一章 发送和接收IBM WebSphere MQ消息 第十一章 发送和接收IBM WebSphere MQ消息 InterSystems IRIS为IBM WebSphere MQ提供了一个接口,可以使用该接口在InterSystems IRIS和IBM WebSphere MQ的消息队列之间交换消息。要使用此接口,必须能够访问IBM WebSphere MQ服务器,并且IBM WebSphere MQ客户端必须与InterSystems IRIS在同一台计算机上运行。 该接口由%Net.MQSend和%Net.MQRecv类组成,这两个类都是%Net.abstractMQ的子类。这些类使用由InterSystems IRIS在所有合适的平台上自动安装的动态链接库。(这是Windows上的MQInterface.dll;其他平台的文件扩展名不同。)。反过来,InterSystems IRIS动态链接库需要IBM WebSphere MQ动态链接库。 该界面仅支持发送和接收文本数据,不支持二进制数据。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 294
文章 Michael Lei · 六月 23, 2021 阅读大约需 3 分钟 加密一个数据库需要多久? 一位客户请求估计使用 cvencrypt 实用工具加密一个数据库需要多久。 这个问题有点像问一根绳子有多长 — 视情况而定。 但这是一个有趣的问题。 答案主要取决于客户使用的目标平台上的 CPU 和存储的性能,因此答案更关乎的是提出一个简单方法,可以在运行 cvencrypt 时使用该方法对 CPU 和存储进行基准测试。 #InterSystems 业务解决方案和架构 #加密 #其他 0 0 0 92
文章 姚 鑫 · 六月 15, 2021 阅读大约需 5 分钟 第八章 Other Options of the Writer 第八章 Other Options of the Writer Other Options of the Writer Canonicalize() 方法的作用是:以规范化的形式编写XML节点。此方法具有以下签名: #Caché #InterSystems IRIS 0 0 0 73
文章 姚 鑫 · 六月 28, 2021 阅读大约需 6 分钟 第二十一章 使用%XML.TextReader 导航文档 第二十一章 使用%XML.TextReader 导航文档 导航文档 要在文档中导航,请使用文本阅读器的以下方法:Read()、ReadStartElement()、MoveToAttributeIndex()、MoveToAttributeName()、MoveToElement()、MoveToContent()和Rewind()。 导航到下一个节点 要移动到文档中的下一个节点,请使用read()方法。Read()方法返回TRUE值,直到没有更多节点可读为止(即,直到到达文档末尾)。前面的示例在如下所示的循环中使用了此方法: #Caché 0 0 0 91
文章 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 73
文章 姚 鑫 · 七月 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 75
文章 姚 鑫 · 八月 9, 2021 阅读大约需 6 分钟 方法关键字SoapRequestMessage,SoapTypeNameSpace,SqlName,SqlProc 第八十一章 方法关键字 - SoapRequestMessage 当多个web方法具有相同的SoapAction时使用此方法。 在默认场景中,该关键字指定请求消息的SOAP正文中的顶级元素的名称。 仅适用于定义为web服务或web客户端的类。 用法 要在请求消息的SOAP体中指定顶级元素的名称,请使用以下语法: Method name(formal_spec) As returnclass [ WebMethod, SoapAction = "MyAct", SoapRequestMessage="MyReqMessage" ] { //implementation } 其中soaprequestmessage是有效的XML标识符。 详解 注意:此关键字仅对包装的文档/文字document/literal消息有效。 #Caché 0 0 0 60
文章 Claire Zheng · 八月 17, 2021 阅读大约需 1 分钟 【视频】FHIR标准和国际基于FHIR的互联互通实践 当前医院面临更多互联互通需求,如预约挂号与分级诊疗、检验结果共享、医联体信息化、监管数据上报、临床辅助决策支持等,都需要对多源数据进行集成与整合。医疗机构内部和跨机构数据交换与共享,对互联互通提出新的要求。HL7 FHIR是国际上医疗行业实现数据交换和信息共享的标准之一,正在快速得到医疗行业广泛关注。InterSystems中国技术总监乔鹏在视频中分享了FHIR标准与国际互联互通的一些实践经验。 #FHIR #REST API #视频 #其他 0 0 0 165
文章 姚 鑫 · 八月 30, 2021 阅读大约需 9 分钟 第一章 SQL命令 ALTER TABLE(一) 第一章 SQL命令 ALTER TABLE(一) 修改表。 #SQL #Caché 0 0 0 81