文章 Weiwei Gu · 六月 27, 2022 阅读大约需 6 分钟 Globals 是管理数据的魔剑 : 第一部分 Globals,这些存储数据的魔剑,已经存在了一段时间,但是没有多少人能够有效地使用它们,也没有多少人知道这个超级武器。 如果你把Globals的东西用在它们真正能发挥作用的地方,其结果可能是惊人的,要么是性能的提高,要么是整体解决方案的大幅简化 (1, 2). Globals提供了一种特殊的存储和处理数据的方式,它与SQL表完全不同。它们在1966年首次出现在 M(UMPS)编程语言中, 该语言最初用于医学数据库。现在它仍然以同样的方式被使用,但也被其他一些以可靠性和高性能为首要任务的行业所采用:金融、交易等。 后来M(UMPS)演变为 Caché ObjectScript (COS). COS是由InterSystems公司开发的,作为M的一个超集. 其原始语言仍然被开发者社区所接受,并在一些实现中保持活力。在网络上有几个活跃的网址,比如:MUMPS Google group, Mumps User's group), effective ISO Standard等等 现代基于Globals的数据库支持交易、日志、复制、分区等。这意味着它们可以被用来构建现代的、可靠的、快速的分布式系统。 Gloabls并不将你限制于关系模型的范围内。它们让你可以自由地创建为特定任务优化的数据结构。对于许多应用来说,合理地使用好的Globals就如一颗真正的银子弹头,它所提供的速度是传统关系型应用的开发者所梦寐以求的。 作为一种存储数据的方法,globals可以在许多现代编程语言中使用,包括高级和低级语言。因此,本文将特别关注Globals本身,而不是它们曾经来自的语言。 #Node.js #关系表 #性能 #新手 #Caché #Global Masters #InterSystems IRIS 0 1 0 249
公告 Claire Zheng · 一月 23, 2022 欢迎中文社区新版主@黎卫东 亲爱的社区开发者们, 我很高兴地向大家介绍一位我们的新版主@黎卫东(Weidong Li)。 #开发者社区官方 0 2 0 229
文章 姚 鑫 · 三月 12, 2022 阅读大约需 4 分钟 第七十九章 SQL函数 $LIST(一) 第七十九章 SQL函数 $LIST(一) 返回列表中元素的列表函数。 #SQL #Caché 0 0 0 268
文章 Hao Ma · 十一月 17, 2021 阅读大约需 5 分钟 开发Ensemble REST服务 REF: https://docs.intersystems.com/healthconnectlatest/csp/docbook/Doc.View.c... REF: https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI... 开发REST服务有两个方式, 一个是生生的写代码, 定义接口的标准,被称为"Manually Coding"。第2个方式是目前越来越流行的"Sepcification-first",也就是使用描述性的语言定义接口规范,然后通过这个规范生成接口代码。第2种方式更快捷,但这里我还是从第一种介绍起,对理解里面的代码层次更容易一些,而这是调试一个接口必须的。 从代码开发REST服务 #Ensemble 0 0 1 268
文章 Michael Lei · 二月 19, 2023 阅读大约需 1 分钟 一键在 VSCode 终端中运行 ObjectScript 类方法 各位开发者,大家好! 对我来说,关于 ObjectScript 的最痛苦的一件事是输入 ##class(Class).Method() 以在代码或终端中调用类方法。 为解决这个问题, 我甚至提出了一个在 ObjectScript 中简化它的想法。 但是 VSCode ObjectScript中有一个刚刚引入到插件中的新功能 – 复制调用Copy Invocation! 只需将 **Copy Invocation**(复制调用)链接悬停在代码中的每个类方法上方,点击它,该调用就会被复制到缓冲区: #ObjectScript #提示和技巧 #终端 #InterSystems IRIS #VSCode Open Exchange app 0 0 0 267
文章 Lele Yang · 六月 8, 2021 阅读大约需 1 分钟 FAQ 常见问题系列--应用篇 升级系统后打开管理门户SMP报错5001 如果您在升级了系统之后,打开SMP时看到如下报错,ERROR #5001: 对象的服务器版本与客户端发送的版本不一致: %ZEN.Component.vgroup 一般情况下,这个报错是由浏览器缓存中残留的过期信息造成的,可以通过清除浏览器缓存来解决。 如果清除浏览器缓存之后仍然未能解决此问题,请您前往系统安装目录, 如:d:\InterSystems\IRIS\CSP\broker,查看css/js文件的时间戳在本次更新安装之后是否并没有相应地更新,如果没有,请您做以下尝试,1)在IRIS中更改数据库IRISLIB, 之前的版本是CACHELIB, 取消只读装载,方法如下,打开管理门户SMP, 系统管理->配置->本地数据库,选择要更改的数据库,取消"只读方式挂载",点击【保存】。2)重新编译%Zen组件,w ##class(%SYSTEM.OBJ).Compile("%ZEN.Component.vgroup")此时,再次前往,d:\InterSystems\IRIS\CSP\broker,会看到相关的css/js文件时间戳已经更新。3)恢复上述数据库的只读装载。 #ZEN 1 0 0 267
文章 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。 读完这篇文章后您可以去看看,如果喜欢,就请投我一票吧! :) #Artificial Intelligence (AI) #IntegratedML #分析 #Machine Learning (ML) #竞赛 #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 267
文章 water huang · 九月 21, 2022 阅读大约需 4 分钟 对 %XML.PropertyParameters类的探索 日常工作中,我们使用xml 应该是比较多的,早期的ensemble或者cache,对JSON的支持不是很好,但是对xml支持比较好。因此早期的接口方式中,webservice+xml的方式很常用。而对象导出为xml最简单的方式就是类继承 %XML.Adaptor。继承该类后,就可以使用很多xml的特性,以满足各种需求。虽然看不到对象转为xml的具体实现,但是配置了参数,就可以实现更多的效果。那么想自定义一些参数呢?如果有人打开过它的定义,可以看到类上面有个 “ PropertyClass = %XML.PropertyParameters”,那么我们其实在需要xml参数的同时,又要自定义参数,就可以自己写个属性类,继承于%XML.PropertyParameters。 #API #Caché #Ensemble 15 4 0 186
Job Rachel You · 三月 7, 2022 医元数科技有限公司招聘软件开发工程师 公司名称:医元数科技有限公司 职务:软件开发工程师 工作地点:北京或上海 直属上级:技术主管 职责概述:1.负责公司软件产品相关的工作,需求,设计,测试,完成和交付。负责产品需求分析,产品规划。 2.了解实际业务,将业务转化为需求 3.撰写需求文档,产品原型,协助开发/UI理解和掌握需求,对产品需求方向和业务目标负责 4.负责在项目推进过程与研发团队及外包团队的协调沟通工作,确保产品按时完成并高质量上线 5.负责跟进产品上线后的异常监控,业务培训,业务需求汇集,完善产品功能,提升系统可用性 核心能力:1.逻辑分析能力 2.沟通和协调能力 3.有业务领域模型的认知 4.良好的跨团队协作能力 工作经验:1.3-5年软件系统开发经验和产品经验 2.参与3-5个软件系统项目 3.健康医疗行业经验优先 学历/资格要求:1.计算机科学学士学位或等效的相关学位 #工作机会 0 0 0 266
文章 Jingwei Wang · 八月 30, 2022 阅读大约需 3 分钟 使用Python DB-API连接InterSystems IRIS InterSystems IRIS 允许从任何符合DB-API的Python应用程序对InterSystems IRIS 进行快速、无缝地访问。Python DB-API驱动是对PEP 249 v2.0(Python数据库API规范 v2.0)的完整兼容。 #Python #InterSystems IRIS for Health 0 1 0 245
公告 Michael Lei · 六月 2, 2022 InterSystems 正式发布 InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2022.1 InterSystems 正式发布 InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2022.1 InterSystems很高兴地宣布,InterSystems IRIS数据平台、InterSystems IRIS for Health和HealthShare Health Connect的2022.1版本现在已经发布(GA)。 #版本 #InterSystems IRIS 0 0 0 265
文章 姚 鑫 · 三月 12, 2021 阅读大约需 5 分钟 第九章 SQL查询数据库(一) 第九章 SQL查询数据库 查询类型 查询是执行数据检索并生成结果集的语句。查询可以包含以下任意项: - 一个简单的SELECT语句,用于访问指定表或视图中的数据。 - 具有JOIN语法的SELECT语句,用于访问多个表或视图中的数据。 - 合并多个SELECT语句的结果的UNION语句。 - 使用SELECT语句为封闭的SELECT查询提供单个数据项的子查询。 - 在嵌入式SQL中,这是一个使用SQL游标通过FETCH语句访问多行数据的SELECT语句。 使用SELECT语句 SELECT语句从一个或多个表或视图中选择一行或多行数据。下面的示例显示了一个简单的SELECT: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 265
文章 Jingwei Wang · 七月 14, 2022 阅读大约需 6 分钟 精华文章 InterSystems SQL 的使用 - 第一部分 - 架构及特性介绍 InterSystems SQL为存储在IRIS数据库中的数据提供不折不扣的、标准的关系型访问。 InterSystems SQL具有以下优点。 高性能和可扩展性 - InterSystems SQL的性能和可扩展性优于其他关系型数据库产品。 与IRIS对象技术的集成 - InterSystems SQL与IRIS对象技术紧密集成。你可以混合使用关系型和对象型的数据访问,而不牺牲任何一种方法的性能。 低维护 - 与其他关系型数据库不同,IRIS应用程序不需要在部署的应用程序中重建索引和压缩表。 支持标准SQL查询 - InterSystems SQL支持SQL-92标准语法和命令。 #SQL #InterSystems IRIS for Health 0 0 0 263
文章 Qianzhu Liu · 六月 9, 2021 阅读大约需 7 分钟 临床医生与信息系统的“爱恨情愁”之三:我的工作站我做主 门诊医生工作站是帮助医生规范和高效的完成日常处方、病历书写、结果查询、会诊转诊等一系列诊疗行为的综合应用平台。该平台以电子病历为中心,内置常用模版和术语库;与医嘱系统、实验室系统、影像系统等相联通,为医生提供便捷、快速的辅助工具。 #TrakCare 0 0 0 262
文章 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 262
文章 姚 鑫 · 三月 5, 2021 阅读大约需 9 分钟 第四章 SQL标识符 第四章 标识符 标识符 标识符是SQL实体的名称,例如表、视图、列(字段)、模式、表别名、列别名、索引、存储过程、触发器或其他SQL实体。 标识符名称在其上下文中必须是唯一的; 例如,同一模式中的两个表或同一表中的两个字段不能具有相同的名称。 但是,不同模式中的两个表或不同表中的两个字段可以具有相同的名称。 在大多数情况下,相同的标识符名称可以用于不同类型的SQL实体; 例如,一个模式、该模式中的表以及该表中的字段都可以具有相同的名称,而不会产生冲突。 但是,同一个模式中的表和视图不能具有相同的名称。 InterSystems IRIS®数据平台SQL标识符遵循一组命名约定,根据标识符的使用,这可能会受到进一步的限制。 标识符不区分大小写。 标识符可以是简单标识符,也可以是分隔符。 InterSystems SQL默认支持简单标识符和分隔标识符。 简单标识符 简单标识符有以下语法: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 240
文章 Zhang Fatong · 七月 5, 2023 阅读大约需 2 分钟 平台服务器入场配置预测应用 预测平台入场服务器配置 平台服务器入场配置预测应用,以java连接iris并使用其IntegratedML技术完成对医院门诊量,服务数,消息数,消息保存时间等数据分析,可以在医院集成平台入场前,对医院入场平台所需的服务器配置进行预测,为客户提供便利。 #IntegratedML #Java #互操作性 #InterSystems IRIS Open Exchange app 2 6 0 139
文章 Lele Yang · 六月 23, 2021 阅读大约需 3 分钟 FAQ 常见问题系列--互操作篇 如何在Production中通过JDBC访问外部数据库 Production是指Ensemble/HealthShare Health Connect/IRIS/IRIS for Health产品中提供的互操作功能模块,更多关于Production介绍,可参见在线文档,https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_productions#AFL_productions_quicklook #JDBC 0 2 0 219
文章 Lele Yang · 七月 22, 2021 阅读大约需 6 分钟 FAQ 常见问题系列--Java 从IRIS数据库中读取Stream数据性能优化-Prefetch方式介绍 提示:本文包含在Java中通过JDBC Driver对Caché/IRIS数据库进行查询的示例代码。 近期有客户反应使用Java从老版本Caché中读取数据时,如果数据中包含long varchar, Caché数据库中与之对应的属性类型为%Stream.GlobalCharacter,即使实际上该流数据长度非常小,也会成十几倍的降低性能。 大家先来看一段代码, #Java #JDBC 0 3 0 199
文章 Michael Lei · 三月 17, 2022 阅读大约需 5 分钟 来自HIMSS 2022 的翻译文章 Epic:为临床医生提供数据驱动的治疗洞察力是"对病人的最佳护理 " 来自奥兰多的报道,Epic公司的医生Jackie Gerhart博士在HIMSS22上讨论了电子病历的庞大研究数据库及其发现如何形成个人服务。 新冠疫情的发生证明了随时获取数据的重要性。在未知的病毒海洋中,全人群的分析有助于为公共卫生官员、医疗服务供应商和患者提供洞察力。 现在,在Epic公司从事临床信息学工作的医生Jackie Gerhart说,这家全球领先的电子病历厂商正在希望帮助临床医生使用数据来形成个性化患者服务。 Gerhart在HIMSS22会议上与《医疗保健IT新闻》坐下来讨论了Epic广泛的病人数据库、Epic研究结果以及其即将推出的 "我的病人的最佳护理(Best Care for My Patient "工具如何向临床医生展示全国各地的最有效实践。 问: 作为一名医生,你是如何帮助Epic形成产品的? 答: 我们的作用是,第一,帮助软件的研究和开发;第二,新的面向未来的项目,使得相关的数据和分析可以在护理节点或未来的研究中使用。 #其他 0 0 0 259
文章 Claire Zheng · 九月 12, 2021 阅读大约需 3 分钟 InterSystems发布InterSystems IRIS医疗版互联互通套件,加速医院互联互通平台建设 2021年9月13日,中国 北京—— 致力于帮助客户解决最关键的可扩展性、互操作性和速度问题的创新数据技术提供商InterSystems今日宣布在中国推出InterSystems IRIS医疗版互联互通套件,以满足医院信息化建设的标准化要求,促进业务协同,助力公立医院高效建设互联互通平台。 #网络研讨会 #InterSystems IRIS for Health 0 1 0 239
文章 姚 鑫 · 四月 20, 2021 阅读大约需 13 分钟 第四章 缓存查询(一) 第四章 缓存查询(一) 系统自动维护已准备好的SQL语句(“查询”)的缓存。这允许重新执行SQL查询,而无需重复优化查询和开发查询计划的开销。缓存查询是在准备某些SQL语句时创建的。准备查询发生在运行时,而不是在编译包含SQL查询代码的例程时。通常,PREPARE紧跟在SQL语句的第一次执行之后,但在动态SQL中,可以准备查询而不执行它。后续执行会忽略PREPARE语句,转而访问缓存的查询。要强制对现有查询进行新的准备,必须清除缓存的查询。 所有SQL调用都会创建缓存查询,无论是在ObjectScript例程中调用还是在类方法中调用。 - 动态SQL、ODBC、JDBC和$SYSTEM.SQL.DDLImport()方法在准备查询时创建缓存查询。管理门户执行SQL接口、InterSystems SQL Shell和%SYSTEM.SQL.Execute()方法使用动态SQL,因此使用准备操作来创建缓存查询。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 259
文章 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 259
文章 Hao Ma · 六月 4, 2021 阅读大约需 3 分钟 JSON in IRIS (1) - Dynamic Object 之所以称为Dynamic,是说这个对象在代码编译的时候可以不定义对象的属性和结构,在runtime时才根据装入的数据来产生对象定义。IRIS里用Dynamic Object来处理JSON数据。简单说: 先定义一个Dynamic Object, 把JSON数据装进去,然后用对象的方式处理JSON文档。 让我们看看是它是怎么工作的。 创建一个Dynamic Object很简单, 标准而且啰嗦的写法是: set dynObject1 = ##class(%DynamicObject).%New() 大家通常用简单的写法,像这样用一个{}来定义Dynamic Object: #JSON #新手 #InterSystems IRIS 0 0 0 258
文章 Michael Lei · 六月 14, 2023 阅读大约需 3 分钟 使用LangChain 修复 SQL 本文是 SqlDatabaseChain 的简单快速入门(我所做的)。 希望大家会感兴趣。 非常感谢: sqlalchemy-iris 作者@Dmitry Maslennikov 您的项目使我的试验变得可能。 文章脚本使用 openai API,因此请注意不要在外部共享您不打算共享的表信息和记录。 如果需要,可以插入本地模型。 #Artificial Intelligence (AI) #Python #SQL #InterSystems IRIS 2 0 1 257
问题 e e · 六月 7, 2021 csp和webservice文件上传 为什么我用webservice上传文件比csp上传文件快? webservice用的soap协议也得走http呀。csp直接处理http,少了xml的封装,按理来说应该更快。 经测试,1M的文件,csp慢了0.1s左右。在网关连接到1972后,有0.1s左右的停滞,不知道原因。 有什么办法能够使csp的文件上传速度比webservice快吗? #CSP #SOAP #Caché 0 1 0 255
文章 王喆 ? · 九月 24, 2022 阅读大约需 2 分钟 使用Global进行数据可视化---商业智能(BI) 在医院但凡接触“数据”和“指标”的人,对以下场景应该是深有感触。同样的指标、同样的时间,有可能是同一个部门出的,最后“数据不一致”。除了“匪夷所思”,更有“深恶痛绝”。那么,如何解决这个问题?我的答案是商业智能(BI)。随着技术和市场的发展,有很多公司开始研发直接面向业务用户的敏捷BI工具,FineBI就是这样的一款BI工具。这个也是我接触的第一款国产BI。 #InterSystems 业务解决方案和架构 #新手 #InterSystems IRIS BI (DeepSee) #InterSystems 想法门户 18 0 0 255
文章 Michael Lei · 四月 12, 2022 阅读大约需 7 分钟 几个程序化实现互操作性的示例 程序化访问 Production 要用程序编辑Production(界面),你可以使用互操作性API和SQL查询的组合。 现有的命名空间 从顶层了解你目前正在工作的命名空间和生产是很重要的。 ##嵌入式 Python #ObjectScript #互操作性 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 255
文章 Li Yan · 一月 13, 2021 阅读大约需 15 分钟 面向 Microsoft Azure Resource Manager (ARM) 的 InterSystems 示例参考架构 本文提供了一个参考架构,作为示例说明基于 InterSystems Technologies(适用于 Caché、Ensemble、HealthShare、TrakCare 以及相关的嵌入式技术,例如 DeepSee、iKnow、Zen 和 Zen Mojo)提供的强大性能和高可用性应用。Azure 有两种用于创建和管理资源的不同部署模型:Azure Classic 和 Azure Resource Manager。 本文中的详细信息基于 Azure Resource Manager (ARM) 模型。 #Azure #InterSystems 业务解决方案和架构 #云 #镜像 #高可用性 #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 255
文章 Hao Ma · 五月 17, 2024 阅读大约需 3 分钟 IRIS/Caché SQL优化经验分享 - 真实案例分享 最近有某国内三甲医院为满足评级和飞行检查要求,希望提升HIS和IRIS的SQL查询效率,客户和实施工程师整理了一个慢查询的SQL列表, 有一些查询比较慢, 查询时间在甚至大于60分钟。 在我们和厂商共同努力下,对整个库的SQL查询做了优化。 下表是记录了我们在进行了大部分优化工作后的结果,您可以看到大多查询从几十分钟减少到了几十秒甚至1秒以内。其中有几个慢到几分钟的查询,最后经过细调, 也把查询耗时减少到了一分钟以内。 优化的效果还是很明显的。 这里我分享一下操作的要点,以便给其他有同样问题的客户一个思路。 其实如果您看过我前面的帖子,应该已经有了基本的概念。我就把工作流程总结一下,其实就这么几个步骤: 步骤一: #SQL #新手 #InterSystems IRIS 2 0 0 254