文章
· 四月 17, 2022 阅读大约需 3 分钟
翻译博客文章--浏览医疗保健的未来

在最近一次探索马里兰小镇的 "度假 "期间,我偶然发现了一家非常令人愉快的书店,在那里我愉快地消磨了一下午。我和我的家人都是读者,喜欢各种类型的书--新的、二手的、印刷的、电子的。我们尽量在当地购物,以帮助零售店保持运营。

这次访问促使我思考图书行业所发生的事情与我们的医疗保健系统所发生的事情之间的一些相似之处。

医疗保健行业与图书行业的趋势


数字化


我们阅读内容的格式已经发生了根本性的变化。在2020年,电子书几乎占美国市场的四分之一。音频书占美国图书收入的10亿美元。许多印刷书籍是按需出版的,而不是保存在库存中。同样,医疗保健早已不再是一个“伸出舌头说啊 ”的行业,基因组测试、由人工智能算法读取的X射线、可植入设备和远程医疗访问已经改变了医疗的面貌。

虚拟服务

0 0
0 68

Alt Text

大家好!

在这里跟大家分享一下我在大奖赛上的项目 :)

FHIR病人查看器是一个建立在Vue.js上的单页、反应式渲染工具,它以对人友好的方式显示从对InterSystems FHIR服务器的/Patient/{id}/$everything调用返回的数据。在自述文件中,包括3个主要内容:
1. 一个视频演示,将FHIR患者浏览器连接到一个沙盒IRIS FHIR服务器上(这是测试它的最快方法);
2.第二个视频显示我如何在生产环境中使用FHIR患者浏览器(使用一个定制的后端来处理API调用,在我的例子中用PHP/Laravel编写,但可以转移到其他语言/框架);
3.修改组件的说明,创建你自己版本的工具,并建立你自己的dist文件。

谢谢大家! 本次大赛的参赛作品质量很好!

Dan

0 0
0 51
文章
· 七月 14, 2022 阅读大约需 6 分钟
InterSystems SQL 的使用 - 第二部分 - 基础介绍

本文概述了InterSystems SQL的特点,特别是那些没有被SQL标准所涵盖或与InterSystems IRIS 数据平台的统一数据架构有关的特点。假定你已有SQL的知识,本文不是SQL概念或语法的介绍。

在InterSystems SQL中,数据是在表内呈现的。每个表都被定义为包含若干列。一个表可以包含零个或多个数据值的行。以下术语大致上是等同的。

0 0
0 273

InterSystems 数据平台的互操作功能与久经考验的EnsembleHealthConnect集成引擎产品一脉相承。事实上,使用IRIS的典型客户不但应用了IRIS提供的多模型数据存储、分布式存储等数据存储特性,也广泛地应用如可视化数据转换,可视化数据流程编辑和可视化规则引擎等一系列互操作能力构建异构系统间或组织机构间的数据流程。

0 0
0 229
文章
· 九月 14, 2022 阅读大约需 5 分钟
集成平台消息相关的常见存储问题
  1. 从消息查看器看到清除周期以外的消息没有被正常清除

这种情况先抽查这些消息所处的会话中是否有未完成操作周期的消息(状态为除“Completed”“Error”“Discarded”之外的状态)。如有,且定期清除任务配置了“KeepIntegrity”,且该环境并不需要保留这些消息,可通过关闭清除任务中的“KeepIntegrity”配置清除这些会话和包含的消息。如果有这类消息,但是定期清除任务未配置“KeepIntegrity”,可能是定期清除任务的逻辑或消息数据问题导致清楚任务查找的时候没有覆盖这些消息,请联系WRC帮助排查具体原因。

有关定期清除任务的更多信息请参见文档

Purging Production Data | Managing Productions | InterSystems IRIS for Health 2022.1

2 0
0 75
文章
· 九月 28, 2022 阅读大约需 3 分钟
第四十六章 功能跟踪器收集使用统计信息

[toc]

第四十六章 功能跟踪器收集使用统计信息

作为 不断努力改进其产品以满足客户需求的一部分, 在 IRIS® 数据平台中包含一个名为 Feature Tracker 的软件实用程序,该软件实用程序收集软件模块使用情况的统计数据。本主题介绍特征跟踪器。

为什么 InterSystems 收集统计数据

Feature Tracker 收集的统计数据记录软件模块是否存在并在给定的 IRIS 实例中使用。 Feature Tracker 每周通过 https 将此信息发送给 InterSystems。这些统计数据有助于 InterSystems 规划开发和支持。
收集的信息不包括任何应用程序数据。

2 0
0 49
文章
· 十二月 2, 2022 阅读大约需 9 分钟
通过智能数据编织应对数据挑战

1.数据的价值

数据的核心价值是帮助我们决策。

我们无时无刻不在决策,大到战略决策——为一家新医院选址,还有战术决策——鉴别产品的目标市场或抵押贷款审批,更频繁的是操作决策——决定患者的手术方案或患者药物的调整。

这些决策要求不同的决策速度,传统的数据中心已经能较好地帮助我们做战略决策、战术决策,甚至一些操作决策。但新的业务需求要求我们的决策速度越来越快,甚至借助机器学习自动为我们做出即时的决策,例如批准还是拒绝一笔信用卡交易或基于算法自动交易。

无论是人工决策还是基于机器学习的自动决策,决策的依据是数据。数据的速度和质量决定了决策的速度和质量。要支持决策,需要数据具有如下特征:

(1)完整 :关联且具有完整上下文;

(2)干净 :数据质量没有问题;

(3)及时 :在决策点上没有延迟。

1 0
0 148

InterSystems IRIS数据平台深度支持Python,令您随心所愿!

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

0 0
0 67
文章
· 三月 23, 2023 阅读大约需 24 分钟
中高级开发者教程:通用查询解决方案

简介

什么是Query

Query是一种查询方法,用于查找满足条件的数据,将结果以数据集的形式展现出来。

Query类别

  • SQL Query,使用类 %SQLQuerySQL SELECT 语句。
  • 自定义Query,使用类 %Query 和自定义逻辑生成查询数据。

说明:在讲通用Query解决方案之前,我们先了解一下Query的基础和基础使用,有助于理解实现原理。如果读者了解Query基本使用,可跳过此章节,直接阅读“现状”。

2 0
0 115
文章
· 六月 8, 2023 阅读大约需 1 分钟
Embedded python 重新加载更新后的python模块

在InterSystems IRIS中重新加载更新后的Python模块的方式和直接使用Python 重新加载模块的方式是一样的。

Python3.4 之后到版本中,直接使用Python 重新加载模块的方式如下:

import importlib
​
importlib.reload(module)

同样,在在InterSystems IRIS中重新加载Python模块的方式与其没有区别,示例如下:

0 0
0 61

第四十五章 开发Productions - ObjectScript Productions - 使用记录映射器 - 记录映射类结构

记录映射类结构

有两个类描述记录映射:

  • RecordMap 描述了记录的外部结构,实现了记录解析器和记录编写器。
  • 生成的记录类定义了包含数据的对象的结构。该对象允许在数据转换和路由规则条件中引用数据。

记录映射业务服务读取并解析传入数据并创建一条消息,该消息是生成的记录类的一个实例。业务流程可以读取、修改或生成生成的记录类的实例。最后,记录映射业务操作使用实例中的数据将 RecordMap 用作格式化模板来写入传出数据。 RecordMap 类和生成的记录类都具有描述数据的层次结构,但生成的对象结构不必与 RecordMap 结构相同。

0 0
0 33

第六十章 开发Productions - ObjectScript Productions - 从管理门户进行测试 - 调试Production代码

调试Production代码

调试的第一步是启用跟踪,如监控生产中所述。如果这没有揭示问题,可以使用调试器单步调试代码,如下所示:

  1. IDE 中编辑代码以在要开始调试的位置插入 BREAK 命令。
  2. 为使用要调试的类的业务主机启用前台设置。
  3. 开始Production。在步骤 2 中标记的作业在终端的前台运行。
  4. 当到达该 BREAK 命令时,终端将进入调试模式,可以单步调试代码。

启用 %ETN 日志记录

事件日志自动包含有关系统级异常(包括代码中的异常)的部分信息。默认情况下,这些事件日志条目的结尾如下:

0 0
0 28
文章
· 八月 2, 2023 阅读大约需 3 分钟
第十章 配置Production

第十章 配置Production

本章介绍如何配置产品以包含 HL7 路由接口。它还描述了如何创建新的 HL7 路由制作。

创建新的 HL7 路由Produtcion

可以创建一个新的HL7路由产品,如下所示:

  1. Management Portal中,切换到适当的名称空间。

为此,请在标题栏中选择Switch,单击名称空间,然后单击OK

0 0
0 55
文章
· 九月 5, 2023 阅读大约需 2 分钟
第十九章 ObjectScript - 执行例程

第十九章 ObjectScript - 执行例程

执行例程

执行例程时,使用DO命令,如下所示:

 do ^routinename

要执行一个过程、函数或子程序(不访问其返回值),可以使用以下命令:

 do label^routinename

 do label^routinename(arguments)

要执行过程、函数或子例程并引用其返回值,可以使用$$label^routinename$$label^routinename(参数)形式的表达式。例如:

 set myvariable=$$label^routinename(arguments)

在所有情况下,如果标签位于同一个例程中,则可以省略插入符号和例程名称。例如:

0 0
0 57
文章
· 十月 23, 2023 阅读大约需 12 分钟
FHIR Profile - FHIR扩展与再约束

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的意思。

1 0
0 125
文章
· 十二月 14, 2023 阅读大约需 2 分钟
第三十五章 XML 模式的高级选项 - 创建子类型的选择列表

第三十五章 XML 模式的高级选项 - 创建子类型的选择列表

创建子类型的选择列表

根据 XML Schema 规范,复杂类型可以由类型(特别是相关类型)的选择列表组成。假设我们希望架构允许使用 <Person>, <Patient>, or <Employee> 元素,而不是 <Person> 元素。要定义这样的架构,我们会将 Person 属性的 XMLTYPECONSTRAINT 属性参数设置为等于“CHOICE”,如下所示:

0 0
0 23
文章
· 一月 5 阅读大约需 3 分钟
第十六章 调用Callout Library函数

第十六章 调用Callout Library函数

Callout 库是一个共享库(DLLSO 文件),其中包含 $ZF Callout 接口的挂钩,允许各种 $ZF 函数在运行时加载它并调用其函数。 $ZF Callout 接口提供了四种不同的接口,可用于在运行时加载 Callout 库并从该库调用函数。这些接口的主要区别在于如何识别库并将其加载到内存中:

0 0
0 18
文章
· 二月 16, 2021 阅读大约需 2 分钟
第三十六章 Caché 变量大全 $ZORDER 变量

第三十六章 Caché 变量大全 $ZORDER 变量

包含下一个全局节点的值。

大纲

$ZORDER
$ZO

描述

$ZORDER包含当前全局引用之后的下一个全局节点的值(在$QUERY序列中,而不是$ORDER序列中)。如果没有下一个全局节点,访问$ZORDER将导致<unfined>错误,指示$ZORDER成功访问的最后一个全局节点。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

示例

下面的示例使用WHILE循环重复调用$ZORDER以遍历一系列下标节点:

1 0
0 98
文章
· 三月 16, 2021 阅读大约需 5 分钟
第十一章 SQL隐式联接(箭头语法)

第十一章 SQL隐式联接(箭头语法)

InterSystems SQL提供了一个特殊的–>运算符,作为从相关表中获取值的快捷方式,而在某些常见情况下无需指定显式的JOIN即可。可以使用此箭头语法代替显式联接语法,也可以将其与显式联接语法结合使用。箭头语法执行左外部联接。

箭头语法可用于类的属性或父表的关系属性的引用。其他类型的关系和外键不支持箭头语法。不能在ON子句中使用箭头语法(–>)。

属性引用

可以使用- >操作符作为从“引用表”获取值的简写。
例如,假设定义了两个类:Company:

0 0
0 112

前面介绍了通过mirroring或shadow,使用journal日志过滤器的方式,在不改动数据模型的情况下实现InterSystems IRIS/Caché上的CDC能力。
但如果你可以修改InterSystems IRIS/Caché上的数据模型,也可以考虑使用DSTIME特性实现变更数据捕获。

DSTIME特性

DSTIME特性是InterSystems IRIS/Caché的嵌入式实时BI工具DeepSee用于跟踪数据变更的。
InterSystems IRIS和2011版之后的Caché,都支持DSTIME特性。它会自动记录数据库中SQL表记录或持久化对象的变更,并将变更记录写入持久化的多维数组^OBJ.DSTIME中。

0 0
0 252
文章
· 四月 13, 2021 阅读大约需 14 分钟
第二章 定义和构建索引(一)

第二章 定义和构建索引(一)

概述

索引是由持久类维护的结构,InterSystems IRIS®数据平台可以使用它来优化查询和其他操作。

可以在表中的字段值或类中的相应属性上定义索引。(还可以在多个字段/属性的组合值上定义索引。)。无论是使用SQL字段和表语法还是类属性语法定义相同的索引,都会创建相同的索引。当定义了某些类型的字段(属性)时,InterSystems IRIS会自动定义索引。可以在存储数据或可以可靠派生数据的任何字段上定义附加索引。InterSystems IRIS提供了几种类型的索引。可以为同一字段(属性)定义多个索引,为不同的目的提供不同类型的索引。

无论是使用SQL字段和表语法,还是使用类属性语法,只要对数据库执行数据插入、更新或删除操作,InterSystems IRIS就会填充和维护索引(默认情况下)。可以覆盖此默认值(通过使用%NOINDEX关键字)来快速更改数据,然后作为单独的操作生成或重新生成相应的索引。可以在用数据填充表之前定义索引。还可以为已经填充了数据的表定义索引,然后作为单独的操作填充(构建)索引。

0 0
0 159
文章
· 四月 28, 2021 阅读大约需 11 分钟
第八章 解释SQL查询计划(一)

第八章 解释SQL查询计划(一)

SQL语句

这个SQL语句列表为每个表提供了SQL查询和其他操作的记录,包括插入、更新和删除。
这些SQL语句链接到一个查询计划,该链接提供冻结该查询计划的选项。

系统为每个SQL DML操作创建一条SQL语句。
这提供了一个按表、视图或过程名称列出的SQL操作列表。
如果更改表定义,可以使用此SQL Statements列表来确定每个SQL操作的查询计划是否会受到此DDL更改的影响,以及/或是否需要修改某个SQL操作。
然后,可以:

  • 确定每个SQL操作使用哪个查询计划。
    可以决定使用反映对表定义所做更改的修改后的查询计划。
    或者可以冻结当前查询计划,保留在更改表定义之前生成的查询计划。
  • 根据对表定义所做的更改,确定是否对对该表执行SQL操作的例程进行代码更改。

注意:SQL语句是一个SQL例程列表,它们可能会受到表定义更改的影响。
它不应该用作表定义或表数据更改的历史记录。

创建SQL语句操作

下面的SQL操作会创建相应的SQL语句:

0 0
0 89
文章
· 五月 6, 2021 阅读大约需 5 分钟
第三章 使用多维存储(全局变量)(二)

第三章 使用多维存储(全局变量)(二)

遍历全局变量中的数据

有许多方法可以遍历(迭代)存储在全局变量中的数据。

$ORDER(下一个/上一个)函数

ObjectScript $Order函数允许顺序访问全局中的每个节点。

$ORDER函数返回给定级别(下标编号)的下一个下标的值。例如,假设定义了以下全局设置:

 Set ^Data(1) = ""
 Set ^Data(1,1) = ""
 Set ^Data(1,2) = ""
 Set ^Data(2) = ""
 Set ^Data(2,1) = ""
 Set ^Data(2,2) = ""
 Set ^Data(5,1,2) = ""

要查找第一个第一级下标,我们可以使用:

0 0
0 93
文章
· 五月 20, 2021 阅读大约需 7 分钟
互操作消息统一管理系列:SearchTable加速检索

在上一篇文章《互操作消息统一管理系列:Message Bank》中,我们了解到在Message Bank中,消息均以半结构化(XML)或非结构化(Stream)的形式保存,因此无法与客户端的结构化消息一样,直接支持基于索引的检索。为此,需要在Message Bank中定义Search Table以支持查询。关于Search Table的定义和作用,请查阅https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI...

0 0
0 149
文章
· 五月 31, 2021 阅读大约需 4 分钟
第十二章 IBM WebSphere MQ检索邮件

第十二章 IBM WebSphere MQ检索邮件

检索邮件

要检索邮件,请执行以下操作:

  1. 按照“创建连接对象”中的说明创建连接对象。在这种情况下,请创建%Net.MQRecv的实例。Connection对象有一个消息队列,可以从中检索消息。
  2. 根据需要调用以下方法:

- %Get()-通过引用返回字符串消息作为第一个参数。
- %GetStream()-给定初始化的文件字符流,此方法从队列中检索消息,并将其放入与该流关联的文件中。请注意,必须设置流的Filename属性才能对其进行初始化。不支持二进制流。

0 0
0 108

这是一个我开发的名为NiPaRobotica Pharmacy的小应用。 从附件可以看到一个界面,能够接收药房配药请求,并将订单上的行项目转换为发送给机器人的配药对话 。我在3家医院的药房部署了这个接口,其中两家药房有6个机器人被安排来将药物从分配槽配送到药剂师的窗口,每天能服务1200个病人。这些机器人能够将病人平均等待时间从2小时减少一半到1小时.接下来我把这个接口部署到专门为慢病病人建的6个配送点,例如如结核病、艾滋病毒、糖尿病、癫痫、高血压和哮喘等等。这个项目的目标是“把药物带给病人”。 这些点有六个6 ATM形式的药房配药设备 (Pharmacy Dispense Units ,PDU),可以让病人直接与呼叫中心的药剂师沟通。在每个PDU 背后是一个存放上千种药物的大型的机器人。我的应用可以发送指令给机器人,机器人将药物分配到传送带上,送到一个打印机下面。这个打印机已经收到药房标签的内容,包括病人姓名、剂量说明和其他信息等。然后打印机把标签放下并贴在药品包装上。这包药再往前走一点就有一块海绵压住标签,使其更牢固地贴在包装上。然后,传送带将物品传送到PDU中的一个盒子里,一旦所有药物都被分发出去,病人就能打开PDU上的一个盖子,取出他的药品。这个项目最重要的意义是让病人少跑腿,不需要请假,还要长途跋涉到他们平时看病的医院,再取药回家。

0 0
0 165