您好!社区的各位老师,

在我的上一篇文章中,我们学习了以下主题:

  1. 什么是 Docker?
  2. Docker 的一些好处
  3. Docker 是如何工作的?
  4. Docker 镜像
  5. Docker容器
  6. Docker 镜像存储库
  7. InterSystems 的 Docker 镜像存储库
  8. Docker安装
  9. Docker 基本命令
  10. 使用 Docker 运行 IRIS 社区版
  11. Docker 桌面图形用户界面

在本文中,我们将讨论以下主题:

  1. 使用 Docker Compose 文件( YAML 文件)
  2. Docker 文件的使用(用于构建 Docker 镜像)
  3. Docker 卷的使用

那么让我们开始吧。

0 0
0 84
InterSystems 开发者社区汇聚了 18,203 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 六月 28, 2023 阅读大约需 5 分钟
InterSystems IRIS 数据平台的以太坊适配器

1. 区块链

当我写这篇文章时,比特币的价格还不到其成功顶峰时期的五分之一。因此,当我开始向某人讲述我的区块链经历时,我听到的第一句话是毫不掩饰的怀疑:“现在谁需要这个区块链东西?”

没错,区块链炒作已经减弱。然而,它所基于的技术将继续存在并将继续在特定领域使用。互联网通常提供大量描述这些技术的一般用法的材料

0 0
0 83

VR ICU® 是 InterSystems FHIR 创新孵化器 Caelestinus 的参与者。这篇文章将向您介绍我们利用 InterSystems FHIR Server 为医疗保健提供的 VR 解决方案。

我们是一家技术初创企业虚拟实验室,利用先进的 VR/AR 技术开发解决方案。VR ICU® 是一个针对重症监护室医务人员的培训平台,是在 Covid 时代为满足医院需求而创建的。

与InterSystems合作的优势

我们的 VR ICU® 解决方案符合实践需求,是与医院合作开发的。

除了技术解决方案和技能学习本身,记录培训课程、培训进度和成功率对于医院或麻醉学和重症监护部门的有效管理也至关重要。医务长可以通过了解谁在何时接受了培训,清楚地掌握能够在重症监护室使用设备的人员数量,从而有效地对他们进行培训,以保持技能、有控制地规划人员技能储备并提高他们的能力。

在这方面,与 InterSystems 的合作对我们来说至关重要,它使我们能够在应用程序中存储每次培训期间的数据。目前,我们会记录参与者的姓名、培训日期和时长、培训类型、设备类型、错误数量和类型,必要时还会记录培训成功完成的信息。

0 0
0 83
文章
· 九月 3, 2023 阅读大约需 8 分钟
独立模式下 EMPI 的安装和适配 - FHIR之转换和摄取

大家好。

在上一篇文章中,我们了解了如何配置 EMPI 来接收 FHIR 消息。为此,我们安装了 InterSystems 提供的 FHIR 适配器,该适配器配置了一个可以向其发送 FHIR 消息的 REST 端点。然后,我们将获取消息并将其转换为 %String,我们将通过 TCP 将其发送到 HSPIDATA 命名空间中配置的 EMPI 的输出。

好吧,是时候看看我们如何检索消息、将其转换回 %DynamicObject 并将其解析为 EMPI 用来存储信息的类。

TCP消息接收

正如我们所指出的,从配置了 FHIR 资源接收的生产中,我们已将消息发送到我们有业务服务侦听的特定 TCP 端口,在我们的例子中,该业务服务将是一个简单的EnsLib.TCP。 PassthroughService的目标是捕获消息并将其转发到业务流程,我们将在其中执行所需的数据转换。

这里有我们的商业服务:

这是它的基本配置:

0 0
0 83
文章
· 十二月 4, 2023 阅读大约需 8 分钟
通用RESTful 业务服务和业务操作

1. 通用RESTful业务服务和业务操作


InterSystems IRIS 提供了一组通用的RESTful 业务服务和业务操作类,用户无需开发自定义的业务服务和业务操作类,就可以直接向外提供RESTful服务和调用外部的RESTful API。

0 0
2 82
文章
· 十月 6, 2023 阅读大约需 4 分钟
快速创建命名空间

一般情况下,我们根据iris的portal向导创建数据库,然后创建命名空间。这个过程比较花时间,如果是已经存在的数据库,还需要再装载。翻阅portal调用的方法后,我整合了这几个方法。把这几个方法拷贝到任意已经存在的命名空间,通过执行CNNS(路径,命名空间),就可以快速创建好命名空间。方法的大概过程是,进入到%sys命名空间,然后依次创建数据库,创建命名空间,创建web应用。创建完成后,回到当前命名空间。

7 0
0 82
文章
· 十一月 20, 2023 阅读大约需 2 分钟
通过XSL自动生成消息模型

前言

在日常工作中经常会遇到大量的接口开发需求,对于没有IRIS开发经验的同事来说很不友好,需要求助于公司开发人员来做接口开发,对项目联调进度多少会有些影响,本文站在没有IRIS开发经验的工作人员角度来阐述一下如何利用xslt转换文件自动生成接口联调所需要的Message模型。

基本思路是首先定义一套通用的数据模型,用来接收定义消息所需要的基础属性,包括类名,请求&响应(对应继承Ens.Request&Ens.Response),节点名称、节点长度、是否必填、默认值、字段约束等等。

10 1
0 80
文章
· 七月 27, 2023 阅读大约需 3 分钟
第四章 HL7 架构和可用工具 - 查看数据结构

第四章 HL7 架构和可用工具 - 查看数据结构

查看数据结构

当单击“数据结构”列中的名称时,InterSystems 会显示该数据结构中的所有字段。这是 HL7 数据结构页面。显示的以下列是最有用的:

  • 组件列列出了可用于访问段内字段的数字。
  • 属性名称列列出了可用于访问段内字段的名称。
  • 单击“数据结构”列中的条目可深入了解详细信息。
  • 单击“代码表”列(如果有)中的条目可查看可在此字段中输入的有效代码。

当单击上面段结构页面中名为 2.3:XCN 的数据结构项时,将出现以下示例页面。该页面指出类别 2.3 数据结构 XCN 描述“扩展复合 ID 号和名称”并由 14 个字段组成。其中,有些是简单值,有些是数据结构,有些是代码。

有了这些信息,就可以为消息结构 2.3:ADT_A01 中的复杂 PR1grp().PR1:Surgeon 字段创建虚拟属性路径,如下所示:

0 0
0 79
文章
· 七月 4, 2023 阅读大约需 3 分钟
FAQ常见问题系列--InterSystems 产品的基础故障排除

本文讨论了在使用或维护InterSystems产品中遇到问题时,试图确定问题时可能用到的思路和工具。

一般故障排除

确定问题发生的地点和时间

  • 问题是什么时候开始的?多久发生一次?
  • 问题首先出现在哪里?
  • 问题在什么条件下会被触发?

审查日志中的警告、错误和警报

以下日志可能包含有关该问题的有用信息。可以尝试在以下日志中寻找问题开始前后的警告或报错。

1 0
0 78
文章
· 五月 17 阅读大约需 3 分钟
IRIS/Caché SQL优化经验分享 - 真实案例分享

最近有某国内三甲医院为满足评级和飞行检查要求,希望提升HIS和IRIS的SQL查询效率,客户和实施工程师整理了一个慢查询的SQL列表, 有一些查询比较慢, 查询时间在甚至大于60分钟。

在我们和厂商共同努力下,对整个库的SQL查询做了优化。 下表是记录了我们在进行了大部分优化工作后的结果,您可以看到大多查询从几十分钟减少到了几十秒甚至1秒以内。其中有几个慢到几分钟的查询,最后经过细调, 也把查询耗时减少到了一分钟以内。 优化的效果还是很明显的。

这里我分享一下操作的要点,以便给其他有同样问题的客户一个思路。

其实如果您看过我前面的帖子,应该已经有了基本的概念。我就把工作流程总结一下,其实就这么几个步骤:

步骤一:

2 0
0 78

我们继续使用FHIR适配器的示例,在本文中,我们将回顾如何在我们的IRIS实例中进行配置以及安装的结果。

配置项目的步骤与官方文档中所示的相同,您可以直接在此处查看。好吧,让我们开始工作吧!

安装

正如您在与本文相关的项目中看到的,我们将 IRIS 实例部署在 Docker 中,因此初始配置的主要部分将在 Dockerfile 中完成。别担心,我们不会详细介绍 Docker 配置。

要安装 FHIR 适配器,我们只需:

1 0
0 77
文章
· 十二月 24, 2023 阅读大约需 2 分钟
接收POST请求的Base64 文件

在此文章中将分享,当使用InterSystems IRIS 做后端时如何接收并保存通过POST方式发送过来的 Base64文件。

前后端之间传输文件,我认为较简单的方式是:前端将文件转为Base64格式,调用POST方法并将Base64内容附加在JSON消息中的一个参数中,在JSON消息中的另一个参数可以是文件名,比如消息定义如下:

0 0
0 77
文章
· 十二月 27, 2023 阅读大约需 2 分钟
百讲知识点索引

百讲知识点索引

简介

  • B站已更新截止到2023.12.31之前的所有百讲课程,总计261讲。
  • 什么是百讲?百讲是一个主要介绍IRISCache编程知识的免费课程。
  • 课程的特点是,将每一个知识点,都会用示例演示出来、了解原理,而不是仅仅告诉有这个功能。
  • 每周一期,每期会请到有多年开发经验的老师来给大家讲解课程。
  • 百讲观看地址:https://www.bilibili.com/video/BV1cw41147xr/

在这里插入图片描述

3 1
0 77

InterSystems 支持的硬件OS平台更新 2023年2季度

我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架列表最近和即将发生的变化的问题。此更新旨在分享最近的更改以及我们对即将发生的更改的已知的情况,但预测未来是一项棘手的工作,不应将其视为承诺的路线图。

话虽如此,关于更新……

0 0
0 76
文章
· 十一月 20, 2023 阅读大约需 2 分钟
Java 大赛作品展示--基于IRIS 原生 Java API 的Global编辑器

这是Java 编程比赛的相关文章。

我决定推出一个基于 IRIS Native API for Java 的 CRUD++ Global编辑器。
++因为它不仅仅是C reate、 R ead、 U pdate、 D elete
Global可视化对于立即查看结果始终很重要。

  • 为此,我使用模仿 ZWrite 的树查看器扩展了 API,并且还允许检查子树。
  • $Query Style Navigator 正向和反向操作可轻松找到感兴趣的全局节点。
  • 最后,ZKill 添加了一个选项,可以删除全局节点的内容而不删除下面的子树。

这需要在服务器端有一个小的帮助器类作为默认 API 的扩展

我的策略是拥有一个可从命令行使用的相当适度的界面
就像在 Docker 控制台或终端上一样,并使其尽可能简单。
花哨的图形界面只会分散示例的基本内容。

0 0
0 76

第四十三章 开发Productions - ObjectScript Productions - 使用记录映射器 - 编辑记录映射字段和组合

编辑记录映射字段和组合

Record Mapper 左侧面板显示 Record Map 中定义的字段的摘要。如果您选择一个字段,右侧面板将访问字段属性。例如:

记录映射由一系列字段和组合组成。每个组合由一系列字段和组合组成。 Make CompositeMake Field 按钮在复合字段和数据字段之间切换。对于复合字段,只需指定名称和指示字段为必填项的标志。单击记录映射上的绿色加号图标以将字段或组合添加到顶层。单击组合的加号允许向其添加字段或组合。

在将字段添加到记录映射时,可以打开示例文件以查看其数据如何映射到您正在创建的记录。

对于定界记录映射,复合字段中的字段具有不同的分隔符。例如,在记录中,顶级字段由逗号分隔,但在组合中,字段由分号分隔。对于固定宽度的记录映射,复合字段有助于在概念上组织数据,但不会影响输入消息的处理。

0 0
0 75
文章
· 九月 14, 2023 阅读大约需 1 分钟
VS Code 无法连接到服务器的原因之一

昨天,我在一个客户网站提供从 Studio 迁移到 VS Code 的定制咨询时,就遇到了这种情况。

该站点的服务器已配置为使用delegated authentication,但尚未针对 /api/atelier Web 应用程序设置“delegated”复选框,而 InterSystems ObjectScript 扩展包的成员正是使用该复选框进行连接的。

一旦我们的应用程序设置了其复选框并单击了服务器管理器刷新按钮,就可以在服务器上枚举命名空间。

0 0
0 75
文章
· 九月 3, 2023 阅读大约需 7 分钟
在 Python 上使用IRIS REST API 进行 SQL 迁移

对于即将到来的Python 竞赛,我想制作一个小型演示,介绍如何使用 Python 创建一个简单的 REST 应用程序,该应用程序将使用 IRIS 作为数据库。使用这个工具

  • FastAPI框架,高性能,易学,快速编码,可用于生产
  • SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性
  • Alembic 是一个轻量级数据库迁移工具,可与 SQLAlchemy Database Toolkit for Python 一起使用。
  • Uvicorn 是 Python 的 ASGI Web 服务器实现。

1 0
0 74
文章
· 六月 16, 2023 阅读大约需 4 分钟
第五十九章 镜像中断程序 - 灾难恢复程序

第五十九章 镜像中断程序 - 灾难恢复程序

灾难恢复程序

如异步镜像成员中所述,灾难恢复 (DR) 异步成员维护镜像数据库的只读副本,从而可以在需要时将 DR 异步提升为故障转移成员。将 DR 异步成员提升为故障转移成员中描述了提升 DR 异步的过程。本节讨论三种可以使用 DR 异步提升的场景:

  • 在灾难期间手动故障转移到提升的 DR 异步
  • 计划故障转移到提升的 DR 异步
  • 使用提升的 DR 异步临时替换故障转移成员

在本节的过程中, IRIS A 是原始的主要故障转移成员, IRIS B 是原始备份,而 IRIS C 是要提升的 DR 异步。

1 0
1 74
文章
· 七月 5, 2023 阅读大约需 2 分钟
基于IntegratedML及Dashboard的数据分析应用

基于InterSystems的集成ML技术和Dashboard,根据上传的CSV文件自动生成相关预测和BI页面。前端和后端在Vue和Iris中完成,使用户可以通过简单的操作生成所需的数据预测和分析页面,并根据这些页面做出决策。

# ZPM 安装

zpm:USER>install IntegratedMLandDashboardSample

# 部署流程

使用或创建新的命名空间

将代码导入相应的命名空间

在终端中执行:

Do # # class (customizemashinelerningandaanalysis. Util. Tool) Deployment()

前端是Vue文件夹下的dist文件夹。在使用它之前,请打开dist-static config.js并修改后端服务器要使用的IP和端口。然后您需要将iframeUrl的测试修改为“Analysis”+后端使用的命名空间,例如“AnalysisUSER”

然后启动前端文件(可以将dist文件夹放在tomcat中开始使用)

访问地址为:

Ip: port/dist

1 1
0 73
文章
· 七月 30, 2023 阅读大约需 3 分钟
第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面

第七章 HL7 架构和可用工具 - 使用 HL7 消息查看器页面

使用 HL7 消息查看器页面

HL7 提供了消息查看器页面。可以使用此页面显示、转换和导出 HL7 消息(外部文件或来自生产消息存档的消息)。

要访问此页面,请选择互操作性 > 互操作 > HL7 v2.x > HL7 v2.x 消息查看器。

选择选项

要指定要显示的文档:

0 0
0 73
文章
· 六月 8, 2023 阅读大约需 7 分钟
没有虚拟 IP 地址的数据库镜像

++ 更新:2018 年 8 月 1 日

使用内置于 Caché 数据库镜像的 InterSystems 虚拟 IP (VIP) 地址有一定的局限性。特别是,它只能在镜像成员驻留在同一网络子网时使用。当使用多个数据中心时,由于增加了网络复杂性( 此处有更详细的讨论),网络子网通常不会“延伸”到物理数据中心之外。出于类似的原因,当数据库托管在云端时,虚拟 IP 通常无法使用。

负载均衡器(物理或虚拟)等网络流量管理设备可用于实现相同级别的透明度,为客户端应用程序或设备提供单一地址。网络流量管理器自动将客户端重定向到当前镜像主服务器的真实 IP 地址。自动化旨在满足灾难后 HA 故障转移和 DR 升级的需求。

2 0
0 72
文章
· 八月 4, 2023 阅读大约需 3 分钟
在 InterSystems IRIS 中创建具有超过 999 个属性的类/表

InterSystems IRIS 目前将类限制为 999 个属性。

但是,如果您需要为每个对象存储更多数据该怎么办?

本文将回答这个问题(附加了社区 Python 网关的客串以及如何将广泛的数据集传输到 Python 中)。

答案其实很简单 - InterSystems IRIS 目前将类限制为 999 个属性,但不限制 999 个基元(primitives)。 InterSystems IRIS 中的属性可以是具有 999 个属性的对象等等 - 该限制很容易被忽略。

0 0
0 72

第四十二章 开发Productions - ObjectScript Productions - 使用记录映射器 - 通用控制字符

通用控制字符

在记录映射中,可以在多个位置使用文字控制字符和可打印字符。例如,可以指定制表符(常用控制字符)和逗号(可打印字符)作为分隔符。还可以将控制字符指定为填充字符或记录终止符之一。要在这些上下文之一中指定控制字符,必须为该字符指定十六进制转义序列。如果选择空格或制表符作为填充字符,或选择 CRLF(回车后跟换行符)、CRLF 作为 Record Mapper 中的记录终止符,管理门户会自动生成十六进制表示。如果指定另一个控制字符作为填充字符或记录终止符或任何控制字符作为分隔符,则必须在相应的表单域中输入十六进制表示。下表列出了常用控制字符的十六进制转义序列:

0 0
0 71

第六十三章 开发Productions - ObjectScript Productions - 部署Production - 在目标系统上部署Production

管理门户自动执行将Productions从开发系统部署到实时系统的过程。本节介绍当在实时系统上加载Productions的新版本时,IRIS 会执行哪些操作。

获得部署包 XML 文件后,可以将其加载到目标系统上。在管理门户中,选择正确的命名空间并单击互操作性、管理、部署更改、部署,然后单击打开部署或打开本地部署按钮,具体取决于 XML 部署包位于服务器上还是本地计算机上。如果位于服务器计算机上,则“打开本地部署”按钮不处于活动状态。选择 XML 部署包文件后,表单会列出部署包中的新项和更改项,显示创建包时指定的部署说明,并允许指定以下部署设置:

0 0
0 71

医院拥有丰富的CDA文档库,如何实现数据的有效利用和共享?

//player.bilibili.com/player.html?aid=274423967&bvid=BV1mF411f77g&cid=1226555487&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 71
文章
· 八月 6, 2023 阅读大约需 3 分钟
第十四章 定义 HL7 的路由规则集

第十四章 配置Production - 定义 HL7 的路由规则集

HL7 接口创建路由规则集时,目标是根据源消息中找到的段告诉production如何处理源消息。有时找到哪些片段很重要;有时,在这些细分中找到哪些值很重要。

在普通规则集中,每个规则都会向调用该规则集的业务流程返回一个值。在路由规则集中,规则通常将 HL7 消息定向到目的地,并可能在发送之前转换 HL7 消息。

创建规则集时,不要使用保留的包名称

0 0
0 71