文章
· 六月 17, 2022 阅读大约需 7 分钟
第三章 锁定和并发控制(三)

第三章 锁定和并发控制(三)

升级锁

使用升级锁来管理大量锁。当锁定数组的节点时,它们是相关的,特别是当将多个节点锁定在同一下标级别时。

当给定进程在同一数组中的给定下标级别创建了超过特定数量(默认为 1000)的升级锁时, 将删除所有单独的锁名称并用新锁替换它们。新锁位于父级,这意味着数组的整个分支被隐式锁定。示例(如下所示)演示了这一点。

应用程序应在合适的情况下尽快释放特定子节点的锁(与非升级锁完全相同)。当释放锁时, 会减少相应的锁计数。当的应用程序移除足够多的锁时,会移除父节点上的锁。第二小节显示了一个示例。

锁升级示例

假设有 1000^MyGlobal("sales","EU",salesdate) 形式的锁,其中 salesdate 表示日期。锁表可能如下所示:

image

0 0
0 56
InterSystems 开发者社区汇聚了 17,825 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 六月 25, 2022 阅读大约需 2 分钟
第十章 设置结构化日志记录(二)

第十章 设置结构化日志记录(二)

注:IRIS有,Cache无。

启用结构化日志记录

^LOGDMN 例程允许管理结构化日志记录;还有一个基于类的 API,将在下一节中介绍。

要使用 ^LOGDMN 启用结构化日志记录:

  1. 打开终端并输入以下命令:
set $namespace="%sys"
do ^LOGDMN

这将启动一个带有以下提示的例程:

0 0
0 47
文章
· 七月 10, 2022 阅读大约需 7 分钟
第二十三章 使用 %Status 值

第二十三章 使用 %Status 值

许多类使用 %Status 数据类型类来表示状态信息,并且它们的方法返回表示成功或错误的 %Status 值(状态)。如果状态表示一个错误(或多个错误),则状态值还包括有关错误的信息。

还可以返回自己的状态值。

本文讨论状态值以及如何使用它们。

使用状态值的基础知识

如上所述,许多 类中的方法返回一个状态以指示成功或错误。例如,%Library.Persistent中的%Save()方法返回一个状态。对于任何此类方法,请务必获取返回值。然后检查状态,然后适当地继续。基本工具如下:
- 要检查状态是表示成功还是错误,请使用以下任一方法:
-
$$$ISOK$$$ISERR宏,在包含文件%occStatus.inc中定义。此包含文件在所有对象类中自动可用。
-
$SYSTEM.Status.IsOK()$SYSTEM.Status.IsError()` 方法,它们在终端(不能使用宏)中特别方便。

0 0
0 56
文章
· 七月 16, 2022 阅读大约需 4 分钟
第七章 使用嵌入式 Python (四)

第七章 使用嵌入式 Python (四)

弥合 ObjectScript 和嵌入式 Python 之间的差距

由于 ObjectScriptPython 语言之间的差异,将需要了解一些有助于弥合语言之间差距的信息。

ObjectScript 方面,%SYS.Python 类允许从 ObjectScript 使用 Python

Python 方面,iris 模块允许使用 Python 中的 ObjectScript。在 Python 中,键入 help(iris) 以获取其方法和函数的列表。

使用 Python 内置函数

builtins 包在 Python 解释器启动时自动加载,它包含语言的所有内置标识符,例如基对象类和所有内置数据类型类、异常类、函数和常量。

0 0
0 81

在创建一个或多个立方体后,你通常会创建并打包一组透视表和仪表盘,而用户通常会根据需要创建新的透视表和仪表盘。

本章简要地引导你了解创建透视表和仪表盘的过程。它包括以下几个步骤。

  • 创建透视表
  • 创建一个仪表盘
  • 导出并打包这些项目

创建透视表

在本教程的前面,我们创建了一个使用Patients cube的透视表。现在让我们创建使用你的新立方体Tutorial的透视表。

0 0
0 80

在这篇文章中,我试图找出多个领域来开发我们能够使用python和机器学习的功能。

每家医院都在努力利用技术和服务来提高其服务质量和效率。

医疗保健部门是一个非常大的、可供选择的服务领域,而python是做机器学习的最好技术之一。

在每个医院里,人们都会有一些感觉,如果这种感觉能够被计算机理解,使用技术就有机会提供更好的服务。

在这里,我们可以把这两者结合起来,在医疗部门,我正试图理解/识别各种选择,以提供更好的服务。

首先,我们可以尝试使用python的机器学习来识别人并了解他们目前的感受。比如,在医院信息系统中,每个病人至少有一张照片,使用该照片我们可以识别病人,然后一旦病人到达医院,使用视频监控和机器学习技术需要识别这个人的感觉。

在医院设施中会看到多种类型的感觉。

1)紧张

2)平静和冷静

3) 哭泣

4) 暴力的病人/亲属

5) 生病的病人

6) 高烧鉴定

像上面的情况,我们可以看到多种不同的类型。

如果一个已经登记的病人发高烧,那么使用闭路电视识别这个病人的情况,并捕捉温度热像仪,护理人员可以给予更好的支持,这在接待服务领域是非常大的区别。

0 0
0 107
文章
· 八月 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

0 0
0 211
文章
· 八月 10, 2022 阅读大约需 4 分钟
关于如何管理和减少Ensemble系占用空间的一些策略

我们中的许多人在几年前安装了Ensemble,估计空间是足够的,但现在却遇到了意外--硬盘已经满了!我们可以看看我们可以采取哪些措施来调查发生了什么,然后如何减少所占用的空间。 让我们来看看我们可以采取哪些措施来调查发生了什么,然后如何减少占用的空间。

是什么占用了Ensemble的空间?
让我们来看看在Ensemble中占用空间的东西的清单。

  1. Ensemble安装。
  2. 备份文件
  3. 日志文件
  4. Ensemble数据库。
  5. 流文件。
  6. 自定义应用程序文件

让我们逐一来看看这些文件。

Ensemble安装占用的空间

这是一个相对较小的空间,取决于版本,大约为1GB。如果你想减少它,你有可能删除一些开发包或第三方连接驱动ODBC/JDBC。你可以通过改变安装选项来做到这一点,见Ensemble安装手册。

0 0
0 248
文章
· 八月 18, 2022 阅读大约需 2 分钟
使用csvgen从文件或URL地址中以编程方式导入CSV

Hi 社区的朋友们,大家好!

有时我们需要以编程方式自动将CSV数据从文件或者UR网址L导入到InterSystems IRIS。我们希望创建具有适当数据类型的类并导入数据。

我在Open Exchange上发布了一个模块csvgen,它正是这样做的。

如果你只需要将CSV文件导入IRIS,你可以这么做:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.Titanic
Header: PassengerId INTEGER,Survived INTEGER,Pclass INTEGER,Name VARCHAR(250),Sex VARCHAR(250),Age INTEGER,SibSp INTEGER,Parch INTEGER,Ticket VARCHAR(250),Fare MONEY,Cabin VARCHAR(250),Embarked VARCHAR(250)
Records imported: 891
USER>

或者你的CSV文件在互联网上, 例如GitHub上面的新冠疫情数据 你可以这样获得数据:

USER>d ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/05-29-2020.csv",",","Data.Covid19")

Class name: Data.Covid19
Header: FIPS INTEGER,Admin2 VARCHAR(250),Province_State VARCHAR(250),Country_Region VARCHAR(250),Last_Update DATE,Lat MONEY,Long_ DOUBLE,Confirmed INTEGER,Deaths INTEGER,Recovered INTEGER,Active INTEGER,Combined_Key VARCHAR(250),Incidence_Rate DOUBLE,Case-Fatality_Ratio DOUBLE
Records imported: 3522
USER>

0 0
0 272
文章
· 八月 25, 2022 阅读大约需 4 分钟
第十二章 配置数据库(四)

第十二章 配置数据库(四)

重定位本地数据库

要将本地数据库的 IRIS.DAT 文件移动到不同的目录,必须执行以下操作:

  1. 记下当前的数据库目录。可以从本地数据库页面(系统管理 > 配置 > 系统配置 > 本地数据库)查看此信息。
  2. 彻底关闭实例,例如使用 iris stop 命令。
  3. IRIS.DAT 文件和流目录从当前数据库目录复制到所需位置

重要提示:如果数据库目录中有 iris.lck 文件,请不要移动数据库。这意味着数据库仍在使用中,移动它可能会导致无法预料的问题。

注意: 不支持在配置数据库目录时使用符号链接,并建议为新的数据库位置选择完全解析的物理路径。

  1. 在文本编辑器中打开实例的 iris.cpf 文件。该文件通常位于安装目录中。

0 0
0 83
文章
· 九月 17, 2022 阅读大约需 7 分钟
第三十五章 在 Windows 上使用 IRIS(二)

第三十五章 在 Windows 上使用 IRIS(二)

IRIS 启动器

Microsoft Windows 平台上的主要IRIS 界面是 IRIS 启动器。从 IRIS 启动器,可以启动所有 IRIS 配置和管理工具。还可以从快捷方式或命令行调用每个启动器命令。

相应地,可以从 Windows 程序菜单中启动许多 IRIS 工具,方法是指向 IRIS 文件夹,然后指向启动 IRIS 以获得适当的 IRIS 实例名称。

当在基于 Windows 的系统上启动 IRIS 时, IRIS 启动器图标会出现在任务栏的系统托盘中。

当单击 IRIS 启动器时,会出现一个菜单,其中包含使用 ObjectScript 实用程序和编程环境的命令。

下表描述了 IRIS 启动器菜单中可用的命令。

1 0
0 93
文章
· 九月 30, 2022 阅读大约需 2 分钟
第二章 Caché 服务器页面简介 - 你应该知道

第二章 Caché 服务器页面简介 - 你应该知道

你应该知道什么

要高效使用 CSP,应该熟悉以下内容:

  • Caché objects and ObjectScript

  • HTML

  • JavaScript

  • SQL

CSP Samples

Caché 附带一组示例CSP 页面。要查看这些:

2 0
0 79
文章
· 十月 10, 2022 阅读大约需 3 分钟
第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

CSP 的主要任务是提供动态内容以响应传入的 HTTP(超文本传输协议)请求。本节介绍 CSP 如何处理 HTTP 请求的基础知识。

HTTP 是一种简单的协议,其中客户端向服务器发出请求。 HTTP 是一种无状态协议;客户端和服务器之间的连接只持续为服务请求所需的时间。每个 HTTP 请求都包含一个请求标头,该标头指定请求类型(例如 GETPOST)、一个 URL 和一个版本号。请求还可能包含附加信息。 CSP 自动确定它应该处理哪些 HTTP 请求,将它们分派到运行在 Caché 服务器上的适当类,并将请求信息打包成易于使用的对象(例如对象中的 %CSP.Request)。

1 0
0 40
文章
· 十月 19, 2022 阅读大约需 2 分钟
第二十一章 CSP Session 管理 - 身份验证和加密

第二十一章 CSP Session 管理 - 身份验证和加密

身份验证和加密

在发送到 HTTP 客户端的页面上放置状态信息是很常见的。当从这些页面发出后续请求时,会将状态信息发送回服务器。很多时候,重要的是将状态信息放置在网页上,以便 a) HTTP 源的查看者无法确定状态信息的值,并且 b) 服务器可以验证返回的信息是,实际上,从同一服务器和会话发送出去。通过其加密服务,CSP 提供了一种易于使用的机制来实现这一点。

Session Key

CSP 可以使用加密密钥对服务器上的数据进行加密和解密。每个 CSP session 都有一个唯一的会话密钥(可通对象 Key 属性中的 %CSP.Session 访问),用于加密会话数据。这种机制是安全的,因为会话密钥永远不会发送到 HTTP 客户端;它作为 %CSP.Session 的一部分保留在 CSP 服务器上,位于对象中。

0 0
0 55
文章
· 十月 26, 2022 阅读大约需 2 分钟
如何导出导入集成平台组件和production?

上线一个新的集成平台production或者组件是需要很多精力的,用户常常需要对每一个组件所满足的需求和所能提供的功能,使用到的协议,以及组件对系统资源的调用有深入细致的了解。在配置好一个production之后,您可能需要将这个production推送到测试或者正式环境,或者需要将一个写好的组件代码应用到不同的项目上。这些时候,production的导出功能可以方便您传输production或组件的配置和代码。

导出

需要导出production时,您可以移步到管理门户 - Interoperability - 相应的命名空间 - 列表 - Production 页面,选择您需要导出的production,再点击页面上的导出键进行导出。如下图1所示:

在弹出的对话框中,您可以选择在导出文件中您想包括的内容。如下图2所示:

0 0
0 98
文章
· 十二月 7, 2022 阅读大约需 11 分钟
创建基于 FHIR 的表单

Intersystems IRIS for Health 对 FHIR 行业标准提供了出色的支持。主要特点是:
1.FHIR 服务器
2. FHIR数据库
3. REST 和 ObjectScript API 用于 FHIR 资源(患者、问卷、疫苗等)的 CRUD 操作

本文演示了如何使用这些功能,并展示了用于创建和查看表单类型的 FHIR 资源的Angula前端。

第 1 步 - 使用 InterSystems IRIS for Health 部署您的 FHIR 服务器

要创建 FHIR 服务器,您必须将以下说明添加到 iris.script 文件中(来自:https://openexchange.intersystems.com/package/iris-fhir-template

0 0
0 101

第四十九章 使用 ^SystemPerformance 监视性能 - 复制配置文件

复制配置文件

可以使用以下 API 命令将现有配置文件复制到具有不同名称的文件:

set rc=$$copyprofile^SystemPerformance("sourceprofilename","targetprofilename")

必须指定:

  • sourceprofilename - 现有配置文件的名称
  • targetprofilename - 要创建的配置文件的名称。这必须用双引号引起来。

如果成功,该函数返回 1。如果不成功,它返回一个 0 后跟一个 carat 和任何错误的原因。

其中 sourceprofilename 是现有配置文件的名称,targetprofilename 必须是唯一的并且不能包含空格或空白字符。

0 0
0 68
文章
· 一月 25, 2023 阅读大约需 3 分钟
第五十六章 历史监视器 - 基本指标

第五十六章 历史监视器

History Monitor 维护性能和系统使用指标的历史数据库。其主要目的是:

  • 提供性能基准并帮助分析性能问题。
  • 帮助分析一段时间内的系统使用情况以进行容量规划。

该数据库在 SYS.History 类包中定义并保存在 %SYS 命名空间中。数据库结构的所有细节都在那里发布,并且可以通过 SQL 或正常的持久对象访问访问数据。 SYS.History 中的类文档还包含对所有可用的单个属性、方法和查询的描述。

0 0
0 45
文章
· 二月 2, 2023 阅读大约需 4 分钟
第六十四章 使用 SNMP 监控 IRIS - 扩展 InterSystems IRIS MIB

第六十四章 使用 SNMP 监控 IRIS - 扩展 IRIS MIB

应用程序员可以添加托管对象定义并扩展 IRIS 子代理为其提供数据的 MIB。这不是一个完整的 MIB 编辑器或SNMP 工具包;相反,它是一种添加简单应用程序指标的方法,可以通过 SNMP 浏览或查询这些指标。

注意:对象必须遵循基本的 IRIS SNMP 结构,对 SNMP 表结构的支持有限(仅支持整数值索引),并且不会创建 SNMP 陷阱(请参阅新选项卡类中的 %Monitor.AlertOpens) 对管理信息的 SNMP 结构有一个基本的了解是很有帮助的。

要创建这些对象,请执行以下操作:

0 0
0 80
文章
· 二月 8, 2023 阅读大约需 3 分钟
第七十章 使用 REST API 监控 IRIS - 互操作性指标

# 第七十章 使用 REST API 监控 IRIS - 互操作性指标

除了上一节中描述的指标外, IRIS 实例还可以记录有关活动互操作性产品的指标,并将它们包含在 `/metrics` 端点的输出中。默认情况下禁用这些互操作性指标的记录。要启用它,必须为要监控的每个互操作性产品执行以下步骤:

1. 为运行要监控的生产的 `IRIS` 实例打开一个终端会话。如有必要,通过执行以下命令切换到与生产关联的命名空间:

```
set $namespace = "[interopNS]"
```
其中 `[interopNS]` 是命名空间名称。

2. 在终端中,执行以下命令以启用当前命名空间内活动生产的指标收集(`SAM` 指的是系统警报和监控, 监控解决方案):

```
do ##class(Ens.Util.Statistics).EnableSAMForNamespace()
```

注意:如果为命名空间启用了指标记录但相应的生产未激活,则 `/metrics` 端点不会返回任何指标。

0 0
0 93

尽管作为一个没有资金支持的医科专业学生,Case Western Reserve大学的Jane Hinkle最近在不到一周的时间里利用EHR供应商Epic的去识别化病人数据库Cosmos进行了临床研究,还得了奖。

Cosmos是一个HIPAA限定的数据集,整合了超过1.22亿名患者的Epic EHR数据。

"我们围绕Cosmos建立的概念就是我们所说的自助分析,这意味着Cosmos中的大数据被设置为Cosmos的任何用户都可以访问,"Epic的临床信息学家Dave Little博士在采访中告诉EHRIntelligence。"在简的案例中,我们看到一个医科学生能够带着一个有针对性的问题,从1.22亿的患者数据中找到她所需要的数据来回答这个问题。这在研究界历来是闻所未闻的。"

Hinkle的研究发现,儿科病人从COVID-19引发心肌炎的可能性是COVID-19疫苗的三到五倍。她告诉EHRIntelligence,她最初关注的是一项使用大数据工具来分析阻塞性睡眠呼吸暂停的研究。然而,当关于心肌炎是否是COVID-19疫苗接种的不良反应的问题出现时,Hinkle和她的研究导师、公共卫生硕士、医学博士、MetroHealth 公司的首席医疗信息官David Kaelber转移了他们的重点。

0 0
0 226
文章
· 三月 21, 2023 阅读大约需 3 分钟
第四章 高可用性的故障转移策略

第四章 高可用性的故障转移策略

IRIS 镜像

具有自动故障转移功能的 IRIS 数据库镜像为计划内和计划外停机提供了一种有效且经济的高可用性解决方案。镜像依赖于数据复制而不是共享存储,避免了由于存储故障导致的重大服务中断。

IRIS 镜像由两个物理上独立的 IRIS 系统组成,称为故障转移成员。每个故障转移成员在镜像中维护每个镜像数据库的副本;应用程序更新在主要故障转移成员上进行,而备份故障转移成员的数据库通过应用来自主要的日志文件与主要保持同步。

镜像自动将主要角色分配给两个故障转移成员之一,而另一个故障转移成员自动成为备份系统。当主要的 IRIS 实例出现故障或不可用时,备份会自动快速接管并成为主要实例。

0 0
0 93

IRIS 配置和用户帐户包含需要跟踪的各种数据元素,许多人难以在 IRIS 实例之间复制或同步这些系统配置和用户帐户。那么如何简化这个过程呢?

在软件工程中,CI/CD 或 CICD 是持续集成 (CI) 和(更常见的)持续交付或(较少见的)持续部署 (CD) 的组合实践集。 CI/CD 能消除我们所有的挣扎吗?

我在一个开发和部署 IRIS 集群的团队工作。我们在 Red Hat OpenShift 容器平台上的容器中运行 IRIS。

如果您当前没有使用 Kubernetes,请不要停止阅读。即使您没有使用 Kubernetes 或在容器中运行 IRIS,您也可能会遇到与我和我的团队面临的挑战类似的挑战。

我们决定将代码与配置分开,并将它们放在不同的 GitHub 存储库中。每次在代码库中进行提交时,都会触发管道运行。结果,从代码库中的文件构建了一个新image。

1 0
0 138
文章
· 四月 28, 2023 阅读大约需 4 分钟
第四十二章 管理镜像 - 监控镜像

第四十二章 管理镜像 - 监控镜像

本章涵盖与管理和维护可操作的 IRIS 镜像相关的主题。

监控镜像

可以使用以下两种方法之一监视现有镜像的操作:

  • 管理门户的镜像监控页面
  • ^MIRROR 例程的状态监视器选项

这两种方法都显示有关镜像及其成员的操作状态和传入日志传输率的信息,以及有关镜像数据库状态的信息。此外,镜像监视器还允许您对镜像数据库执行多项操作。

监控镜像通信进程描述了在镜像成员上运行的镜像通信进程。

注意:基本镜像成员信息,包括指向镜像监视器的链接,也会出现在管理门户主页消息窗格中(请参阅系统管理指南的“使用管理门户”一章中的管理门户消息窗格。

许多与数据库和镜像相关的操作,例如安装或卸载数据库以及将数据库添加到镜像或从镜像中删除数据库,都记录在消息日志中。

使用镜像监视器

要显示镜像监视器,请导航到任何镜像成员上的“系统操作”>“镜像监视器”页面。

在故障转移成员上,镜像监视器包含以下按钮和部分:

0 0
0 67

2023年4月,InterSystems亚太区总经理老卢(Luciano Brustia)回到了阔别三年多的北京,针对一些热门问题分享了自己的观点:北京在疫情前后有什么不同?InterSystems是如何进行本土化创新服务中国市场的?与其他亚太国家相比,中国医疗信息化发展有什么特色?医疗信息化未来的发展方向和趋势是什么?

1 0
0 68