3.1 InterSystems IRIS内码与多语言支持

3.1.1 InterSystems IRIS内码与字符集转换

InterSystems IRIS的内码是UTF-16,因此它支持Unicode多语言字符集。对于其它字符编码,例如UTF-8、GB18030、Big 5,它会自动进行转码。例如对于简体中文,它将GB18030输入数据转换为UTF-16,或者将UTF-16数据转换为GB18030输出。

2 0
0 217
文章
· 二月 9, 2022 阅读大约需 6 分钟
第四十九章 SQL函数 DAYOFWEEK

第四十九章 SQL函数 DAYOFWEEK

Date函数,它返回日期表达式的整型星期几。

大纲

{fn DAYOFWEEK(date-expression)}

参数

  • date-expression - 有效的ODBC格式日期或$HOROLOG格式日期,带或不带时间组件。作为列名、另一个标量函数的结果或日期或时间戳文字的表达式。

描述

DAYOFWEEK接受日期表达式,并返回与该日期的星期几对应的整数。一周的天数从一周的第一天开始计算;的默认设置是星期天是一周的第一天。因此,默认情况下,返回值表示这些天:

0 0
0 213

最在第一期“极客聊吧”中,InterSystems销售工程师们聊了聊这些话题:为什么有些医院和某些商保之间可以直接结算,有些又不能?医院和保险之间的结算难在哪儿?在InterSystems 2021全球线上峰会中提到的医保结算案例对国内实践有哪些借鉴意义?FHIR又能起到什么关键作用?医疗数据实现互联互通的关键是什么?以下是文字版。

0 0
0 212
文章
· 十月 22, 2022 阅读大约需 4 分钟
Cache中不同类型锁的理解与分析

Cache锁的异常直接影响数据库进程运行,堆积的锁如果处理不及时会造成Cache性能异常,导致数据库访问受限或严重卡顿。本文主要以实例分析介绍Cache中常见锁的作用及其对应的处理方式,包括:系统锁、数据锁、Session锁、仪器锁、程序文件锁。其中数据锁异常需要及时处理。

8 0
0 212
文章
· 九月 15, 2022 阅读大约需 4 分钟
将微服务架构应用于Ensemble

关于微服务架构(MSA)的IRIS定位的初学者指南。MSA在企业级Java世界中的能见度越来越高,因此,了解这股热潮背后的内容是至关重要的。我尝试着写下我的观点并与大家分享。

背景

首先,我必须承认。今年初夏,我的同事要求我收集一些关于匈牙利开发的医疗产品的信息。当我从相关公司得到反馈时,发现该产品是一个模块化系统,基于微服务架构(MSA)。好的。什么是MSA?在网上做了简短的研究,阅读了一些WIKI网页后,我得出结论:啊哈,又是一个 "架构"。我们可以用IRIS在 "架构层面 "遵守 "任何架构"--至少 "在某种程度上"。但也有一些恼人的地方。这让我对MSA有了更多的了解。到目前为止还不错,但是REST不是这篇文章的主要话题吗?MSA和REST之间的关系是什么?我访问的几乎每个网站都在例子中使用了RESTful网络服务。这让我有点怀疑。但总的来说,我赞同对MSA的一般总结:它是SOAP但做得很好。特别是因为有一些关于 "内聚 "和 "耦合 "的句子,我完全不明白。那么,如果MSA只是 "SOAP做得好",为什么我没有看到SOAP的例子?为什么这些例子(几乎)都是RESTful?

0 0
0 211
文章
· 十一月 10, 2022 阅读大约需 6 分钟
Caché 字符编码自动判断

Caché 字符编码自动判断

先说几个场景:

  1. 使用文件字符流打开一个文本文档,但是我不确定是以UTF8编码的还是GB18030,所以就无法准确设置TranslateTable,就导致了中文乱码问题。
  2. 有一个文件下载的csp,其中文件名参数可能是中文,如果在一个UTF8编码的界面直接调用时,后台取到的文件名就会是乱码。
  3. 接收到字节流后需要转成字符流读取内容,但是无法确定编码格式,就无法准确的转成字符。

以上几个场景虽然大多都可以提前做好约定解决,但是可能有历史原因或者种种情况,需要我们自己能够解决,于是就有了下面的故事。

基础

首先我方系统使用GB18030编码,然后碰到的情况大多都是对方可能是UTF8编码,所以主要来解决识别字节流是不是UTF8编码的。

然后查了一个UTF8编码格式

1 0
0 210
文章
· 十一月 22, 2022 阅读大约需 3 分钟
ObjectScript的命名规范

命名规范,英文叫"name convention", 是对写代码取名字的一些”共识“。也就是说, 你可以不遵守,但大家都选择了遵守,照者一个规范来。为什么呢?因为有社区,大家要共享代码, 你不照着规矩来, 别人会鄙视你, 懒的用你的代码。

ObjectScript以前没什么社区,大家各写各的, 使用ObjectScript的大公司也没谁把自己的代码拿出来共享。因此,个人开发者基本就是参考官方InterSystems的命名规范。举个例子, 比如以下的代码:

Class Ens.Util.ResponseBodyMethods
{
   property NoFailWhileDisconnected as %Boolean;
   property FirstName as %String;
   parameter SETTINGS = "ReplyCodeActions";

   method OnKeepalive(pAdapterStatus As %Status) as %String
   {
      return "okay"
   }
}

我来简单总结一下:

1 2
0 210
文章
· 十一月 1, 2022 阅读大约需 4 分钟
Caché实现SM3密码杂凑算法

0. 算法概述

SM3密码杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。该算法于2012年发布为密码行业标准(GM/T 0004-2012),2016年发布为国家密码杂凑算法标准(GB/T 32905-2016)。

SM3适用于商用密码应用中的数字签名和验证,是在[SHA-256]基础上改进实现的一种算法,其安全性和SHA-256相当。SM3和MD5的迭代过程类似,也采用Merkle-Damgard结构。消息分组长度为512位,摘要值长度为256位。

整个算法的执行过程可以概括成四个步骤:消息填充、消息扩展、迭代压缩、输出结果

1. 消息填充

SM3的消息扩展步骤是以512位的数据分组作为输入的。因此,我们需要在一开始就把数据长度填充至512位的倍数。具体步骤如下:

1、先填充一个“1”,后面加上k个“0”。其中k是满足(n+1+k) mod 512 = 448的最小正整数。

2、追加64位的数据长度。

1 2
0 209

InterSystems 是一家已经深耕数据库平台领域达44年的公司,成立于1978年,现在已经在全球的80多个国家开展相关业务,每天有超过10亿患者的电子病历数据都跑在以我们的数据库平台构建的应用系统之上。

2 0
0 208

研究Healthshare2018在已经安装完成使用的情况下,部署IIS,并代理平台。之前看到可以通过单独的CSP Gateway安装包进行处理这种问题,该文主要是获取不到该安装包的时候可以如何实现IIS的处理。

第一步:首先按照网上教程部署IIS服务。安装完成之后会在C盘创建一个名叫intepub的包。

第二步:在inetpub包下面直接插入CSPGateway 。这个包是在其他先安装IIS下,后安装Healthshare的CSP网关服务的时候在inetpub下面自动插入的包,直接找一个复制过来。

第三步:打开IIS,创建一个叫csp的网站,按照下图配置。

第四步:在点击模块进行CSPms模块的添加。

11 1
0 207

来自奥兰多的报道,Epic公司的医生Jackie Gerhart博士在HIMSS22上讨论了电子病历的庞大研究数据库及其发现如何形成个人服务。

新冠疫情的发生证明了随时获取数据的重要性。在未知的病毒海洋中,全人群的分析有助于为公共卫生官员、医疗服务供应商和患者提供洞察力。

现在,在Epic公司从事临床信息学工作的医生Jackie Gerhart说,这家全球领先的电子病历厂商正在希望帮助临床医生使用数据来形成个性化患者服务。

Gerhart在HIMSS22会议上与《医疗保健IT新闻》坐下来讨论了Epic广泛的病人数据库、Epic研究结果以及其即将推出的 "我的病人的最佳护理(Best Care for My Patient "工具如何向临床医生展示全国各地的最有效实践。

问: 作为一名医生,你是如何帮助Epic形成产品的?

答: 我们的作用是,第一,帮助软件的研究和开发;第二,新的面向未来的项目,使得相关的数据和分析可以在护理节点或未来的研究中使用。

0 0
0 207
文章
· 八月 14, 2022 阅读大约需 3 分钟
第一章 使用管理门户(一)

[TOC]

第一章 使用管理门户(一)

IRIS数据平台使您能够通过 Web 应用程序Management Portal 执行系统管理和管理任务。这种方法的一个优点是 IRIS 不必安装在用来管理安装的系统上。现在,通过网络远程管理系统,受制于为站点建立的访问控制,变得更加容易。跨版本兼容性问题被最小化,因为数据及其格式信息都直接来自被管理的系统。

默认情况下,管理门户在安装了IRIS 的专用 Web 服务器上运行。可以选择禁用专用 Web 服务器(使用 WebServer 设置)并配置不同的 Web 服务器来运行管理门户。

启动管理门户

可以通过以下方式启动管理门户:

0 0
0 203

前言

本人因技术需要,了解到了IRIS Health产品,在听了产品介绍会之后,感觉该产品是否有趣,并且比较符合自己目前的需求,因此大概了解了下IRIS的架构。以下是本人的浅显理解,如有错误之处欢迎讨论。

本人从产品介绍和社区的文档中,了解到IRIS的大概功能分类

7 2
0 200
文章
· 一月 26, 2022 阅读大约需 2 分钟
第三十五章 SQL函数 CURRENT_DATE

第三十五章 SQL函数 CURRENT_DATE

日期/时间函数,返回当前本地日期。

大纲

CURRENT_DATE

描述

CURRENT_DATE不带任何参数。它将当前本地日期作为数据类型DATE返回。不允许使用参数括号。CURRENT_DATE返回此时区的当前本地日期;它根据本地时间变量(如夏令时)进行调整。

在逻辑模式下CURRENT_DATE$HOROLOG格式返回当前本地日期;
例如,64701
显示模式下的CURRENT_DATE以区域设置的默认格式返回当前本地日期。
例如,在美国的区域设置为02/22/2018,在欧洲的区域设置为22/02/2018,在俄罗斯的区域设置为22.02.2018

1 0
0 195
文章
· 十月 18, 2022 阅读大约需 3 分钟
四则优秀案例分享:医疗数据大规模集成

在美国各地,当需要实现大规模的应用集成时,医疗行业的领导者会使用InterSystems HealthShare Health Connect®。无论是为了连接电子病历,还是为了提升床边护理决策能力,无论是为了创新远程医疗和远程护理,还是为了业务增长,亦或是为未来做准备,InterSystems和Health Connect随时准备好帮助您和您的组织实现目标。我们在此提供几个InterSystems医疗行业的集成实例以作示范。

0 0
0 194
文章
· 八月 6, 2022 阅读大约需 3 分钟
第十九章 源代码文件 REST API 参考(一)

第十九章 源代码文件 REST API 参考(一)

源代码文件 REST 接口支持以下方法:
- GetServer:返回有关服务器的信息。
- HeadServer:返回服务器的 HttpHeader
- GetJobs:返回正在运行的jobs列表。
- GetMetaData:返回命名数据库的 METADATA.zip 文件的内容。
- GetCSPApps:返回 Web 应用程序列表。
- GetNamespace:返回有关特定命名空间的信息。
- GetDocNames:返回源代码文件名列表。
- GetModifiedDocNames:返回自数据库具有指定哈希值以来已修改的源代码文件列表。
- PutDoc:保存提供的源代码文件。

0 0
0 194
文章
· 九月 17, 2022 阅读大约需 7 分钟
IRIS的镜像配置(1)

因为篇幅太长, 我把它分为3篇贴在社区

配置前的准备

配置Mirror前要准备三件事儿:

  1. 规划网络连接。
  2. 在所有的服务器中启动ISCAgent服务。
  3. 准备服务器的SSL/TLS证书。可选, 但非常推荐。

我假设您在动手前一定已经对Mirror的原理和架构已经不陌生了,对镜像成员,DR(灾备)成员, Arbiter, ISCAgent等术语已经自动切换的概念有大概的认识。如果不是这样,请先阅读在线文档,或者这篇文章。

规划网络连接

Mirror应该配置两个网段:一个用于IRIS和外部的通信;另一个用于两个Mirror成员间的内部通信,也就是数据的同步。 尽管不是必须的,但Mirror作为一个高可用方案,为了保证服务器之间的内部通信不受和外部连接的干扰,把内部通信放在单独的网段是通常的做法,尤其是在生产环境。

0 0
0 189
文章
· 六月 27, 2022 阅读大约需 6 分钟
Globals 是管理数据的魔剑 : 第一部分

Globals,这些存储数据的魔剑,已经存在了一段时间,但是没有多少人能够有效地使用它们,也没有多少人知道这个超级武器。

如果你把Globals的东西用在它们真正能发挥作用的地方,其结果可能是惊人的,要么是性能的提高,要么是整体解决方案的大幅简化 (1, 2).

Globals提供了一种特殊的存储和处理数据的方式,它与SQL表完全不同。它们在1966年首次出现在 M(UMPS)编程语言中, 该语言最初用于医学数据库。现在它仍然以同样的方式被使用,但也被其他一些以可靠性和高性能为首要任务的行业所采用:金融、交易等。

后来M(UMPS)演变为 Caché ObjectScript (COS). COS是由InterSystems公司开发的,作为M的一个超集. 其原始语言仍然被开发者社区所接受,并在一些实现中保持活力。在网络上有几个活跃的网址,比如:MUMPS Google group, Mumps User's group), effective ISO Standard等等

现代基于Globals的数据库支持交易、日志、复制、分区等。这意味着它们可以被用来构建现代的、可靠的、快速的分布式系统。

Gloabls并不将你限制于关系模型的范围内。它们让你可以自由地创建为特定任务优化的数据结构。对于许多应用来说,合理地使用好的Globals就如一颗真正的银子弹头,它所提供的速度是传统关系型应用的开发者所梦寐以求的。

作为一种存储数据的方法,globals可以在许多现代编程语言中使用,包括高级和低级语言。因此,本文将特别关注Globals本身,而不是它们曾经来自的语言。

0 1
0 187
文章
· 十月 18, 2022 阅读大约需 4 分钟
COS的基本语法

ObjectScript是一种面向对象的编程语言,它是InterSystems公司的Caché和Ensemble数据库的核心语言之一。ObjectScript语言的语法类似于MUMPS语言,它支持面向对象编程、过程式编程、函数式编程等多种编程范式。ObjectScript语言主要用于开发Caché和Ensemble数据库应用程序,它可以访问数据库中的数据、调用数据库中的存储过程、触发器和事件,还可以与其他编程语言进行交互。

8 2
0 187
文章
· 十月 6, 2022 阅读大约需 10 分钟
集成产品的业务行为监控

最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量...

业务行为监控对于集成平台来说非常重要,可以帮助我们:

  • 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。
  • 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。
  • 做业务规划 — 通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。
  • 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。

仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。

1 0
1 186
文章
· 四月 24, 2022 阅读大约需 7 分钟
基于Docker的Apache Web Gateway

基于Docker的Apache Web Gateway

Hi 社区

在本文中,我们将基于Docker程序化地配置一个Apache Web Gateway,使用。:

  • HTTPS protocol.
  • TLS\SSL to secure the communication between the Web Gateway and the IRIS instance.

image

我们将使用两个镜像:一个用于Web网关,第二个用于IRIS实例。

所有必需的文件都在这 GitHub repository.

我们从git clone开始:

1 0
0 183


InterSystems SQL为存储在IRIS数据库中的数据提供不折不扣的、标准的关系型访问。

InterSystems SQL具有以下优点。

高性能和可扩展性 - InterSystems SQL的性能和可扩展性优于其他关系型数据库产品。

与IRIS对象技术的集成 - InterSystems SQL与IRIS对象技术紧密集成。你可以混合使用关系型和对象型的数据访问,而不牺牲任何一种方法的性能。

低维护 - 与其他关系型数据库不同,IRIS应用程序不需要在部署的应用程序中重建索引和压缩表。

支持标准SQL查询 - InterSystems SQL支持SQL-92标准语法和命令。

0 0
0 182