文章
Louis Lu · 九月 26, 2021 阅读大约需 7 分钟
IRIS 2021 技术文档 First Look 10 -- InterSystems .Net 网关

本技术概要( First Look)通过重点概述和一个基础的、实际操作的示例,向您介绍在 InterSystems IRIS®数据平台上使用 .NET 网关(Gateway)的基础知识。您将了解 InterSystems IRIS 如何与 .NET 程序集进行互操作,在这个示例中,您将创建一个 .NET 网关(Gateway),并从 InterSystems IRIS 中的代理类调用基础 DLL。

本文档设计简单;当您把 .NET 网关(Gateway)引入您的生产系统时,您可能需要做一些不同的事情。本文档末尾的参考资料,提供了有关在生产中使用 .NET 网关(Gateway)的详细和完整的信息。

00
0 0 29
文章
Michael Lei · 一月 14 阅读大约需 6 分钟
翻译文章--医疗行业的下一代数字孪生

我们为什么要关注医疗领域的数字孪生?


环顾四周,你会看到无数的设备监测和收集我们身体状态数据的例子。可穿戴智能手表和健身追踪器、医疗成像设备、数字健康应用程序、温度计等。同样,这些设备本身也在产生关于其当前运行环境和状况的大量数据。但是,我们如何才能理解所有这些数据,并从中获得有意义的洞察?一种可能性是对这些数据进行动态展示,即所谓的数字孪生。

数字孪生是一个物理对象或系统在其生命周期内的虚拟表达。这意味着,数字孪生包含了关于其现实世界对应物状态的最新和历史数据。将这些动态数据纳入不同医疗应用的虚拟表示中,可以实现主动决策、流程优化和医疗领域的完整生命周期管理。

 

第一部分  数字孪生人体

00
0 0 17
文章
姚 鑫 · 二月 10, 2021 阅读大约需 1 分钟
第三十章 Caché 变量大全 $ZHOROLOG 变量

第三十章 Caché 变量大全 $ZHOROLOG 变量

包含自Caché启动以来经过的秒数。

大纲

$ZHOROLOG
$ZH

描述

$ZHOROLOG包含自最近的Caché启动以来经过的秒数。这是一个计数,与时钟变化和日期范围无关。该值表示为浮点数,表示秒和秒的分数。小数位数与平台有关。 $ZHOROLOG在此小数部分截断尾随零。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

注意:由于Windows操作系统的限制,使Windows系统进入休眠或待机模式可能会导致$ZHOROLOG返回不可预测的值。此问题不会影响$HOROLOG$ZTIMESTAMP值。

示例

本示例输出当前的$ZHOROLOG值。

00
0 0 27
文章
Michael Lei · 二月 26, 2021 阅读大约需 1 分钟
为什么从Cache迁移到IRIS?

 

不少客户问我关于从Cache迁移到IRIS的问题。为什么要迁移到IRIS?Cache是优秀的,稳定的,有很好的性能,为什么要迁移到IRIS呢?这些客户是对的,但在过去几年,数字化转型提出了不少新问题、新需求和新挑战,客户需要更灵活、更完整、更前瞻的解决方案,InterSystems公司很有远见地洞察到了这一点,推出了IRIS。
一句话,IRIS是一套数据平台解决方案,它帮助客户和合作伙伴为迎接数字化转型的挑战提供了充足的弹药。

00
0 0 40
文章
姚 鑫 · 三月 11, 2021 阅读大约需 10 分钟
第八章 SQL修改数据库

第八章 SQL修改数据库

可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。
不能修改定义为只读的持久类(表)。

使用SQL命令为维护数据的完整性提供了自动支持。
SQL命令是一个原子操作(全部或没有)。
如果表上定义了索引,SQL将自动更新它们以反映更改。
如果定义了任何数据或引用完整性约束,SQL将自动执行它们。
如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。

插入数据

可以使用SQL语句或设置和保存持久化类属性将数据插入表中。

使用SQL插入数据

INSERT语句将一条新记录插入SQL表中。
可以插入一条记录或多条记录。

下面的示例插入一条记录。
它是插入单个记录的几种可用语法形式之一:

00
0 0 84
文章
姚 鑫 · 三月 27, 2021 阅读大约需 11 分钟
第十三章 使用动态SQL(五)

第十三章 使用动态SQL(五)

从结果集中返回特定的值

要从查询结果集中返回特定的值,必须一次一行遍历结果集。
要遍历结果集,请使用%Next()实例方法。
(对于单一值,结果对象中没有行,因此%Next()返回0,而不是错误。)
然后,可以使用%Print()方法显示整个当前行的结果,或者检索当前行的指定列的值。

%Next()方法获取查询结果中下一行的数据,并将该数据放入结果集对象的data属性中。
%Next()返回1,表示它位于查询结果中的某一行上。
%Next()返回0,表示它位于最后一行(结果集的末尾)之后。
每次调用%Next()返回1个增量%ROWCOUNT;
如果游标定位在最后一行之后(%Next()返回0),%ROWCOUNT表示结果集中的行数。

00
0 1 51
文章
姚 鑫 · 四月 6, 2021 阅读大约需 13 分钟
第十八章 定义和使用存储过程

第十八章 定义和使用存储过程

本章介绍如何在IntersystemsIRIS®数据平台上定义和使用Intersystems SQL中的存储过程。它讨论了以下内容:

  • 存储过程类型的概述
  • 如何定义存储过程
  • 如何使用存储过程如
  • 何列出存储过程及其参数。

概述

SQL例程是可执行的代码单元,可以由SQL查询处理器调用。 SQL例程有两种类型:功能和存储过程。从支持FunctionName()语法的任何SQL语句中调用函数。存储过程只能由CALL语句调用。函数接受某些输入定向参数并返回单个结果值。存储过程接受某些输入,输入输出和输出参数。存储过程可以是用户定义的函数,返回单个值。 CALL语句也可以调用函数。

与大多数关系数据库系统一样,Intersystems Iris允许创建SQL存储过程。存储过程(SP)提供存储在数据库中的可调用可调用的程序,并且可以在SQL上下文中调用(例如,通过使用呼叫语句或通过ODBC或JDBC)。

00
0 0 109
文章
姚 鑫 · 四月 23, 2021 阅读大约需 6 分钟
第五章 优化查询性能(二)

第五章 优化查询性能(二)

使用索引

索引通过维护常见请求数据的排序子集,提供了一种优化查询的机制。
确定哪些字段应该被索引需要一些思考:太少或错误的索引和关键查询将运行太慢;
太多的索引会降低插入和更新性能(因为必须设置或更新索引值)。

什么索引

要确定添加索引是否会提高查询性能,请从管理门户SQL接口运行查询,并在性能中注意全局引用的数量。
添加索引,然后重新运行查询,注意全局引用的数量。
一个有用的索引应该减少全局引用的数量。
可以通过在WHERE子句或ON子句条件前使用%NOINDEX关键字来防止使用索引。

应该为联接中指定的字段(属性)编制索引。左外部联接从左表开始,然后查看右表;因此,应该为右表中的字段建立索引。在下面的示例中,应该为T2.f2编制索引:

00
0 0 22

在本帖中,我将展示使用外部备份来备份 Caché 的策略,以及与基于快照的解决方案集成的示例。 如今,大多数解决方案部署在基于 VMware 的 Linux 上,因此许多帖子都以展示解决方案如何集成 VMware 快照技术为例。

Caché 备份 - 包括电池?

Caché 安装后即包含 Caché 在线备份,可提供不间断的 Caché 数据库备份。 但随着系统规模的扩大,您应该考虑更高效的备份解决方案。 集成了快照技术的外部备份是推荐的系统(包括 Caché 数据库)备份解决方案。

外部备份有特殊注意事项吗?

外部备份的在线文档包含了全部详细信息。 一个关键考虑事项是:

“为确保快照的完整性,Caché 提供了在创建快照时冻结数据库写操作的方法。 在创建快照期间,只冻结对数据库文件的物理写入,从而允许用户进程继续在内存中不间断地执行更新。”

00
0 0 71
文章
姚 鑫 · 五月 27, 2021 阅读大约需 5 分钟
第八章 处理收到的电子邮件

第八章 处理收到的电子邮件

处理收到的电子邮件

本节介绍如何处理通过%Net.POP3检索到的电子邮件(%Net.MailMessage)。

Message Basics

检索电子邮件(%Net.MailMessage)后,通常首先确定它是哪种类型的邮件以及如何阅读它;也就是说,它是否是多部分邮件以及各部分是否是二进制的。在此步骤中,您可以使用ContentType属性。或者,可以使用IsBinaryIsHTMLIsMultiPart属性,它们间接提供与contentType相同的信息。

如果消息是多部分消息,则每个部分都是%Net.MailMessagePart的一个实例。

Message Headers

消息本身和消息的每个部分都有一组标头。

00
0 0 14
文章
Jingwei Wang · 十月 28, 2021 阅读大约需 32 分钟
IRIS 2021 技术文档 First Look 31:InterSystems IRIS 和 UIMA
00
0 0 20

本文档将向您介绍 InterSystems IRIS®数据平台如何通过使用应用服务器进行分布式缓存,利用企业缓存协议(Enterprise Cache Protocol,ECP)来扩展用户容量(User Volume)。
本指南介绍了如何使用分布式缓存架构进行扩展,并介绍了与部署 InterSystems IRIS 分布式缓存集群相关的一些初始任务。一旦您完成了本指南,您将对分布式缓存集群的工作原理和设置方法有一个基本的了解。
这些活动被设计成只使用默认的设置和功能,这样您就可以熟悉该功能的基本原理,而不必处理细节(尽管这些细节在执行实现时可能很重要)。有关使用 InterSystems IRIS 分布式缓存和 ECP 的完整文档,请参见本指南末尾 " For More Information (更多信息)" 部分中的参考资料列表。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

00
0 0 24
文章
Claire Zheng · 一月 20, 2021 阅读大约需 5 分钟
使用内置的REST API监控InterSystems IRIS

我们不必等待SAM发布才开始规划和试用该API来监控IRIS实例。在以后的文章中,我将更深入地探讨可用的指标及其意义,并提供一些交互式仪表板的示例。首先,我将介绍一下相关背景和一些问题及答案。

IRIS(和Caché)一直在收集自身及其运行平台的数十个指标。收集这些指标来监控Caché和IRIS的方法向来有很多。我发现,很少有安装软件使用IRIS和Caché的内置解决方案。譬如,History Monitor作为性能和系统使用指标的历史数据库,已经推出很长时间了,但它没有简便方法可实时显示这些指标和仪表系统。

IRIS平台解决方案(以及整个业界)正在从仅在一些本地实例上运行的单体式应用程序过渡到“随处”部署的分布式解决方案。在许多用例中,原有的IRIS监控方案并不适用于这些新的模式。InterSystems没有做重复工作,而是将目光投向当前流行的、经过验证的监控和告警开源解决方案。

00
0 0 54
文章
姚 鑫 · 二月 11, 2021 阅读大约需 1 分钟
第三十一章 Caché 变量大全 $ZIO 变量

第三十一章 Caché 变量大全 $ZIO 变量

包含有关当前终端I / O设备的信息。

$ZIO
$ZI

描述

$ZIO包含有关当前I / O设备的信息。

对于作为终端的终端设备,$ZIO包含字符串TRM:。如果当前终端设备是远程连接的,则$ZIO包含有关远程连接的信息。

对于通过TELNET连接的终端设备,$ZIO包含以下内容:host | port

00
0 0 24
文章
姚 鑫 · 三月 12, 2021 阅读大约需 5 分钟
第九章 SQL查询数据库(一)

第九章 SQL查询数据库

查询类型

查询是执行数据检索并生成结果集的语句。查询可以包含以下任意项:
- 一个简单的SELECT语句,用于访问指定表或视图中的数据。
- 具有JOIN语法的SELECT语句,用于访问多个表或视图中的数据。
- 合并多个SELECT语句的结果的UNION语句。
- 使用SELECT语句为封闭的SELECT查询提供单个数据项的子查询。
- 在嵌入式SQL中,这是一个使用SQL游标通过FETCH语句访问多行数据的SELECT语句。

使用SELECT语句

SELECT语句从一个或多个表或视图中选择一行或多行数据。下面的示例显示了一个简单的SELECT

00
0 0 34

如果看了前一篇InterSystems IRIS医疗行业版创建FHIR服务器,应该您已经搭建好了FHIR服务器和FHIR资源仓库。除了使用FHIR REST API来操作这个FHIR服务器,您还可以更直观地看看它的价值 - 使用SMART on FHIR应用。这次,基于上次建好的FHIR服务器,我们用10分钟把一个SMART on FHIR运行起来。

00
0 2 115
文章
姚 鑫 · 四月 25, 2021 阅读大约需 10 分钟
第五章 优化查询性能(四)

第五章 优化查询性能(四)

注释选项

可以在SELECTINSERTUPDATEDELETETRUNCATE表命令中为查询优化器指定一个或多个注释选项。
注释选项指定查询优化器在编译SQL查询期间使用的选项。
通常,注释选项用于覆盖特定查询的系统范围默认配置。

语法

语法/*#OPTIONS */(在/*#之间没有空格)指定了一个注释选项。
注释选项不是注释;
它为查询优化器指定一个值。
注释选项使用JSON语法指定,通常是“key:value”对,例如: /*#OPTIONS {"optionName":value} */
支持更复杂的JSON语法,比如嵌套值。

00
0 0 21
文章
Michael Lei · 五月 12, 2021 阅读大约需 11 分钟
InterSystems 数据平台和性能 - 第 5 篇 使用 SNMP 进行监控

InterSystems 数据平台和性能 - 第 5 部分 使用 SNMP 进行监控

在之前的帖子中,我展示了如何使用 pButtons 收集历史性能指标。 我首选 pButtons 是因为我知道它随每个数据平台实例(Ensemble、Caché、...)一起安装。 不过,还有其他方法可以实时收集、处理和显示 Caché 性能指标,以进行简单的监视,或进行更重要的并且复杂得多的运营分析和容量计划。 最常见的数据收集方法之一是使用 SNMP(简单网络管理协议)。

SNMP 是 Caché 向各种管理工具提供管理和监控信息的标准方式。 Caché 在线文档包含了 Caché 和 SNMP 之间接口的详细信息。 虽然 SNMP 应该可以直接与 Caché 配合工作,但仍有一些配置技巧和陷阱。 我经历了很多次错误的开始,并且在 InterSystems 其他同事的帮助下,才让 Caché 与操作系统 SNMP 主代理建立对话,所以我写了这篇帖子,希望您可以避免同样的痛苦。

00
0 0 49
文章
姚 鑫 · 五月 28, 2021 阅读大约需 4 分钟
第九章 创建、编写和阅读MIME邮件

第九章 创建、编写和阅读MIME邮件

Iris提供了一个可以用于创建MultiPart Mime消息(%Net.MimePart)的类。创建要添加到SOAP消息的附件时,请使用此类;请参阅创建Web服务和Web客户端。因为MIME是一个常见的标准,所以有许多其他可能的应用程序,例如电子邮件处理和HTTP Multipart Post。

# MIME消息概述

MIME格式的文档被称为MIME部分。每个MIME部件都有标题,包含邮件正文(文本或二进制)或包含额外的MIME部件。具有MIME版本标题的MIME部分可以用作顶级文档,称为MIME消息。下图显示了示例:

image

在该示例中,EF具有未显示的附加子部分。

要表示MIME部件,请使用 %Net.MIMEPart类,该类提供用于设置零件的标题和内容的属性。

# 创建MIME部分

00
0 0 13
文章
Michael Lei · 八月 20, 2021 阅读大约需 3 分钟
用于ObjectScript的IRIS 原生API

这些API虽然在IRIS 2020.1中已经实现了,但没有被放在官方文档里。

这都是直接从Class Reference中提取的,我只是收集了它来创建第一个概述。

ObjectScript的本地API遵循其他语言平台上使用的API。它从一个静态API开始,允许用户使用Iris Connection连接到IRIS命名空间,无论是本地还是远程。连接接口允许用户实例化IRIS本地API类(%Net.DB.Iris)。然后,该实例可用于访问IRIS全局数组,管理事务,调用例程或类中实现的函数和方法,以及实例化远程迭代器。

00
0 0 14
文章
Nicky Zhu · 九月 27, 2021 阅读大约需 34 分钟
IRIS 2021 技术文档 First Look 17 Globals
00
0 0 26
文章
Hao Ma · 十一月 2, 2021 阅读大约需 16 分钟
IRIS 2021 技术文档 First Look 28 - InterSystems 公钥基础设施 (PKI)

本文档介绍了 InterSystems 公钥基础设施(PKI),它可以在开发组织的安全策略中发挥重要作用。它提供有关公钥加密、证书颁发机构和 PKI 的信息。然后介绍一些与使用 InterSystems PKI 相关的初始任务。完成本指南后,您将有能力创建一个证书颁发机构 (CA),然后向 CA 客户端请求并接收证书。 
虽然 InterSystems PKI 不用于生产系统,但您可以用它来熟悉 PKI 工具和安全基础设施。作为设计和探索过程的一部分,这对于创建全面的安全方法特别有帮助。
本指南使用 InterSystems IRIS®数据平台的默认设置,这使您能够熟悉 PKI 的基本原理,而不必处理其他在执行实现时很重要的细节问题。有关数据库加密的完整文档,请参见 The InterSystems Public Key Infrastructure(《 InterSystems 公钥基础设施》)。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

00
0 0 17

现代医疗有无数来自数字技术的机会,包括优化流程的指挥中心、支持洞察力和决策的人工智能和机器学习、提供实时数据的物联网和连接设备,以及管理和保护大型数据流的强大数字基础设施。创建数字孪生和使用虚拟技术来推动医疗行业的真实世界价值将这一切结合起来。

数字孪生在医疗领域的真实世界价值

数字孪生是一个物理对象或过程的虚拟副本,通过模拟和反馈物理对应物来学习和发展。它在动态系统建模的同时部署了人工智能和机器学习,并适用于医疗保健和生命科学环境。数字孪生创造了一个机会,在实施干预措施、路径变化和操作改进之前,对系统的影响进行建模和预测,以实现效益最大化和风险最小化。

这种模拟创造了以下机会:测试情景以预测影响和帮助决策(例如,在系统设计和病人治疗中);识别低效、瓶颈和机会,并模拟效益/副作用(例如,在流程优化中);自动化反应和决策(例如,在环境控制中);以及越来越多地在虚拟环境中进行测试(例如,硅研究 - 美国和欧洲监管机构都在探索在新医疗药物和技术的审批中使用此类 "数字证据")。

这种数字孪生可以在不同层次上运作:作为整个系统或组织、生物体或建筑的复制品。

数字孪生的实际应用

00
0 0 75
文章
姚 鑫 · 二月 12, 2021 阅读大约需 2 分钟
第三十二章 Caché 变量大全 $ZJOB 变量

第三十二章 Caché 变量大全 $ZJOB 变量

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

$ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。

要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:

00
0 1 32