文章 Michael Lei · 八月 9, 2022 阅读大约需 1 分钟 在ObjectScript中运行shell命令 有时,有必要从主机操作系统的Shell(即你的ObjectScript程序所在的地方)执行命令,以启动程序、操作系统服务、安排crontasks以及其他活动。为此,该语言有一个叫做$ZF(-100). 的实用程序: $ZF(-100,flags,program,args) 其中flags是你想执行的命令的类型。在我们的例子中,标志是"/ SHELL",用于在主机操作系统上执行shell命令。 Program是要执行的程序或服务的名称。 Args是传递给程序的执行参数。 一个例子是在提示符下打印一些内容,例如: $ZF(-100,"/SHELL","echo","https://www.intersystems.com/") 如果你的程序依赖于改变当前目录,要运行该程序,在调用前使用以下命令: #ObjectScript #InterSystems IRIS 0 0 0 289
文章 Michael Lei · 八月 9, 2022 阅读大约需 1 分钟 一个更有用的对象Object Dump 在测试你的代码时,你经常会遇到需要检查对象的实际内容。无论是使用 ZWRITE 还是 $system.OBJ.Dump(), 你会得到一个简单的属性图片,"--- 属性值---" 而 "--- swizzled references ---" 更容易让人混淆 用“--- calculated references ---" 你只是被留在了后面。 #Code Snippet #工具 #开发环境 #提示和技巧 #新手 #测试 #Caché #Ensemble #InterSystems IRIS Open Exchange app 0 0 0 307
文章 Michael Lei · 八月 9, 2022 阅读大约需 2 分钟 ObjectScript 错误处理片段 ObjectScriptt至少有三种处理错误的方法(状态代码status codes、异常 exceptions, SQLCODE等)。大多数系统代码使用状态码,但由于一些原因,异常更容易处理。在处理遗留代码时,你要花一些时间在不同的技术之间进行转换。我经常使用这些片段作为参考。希望它们对其他人也是有用的。 #Code Snippet #ObjectScript #错误处理 #Caché #InterSystems IRIS 0 0 0 373
文章 姚 鑫 · 八月 8, 2022 阅读大约需 3 分钟 第二十一章 源代码文件 REST API 参考(三) 第二十一章 源代码文件 REST API 参考(三) GetDocNames 此方法返回源代码文件名列表。可选的 cat 和 type 约束源代码文件的类型。 URL GET http://server:port/api/atelier/v1/namespace/docnames GET http://server:port/api/atelier/v1/namespace/docnames/cat GET http://server:port/api/atelier/v1/namespace/docnames/cat/type 其中 #REST API #Caché 0 0 0 193
文章 Michael Lei · 八月 8, 2022 阅读大约需 2 分钟 FHIR 实操--借助VS Code 中的IntelliSense和自动完成功能,通过使用FHIR Schema创建和验证任何HL7 FHIR资源 医疗行业的互操作性在改善病人护理、降低医疗服务提供者的成本以及为提供者提供更准确的情况方面发挥着重要作用。然而,由于有这么多不同的系统,数据的格式也有很多不同的方式。有许多标准被创造出来以试图解决这个问题,包括HL7v2、HL7v3和CDA,但每一种都有其缺点。 FHIR,即快速医疗互操作性资源,是一种新的医疗数据格式,旨在解决这些问题。它是由国际卫生级七组织(HL7)开发的,该组织还开发了HL7v2、HL7v3和CDA。 今天我们将探讨如何在VS代码中借助IntelliSense和自动完成功能,通过使用FHIR Schema 创建和验证FHIR资源。 第 1 步 :从FHIR 官方网站 https://www.hl7.org/fhir/下载 JSON schema file 文件用来做资源校验 #FHIR #REST API #Caché #Ensemble #InterSystems IRIS for Health #VSCode 0 0 0 378
文章 姚 鑫 · 八月 7, 2022 阅读大约需 4 分钟 第二十章 源代码文件 REST API 参考(二) 第二十章 源代码文件 REST API 参考(二) GetMetaData 此方法返回命名数据库的 METADATA.zip 文件的二进制内容。 Atelier 使用此文件来存储索引信息,以便为将来的会话保留此信息。 URL GET http://server:port/api/atelier/v1/%25SYS/metadata/database 注意:因为 % 是 URL 特殊字符,所以要指定文字 %,必须在其后跟 25(百分号字符的十六进制代码)。因此,必须使用 %25SYS 来指定文字 %SYS。 #REST API #Caché 0 0 0 277
文章 Michael Lei · 八月 7, 2022 阅读大约需 2 分钟 最佳实践之改善日期范围查询的SQL性能 根据日期范围查询的SQL性能让你失望? 我有一个比较特别的技巧,可能会帮助你解决这个问题! (SQL开发人员讨厌这个!)* 如果你有一个类,在添加数据时记录时间戳,那么这些数据将与你的IDKEY值保持顺序--也就是说,当且仅当ID1<ID2时,表内所有ID和时间戳值的TimeStamp1<TimeStamp2--那么你可以利用这一知识来提高对时间戳范围的查询性能。 考虑一下下面这个表: Class User.TSOrder extends %Persistent { Property TS as %TimeStamp; Property Data as %String (MAXLEN=100, MINLEN=200); Index TSIdx on TS; Index Extent [type=bitmap, extent]; } 用过去30天内的30,000,000条随机行来填充,每天将得到1,000,000条行。 现在,如果我们想查询某一天的信息,你可以这样写: #Code Snippet #SQL #InterSystems IRIS for Health 0 0 0 453
文章 姚 鑫 · 八月 6, 2022 阅读大约需 3 分钟 第十九章 源代码文件 REST API 参考(一) 第十九章 源代码文件 REST API 参考(一) 源代码文件 REST 接口支持以下方法: - GetServer:返回有关服务器的信息。 - HeadServer:返回服务器的 HttpHeader。 - GetJobs:返回正在运行的jobs列表。 - GetMetaData:返回命名数据库的 METADATA.zip 文件的内容。 - GetCSPApps:返回 Web 应用程序列表。 - GetNamespace:返回有关特定命名空间的信息。 - GetDocNames:返回源代码文件名列表。 - GetModifiedDocNames:返回自数据库具有指定哈希值以来已修改的源代码文件列表。 - PutDoc:保存提供的源代码文件。 #REST API #Caché 0 0 0 243
文章 姚 鑫 · 八月 5, 2022 阅读大约需 3 分钟 第十八章 源代码文件 REST API 教程(三) 第十八章 源代码文件 REST API 教程(三) 编译文件 Compile 方法编译传入 JSON 数组中名称指定的源代码文件。例如,要编译 xyz.mac,请发布以下内容: http://localhost:52773/api/atelier/v1/INVENTORY/action/compile 使用以下 JSON 消息: ["xyz.mac"] 该方法返回: #Caché 0 0 0 78
文章 姚 鑫 · 八月 4, 2022 阅读大约需 3 分钟 第十七章 源代码文件 REST API 教程(二) 第十七章 源代码文件 REST API 教程(二) 获取在命名空间中定义的源代码文件 要获取有关命名空间中源代码文件的信息: - 首先,使用 GetDocNames 方法获取文件的名称。 - 然后用GetDoc 方法获取一个文件的内容,也可以用GetDocs 方法获取多个文件的内容。 - 如果要提高应用程序的网络效率,可以保留源代码文件的名称和内容的本地缓存,并使用 GetModifiedDocNames 方法仅获取内容发生变化的源代码文件的名称或使用带有 If-None-Match HTTP 标头的 GetDoc 方法。 GetDocNames 方法返回映射到命名空间的所有数据库中的所有源代码文件的名称。 #REST API #Caché 0 0 0 72
文章 姚 鑫 · 八月 3, 2022 阅读大约需 3 分钟 第十六章 源代码文件 REST API 教程(一) 第十六章 源代码文件 REST API 教程(一) 本章提供了一个简短的教程,通过一系列示例演示如何使用源代码文件 REST API。它包含以下部分: API 基础 Atelier 用于访问 IRIS 源代码文件的 API 使用 REST 架构风格。 REST 的名字来源于“Representational State Transfer”。与许多 REST API 一样 IRIS 源代码文件 REST API 使用 HTTP GET、POST、PUT、DELETE 和 HEAD 方法,并将 JSON 用于传入和传出消息体。 #REST API #Caché 0 0 0 193
文章 Claire Zheng · 八月 3, 2022 阅读大约需 9 分钟 推荐 | 南方医院历时4年构建新HIS系统 推荐一篇文章,南方医院HIS系统的更换与建设探索! #InterSystems 业务解决方案和架构 #数据库 #Caché #InterSystems IRIS for Health 1 0 0 243
文章 Claire Zheng · 八月 3, 2022 阅读大约需 3 分钟 西安交通大学(生物医学语义理解研究组)李辰:数字化转型中的智能病理诊断 今天推荐一篇智能病历诊断方面的文章(点击阅读全文)。 #其他 0 0 0 259
公告 Claire Zheng · 八月 2, 2022 你的问题是一个 #KeyQuestion(关键问题) 吗? 开发者们,大家好! 在此向您介绍开发者社区的一个新特性—— InterSystems开发者关键问题(Key Questions). 我们增加了一个新的 #Key Question 标签(#关键问题),用以显著标识与InterSystems数据平台有关的、影响重大的提问/问题。 每个月,InterSystems专家会选择一些这类问题,提出这些问题的社区成员将被授予荣誉奖励! 有哪些荣誉呢?详情如下! #关键问题 #开发者社区官方 0 0 0 79
公告 Claire Zheng · 八月 2, 2022 探索之夏——来开发者社区提问,获取400积分! Hi 社区成员们, 我们希望你正在经历一个激情而又鼓舞人心的夏天(你所在的地方也有可能是冬天:D)! 今天我们在开发者社区启动“探索之夏”活动,详情如下: #Global Masters 0 0 0 87
文章 姚 鑫 · 八月 2, 2022 阅读大约需 3 分钟 第十五章 源代码文件 REST API 简介 第十五章 源代码文件 REST API 简介 源代码文件 REST API 简介 此 REST API 提供对源代码文件的访问。我们开发此 API 是为了允许 Atelier(我们基于 Eclipse 的 IDE)访问 IRIS 服务器上的 IRIS 代码文件。可以使用 API 执行访问 IRIS 代码文件所需的操作。这些行动包括: - 获取 IRIS 实例上可用的命名空间 - 查找命名空间中定义的类定义和例程 - 获取类和例程的文本定义 - 更新类定义或例程 - 创建新的类定义或例程 - 删除类定义或例程 - 编译 IRIS 类或例程 - 通过对表执行 SQL 查询来发现 IRIS 环境的属性 #Caché 0 0 0 83
文章 姚 鑫 · 八月 1, 2022 阅读大约需 4 分钟 第十四章 手动创建 REST 服务(二) 第十四章 手动创建 REST 服务(二) 指定数据格式 可以定义 REST 服务以处理不同格式的数据,例如 JSON、XML、文本或 CSV。 REST 调用可以通过在 HTTP 请求中指定 ContentType 元素来指定它期望发送的数据的形式,并且可以通过在 HTTP 请求中指定 Accept 元素来请求返回数据格式。 在 DocServer 示例中,GetNamespaces() 方法检查 REST 调用是否使用以下内容请求 JSON 数据: #REST API #Caché 0 0 0 49
问题 PY Lee · 七月 29, 2022 如何在Ensemble中对字段类型为GlobalCharacterStream进行字符串搜索? 如何在Ensemble中对字段类型为GlobalCharacterStream进行字符串搜索?String的可以搜索,但是Stream类型的就不行。 #Ensemble 0 3 0 161
文章 姚 鑫 · 七月 31, 2022 阅读大约需 8 分钟 第十三章 手动创建 REST 服务(一) 第十三章 手动创建 REST 服务(一) 本附录描述了如何通过继承 %CSP.REST 类来手动创建 REST 服务;此过程创建了一个手动编码的 REST 服务,它不能与所有 API 管理工具一起使用。 手动创建 REST 服务的基础知识 要手动定义 REST 服务,请执行以下操作: #REST API #Caché 0 0 0 59
文章 姚 鑫 · 七月 30, 2022 阅读大约需 3 分钟 第十二章 使用中的 OpenAPI 属性 第十二章 使用中的 OpenAPI 属性 本附录列出了 API 管理工具在生成 REST 服务类时使用的 OpenAPI 2.0 规范的属性。此处未列出的属性将被忽略。有几个扩展属性;它们的名称以 x-ISC 开头。 Swagger basePath consumes host produces definitions (请注意,API 管理工具在生成代码时不使用 Schema 对象的任何属性) parameters (for details, see “Parameter Object”) #REST API #Caché 0 0 0 112
文章 Michael Lei · 七月 29, 2022 阅读大约需 3 分钟 全球征文比赛分享--未来智慧医院畅想--利用Python来进行人脸识别和情绪感知 在这篇文章中,我试图找出多个领域来开发我们能够使用python和机器学习的功能。 每家医院都在努力利用技术和服务来提高其服务质量和效率。 医疗保健部门是一个非常大的、可供选择的服务领域,而python是做机器学习的最好技术之一。 在每个医院里,人们都会有一些感觉,如果这种感觉能够被计算机理解,使用技术就有机会提供更好的服务。 在这里,我们可以把这两者结合起来,在医疗部门,我正试图理解/识别各种选择,以提供更好的服务。 首先,我们可以尝试使用python的机器学习来识别人并了解他们目前的感受。比如,在医院信息系统中,每个病人至少有一张照片,使用该照片我们可以识别病人,然后一旦病人到达医院,使用视频监控和机器学习技术需要识别这个人的感觉。 在医院设施中会看到多种类型的感觉。 1)紧张 2)平静和冷静 3) 哭泣 4) 暴力的病人/亲属 5) 生病的病人 6) 高烧鉴定 像上面的情况,我们可以看到多种不同的类型。 如果一个已经登记的病人发高烧,那么使用闭路电视识别这个病人的情况,并捕捉温度热像仪,护理人员可以给予更好的支持,这在接待服务领域是非常大的区别。 #Artificial Intelligence (AI) #Python #Machine Learning (ML) #InterSystems IRIS #InterSystems IRIS BI (DeepSee) #TrakCare #其他 0 0 0 135
文章 姚 鑫 · 七月 29, 2022 阅读大约需 2 分钟 第十一章 api mgmnt API 参考 第十一章 /api/mgmnt/ API 参考 此参考列出了 /api/mgmnt/ 服务中的端点,所有这些端点都适用于较新的 REST 服务。下表总结了端点并指出它们是否也适用于手动编码的 REST 服务。 #REST API #Caché 0 0 0 48
文章 Jingwei Wang · 七月 29, 2022 阅读大约需 33 分钟 InterSystems SQL 的优化 - 第一部分 - 定义和构建索引 什么时候使用索引 索引提供了一种机制,通过维护常用数据的分类子集来优化查询。确定哪些字段应该被编入索引需要一些思考:太少或错误的索引,关键查询会运行得太慢;太多的索引会减慢INSERT和UPDATE的性能(因为索引值必须被设置或更新)。 索引什么 为了确定添加索引是否能提高查询性能,从管理门户的SQL界面运行查询,并在Performance中注意 global引用的数量。添加索引,然后重新运行查询,注意 global引用的数量。一个有用的索引应该减少 global引用的数量。你可以通过使用%NOINDEX关键字作为WHERE子句或ON子句条件的前言来阻止索引的使用。 你应该对JOIN中指定的字段(属性)进行索引。例如,LEFT OUTER JOIN从左表开始,然后查看右表,因此,你应该对右表的字段进行索引。在下面的例子中,你应该为T2.f2编制索引。一个INNER JOIN应该在两个ON子句字段上都有索引。 #SQL #InterSystems IRIS 1 0 0 111
文章 姚 鑫 · 七月 28, 2022 阅读大约需 4 分钟 第十章 发现和记录 REST API 第十章 发现和记录 REST API 本章讨论如何发现实例上可用的 REST 服务以及如何为 REST 服务生成文档。 使用 /api/mgmnt 服务发现 REST 服务 /api/mgmnt 服务包括可用于发现 REST 服务类和启用 REST 的 Web 应用程序的调用。 发现 REST 服务 要使用 /api/mgmnt 服务来发现实例上可用的 REST 服务,请使用以下 REST 调用: #REST API #Caché 0 0 0 77
文章 Frank Ma · 七月 28, 2022 阅读大约需 2 分钟 华山论剑-应用集成平台 应用集成平台市场上产品众多,商家专家观点纷纭,莫衷一是。Gartner公司从用户角度出发,搭建了Peer Insight “大众点评”平台,让用户能够为自己使用的产品发声,对各个产品打分。以下是来自用户的声音,供参考。 第一款产品是微软的BizTalk,综合得分3.9。 第二款产品是InterSystems的Ensemble,综合得分4.6。 第三款产品是IBM的WebSphere Enterprise Service Bus,综合得分3.8。 #Ensemble #InterSystems IRIS for Health 0 0 0 110
文章 Jingwei Wang · 七月 28, 2022 阅读大约需 8 分钟 InterSystems SQL 的使用 - 第八部分 - 存储和使用流数据(BLOBs和CLOBs) InterSystems SQL支持在InterSystems IRIS数据平台数据库中将流数据存储为BLOB(Binary Large Objects 二进制大对象)或CLOB(Character Large Objects字符大对象)的能力。 InterSystems SQL支持两种流字段: 字符流:用于大量的文本。 二进制流:用于图像、音频或视频。 BLOBs和CLOBs可以存储多达4GB的数据(JDBC和ODBC规范规定的限制)。除了在通过ODBC或JDBC客户端访问时如何处理字符编码转换(如Unicode到多字节)外,BLOB和CLOB的操作在各方面都是相同的:BLOB中的数据被视为二进制数据,决不转换为其他编码,而CLOB中的数据被视为字符数据,在必要时进行转换。 #SQL #InterSystems IRIS for Health 0 0 0 122
文章 Jingwei Wang · 七月 28, 2022 阅读大约需 4 分钟 InterSystems SQL 的使用 - 第七部分 - Stored Procedures 定义 Stored Procedures 可以使用以下方式定义stored procedures 使用DDL定义存储过程 使用类方法定义存储过程 使用DDL定义存储过程 CREATE PROCEDURE 可以创建一个查询,它总是作为一个存储过程被预测。一个查询可以返回一个单一的结果集。 #SQL #InterSystems IRIS for Health 0 0 0 160
文章 姚 鑫 · 七月 27, 2022 阅读大约需 3 分钟 第九章 REST 服务安全 第九章 REST 服务安全 如果 REST 服务正在访问机密数据,应该对服务使用身份验证。如果需要为不同的用户提供不同级别的访问权限,还要指定端点所需的权限。 为 REST 服务设置身份验证 可以对 IRIS REST 服务使用以下任何形式的身份验证: HTTP 身份验证标头 — 这是 REST 服务的推荐身份验证形式。 Web 会话身份验证 — 其中用户名和密码在 URL 中的问号后面指定。 OAuth 2.0 身份验证 - 请参阅以下小节。 REST 应用程序和 OAuth 2.0 要通过 OAuth 2.0 对 REST 应用程序进行身份验证,请执行以下所有操作: #REST API #Caché 0 0 0 69
文章 姚 鑫 · 七月 25, 2022 阅读大约需 6 分钟 第七章 在 REST 服务中支持 CORS 第七章 在 REST 服务中支持 CORS 概述 本节提供 CORS 的概述以及如何在 IRIS REST 服务中启用 CORS 的概述。 CORS 简介 跨域资源共享 (CORS) 允许在另一个域中运行的脚本访问服务。 通常,当浏览器从一个域运行脚本时,它允许对同一个域进行 XMLHttpRequest 调用,但在对另一个域进行调用时不允许它们。此浏览器行为限制某人创建可滥用机密数据的恶意脚本。恶意脚本可能允许用户使用授予用户的权限访问另一个域中的信息,但随后在用户不知道的情况下,将机密信息用于其他用途。为了避免这种安全问题,浏览器一般不允许这种跨域调用。 在不使用跨域资源共享 (CORS) 的情况下,具有访问 REST 服务的脚本的网页通常必须与提供 REST 服务的服务器位于同一域中。在某些环境中,将带有脚本的网页与提供 REST 服务的服务器放在不同的域中是很有用的。 CORS 支持这种安排。 #REST API #Caché 0 0 0 63