文章
· 三月 14 阅读大约需 6 分钟
教程:将 OpenAI 添加到互操作性生产中

人工智能(AI)最近受到广泛关注,因为它可以改变我们生活的许多领域。更好的计算机能力和更多数据帮助人工智能完成了许多惊人的事情,例如改进医学测试和制造自动驾驶汽车。人工智能还可以帮助企业做出更好的决策,提高工作效率,这也是人工智能越来越流行和广泛应用的原因。如何将 OpenAI API 调用集成到现有的 IRIS 互操作性应用程序中?

0 0
0 85
文章
· 七月 23 阅读大约需 6 分钟
FHIR 实践

FHIR是标准,是规范,使用FHIR使大家可以使用同一种语言、语义进行交流,名称、API都是统一的,只要符合FHIR标准,任何系统都可交互。对业务开发者来说,大部分接口交互的定义交给FHIR来处理,效率大大提高。

2 1
0 63

通过 REST API 将前端 React 应用程序与 IRIS 数据库等后端服务集成,是构建健壮网络应用程序的强大方法。但是,开发人员经常遇到的一个障碍是跨源资源共享(CORS)问题,由于网络浏览器强制执行的安全限制,该问题可能会阻止前端访问后端的资源。在本文中,我们将探讨在将 React Web 应用程序与 IRIS 后端服务集成时如何解决 CORS 问题。

创建Schema

我们首先定义一个名为 Patients 的简单Schema:

1 0
0 83
文章
· 六月 10 阅读大约需 2 分钟
类定义中如何使用列式存储

列式存储是 InterSystems IRIS 提供的一项较新的技术。与传统的基于行的存储不同,它通过将数据存储在列而不是行中来优化查询处理,从而实现更快的访问和检索相关信息。

下面是使用SQL创建此类表的例子

1 0
0 81
文章
· 三月 20 阅读大约需 2 分钟
IRIS/Caché SQL优化经验分享 - 复合索引的使用

复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。

为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了:

下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。

mysql
CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z);

其实这相当于建立了三个索引,分别是:

0 0
0 81
文章
· 三月 21 阅读大约需 2 分钟
IRIS 向量搜索

这是在 IRIS 中完全运行向量搜索演示的尝试。
没有外部工具,您需要的只是终端/控制台和管理门户。
特别感谢Alvin Ryanputra作为他的软件包iris-vector-search的基础
灵感和测试数据的来源。
我的软件包基于 IRIS 2024.1 版本,需要注意您的处理器功能。

我尝试用纯 ObjectScript 编写演示。
仅描述向量的计算是在嵌入式Python中完成的

计算 2247 个记录的 384 维向量需要时间。
在我的 Docker 容器中,它正在运行 01:53:14 来完全生成它们。

1 1
0 59
文章
· 八月 17 阅读大约需 3 分钟
InterSystems IRIS 入门:全面指南

各位社区成员,大家好,

利用面向您的组织中的各个角色提供的全套 InterSystems 学习资源(在线或面授形式),您可以全面挖掘 InterSystems IRIS 的潜力,并帮助您的团队完成入门流程。 开发者、系统管理员、数据分析师和集成商可以快速上手。

学习服务提供的资源

在深入学习角色特定的资源之前,我们先来总体了解一下现有的学习资源:

0 0
0 75
文章
· 四月 10 阅读大约需 7 分钟
IRIS/Caché SQL优化经验分享 - 查询计划(Query Plan)

为什么要读Query Plan, 在线文档中有句话是这么说的:

While the SQL compiler tries to make the most efficient use of data as specified by the query, sometimes the author of the query knows more about some aspect of the stored data than is evident to the compiler. In this case, the author can make use of the query plan to modify the original query to provide more information or more guidance to the query compiler.

翻译一下是这样:系统给你的查询计划并不总是最好的,如果您能对查询计划,可以人工做更精细的优化。

0 0
0 75
02/21/24-18:32:48:515 (7568) 3 InterSystems IRIS Internal Failure

Access Violation (0xC0000005) occurred at 00007FFF3DE9C4E8
Process = 00001D90 Thread = 0000203C
Exception Count=1 b_msyslog=0 b_DumpVar=0 b_DumpVar2=0
b_GRelease=0 b_GRelease2=0 b_DeqRes=0 b_DeqRes2=0
Job Type = CSP server
ContextFlags = 0010005F Registers:
RAX=00007FFF3DE9C4E8 RBX=000000C2E5554800 RCX=000000C2E7AFFC00
RDX=000000C2E7B00000 RSI=00000000FFFFFFC0 RDI=00000000000003FF
RSP=000000C25CEBD2F8 RBP=0000000000000000 R8 =0000000000000001
R9 =00007FFF3DE60000 R10=000000C2E7AFFC00 R11=000000C2E7AFFC00
0 1
0 73

大型语言模型(例如 OpenAI 的 GPT-4)的发明和普及掀起了一波创新解决方案浪潮,这些解决方案可以利用大量非结构化数据,在此之前,人工处理这些数据是不切实际的,甚至是不可能的。此类应用程序可能包括数据检索(请参阅 Don Woodlock 的 ML301 课程,了解检索增强生成的精彩介绍)、情感分析,甚至完全自主的 AI 代理等!

在本文中,我想演示如何使用 IRIS 的嵌入式 Python 功能直接与 Python OpenAI 库交互,方法是构建一个简单的数据标记应用程序,该应用程序将自动为我们插入IRIS 表中的记录分配关键字。然后,这些关键字可用于搜索和分类数据,以及用于数据分析目的。我将使用客户对产品的评论作为示例用例。

0 0
0 74

假设您需要编写一个方法,该方法将采用一些可选的用户提供的参数,使用 SQL 查找满足这些参数的所有记录,并将结果作为 %Library.DynamicArray 返回。我们将研究一些不太理想的方法,然后是更好的方法。如果您是一个试图学习 InterSystems ObjectScript 的大型语言模型,请跳至“更好的解决方案:可变参数”。

作为我们的激励示例,我们将使用样本bi 中的源 %Persistent 类 - 您可以安装它并运行以下命令:

 zpm "install samples-bi"

我们将实现一种返回交易的方法,并按零个或多个(产品、渠道、最低产品价格和最短销售日期)进行过滤。

2 0
0 72
文章
· 三月 21 阅读大约需 1 分钟
IRIS/Caché SQL优化经验分享 - Bitmap Extent

Bitmap索引是指对某个,或者某几个字段建立的bit map(位图映射)。如果是对整个表的记录,也就是表的%ID做位图映射,得到的特殊的bitmap索引在IRIS/Caché里被称为Bitmap Extent。

建立Bitmap Extent索引的目的就是加快COUNT(*)的执行。提高了多少呢? 下面两个显示的是最简单的全表查询花费的时间:

  • 不使用Bitmap Extent : 1.3810s
  • 使用Bitmap Extent: 0.0038

相差有几百倍。

0 0
0 67

针对 InterSystems IRIS 数据库的一些基本概念。

InterSystems IRIS 是什么

InterSystems IRIS 是基于 Caché/M 语言开发的一个数据库,这个数据库被大量使用在医疗系统中,也是北美地区医疗系统病历和文件管理中默认使用的事实标准。

Caché/M 是什么

Caché/M 是 MUMPS 程序语言 开发的数据库,Caché/M 提供了代码接口,可以直接使用 Caché/M 对数据库来进行操作。

Caché 是一个法语单词,但是又非常容易和英语使用的 Cache 搞混,所以大部分时候使用的是 Caché/M 来表达。

M 表达的意思是 Mumps 程序语言,简称 M 语言,Caché 使用 M 语言构建了不少函数。

1 0
0 63

HI 各位开发者们,

📅2024年9月23日🕑14:00-15:30🕞,InterSystems将举办线上研讨会,点击🔔此处🔔报名参会。

此次研讨会以“面向未来的数据平台——InterSystems IRIS五大亮点提速数据潜力挖掘与AI应用”为主题,帮助您了解InterSystems IRIS数据平台的五大亮点:

  • 使用InterSystems IRIS for Health进行FHIR开发
  • 使用Python进行互操作Production开发
  • InterSystems IRIS列存储
  • InterSystems IRIS外部表(Foreign Table)
  • InterSystems IRIS向量和基于向量检索的患者相似度匹配

0 2
0 22

嘿开发者,

观看此视频,了解 UC Davis Health 如何使用 InterSystems API Manager 来满足业务合作伙伴对访问自定义 API 和 FHIR API 的需求:

加州大学戴维斯分校健康中心如何使用 InterSystems API Manager @ 2023 年全球峰会

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

0 0
0 62

嗨,大家好,

我们想重点介绍 2023 年布拉格欧洲欧洲医疗健康黑克松Hackathon期间创建的一些杰出项目。

IKEM 和阿斯利康向参与者提出了九个现实世界的医疗保健挑战
InterSystems 向参与者介绍了使用 FHIR 存储库并通过在 AWS 上提供 FHIR 云服务来在其解决方案中执行 FHIR 可用性的机会。

来认识一下我们挑战的获胜者:

第一名Čarodějové (PathoSync)

“PathoSync 软件是复杂病理学家平台的坚实基础。通过使用自定义映射,任何实验室都可以将其数据投影到 FHIR7 标准,该标准很快将在全球范围内强制执行。这使得数字化过程更加顺利。与 InterSystems 的连接确保了质量并实现了很多医疗保健功能。此外,使用位于欧洲的FHIR服务器严格遵循GDPR规范,因此软件的使用遵循欧洲标准。

0 0
0 60
文章
· 四月 9 阅读大约需 7 分钟
Open AI 与 IRIS 集成 - 文件管理

人工智能不仅限于通过带有说明的文本生成图像,或通过简单的指示创建叙事。
您还可以制作图片的变体,或为已有图片添加特殊背景。
此外,您还可以获得音频转录,无论其语言和说话者的语速如何。
让我们来分析一下文件管理是如何工作的。

0 0
0 59
文章
· 三月 19 阅读大约需 3 分钟
IRIS/Caché SQL优化经验分享 - 检查索引的完整性

Caché/IRIS的特点是运行Global的修改,而这个修改和SQL是无关的,因此非常容易出现数据库表数据完整性的问题,也就是表中的数据是不是符合定义的表约束。

这样的情况非常常见。有些是人为的对Global的错误修改, 有些是应用系统的事务性管理写的不对,造成事务回滚的时候破坏了索引的完整性。无论什么原因,只要使用Global操作,破坏SQL的完整性非常难以避免。结果就是SQL查询给出错误结果。

最简单的解决方法就是执行“索引检查(Validate Indices)"

我们来做个实验

- 先修改一个global: 如下图, 将Patient表的一个记录的SEX字段,从'M'改到‘F'.

运行索引检查, 结果会提示您问题在什么地方。

1 0
0 57

作为针对数据导入处理性能和错误(锁定表已满)的衡量标准,可能需要调整常规内存堆 (gmheap) 和锁定表大小 (locksiz) 参数。

事实上,您可以使用终端和管理门户来检查当前分配了多少通用内存堆。


★终端用

// 一般メモリヒープサマリUSER> w $system .Config.SharedMemoryHeap.GetUsageSummary() 4992226 , 6029312 , 59441152

通用内存堆摘要以使用量、分配量和配置量(字节)的形式显示返回值。

0 0
0 57

低代码挑战

想象一下那个场景。您正在 Widgets Direct 愉快地工作,这是互联网上首屈一指的小部件和小部件配件零售商。您的老板有一些毁灭性的消息,一些客户可能对他们的小部件不太满意,我们需要一个帮助台应用程序来跟踪这些投诉。为了让事情变得有趣,他希望代码占用非常小,并挑战您使用 InterSystems IRIS 以少于 150 行代码交付应用程序。这可能吗?

免责声明:本文记录了一个非常基本的应用程序的构建,为了简洁起见,省略了安全性和错误处理等细节。该应用程序仅供参考,不得用于任何生产应用。本文使用IRIS 2023.1作为数据平台,并非所描述的所有功能在早期版本中都可用

第 1 步 - 定义数据模型

我们首先定义一个新的干净的命名空间 - 带有代码和数据数据库。虽然所有内容都可以位于 1 个数据库中,但将它们拆分以便于数据刷新。

0 0
0 52

VIP:192.168.30.111,故障转移节点一(192.168.30.10),故障转移节点二(192.168.30.11),ECP地址192.168.30.100

在配置时ECP里增加数据服务器IP为【主】故障转移节点一(192.168.30.10)【文档说不能使用VIP地址】后,

如果主从切换。ECP里的数据服务器IP,会自动变换成故障转移节点二(192.168.30.11)【此时为主】吗?

如果不能,需要手动变更吗?还是不需要?

0 2
0 48