清除过滤器
文章
Weiwei Gu · 九月 14, 2023
InterSystems 还发布了容器化部署的IRIS。这篇文章旨在演示 InterSystems IRIS 和依赖 IRIS 后端的应用程序如何打包到镜像中并在容器中的其他计算机中运行,以及这样做有多么简单。
容器运行包含所有必需的可执行文件、二进制代码、库和配置文件的镜像。镜像可以从一台机器移动到另一台机器,像 Docker Hub 这样的镜像存储库可以简化这个过程。
我在本演示中使用了 Open Exchange 的应用程序。
演示视频: https://www.loom.com/share/93f9a760b5f54c0a8811b7a212387b9d
IRIS 数据平台社区版的镜像(image)可以在 InterSystems 容器注册表中找到:
https: //containers.intersystems.com/contents
为了在主机中使用 IRIS 的容器化实例,应在运行时拉取它。
为此,Dockerfile 需要具有以下命令,如下所示:
Dockerfile:
Dockerfile
ARG IMAGE=intersystemsdc/iris-community:preview
FROM $IMAGE
RUN iris start IRIS \
&& iris merge IRIS /tmp/merge.cpf \
&& iris stop IRIS quietly
这些是编写 Dockerfile 来构建镜像的基本命令,该镜像包含容器化 IRIS 的说明。
还可以添加用于安装与 IRIS 容器化实例一起运行的应用程序所需的其他依赖项的命令。
给出的 Docker 命令标记并推送带有 IRIS 实例的镜像到 Docker Hub,然后在另一台主机中拉取并运行该镜像。
命令 commands
docker build -t image_name filepath
docker tag image_name dockerhub_username/repository_name:tag_name
docker push dockerhub_username/repository_name:tag_name
命令 commands
docker pull dockerhub_username/repository_name:tag_name
docker run --name test -p host_8080:52773 padhikar/irisincontainer:main
演示中使用的应用程序: https://openexchange.intersystems.com/package/iris-geo-map
创建 InterSystems IRIS 镜像: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls ?KEY=ADOCK#ADOCK_iris_creating
公告
Michael Lei · 九月 14, 2023
有时,InterSystems 必须重新发布版本以纠正 1-2 个问题。此过程会生成称为“小数点版本”的新套件。
小数点版本与维护或功能版本不同。其目标是快速、像做外科手术地纠正该领域的紧急问题。
如何识别小数点发布
InterSystems 数据平台产品遵循以下发布约定:
<系统间产品> <年份>.<专业>.<维护>.<构建号>.<点>
例如:InterSystems IRIS 2022.1.4.204.1
识别小数点版本很简单:如果产品套件的最后一位数字非零,则您正在使用小数点版本。
我如何知道是否应该更换当前的软件?
每次推出小数点版本时,InterSystems 都会向我们的客户宣布并解释其解决的问题。公告是通过我们的开发者社区 ( https://community.intersystems.com/tags/intersystems-official ) 和产品警报发布的。
每个公告都会解释该版本解决的问题和相应的修复,并提供有关是否更换套件和容器的说明。因此,请阅读公告,如果您有任何疑问,请联系我们!
注意:如果您没有收到产品警报电子邮件,请访问我们的页面并注册: https: //www.intersystems.com/support/product-alerts-advisories/
文章
Michael Lei · 十一月 2, 2022
门为医疗行业打造,深度整合国内外医疗行业标准,专有技术服务医疗行业44年,可能是全球最早从事医疗信息化的公司;
耕细做打磨数十年的稳定、可靠、易用、可扩展的数据平台;
色鲜明,不唯技术、终生负责、以解决客户问题为核心的特色企业文化;
一代混合一体化架构,一个平台同时支持混合事务处理、传统架构、容器化、云原生等多种应用场景;
文章
Michael Lei · 四月 4, 2023
嗨开发者们!
如您所知,InterSystems IRIS 除了Global、对象、文档和 XML 数据模型还支持关系,其中 SQL 语言也被用来处理数据。
与其他关系型 DBMS 一样,InterSystems IRIS 有自己的特点。
我开始这篇文章是为了抛砖引玉,并邀请您分享您的小诀窍 - 我会根据收到的评论更新内容。
开始了!
列出数据库中的所有表:
SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE= 'BASE TABLE'
感谢@Dmitry.Maslennikov
使用当前日期和当前时间作为默认值创建表:
CREATE TABLE CUSTOMER ( ID INTEGER PRIMARY KEY NOT NULL , NAME VARCHAR ( 100 ) NOT NULL , PASSWORD VARCHAR ( 20 ) NOT NULL , LAST_UPDATED TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL , REGISTRATION_DATE DATE DEFAULT CURRENT_DATE NOT NULL );
注意不带括号的函数 CURRENT_TIMESTAMP 和 CURRENT_DATE。
创建在内部使用 ObjectScript 的存储过程/函数:
CREATE OR REPLACE FUNCTION IRIS_VERSION() RETURNS VARCHAR LANGUAGE OBJECTSCRIPT { Return $ZV }
调用存储过程/函数:
select IRIS_VERSION() as "Version"
调用内部函数。
返回 IRIS 版本:
Select $ version
返回当前命名空间:
Select $namespace
欢迎大家在评论区留下你的小妙招! 分页查询:
select top :row * from PatientInfo where id not in (select top 10(:page-1) id from PatientInfo order by id asc) order by id
文章
Lilian Huang · 九月 1, 2022
在我们开始谈论数据库和现有的不同数据模型之前,我们最好先谈谈什么是数据库以及如何使用它。
一个数据库是以电子方式存储和访问的有组织的数据集合。 它用于存储和检索通常与主题或活动相关的结构化、半结构化或原始数据。每个数据库的核心至少存在一个用于描述其数据的模型。 并且根据它所基于的模型,一个数据库可能具有略微不同的特征并存储不同数据类型。
要写入、检索、修改、排序、转换或打印数据库中的信息,需要使用称为数据库管理系统 (DBMS) 的软件。
数据库及其各自的数据库管理系统的大小、容量和性能增加了几个数量级。 各个领域的技术进步使之成为可能,例如处理器、计算机内存、计算机存储和计算机网络。 一般来说,数据库技术的发展根据数据模型或结构分为四代:导航型、关系型、对象型和后关系型。
与以特定数据模型为特征的前三代不同,第四代包括许多基于不同模型的不同数据库。 它们包括列、图、文档、组件、多维、键值、内存等。所有这些数据库都由一个单一的名称 NoSQL 联合起来(没有 SQL,或者现在更准确地说不仅仅是 SQL)。
而且,现在出现了一个新的类,叫做NewSQL。 这些是现代关系数据库,旨在为在线事务处理工作负载(读写)提供与 NoSQL 系统相同的可扩展性能,同时使用 SQL 和维护 ACID。
顺便说一下,在这些第四代数据库中,有那些支持上述提及的多种数据模型的数据库。 它们被称为多模型数据库。 这种类型的数据库的一个很好的例子是 InterSystems IRIS。 这就是为什么我将使用它来给出不同类型模型的示例。
第一代数据库使用分层或网络模型。 前者的核心是一个树形结构,即每条记录只有一个所有者。 您可以在 InterSystems IRIS 的示例中看到其工作原理,因为它的主要模型是分层的,并且所有数据都存储在globals(即 B*-trees)中。 您可以在此处here.阅读有关globals的更多信息。
我们可以在 IRIS 中创建这棵树:
Set ^a("+7926X", "city") = "Moscow"
Set ^a("+7926X", "city", "street") = "Req Square"
Set ^a("+7926X", "age") = 25
Set ^a("+7916Y", "city") = "London"
Set ^a("+7916Y", "city", "street") = "Baker Street"
Set ^a("+7916Y", "age") = 36
在数据库中查看:
在 Edgar F. Codd 于 1969 年提出他的关系代数和他的数据存储理论之后,使用关系原理。之后,关系型数据库产生了。 关系(表)、属性(列)、元组(行)以及最重要的事务和 ACID 要求的使用使这些数据库非常流行,并且现在仍然如此。
例如,我们有架构:
我们可以创建和填充表:
如果我们编写查询:
select p.ID, p.Name, a.Country, A.City
from My.Person p left join My.Address a
on p.Address = a.ID
我们将收到答案:
尽管关系数据库具有显着优势,但随着对象语言的普及,将面向对象的数据存储在数据库中变得很有必要。 这就是为什么 1990 年第一个面向对象(object-oriented )和对象关系数据库产生原因。 后者是在关系数据库的基础上通过添加附加组件来模拟对象工作而创建的。 前者是在 OMG(对象管理组)联盟的建议和 ODMG(对象数据管理组)之后从头开始开发的。
这些面向对象数据库的主要思想如下:
可以使用以下方式访问单个数据仓库:
• 对象定义语言——模式定义,允许类定义、它们的属性、关系和方法,
• 对象查询语言——声明性的,几乎类似于 SQL 的语言,允许从数据库中获取对象,
• 对象操作语言——允许修改和保存数据库中的数据,支持事务和方法调用。
该模型允许使用面向对象的语言从数据库中获取数据。
如果我们采用与前面示例相同的结构但采用面向对象的形式,我们将拥有以下类:
Class My.Person Extends %Persistent
{
Property Name As %Name;
Property Address As My.Address;
}
Class My.Address Extends %Persistent
{
Property Country;
Property City;
}
我们可以使用面向对象的语言创建对象:
set address = ##class(My.Address).%New()
set address.Country = "France"
set address.City = "Marseille"
do address.%Save()
set person = ##class(My.Person).%New()
set person.Address = address
set person.Name = "Quouinaut, Martin"
do person.%Save()
不幸的是,对象数据库并没有成功地从其主导地位与关系数据库竞争,结果出现了许多对象关系映射技术。
无论如何,随着 2000 年代 互联网的普及和对数据存储的新要求的出现,其他数据模型和 数据库管理系统开始出现, 其中,IRIS 中使用了这些模型中的两个,即是文档模型和列模型。
面向文档的数据库用于管理半结构化数据。 这是不遵循固定结构并在其中携带结构的数据。 这种数据库中的每个信息单元都是一个简单的对:一个密钥和一个特定的文档。 该文档通常采用 JSON 格式并包含信息。 由于数据库不需要一定的模式,所以也可以在同一个仓库中集成不同类型的文档。
如果我们再看前面的例子,我们可以有这样的文档:
{
"Name":"Quouinaut, Martin",
"Address":{
"Country":"France",
"City":"Paris"
}
}
{
"Name":"Merlingue, Luke",
"Address":{
"Country":"France",
"City":"Nancy"
},
"Age":26
}
这两个字段数不同的文档存储在 IRIS 数据库中没有任何问题。
2022.2 版中将提供的模型的最后一个示例是列模型。 在这种情况下,数据库管理系统是按列而不是按行存储数据表。
列方向允许更有效地访问数据以查询列的子集(无需读取不相关的列),并提供更多数据压缩选项。 当列中的数据相似时,按列压缩也更有效。 但是,它们在插入新数据时通常效率较低。
您可以这样创建此表:
Create Table My.Address (
city varchar(50),
zip varchar(5),
country varchar(15)
) WITH STORAGETYPE = COLUMNAR
在这种情况下,类是这样的:
Spoiler
然后我们插入数据:
insert into My.Address values ('London', '47000', 'UK')
insert into My.Address values ('Paris', '54000', 'France')
insert into My.Address values ('Kyiv', '03000', 'Ukraine')
在globals里我们看到:
如果我们用city names打开globals,我们将看到 :
如果我们写一个查询:
select City
from My.Address
我们收到数据:
在这种情况下,数据库管理系统 只需读取一个全局变量即可获得整个结果。 并且在阅读时节省时间和资源。
因此,我们讨论了 InterSystems IRIS 数据库支持的 5 种不同的数据模型。 这些是层次模型、关系模型、对象模型、文档模型和列模型。
希望您在尝试找出可用的模型时会发现这篇文章很有用。 如果您有任何问题,请随时在评论中提出。
文章
Claire Zheng · 六月 12, 2023
大家好!
这是一篇关于如何将视频嵌入您的帖子的简短文章。
其实很简单。您只需要按照以下步骤操作。
1. 打开您希望嵌入的B站视频,在视频右下角找到分享按钮;
2. 选择“嵌入代码”并复制代码
3.在社区帖子中切换到Source视图,并将您在步骤2中复制的代码粘贴在您希望嵌入视频的地方(如嵌在<p>后);
4.再次点击“Source”,回到编辑页面,您会看到如下“IFRAME”框;
5.双击红色的“IFRAME”,并如图所示填写视频尺寸(请务必按下图数值填写),点击“确定”,即可完成视频嵌入。
希望这个帖子能帮助到您:)
在评论部分留下您对这个主题的想法,或者告诉我们您还希望了解哪些社区玩儿法。
文章
Weiwei Gu · 六月 28, 2023
1. 区块链
当我写这篇文章时,比特币的价格还不到其成功顶峰时期的五分之一。因此,当我开始向某人讲述我的区块链经历时,我听到的第一句话是毫不掩饰的怀疑:“现在谁需要这个区块链东西?”
没错,区块链炒作已经减弱。然而,它所基于的技术将继续存在并将继续在特定领域使用。互联网通常提供大量描述这些技术的一般用法的材料
(例如在Medium和福布斯上)。
众所周知,区块链是一个分布式注册表,即分布在多个节点之间的数据库,每个节点都存储注册表的完整副本。区块链的主要特征是记录(交易)形成块,块形成块链。区块链仅支持追加操作。这意味着几乎不可能对已经保存在区块链中的交易进行更改。
网上有无数的区块链教程(如果您从未听说过区块链,可以从这个简单的视频开始)。
当区块链蓬勃发展时,人们多次呼吁在任何地方使用该技术。然而,可能需要区块链的项目/任务有某些明显的特征。
首先,必须有很多玩家/用户编写大量数据,这些数据必须一致且可信。
那么,就不应该存在每个人都信任的第三方。
必须有一个公共数据验证的机制。如果满足所有这些标准,考虑使用区块链可能是个好主意。
任何行业都可以找到这样的任务。 www.101blockchains.com项目汇总了有关潜在和现有区块链项目的信息,以及在各个行业中使用区块链技术的细微差别。
例如,区块链可用于医疗保健领域的以下任务:
用于安全地远程管理患者记录;
通过整个供应链中不可更改的交易来打击假药;
通过排除欺诈和篡改数据的可能性来提高临床试验的监控和有效性。
企业部门通常使用一种特殊类型的区块链,称为私有许可区块链。此类网络具有一组特殊的节点来验证交易。
然而,在开发第一个 InterSystems IRIS 区块链适配器时,我们选择了以太坊,这是一种属于无许可区块链类别的区块链 - 一个没有单一控制中心的开放平台。该决定是基于该区块链引擎的受欢迎程度以及具有大量工具和库的足够成熟的基础设施。请注意,您还可以使用以太坊工具创建私有区块链。
2. 适配器
让我们实际上回到适配器。
InterSystems IRIS 中的适配器(就像 Ensemble 中一样)是 InterSystems IRIS 类的类或包,允许您与外部系统交互。 InterSystems IRIS 适配器分为入站(当外部系统是交互发起者时,用于从外部系统接收数据)和出站(当 InterSystems IRIS 是交互发起者时,用于与外部系统一起工作)。
IRIS 以太坊适配器是出站适配器,与大多数其他 InterSystems IRIS 适配器略有不同。该适配器还包括一个小型 NodeJS 模块。其架构如图 1 所示。
图1。适配器的 NodeJS 模块使用现有的 NodeJS 库来与以太坊配合使用。
该适配器允许您执行以下操作:
将智能合约部署到以太坊(我们计划撰写另一篇文章,涵盖智能合约、开发工具和示例)。
调用智能合约方法:改变区块链状态的方法和不改变区块链状态的方法
保存交易(将资金从一个钱包转移到另一个钱包)
调用额外的方法来获取区块链的状态
记录所有请求(由 NodeJS 模块完成,方便调试)
该适配器附带 OpenExchange 上的源代码。
3. 一个简单的例子
该适配器附带一个“Hello world”示例。
要开始使用以太坊(并运行此示例),您将需要以下内容:
选择您要使用的网络。 Ropsten 等测试网络通常用于开发目的
在此网络中创建一个钱包并向其存款
安装本地以太坊客户端(例如 Geth)或获取与云提供商(例如 Infura)合作的密钥
配置业务操作时需要设置以下内容(图2):
NodeJS模块工作的服务器和端口(默认使用3000端口)
提供商设置(在本例中访问 Infura)
访问凭据(指定您的钱包号码作为用户名,指定您的私钥作为密码。InterSystems IRIS 将访问凭据存储在一个单独的数据库中,您必须为其启用加密)
图 2.
为了使用智能合约,您需要在文件系统中创建(为您将使用的每个智能合约)一个文件夹,并在其中放置两个文件:*abi.txt*字节码.txt
这些文件应包含智能合约的 ABI 及其字节码。智能合约的 ABI 是 JSON 格式的接口的正式描述。 ABI 和字节码是在编译智能合约时创建的。
仅部署合约时需要字节码。
您可以使用 InterSystems IRIS 互操作性测试服务来测试业务运营。
图 3 说明了如何使用测试服务部署智能合约。调用此业务操作的结果是包含交易哈希的消息。
图 3.
您可以使用 ropsten.etherscan.io (https://etherscan.io/) 浏览器找到此交易并获取已部署的智能合约的地址。
要使用适配器调用智能合约的方法,您需要在生产配置中填写以下字段:ContractFolder 和 ContractAddress。
智能合约的执行代码非常简单:
-----0-----
将智能合约的地址和 ABI 传递给适配器的 GetContract 方法,以创建一个智能合约对象,然后将其用于调用方法。在这种情况下,必须在智能合约中定义返回字符串的 hello() 方法。
在这个例子中,hello()方法不会改变区块链状态,因此可以同步调用。然而,改变区块链状态的方法的执行时间可能相当长(因为必须等待交易被验证)。
要调用此类方法,请使用 InterSystems IRIS 提供的延迟响应机制。适配器必须提交延迟响应令牌,当交易获得批准时,NodeJS 模块会将其执行结果传递给 InterSystems IRIS。为此,您需要配置一个 Web 应用程序并向生产添加额外的业务服务来处理收到的响应。
以下是调用改变区块链状态的方法的代码:
-----1-----
在这种情况下,在调用智能合约的 setName() 方法之前,您需要指定许多参数,包括延迟响应令牌。
在下一篇文章中,我们将详细介绍智能合约,并提供使用 InterSystems IRIS 以太坊适配器解决实际问题的示例。
公告
Michael Lei · 九月 17, 2022
好消息, InterSystems 容器镜像仓库Docker桌面扩展已正式发布供大家 下载 .
大家可以在Docker桌面版的marketplace 下载.下载后需要重启 Docker Desktop to
欢迎在github repository中给我们反馈, 点击这里
公告
Michael Lei · 一月 27, 2023
大家好,
我在 OEX 上加载了一个新软件包,我也计划在本月参加比赛。
简而言之,它为您提供以下内容。
用于 InterSystems IRIS 的持久(表)类以保存记录历史的基类
这些类允许在touch时将持久类记录历史化到另一个持久类中。
这提供了任何记录的完整历史记录。
它允许记录回滚到特定版本。
它可以自动清除旧的历史记录。
请检查一下。
谢谢你们。
公告
Claire Zheng · 七月 10, 2023
Hi 开发者们,
是时候宣布InterSystems 2023 年度编程大奖赛的获奖者了!
感谢提交20 份应用申请出色参与者们 🔥
专家提名奖
🥇第一名,7,000 美元,获奖者@Henrique Dias, @Henry Pereira, @José Roberto Pereira ,获奖应用 iris-fhir-generative-ai
🥈第二名,5,000 美元,获奖者@Ikram Shah, @Sowmiya Nagarajan,获奖应用 IRIS FHIR Transcribe Summarize Export
🥉第三名,3,000 美元,获奖者 @Muhammad Waseem 获奖应用irisChatGPT
🏅第四名,2,000 美元,获奖者@Dmitry Maslennikov,获奖应用ZProfile
🏅第五名 ,1,000 美元,获奖者@Ikram Shah, @Sowmiya Nagarajan ,获奖应用 FHIR - AI and OpenAPI Chain
🌟 200 美元,获奖者:@Robert Cemper, 获奖应用oex-mapping
🌟 200 美元,获奖者:@Rob Ellis, 获奖应用RDUH Interface Analyst HL7v2 Browser Extension
🌟 200 美元,获奖者:@davi massaru teixeira muta, 获奖应用fhir-chatGPT
🌟 200 美元,获奖者:@davi massaru teixeira muta, 获奖应用interoperability_GPT
🌟 200 美元,获奖者:@Oleksandr Zaitsev ,获奖应用password-app-iris-db
🌟 200 美元,获奖者:@Daniel Aguilar 获奖应用irisapitester
⭐️ 100 美元,获奖者:@Shanshan Yu,获奖应用IntegratedMLandDashboardSample
⭐️ 100 美元,获奖者:@Zhang Fatong 获奖应用 IntegratedML-IRIS-PlatformEntryPrediction
⭐️ 100 美元,获奖者:@Sean Connelly 获奖应用DevBox
⭐️ 100 美元,获奖者:@John Murray 获奖应用 oex-vscode-snippets-template
⭐️ 100 美元,获奖者:@Sergey Mikhailenko,获奖应用appmsw-warm-home
⭐️ 100 美元,获奖者:@yurimarx Marx, 获奖应用 FHIR Editor
⭐️ 100 美元,获奖者:@Oliver Wilms,获奖应用iris-user-manager
⭐️ 100 美元,获奖者:@Oleh Dontsov 获奖应用 Recycler
⭐️ 100 美元,获奖者:@Oleh Dontsov 获奖应用 IRIS Data Migration Manager
社区提名奖
🥇第一名,3,000 美元,获奖者@Henrique Dias, @Henry Pereira, @José Roberto Pereira ,获奖应用 iris-fhir-generative-ai
🥈第二名,2,000 美元,获奖者@Shanshan Yu,获奖应用IntegratedMLandDashboardSample
🥉第三名,1,000 美元,获奖者@Zhang Fatong,获奖应用 IntegratedML-IRIS-PlatformEntryPrediction
我们向所有参赛者和获奖者表示最诚挚的祝贺!
下次一起来参赛吧!;) 热烈祝贺 @Shanshan Yu@Zhang Fatong二位中国选手!期待以后看到更多的优秀作品!
文章
Michael Lei · 一月 26
InterSystems 常见问题解答
如果系统24小时没有停止,旧的日志文件将根据“日志文件删除设置”在0:30删除。
导致日志文件保留的时间早于“日志文件删除设置”的一个可能原因是存在仍处于开放状态的事务。
在这种情况下,您将能够通过搜索执行事务的进程并完成事务来删除日志文件。
下面的示例检查是否存在未完成的事务,如果存在,则输出目标文件名和日志记录信息。
(示例可以从这里下载
*注意*如果要检查的日志文件较大或日志文件较多,则执行需要时间,因此请联系我们的支持中心。
Class ISJ.JournalUtility { ClassMethod GetOpenTransaction() As %Status { set status= $$$OK #dim ex As %Exception.AbstractException #dim rset As %ResultSet try { //current journal file write !, "Current journal file name:" , ##class ( %SYS.Journal.System ).GetCurrentFileName(),!! // Open transaction file // Get info about journals recorded in WIJ $$$ThrowOnError ( ##class ( %SYS.Journal.System ).GetImageJournalInfo(.filename,.jrnoffset,.jrnfilecount,.opentranoffset,.opentranfilecount)) if $get (opentranoffset)= "" { write !, "There are no open transactions" ,! return status } //If there is a differeence in file counts(jrnfilecount-opentranfilecount>0 ) // There is an open transaction in the old journal file, so please search for a target file name if jrnfilecount-opentranfilecount> 0 { set loopcnt=jrnfilecount-opentranfilecount for i= 1 : 1 :loopcnt { set currentfile=filename $$$ThrowOnError ( ##class ( %SYS.Journal.File ).GetPrev(currentfile,.filename)) } } write "〇〇 list of open target journal records 〇〇" ,! set rset= ##class ( %ResultSet ). %New ( "%SYS.Journal.Record:List" ) do rset. %Execute (filename,,,, $LB ( "Address" , "=" ,opentranoffset)) write !, "=== File Name : " ,filename, " ===" ,! write "Address : TimeStamp : ProcessID : RemoteSystemID : TypeName : Transaction" ,! while rset. %Next () { write rset. %Get ( "Address" ), " : " , rset. %Get ( "TimeStamp" ), " : " , rset. %Get ( "ProcessID" ), " : " , rset. %Get ( "RemoteSystemID" ), " : " , rset. %Get ( "TypeName" ), " : " , rset. %Get ( "InTransaction" ),! } } catch ex { set status=ex.AsStatus() } return status } }
执行示例如下。
USER> do ##class (ISJ.JournalUtility).GetOpenTransaction() Current journal file name:/usr/irissys/mgr/journal/ 20210330.002 〇〇 list of open target journal records 〇〇 === File Name : /usr/irissys/mgr/journal/ 20210330.001 === Address : TimeStamp : ProcessID : RemoteSystemID : TypeName : Transaction 1834156 : 2021 - 03 - 30 13 : 19 : 00 : 5194 : 1073741824 : BeginTrans : 1
公告
Claire Zheng · 一月 10
Hi 开发者们,
我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,此次编程大赛关注于“FHIR与数字医疗互操作性”这个主题。
🏆 InterSystems编程大赛:FHIR 与数字医疗互操作性🏆
时间: 2024年1月15日至2月5日(美国东部时间)
奖金池: 14,000 美元
话题
欢迎您开发互操作性 FHIR 解决方案或医疗互操作性解决方案,您也可以开发辅助类解决方案,以帮助其他用户使用 InterSystems IRIS for Health、Health Connect 或 FHIR 服务器开发或/和维护互操作性解决方案。
一般要求:
应用程序或库必须功能齐全。该应用程序不应该是另一种语言中已有库的导入或直接接口(C++ 除外,您确实需要做大量工作来为 IRIS 创建接口)。不允许对现有应用程序或库进行复制粘贴。
有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。
该应用程序应在 IRIS Community Edition 或 IRIS for Health Community Edition 上运行。两者都可作为host (Mac, Windows)版从Evaluation Site下载,或者可以按从InterSystems Container Registry或Community Container中提取的容器形式使用: intersystemsdc/iris-community:latest 或 intersystemsdc/irishealth-community:latest 。
该应用程序需开源并在GitHub上发布。
应用程序的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。
一名开发者只允许提交 3 份作品。
注意。我们的专家将根据申请的复杂性和实用性标准对是否批准参加比赛拥有最终决定权。他们的决定是最终决定,不得上诉。
奖品
1. 专家提名奖(Experts Nomination)——获奖者由我们特别挑选的专家团选出:
🥇第一名 - 5,000 美元
🥈第二名 - 3,000 美元
🥉第三名 - 1,500 美元
🏅第四名 - 750 美元
🏅第五名 - 500 美元
🌟第 六名~第十名 - 100 美元
2. 社区提名奖(Community Nomination)- 获得总票数最多的应用程序:
🥇第一名 - 1,000 美元
🥈第二名 - 750 美元
🥉第三名 - 500 美元
🏅第四名 - 300 美元
🏅第五名 - 200 美元
如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享。
谁可以参加?
任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。
✅ 还没有账号?点击此处创建一个账号!
👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。
请注意,要在您的README文件中标注您的团队成员——社区用户profile。
重要截止日期:
🛠 应用程序开发和注册阶段:
2024 年 1 月 15 日(美国东部时间 00:00):比赛开始。
2024 年 1 月28 日(美国东部时间 23:59):提交截止日期。
✅ 投票期限:
2024 年 1 月 29 日(美国东部时间 00:00):投票开始。
2024 年 2 月 5 日(美国东部时间 23:59):投票结束。
注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应
资源助力:
✓ 应用示例(英文):
FHIR 服务器模板
iris-healthtoolkit-模板
互操作性-嵌入式-python
FHIR HL7 SQL 演示FHIR DropBox
HL7 和 SMS 互操作性演示
IrisHealth 演示
单元测试 DTL HL7
医疗保健 HL7 XML
FHIR 互操作性示例
FHIR-Orga-dt
FHIR 伪匿名化代理
FHIR-客户端-java
FHIR-客户端-.net
FHIR-客户端-python
Open Exchange 上的 FHIR 相关应用程序
Open Exchange 上的 HL7 应用程序
✓ 在线课程(英文):
交互式数字医疗互操作性基础- 使用 InterSystems IRIS for Health 构建数字医疗互操作性产品的入门课程
FHIR 集成
HL7 集成
了解软件开发人员的FHIR
探索 FHIR 资源 API
使用 InterSystems IRIS for Health 减少再入院率
将设备连接到 InterSystems IRIS for Health
监测婴儿的血氧饱和度
FHIR 集成快速入门
✓ 视频(英文):
6 个 FHIR 快速问题
SMART on FHIR:基础知识
使用 FHIR 进行开发 - REST API
InterSystems IRIS for Health 中的 FHIR
FHIR API 管理
在 IRIS for Health 中搜索 FHIR 资源
✓ IRIS 初学者(英文):
使用 InterSystems IRIS 构建服务器端应用程序
初学者的学习路径
✓ 对于ObjectScript 包管理器 (IPM)的初学者(英文):
如何使用 InterSystems IRIS 的 REST 应用程序构建、测试和发布 IPM 包
采用 InterSystems IRIS 和 IPM 的封装优先开发方法
✓ 如何将您的APP提交给大赛:
首先您需要发布应用:如何在 Open Exchange 上发布应用程序
然后,您可以提交申请:如何提交比赛申请
需要帮忙?
加入 InterSystems Discord 服务器上的竞赛频道或在本文评论中留言告诉我们。
期待您的精彩项目——加入我们的编码马拉松吧!
❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️ 中文资源参考-视频合集 | InterSystems IRIS医疗版互联互通套件产品用例
公告
Claire Zheng · 二月 6
Hi 开发者们,
是时候宣布 InterSystems 编程大赛:FHIR和数字医疗互操作性的获奖者了!
我们收到了12 份申请,感谢这些出色的参赛者 🔥
专家提名奖
🥇第一名,5,000 美元,@José.Pereira、@Henry.HamonPereira、@Henrique.GonçalvesDias ,应用程序iris-fhirfy
🥈第二名,3,000 美元,@Muhammad.Waseem ,应用程序iris-fhir-lab
🥉第三名,1,500 美元,@Flavio.Naves、Denis Kiselev、Maria Ogienko、Anastasia Samoilova、Kseniya Hoar ,应用程序ai-query
🏅第四名,750 美元,@Maria.Gladkova、@KATSIARYNA.Shaustruk、@Maria.Nesterenko、@Alena.Krasinskiene,应用程序Health Harbor
🏅第五名和第六名,各300 美元
@xuanyou du 应用程序 FHIR-OCR-AI
@Oliver.Wilms 应用程序iris-hl7
🌟 100 美元,@shan yue 应用程序Fhir-HepatitisC-Predict
🌟 100 美元,@Shanshan Yu,应用程序fhirmessageverification
🌟 100 美元,@Yuri.Gomes,应用程序Clinical Mindmap Viewer
🌟 100 美元,@Chang Dao,应用程序Patient-PSI-Data
社区提名奖
🥇第一名,1,000 美元, @José.Pereira、@Henry.HamonPereira、@Henrique.GonçalvesDias 应用程序iris-fhirfy
🥈第二名,750 美元,@shan.yue ,应用程序Fhir-HepatitisC-Predict
🥉第三名,500 美元,@xuanyou.du ,应用程序FHIR-OCR-AI
🏅第四名,300 美元,@Muhammad.Waseem ,应用程序iris-fhir-lab
🏅第五名,200 美元,@Flavio.Naves、Denis Kiselev、Maria Ogienko、Anastasia Samoilova、Kseniya Hoar,应用程序ai-query
我们向所有参赛者和获奖者表示最诚挚的祝贺!
下次再一起享受乐趣吧;)
文章
Claire Zheng · 一月 15
本文汇聚了InterSystems IRIS医疗版互联互通套件产品用例视频,共19个视频,欢迎收藏、观看!您也可以通过B站视频合集观看全部内容。
互联互通套件产品用例:互联互通文档转FHIR
互联互通套件产品用例:vscode连接互联互通容器版
互联互通套件产品用例:互联互通套件Docker版安装步骤
互联互通套件产品用例:糖尿病预测AI应用
互联互通套件产品用例:发布订阅,服务
互联互通套件产品用例:Rest API介绍
互联互通套件产品用例:共享文档:数据校验 - SQL前校验
互联互通套件产品用例:IRIS Studio连接互联互通套件容器版
Smart On FHIR用例:心血管疾病风险预测
Smart On FHIR用例:儿童生长发育曲线
互联互通套件产品用例-服务:患者注册
互联互通套件产品用例-共享文档:文档生成 + 文档查阅
互联互通套件产品用例-共享文档:数据校验 - SQL
互联互通套件产品用例-共享文档:数据导入
互联互通套件产品用例-共享文档:数据校验 -文档校验
互联互通套件产品用例-共享文档:值集更新
互联互通套件产品用例:平台性能监控
互联互通套件产品用例:批量生成电子病历共享文档
互联互通套件产品用例:国家三级公立医院绩效考核指标
文章
Michael Lei · 七月 7
InterSystems 常见问题FAQ
如果您想在InterSystems 产品启动时执行一个操作系统可执行文件,命令或者程序,可以在SYSTEM^%ZSTART routine里面写明流程 ( %ZSTART routine在 %SYS 命名空间里面创建).
在 SYSTEM^%ZSTART 里面写代码之前, 请确保他可以在任何情况下能正常工作
如果 ^%ZSTART routine 写的不对,或者没有响应或者发生错误,InterSystems 产品可能会无法启动。
更多信息,请参考一下文档。
About writing %ZSTART and %ZSTOP routines [IRIS]About writing %ZSTART and %ZSTOP routines