文章 Lilian Huang · 十一月 24, 2023 2m read

想必大家都听说过 FHIR 是解决系统间所有互操作性和兼容性问题的灵丹妙药和解决方案。就在这里,我们可以看到他手持一份 FHIR 资源,愉快地享受其中:

但对于我们这些普通人,我们将做一个小小的介绍。

什么是 FHIR?

让我们直接进入定义:FHIR(Fast Healthcare Interoperability Resource)是由HL7(Health Level 7标准组)开发的一种互操作性标准,旨在实现医疗行业中不同系统之间的电子医疗数据交换。

FHIR 从根本上基于哪些技术?

主要是通过 REST API 和 JSON 格式进行 HTTP 调用的结合(尽管它可以是 XML 以及我们可用的任何其他通信,具体根据我们的使用情况)。

我们如何与 FHIR 合作?

一般来说,最简单的方式是拥有一个FHIR服务器,我们将使用诸如GET(从服务器获取数据)、PUT(更新数据)、POST(保存数据)和DELETE(删除数据)等HTTP调用与其通信。

FHIR处理了“资源”(Resource)的概念,用于在服务器和客户端之间发送和接收数据。这些资源旨在涵盖系统间80%的互通性需求。在这里,我们可以看到默认情况下可用的资源图示。

如您所见,每个资源都附带一个表示资源成熟度的数字或字母(其中N = 正式)。如果您访问官方的FHIR文档,您将能够获取到众多示例。

0
0 302
公告 Claire Zheng · 十一月 23, 2023

🏆InterSystems开发者社区中文版第二届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章)获奖名单已公布!

11月24日19:00-20:00,InterSystems开发者社区将举办“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行作品分享&点评、探讨热门话题,同期还将送出多份幸运奖品,欢迎参会!

特别提醒:今晚拼手速,赢取幸运奖品请提前准备好自己的社区主页链接,以便快速填写(点击头像右上角进入个人主页,复制浏览器链接即可,如:https://cn.community.intersystems.com/user/claire-zheng

会议主题:InterSystems开发者社区第二届技术征文大赛线上分享会
会议时间:2023/11/24 19:00-20:00 (GMT+08:00) 中国标准时间 - 北京

点击链接入会,或添加至会议列表:
https://meeting.tencent.com/dm/a7BNMvn2Sqx4

#腾讯会议:306-552-860

复制该信息,打开手机腾讯会议即可参与

0
0 203
公告 Claire Zheng · 十一月 23, 2023

大家好!

终于到了宣布获奖名单的时间!

🏆InterSystems开发者社区中文版第二届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章)已经结束,此次大赛收到了来自8名参赛者的12篇参赛文章,最终进入评选的文章为10篇,感谢大家的积极参与!

以下是获奖名单!

专家提名奖:活动期间发布文章且成功参赛后,由InterSystems专家评选得出

🥇第一名,姚 鑫,作品:浅谈一下个人基于IRIS后端业务开发框架的理解

🥈第二名,王喆 👀, 作品:IRIS自动安装集群--manifest(安装清单)

🥉第三名,Yuxiang Niu,作品:关于Cache中查看关键锁的几种方式

🏆第四名,liu bo,作品:通过自定义数据类型实现参数统一验证优化重构代码

 开发者社区奖:活动期间发布文章且成功参赛后,由社区成员点赞评选得出

🥇第一名,Yongfeng Hou ,作品:IRISHealth在DBServer和ECPApp之间启用SSL/TLS安全双向认证加密通信

🥈第二名,Meng Cao ,作品:使用支持SSL的ODBC连接IRIS数据库

🥉第三名,water huang,作品:进程表

🏆第四名,haoyinhang Hao ,作品:通过XSL自动生成消息模型

恭喜获奖者!

感谢大家的积极参与!

奖品领取

请获奖者点击【获奖者信息提交】提交信息,以便我们及时与您联系奖品寄送事宜。

0
0 233
文章 Meng Cao · 十一月 23, 2023 2m read
  • 前言 

        随着网络安全日益被重视,特别是等级保护制度的大环境下,SSL加密传输越来越被重视,本文介绍如何使用支持SSL的ODBC连接IRIS数据库。

        数据库版本:IRISHealth-2023.1

  • 1. 服务器端配置

       1)新建SSL服务器配置。

    

         2)开启超级端口的SSL支持,这里我们选择启用即可,如所有超级端口的连接都支持SSL可选要求。

       

  • 2.Windows客户端配置

       1)创建 SSLDefs.ini 配置文件,并编辑内容:

       [TLS to an InterSystems IRIS instance]
       Address=127.0.0.1
       Port=51773
       SSLConfig=DHCC

5
3 623
文章 he hf · 四月 24, 2023 2m read

SqlDbx是我们常用的数据库查询与操作工具,因其轻量且无须安装而无处不在,然而习惯了在Intersystems的CACHE和ENSEMBLE版本下使用SqlDbx在升级到IRIS版本后却无法使用了,为此进行了一系列尝试,并最终获得成功,形成本文攻略,分享给大家。

1、在SqlDbx的连接登录窗口,从DBMS Type中直接选择 “InterSystems CACHE”连接IRIS会报错,提示“通过IRISconnect失败”,说明“InterSystems CACHE”不再适用于IRIS。

2、考虑IRIS的ODBC支持,为此换一种思路,采用ODBC方式连接,此方式需要在ODBC中建立DSN。

3、从Intersystems官网https://intersystems-community.github.io/iris-driver-distribution/或github网站https://github.com/intersystems-community/iris-driver-distribution/tree/...下载InterSystems IRIS ODBC 32位驱动,注意一定要下载32位驱动(注:SqlDbx现只支持32位的ODBC)。

4、下载后直接安装即可。

2
0 1799
文章 liu bo · 九月 19, 2023 4m read

前言 {#1}

ensemble里边实现分页比较麻烦,毕竟对于sql的书写比较麻烦,单表的查询相对简单,对于多表的关联查询单纯的sql不好查询,我们使用sql进行先查询出主表满足条件的rowId,在根据根据满足条件的rowid进行遍历取值。

思路

我们先取对比一下其他数据库实现的原理。

2
0 395
文章 Hao Ma · 十一月 22, 2023 5m read

介绍

由于InterSystems最近宣布从2023.2版本开始停止对InterSystems Studio的支持,转而独家开发Visual Studio Code(VSC)IDE的扩展,相信后者比Studio提供了更优越的体验,我们很多开发者都已切换或开始使用 VSC。很多人可能想知道如何打开终端进行操作,因为VSC没有像Studio那样的输出面板,也没有集成的功能来打开IRIS终端,除非下载InterSystems开发的插件。

概括

  • 介绍
  • 解决方案
    • 对于至少具有 IRIS 2020.1 或 IRIS IRIS 2021.1.2 的用户– 使用 Web 终端
    • 对于至少具有 IRIS 2023.2 的用户 – 使用 WebSocket 终端
    • 对于使用基于 Docker 的 IRIS 的用户
    • 对于在本地计算机上使用 2023.2 之前的 IRIS 版本的用户
    • 对于使用 SSH 连接在基于远程服务器的 IRIS 上进行编码的用户

解决方案

在 VSC 中打开终端的方法有多种,具体取决于您使用的具体配置,我在这里总结了适合任何情况的最佳解决方案:

对于至少具有 IRIS 2020.1.1 或 IRIS 2021.1.2 的用户 – 使用 Web 终端

1
0 468
公告 Claire Zheng · 十一月 23, 2023

大家好!

🏆InterSystems开发者社区中文版第二届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章即将步入尾声!“征文&投票”环节即将结束(截至11月23日23:59)!来抓住最后的时间为你喜欢的作品投票吧!

11月24日19:00-20:00,InterSystems开发者社区将举办“InterSystems第二届技术征文大赛线上分享会”,邀请参赛作者进行作品分享&点评、探讨热门话题,同期还将送出各类奖品,欢迎参会!

会议主题:InterSystems开发者社区第二届技术征文大赛线上分享会
会议时间:2023/11/24 19:00-20:00 (GMT+08:00) 中国标准时间 - 北京

点击链接入会,或添加至会议列表:
https://meeting.tencent.com/dm/a7BNMvn2Sqx4

#腾讯会议:306-552-860

复制该信息,打开手机腾讯会议即可参与

0
0 96
文章 姚 鑫 · 十一月 16, 2023 17m read

浅谈一下个人基于IRIS后端业务开发框架的理解

现状

由于国内使用基于M语言IRIS平台几乎都在医疗行业。医疗系统又非常的庞大和复杂。前期由于快速占领市场,系统数量越来越多,到了临界点后就产生了质变,所以前期基于功能的线性开发注重效率,所以导致大量的产品业务代码有如下集中情况:

  • 系统交互乱如麻,各系统的交互关系变成了网状。
  • 系统规模庞大,内部耦合严重,牵一发而动全身,后续修改和扩展困难,开发效率低。
  • 关键功能逻辑复杂,容易出现问题,出现问题后很难排查和修复,开发成本高。
  • 功能越来越多,导致系统复杂度指数级上升。
  • 重复造轮子,相似的功能不断重复开发。

如上图所示,这仅仅是展示了五个模块之前的交互,在此基础上继续增加模块则复杂度成指数级上升,并且如果每个模块之间如果没有做好接口管理,维护起来也是地狱级别。

如何解决这个问题,一般会分为两派:优化派与架构派。

优化派的思想是将现有的系统优化。例如重构某个方法,优化某个SQL。优化派的优势是针对系统改动较小,可以保持系统的稳定性,可以快速实施,缺点是治标不治本,随着需求越来越多,增加的代码量越多,后期还是会撑不住。

架构派的核心思想是调整系统架构,将原来的大系统拆分为多个互相配合的小系统,例如药库系统拆分为,采购模块,订单模块,查询模块,分析模块等。架构派的优势是一次调整可以支撑比较长期的业务发展,缺点是动作较大,耗时较长,稳定性需要项目考验。

1
0 271
文章 Yinhang Hao · 十一月 20, 2023 2m read

前言

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

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

1
0 195
文章 Michael Lei · 十一月 20, 2023 2m read

这是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 控制台或终端上一样,并使其尽可能简单。
花哨的图形界面只会分散示例的基本内容。

如果有任何默认值或先前的值,则会在输入提示中显示。
在 Docker 容器中,编辑器已经可以使用了。

  • docker-compose exec iris java gedi docker-compose exec iris java gedi

您首先连接到服务器

0
0 161
公告 Hao Ma · 十一月 14, 2023

我们最近发布了一份关于在镜像环境中使用报告节点(完整的“异步报告镜像成员”)的新白皮书。越来越多的客户正在研究这种机制,将其作为一种快速、简单的方法来设置保持最新的生产数据副本,但可以用于分析查询或重型报告工作负载,而不影响源系统。 请在此处阅读白皮书

与往常一样,我们很想听听您对如何在组织中使用此镜像选项的反馈,以及您是否对我们如何提高其效率有想法。

0
0 84
文章 姚 鑫 · 五月 20, 2021 9m read

第一章 发送HTTP请求

本主题介绍如何发送HTTP请求(如POSTGET)和处理响应。

HTTP请求简介

可以创建%Net.HttpRequest的实例来发送各种HTTP请求并接收响应。此对象相当于Web浏览器,可以使用它发出多个请求。它会自动发送正确的cookie,并根据需要设置Referer标头。

要创建HTTP请求,请使用以下常规流程:

  1. 创建%Net.HttpRequest的实例。
  2. 设置此实例的属性以指示要与之通信的Web服务器。基本属性如下:
  • 服务器指定Web服务器的IP地址或计算机名称。默认值为localhost

注意:不要将http://https://作为服务器值的一部分。这将导致错误#6059:无法打开到服务器http:/的TCP/IP套接字

  1. 可以选择设置HTTP请求的其他属性和调用方法,如指定其他HTTP请求属性中所述。
  2. 然后,通过调用%Net.HttpRequest实例的get()方法或其他方法来发送HTTP请求,如“发送HTTP请求”中所述。

可以从实例发出多个请求,它将自动处理cookie和Referer标头。

注意:如果创建此HTTP请求是为了与生产出站适配器(EnsLib.HTTP.Outbound Adapter)一起使用,那么请改用该适配器的方法来发送请求。

1
0 352
文章 Qiao Peng · 十月 26, 2023 10m read

CDS Hooks是FHIR生态下一个决策支持架构,是SMART(Substitutable Medical Applications and Reusable Technologies, 可替代的医学应用和可复用技术)下的一个项目。

FHIR标准下也有一个决策支持相关的模块 - FHIR的Clinical Reasoning模块。它和CDS Hooks是有区别的:

FHIR的Clinical Reasoning模块提供一系列资源模型和工件,用于构建决策支持相关的规则、医嘱集、临床协议和质量指标,并基于此对特定患者和人群进行评估,进而产生决策行为。它构建的是本地决策支持体系。

而CDS Hooks提供一个决策支持架构,打通外部决策支持系统和本地的决策数据源、业务流程。

CDS Hooks是开源的,基于知识共享 CC BY 4.0,因此也获得了广泛采纳。

CDS Hooks的架构

CDS Hooks是打通外部决策支持系统和客户端应用的决策支持架构,完整的架构包括:

CDS客户端:通常是用户的业务系统,如HIS或电子病历

CDS服务:这是CDS Hooks提供的核心组件,向客户端发布的决策支持服务

FHIR服务器:这是用户侧的FHIR服务器,保存的是用户侧的FHIR资源数据。CDS服务通过访问FHIR服务器获得用户侧的决策依据的完整数据

0
0 199
公告 Michael Lei · 十月 24, 2023

终止对 CentOS 的支持

自 InterSystems IRIS 2023.3 发布起,CentOS 将不再是受支持的开发平台。

CentOS 一直是一个受支持的开发平台,为开发人员提供了相当于 Red Hat Enterprise Linux (RHEL) 的免费版本,用于 IRIS 开发。您可能知道,Red Hat 对 CentOS 进行了重大更改,CentOS 已成为 RHEL 的“上游”。这意味着它具有 RHEL 中尚未包含的错误和功能,这可能会给在该平台上构建的开发人员带来问题。

我们鼓励使用 CentOS 的开发人员利用 Red Hat 的免费开发人员计划来获得 RHEL 的免费开发许可证。

CentOS 继续支持 IRIS 2023.2(及更早版本)。

0
0 155
文章 Qiao Peng · 十月 23, 2023 12m read

FHIR标准提供灵活的扩展与再约束机制 - Profile。到底Profile机制如何工作?什么样的扩展需要用到Profile?怎么建立Profile?


 

FHIR核心资源模型  - FHIR Core

FHIR发布的资源模型是按80/20原则设计的 - 最常用那80%的用例中需要的数据会被涵盖在FHIR核心资源模型中,这些数据需求可能只是所有用例需要数据的20%;通过对核心资源的扩展和再约束,可以让它们适用于不常见的20%用例和未被涵盖的80%的数据需求。

FHIR发布的资源模型是FHIR核心资源模型(FHIR Core),它们有如下特点:

1. 对象模型 - 有继承关系。所有资源都继承自DomainResource

2. 为了保证最大的适用度,资源中的绝大多数属性的最小基数都是0,意味着它们都可以为空

3. 资源的属性可以通过code(值集)、coding、CodeableConcept(术语)进行取值范围约束

4. 为了防止医疗错误,所有的属性都没有且不能有默认值

当需要对核心资源模型进行扩展和再约束时,FHIR提供了profile机制对所做的扩展和再约束进行画像(描述),这就是profile的意思。

这里把对FHIR资源模型的用户自定义扩展区分为“扩展”和“再约束”,差异是:

  • 扩展指需要要增加新的资源属性
  • 再约束指修改核心资源模型的属性的基数、值集绑定、必须支持、切片等
0
0 494
文章 Louis Lu · 十月 19, 2023 3m read

对于经常进行插入、删除操作的表,位图索引的存储往往会变得不那么高效。

例如,下面定义的表,经常进行大数量的删除操作 (TRUNCATE TABLE)

Class MyWork.MonthData Extends (%Persistent, %Populate)
{
    /// Level of satisfactionProperty Satisfaction As%String(VALUELIST = ",満足,やや満足,やや不満,不満,");/// AgeProperty Age As%Integer(MAXVAL = 70, MINVAL = 20);

    Index AgeIdx On Age [ Type = bitmap ];
}

对该表进行插入操作后,索引表存储的内容为:

0
0 104
公告 Jeff Liu · 十月 18, 2023

你好社区,

观看此视频,了解如何将 FHIR、CDS Hooks 和低代码医疗保健规则编辑器组合成一个易于使用、功能强大的平台,以帮助确保以最佳方式传递信息:

FHIR 临床警报和通知:将医疗保健行动引擎纳入 2023 年全球峰会工作流程

<iframe src="//player.bilibili.com/player.html?aid=704852301&bvid=BV12Q4y1s71g&cid=1303145533&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

0
0 146
公告 Jeff Liu · 十月 18, 2023

嘿开发者,

欣赏Bilibili InterSystems 中国上的新视频:

如何在 2023 年全球峰会上定制 InterSystems IRIS for Health FHIR 存储库

<iframe allowfullscreen="true" border="0" frameborder="no" framespacing="0" scrolling="no" src="//player.bilibili.com/player.html?aid=704839935&bvid=BV1kQ4y1s7fd&cid=1303147878&p=1"></iframe>

0
0 116
文章 Qiao Peng · 十月 17, 2023 14m read

2023年6月底,世卫组织(WHO)和HL7签署了合作协议,利用HL7 FHIR提供互操作性,来支撑WHO的SMART指南(SMART Guideline)愿景 - 使用数智化的方式推动并加速一致化的健康干预措施建议,让世界上每个人都能立即从临床、公卫和数据使用建议中充分受益。

作为WHO的《2020-2025 年全球数字卫生战略》的一部分,SMART 指南使用 FHIR 、HL7的临床质量语言 (CQL) 和ICD标准以表达 WHO 的各种健康和临床指南,实现数据互操作、决策支持与指标、术语的一致性。这些标准被进一步利用来为各国及其合作伙伴开发一个由软件库、服务和工具组成的支持生态系统,并作为数字公共产品服务全球卫生健康事业。

为什么世卫组织会采用FHIR作为卫生信息互操作的标准在全球推广其一致化的健康干预措施建议?因为FHIR不仅标准成熟适用,而且还具有一个极具生命力的生态。

一个有生命力的标准会吸引生态的构建,而完善的生态将促进标准的成熟和演进。HL7 FHIR作为新一代的卫生信息互操作标准,其生态已经初具规模并蓬勃发展。

HL7 FHIR的知识产权类型

0
0 893
公告 Claire Zheng · 十月 17, 2023

嗨,开发者们!

我们决定将🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆的参赛时间延长至11月24日,请参赛者关注重要时间节点的变化。

📝 2023年9月19日-11月23日(北京时间)文章发布与点赞收集!在社区发布文章后即可开始为您的文章收集点赞。越早发布文章,就越有时间收集更多点赞(这是您获得“开发者社区奖”的关键)。

📝 2023年11月23日(北京时间),专家打分截止(专家提名奖)。

🎉  2023年11月24日(北京时间),公布获奖名单。

欢迎大家继续积极投稿,赢取大奖!

了解参赛规则及文章样例点击此处

了解奖品详情点击此处

欢迎投稿参赛!

快乐分享技术,期待您的大作!

🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章

0
0 124
公告 Claire Zheng · 九月 18, 2023

嗨,开发者们!

秋高气爽之际,我们很高兴地宣布启动🏆InterSystems开发者社区中文版第二届技术征文大赛 🏆(←点击链接进入参赛页面,浏览所有参赛文章)!

从2023年9月19日-11月24日(北京时间),欢迎热爱InterSystems技术的你来投稿,撰写与InterSystems技术相关的文章。

🎁参与奖 我们为每一位成功参赛的作者准备了礼品!

🏆优秀文章大奖 Apple AirPods Pro; Osprey Proxima Backpack; Home Office Pro Lap Desk; Sound Machine with Wireless Charger; JBL Pulse 5 Bluetooth Speaker; Sound Machine with Wireless Charger; Hammock InterSystems; Light Up Your Logo Charging Pad; InterSystems Developer Community Blanket

1
0 432
文章 Qiao Peng · 十月 9, 2023 4m read

市场上有太多的技术体系和应用开发架构,C/S、三层架构、面向服务架构… 以三层架构为例,展现层可能是网页或Java/.net客户端、应用层可能是java、.net、Python,数据层可能是SQL、NoSQL、NewSQL。但大多建立的是单体架构应用 – 为特定业务目标从底层数据模型到业务逻辑再到用户界面的一体化设计,也就是孤岛型应用。

单体架构应用最大问题是没有哪一部分是以复用为主要目的设计和建设的,而且和其开发技术体系绑定:

  • 应用只能运行在其开发的技术体系下,无法跨技术体系复用
  • 由于数据模型、术语、行业服务和API标准的缺失及应用范围不足,即便采用相同技术体系的应用和功能也没法为别的用户使用。以患者管理为例,每个业务系统都有患者管理,但没有一个系统将患者管理功能分享给别的业务系统使用,我们不得不在不同的业务系统间集成和同步患者信息
  • 而应用一旦不满足需求了,新应用要重新建设所有三层,任何一层都没法复用、原来的数据也随之下线,造成宝贵的数据资产损失

我们的医疗信息化建设的现状就是在不断重复建设不能复用和分享的单体架构应用 - 架构很重、开发周期长、开发成本很高、后期集成难度大、数据被孤岛化、应用效果不佳。

0
0 313
文章 Qiao Peng · 十月 9, 2023 7m read

英国国民医疗保健服务(NHS)简介

国民医疗保健服务(NHS)是英国的公共资助的医疗保健系统的总称,覆盖英格兰的、苏格兰和威尔士。它是世界上第二大单一付款人医疗保健系统,针对英国常住居民提供免费的、全面的卫生服务。这些卫生服务不仅是医疗服务,还包含社区护理服务、精神健康、临终关怀等。

NHS是最大的分级诊疗体系:先看全科医生或急诊,再由他们转诊到医院看专科医生、住院或者手术。它管理着9千万患者记录和65百万份病历;每天有100万的就诊、200万电子处方和75万电子转诊。

NHS200万员工,是世界最大的、非军队的单一机构。一直被评为让英国人最自豪的英国机构,击败了皇室、武装部队和英国广播公司。

NHS面临的挑战和应对

作为政府买单的全国性医疗保健系统,提高治疗效果、提升效率、降低费用是NHS始终面临的挑战。

NHS广泛使用InterSystems的TrakCare作为电子病历系统以获得统一的、最新的患者视图;使用HealthShare作为医疗机构间健康信息共享和交换平台,合并和共享患者信息、治疗计划和临终愿望计划,让授权的医护人员查看患者完整、及时的护理记录小结;使用InterSystems IRIS医疗行业版支撑包括基于机器学习的辅助决策的创新应用,例如对阿尔茨海默氏症的早期发现与诊断。NHS还提供全国的电子处方服务 - 直接将电子处方发送到患者选择的药房,和电子转诊服务。

0
0 789