文章 姚 鑫 · 三月 31, 2022 2m read

第九十八章 SQL函数 MONTHNAME

返回日期表达式的月份名称的日期函数。

大纲

{fn MONTHNAME(date-expression)}

参数

  • date-expression - 计算结果为 日期整数、ODBC 日期或时间戳的表达式。此表达式可以是列名、另一个标量函数的结果或日期或时间戳字面量。

描述

MONTHNAME 将日期整数、$HOROLOG$ZTIMESTAMP 值、ODBC 格式日期字符串或时间戳作为输入。

日期表达式时间戳可以是数据类型 %Library.PosixTime(编码的 64 位有符号整数),也可以是数据类型 %Library.TimeStamp (yyyy-mm-dd hh:mm:ss.fff)

时间戳的时间部分不被评估,可以省略。

MONTHNAME 返回相应日历月的名称,从一月到十二月。返回值是一个字符串,最大长度为 15。

MONTHNAME 检查提供的日期是否有效。年份必须介于 00019999(含)之间、月份 0112 以及适合该月的日期(例如,02/29 仅在闰年有效)。如果日期无效,MONTHNAME 会发出 SQLCODE -400<ILLEGAL VALUE>错误。

月份名称默认为全长美式英语月份名称。要更改这些月份名称值,请使用带有 MONTH_NAME 选项的 SET OPTION 命令。

0
0 43
文章 Lilian Huang · 三月 30, 2022 5m read

这篇文章是前面文章[首次使用InterSystems IRIS] 互操作性: 它是如何工作的?的延续。

在上一篇文章中,解释了互操作性菜单如何用于系统集成。

在本文中,我想解释如何用互操作菜单开发系统集成。

首先,您想创建什么样的业务流程? 请一边思考,一边开始以下内容。

  • Production(生产
  • 消息
  • 组件
    • 业务服务
    • 业务流程
    • 业务运营

Production被定义和用作指定系统集成所需的组件及存储组件的配置,这些配置通过管理门户界面使用(内部被存储为生产的类定义)。

例如,假设您正在创建一个业务服务,该服务定期处理放置在指定目录中的文件。在这种情况下,有必要准确配置要监测的目录和要处理的文件。一个生产就是预先准备好用于存储这些配置。

这些配置取决于发送和接收数据的组件所使用的适配器

适配器是用于简化与外部系统连接的类,有些是协议特定的,如 Mail/File/SOAP/FTP/HTTP/SQL/TCP,有些是标准特定的,如 HL7

有关适配器的更多信息,请参阅文档(protocol-specific adapters and adapters related to EDI documentation

由于我们将必要的组件定义为Production启动Production将启动系统集成,而停止Production将停止系统集成。

0
0 216
文章 Lilian Huang · 三月 30, 2022 3m read

这篇文章的目的是为了说明如何使用互操作菜单实现系统集成。

图片左侧窗口是接受外部系统发送信息的窗口。

信息接收方式种类很多,如定时监控指定目录来读取文件,定期查询数据库,输入且等待信息输出,或直接调用其他应用程序系统传送信息。

在系统集成配置中创建IRIS 互操作性菜单,接收到存储在一个对象中的信息被称为一条消息message以下统称为消息)。消息被发送到组件component 以下统称为组件)中做后续处理。

使用所有接收到的信息或仅使用其中的一部分就能用来创建消息

假设您要将信息中包含的消息发送给外部系统。这种情况下,需要将该消息发送给负责请求外网处理的组件(图右侧)。接收到消息的组件会请求外部系统对其进行处理。

此外,假设一条消息需要人工审查、数据转换或附加数据。这种情况下,消息会被发送到图表中间的业务流程管理组件(BPM),该组件负责协调处理业务流程。

消息用于在每个组件之间发送和接收数据。当发送或接收消息时,消息会被自动存储在数据库中。

由于消息存储在数据库中,因此在数据转换前后可以检查其差异性。在操作期间,或过程中间重新开始(重新发送),可以检查作为问题根源的消息。在开发、测试和操作的每个阶段可以验证正在使用的消息状态。

0
0 185
公告 Jeff Liu · 三月 30, 2022

大家好,欢迎来到2022年3月开发者社区更新!

我们最近在InterSystems社区对开发者们的体验做了一些改进:

  • 全新的社区内容搜索功能
  • 综合社区数据
  • 链接你的脸书账号 
  • 帖子页面更新:标签、作者块、草稿突出显示

下面让我们仔细看看。 

0
0 76
文章 姚 鑫 · 三月 30, 2022 2m read

第九十七章 SQL函数 MONTH

日期函数,它将月份作为日期表达式的整数返回。

大纲

MONTH(date-expression)

{fn MONTH(date-expression)}

描述

  • date-expression - 表达式,它是列的名称、另一个标量函数的结果,或者是日期或时间戳文字。

描述

MONTH 返回一个指定月份的整数。月份整数是针对 日期整数、$HOROLOG$ZTIMESTAMP 值、ODBC 格式日期字符串或时间戳计算的。

日期表达式时间戳可以是数据类型 %Library.PosixTime(编码的 64 位有符号整数),也可以是数据类型 %Library.TimeStamp (yyyy-mm-dd hh:mm:ss.fff)。

日期字符串的月份 (mm) 部分必须是 112 范围内的整数。前导零在输入时是可选的。输出时抑制前导零和尾随零。

date-expression 的日期部分经过验证,并且必须包含 112 范围内的月份以及指定月份和年份的有效日期值。否则,将生成 SQLCODE -400 错误 <ILLEGAL VALUE>

date-expression 的时间部分未经验证,可以省略。

请注意,MONTH 可以作为 ODBC 标量函数(使用大括号语法)或作为 SQL 通用函数调用。

0
0 57
问题 liu yangyang · 三月 29, 2022

主要问题: 默认安装后,有没有默认用户名,密码?远程jdbc连接报错,麻烦解答一下,谢谢 [InterSystems IRIS JDBC] Communication link failure: Access Denied [08S01][461] Access Denied

创建用户: addgroup iris useradd -g iris -d "/home/iris" -m -s "/bin/bash" iris passwd iris

安装过程: root@baec-ThinkPad-E480:/data/IRIS_Community-2021.2.0.651.0-lnxubuntu1804x64# ./irisinstall

Your system type is 'Ubuntu LTS (x64)'.

Enter instance name <IRIS>: IRIS

Enter a destination directory for the new instance. Directory: /data

1
0 632
公告 Michael Lei · 五月 8, 2021

在这个一小时的互动课程中,用户可以参与了涉及多个Docker容器的复合应用程序的开发。此外,学员们还学习如何创建数据转换和业务规则,使用业务流程设计器来建立病人护理的逻辑,并使用Spark和PMML将业务操作与机器学习模型连接起来。

赶快来参加我们的线上课程吧:

https://learning.intersystems.com/course/view.php?id=1662&ssoPass=1

2
0 188
文章 姚 鑫 · 三月 29, 2022 2m read

第九十六章 SQL函数 MOD

注:IRIS可用,非IRIS版本不可用。

标量数值函数,返回一个数除以另一个数的模数(余数)。

大纲

MOD(dividend,divisor)

{fn MOD(dividend,divisor)}

参数

  • dividend - 数字,它是除法的分子(除数)。
  • divisor - 数字,它是除法的分母(除数)。

MOD 返回 NUMERIC 数据类型,除非被除数是数据类型 DOUBLE。如果dividendDOUBLE,则 MOD 返回 DOUBLE

描述

MOD 返回除数除数的数学余数(模数)。

MOD 可以指定为标准标量函数或带有大括号语法的 ODBC 标量函数。

  • 如果被除数和除数为正数,则返回正数模数或零。
  • 如果被除数和除数都是负数,则返回负模数或零。
  • 如果被除数或除数为 NULL,则返回 NULL
  • 如果除数为 0,它将生成带有 %msg<DIVIDE>错误的 SQLCODE -400
  • 如果除数大于被除数,则返回被除数。

MOD(任一语法形式)报告的精度与算术表达式除数/除数的精度报告相同。

ANSI 运算符优先级

具有单个负操作数的 MOD 函数的行为取决于 Apply ANSI Operator Precedence 配置设置:

0
0 107
问题 Michael Lei · 三月 29, 2022

当我们在一个命名空间中运行数据清除时,数据库的大小和空间并没有改变。  我想,像Oracle一样,它留下的空白空间是可以被缓存使用的,但有没有办法看到这些空间有多少是可用的?  今天我增加了系统可用的磁盘大小,因为我们已经达到了关键的低磁盘空间,然而,随着清理的进行,我们应该有几百GB的可用空间在数据库内使用。  那么,只要数据库中有足够的可用空间用于写入数据,允许系统耗尽可用的磁盘空间是否安全?When we run data purges in a namespace, the size and space of the DB does not change.  I assume like Oracle it leaves white space that is usable by cache, but is there a way to see how much of this space is available?  Today I increased the size of the disk available to the system as we were reaching critical low disk space,  however, with the purges, we should have several hundred GB of available

1
0 154
文章 姚 鑫 · 三月 28, 2022 3m read

第九十五章 SQL函数 MINUTE

返回日期时间表达式的分钟的时间函数。

大纲

{fn MINUTE(time-expression)}

参数

  • time-expression - 作为列名、另一个标量函数的结果或字符串或数字文字的表达式。它必须解析为日期时间字符串或时间整数,其中基础数据类型可以表示为 %Time%TimeStamp%PosixTime

描述

MINUTE 返回一个整数,指定给定时间或日期时间值的分钟数。为 $HOROLOG$ZTIMESTAMP 值、ODBC 格式日期字符串或时间戳计算分钟。

时间表达式时间戳可以是数据类型 %Library.PosixTime(编码的 64 位有符号整数),也可以是数据类型 %Library.TimeStamp (yyyy-mm-dd hh:mm:ss.fff)。

要更改默认时间格式,请使用 SET OPTION 命令。

请注意,可以提供时间整数(经过的秒数),但不能提供时间字符串 (hh:mm:ss)。必须提供日期时间字符串 (yyyy-mm-dd hh:mm:ss)。

0
0 75
文章 姚 鑫 · 三月 27, 2022 2m read

第九十四章 SQL函数 %MINUS

将数字转换为规范整理格式,然后反转符号的整理函数。

大纲

%MINUS(expression)

%MINUS expression

参数

  • expression - 表达式,可以是列名、数字或字符串文字、算术表达式或另一个函数的结果,其中基础数据类型可以表示为任何字符类型。

描述

%MINUS 将数字或数字字符串转换为规范形式,反转符号,然后以数字排序规则返回这些表达式值。

%MINUS%PLUS 在功能上是相同的,只是 %MINUS 反转了符号。它为解析为正数的任何数字添加减号前缀,并从解析为负数的任何数字中删除减号。零从不签名。

一个数字可以包含前导零和尾随零、多个前导加号和减号、一个小数点指示符 (.) 和 E 指数指示符。在规范形式中,执行所有算术运算,扩展指数,将符号解析为单个前导减号或无符号,并去除前导零和尾随零。

可以使用或不使用封闭字符串分隔符来指定数字文字。如果字符串包含非数字字符,%MINUS 会在第一个非数字字符处截断数字,并以规范形式返回数字部分。非数字字符串(任何以非数字字符开头的字符串)返回为 0%MINUS 也将 NULL 作为 0 返回。

%MINUS 是一个 SQL 扩展,用于 SQL 查找查询。

可以使用 %SYSTEM.Util 类的 Collation() 方法在 ObjectScript 中执行相同的排序规则转换:

0
0 68
文章 姚 鑫 · 三月 26, 2022 2m read

第九十三章 SQL函数 LTRIM

字符串函数,它返回一个删除了前导空格的字符串。

大纲

LTRIM(string-expression)

{fn LTRIM(string-expression)}

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

描述

LTRIM 从字符串表达式中删除前导空格,并将字符串作为 VARCHAR 类型返回。如果 string-expressionNULL,则 LTRIM 返回 NULL。如果 string-expression 是一个完全由空格组成的字符串,则 LTRIM 返回空字符串 ('')

LTRIM 留下尾随空格;要删除尾随空格,请使用 RTRIM。要删除任何类型的前导和/或尾随字符,请使用 TRIM。要使用前导空格或其他字符填充字符串,请使用 LPAD。要创建一串空白,请使用 SPACE

请注意,LTRIM 可用作 ODBC 标量函数(使用大括号语法)或 SQL 通用函数。

示例

以下嵌入式 SQL 示例从字符串中删除了五个前导空格。它留下五个尾随空白:

0
0 62
文章 姚 鑫 · 三月 25, 2022 2m read

[toc]

第九十二章 SQL函数 LPAD

字符串函数,它返回一个左填充到指定长度的字符串。

大纲

LPAD(string-expression,length[,padstring])

参数

  • string-expression - 字符串表达式,可以是列名、字符串文字、主机变量或另一个标量函数的结果。可以是可转换为 VARCHAR 数据类型的任何数据类型。字符串表达式不能是流。
  • length - 一个整数,指定返回的字符串中的字符数。
  • padstring - 可选 — 由一个字符或一串字符组成的字符串,用于填充输入字符串表达式。 padstring 字符或字符附加到 string-expression 的左侧,以提供创建长度字符的输出字符串所需的尽可能多的字符。 padstring 可以是字符串文字、列、主机变量或另一个标量函数的结果。如果省略,则默认为空格字符。

描述

LPAD 用前导填充字符填充字符串表达式。它返回填充到长度字符数的字符串的副本。如果字符串表达式的长度超过 length 个字符,则返回字符串被截断为 length 个字符。

如果 string-expressionNULL,则 LPAD 返回 NULL。如果 string-expression 是空字符串('') LPAD 返回一个完全由填充字符组成的字符串。返回的字符串是 VARCHAR 类型。

0
0 75
公告 Michael Lei · 三月 25, 2022

大家好! 对于那些参加了2021年虚拟峰会的体验实验室的人来说,你可能还记得其中一个实验室会议是围绕Kubernetes进行的。我们现在已经将该实验室转换为完全线上按需使用。你可以启动一个小型的虚拟机集群,并按照练习来管理你的Kubernetes集群,将InterSystems IRIS容器部署到其中,并观察它在摧毁一个吊舱时的自我修复性质。

如果你有兴趣,这是一个很好的Kubernetes介绍。请看这里: 用InterSystems IRIS 和 Kubernetes实现高可用

0
0 336
文章 姚 鑫 · 三月 24, 2022 2m read

第九十一章 SQL函数 LOWER

将字符串表达式中的所有大写字母转换为小写字母的大小写转换函数。

大纲

LOWER(string-expression)

参数

  • string-expression - 要将其字符转换为小写的字符串表达式。表达式可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

描述

LOWER 函数将大写字母转换为小写字母以供显示。这是 UPPER 函数的逆函数。 LOWER 对非字母字符没有影响。它保留不变的标点符号、数字以及前导和尾随空格。

LOWER 不强制将数字解释为字符串。 SQL 将数字转换为规范形式,删除前导零和尾随零。指定为字符串的数字不会转换为规范形式,并保留前导零和尾随零。

LCASE 函数也可用于将大写字母转换为小写字母。

LOWER 对排序没有影响。 %SQLUPPER 函数是 SQL 中为不区分大小写的排序规则转换数据值的首选方法。

示例

以下示例以小写字母返回每个人的姓名:

SELECT Name,LOWER(Name) AS LowName
     FROM Sample.Person

LOWER 也适用于 Unicode(非 ASCII)字母字符,如以下嵌入式 SQL 示例所示,它将希腊字母从大写转换为小写:

0
0 78
文章 Jingwei Wang · 三月 24, 2022 3m read

 

REST是一种架构风格,而不是一种格式。尽管REST经常使用HTTP来传输消息,使用JSON来传递数据,但你也可以用XML或纯文本来传递数据。REST利用了现有的网络标准,如HTTP、URL、XML和JSON。

虽然它可以使用XML来描述数据,但它更常使用JSON,这是一个轻量级的数据封装器。

InterSystems REST服务

InterSystems REST服务由以下组件组成:

规范类(%REST.Spec的一个子类):这个类包含了REST服务的OpenAPI 2.0规范(Swagger)。InterSystems支持几个扩展属性,你可以在规范中使用。

调度类(%CSP.REST的一个子类):这个类负责接收HTTP请求并在实现类中调用合适的方法。

实现类(%REST.Impl的子类):这个类定义了实现REST调用的方法。

Web应用程序:它通过InterSystems Web Gateway提供对REST服务的访问。

使用API 管理工具创建REST服务 - 基于 OpenAPI 2.0规范

/api/mgmnt/

可以使用/api/mgmnt服务来创建、更新和删除REST服务。

  1. 使用/api/mgmnt创建 .disp .impl 和 .spec 类

使用http://localhost:52773/api/mgmnt/v2/namespace/myapp

0
0 137
文章 Claire Zheng · 三月 24, 2022 1m read

众所周知,InterSystems IRIS的产品设计理念源于互操作性(Interoperable)、稳定性(Reliable)、直观(Intuitive)、可扩展性(Scalable),在云时代,InterSystems IRIS的云上操作与本地一样便捷,令用户体验有了明显提升。为了更高效地对InterSystems IRIS进行配置,我们还提供了哪些新特性?为了便捷地进行数据迁移,InterSystems IRIS最新版本提供了哪些解决方案?本期视频中,InterSystems中国销售工程师吕正之、马浩和WRC产品支持专家杨乐乐对此进行了解答。

0
0 122
问题 jingwei lu · 三月 11, 2022

假如在自动故障转移模式下,镜像集群中两个镜像都是实时同步的Failover角色,当备库因为主机故障或者网络隔离等因素导致不可用,那么主库就收不到备库的ACKs,这个时候我看官方文档的解释是,主库会在Qos时间超时后,撤销备库日志传输的Active状态,那么在这个Qos时间段里(默认是8秒),主库是不会提交任何新的日志,那么遇到那些需要写或者更新的应用,应用会不会卡住8秒不动? 这对一个医院系统来说也是致命的。

希望哪位大神能为我解答一下,谢谢

translate

8
0 233
文章 姚 鑫 · 三月 23, 2022 1m read

第九十章 SQL函数 LOG10

标量数值函数,它返回给定数值表达式的以 10 为底的对数。

大纲

{fn LOG10(expression)}

参数

  • expression - 数值表达式。

LOG10 返回 NUMERICDOUBLE 数据类型。如果表达式为 DOUBLE 数据类型,则 LOG10 返回 DOUBLE;否则,它返回 NUMERIC

描述

LOG10 返回表达式的以 10 为底的对数值。LOG10 返回一个精度为 21、小数位数为 18 的值。

LOG10 只能用作 ODBC 标量函数(使用大括号语法)。

示例

以下示例返回整数的以 10 为底的对数:

SELECT {fn LOG10(5)} AS Log10

0.698970004336018805

以下嵌入式 SQL 示例返回整数 110 的以 10 为底的对数值:

0
0 57
文章 Weiwei Gu · 三月 14, 2022 3m read

大家好!

InterSystems IRIS有一个叫做互操作性Interoperability的菜单。

它提供了轻松创建系统集成的机制(适配器、记录图、BPM、数据转换等),因此不同的系统可以轻松地连接起来。

在数据中继过程中可以包括各种操作,比如:为了连接那些通常不连接的系统,可以根据目的系统的规格要求来接收(或发送)数据。另外,在发送数据之前,可以从另一个系统获取和添加信息。以及,信息可以从数据库(IRIS或其他)获取和更新。

为此,我们会撰写一系列的文章,将讨论以下主题,同时看一下示例代码,以帮助你了解它是如何工作的,以及在用互操作性整合系统时需要什么样的开发。

* How it works 它是如何工作的
* What a Production is 什么是Production ?
* Message 消息
* Component Creation 组件的创建

* 1)Business Operations  业务操作

*2)Business Processes 业务流程
*3) Business Services 业务服务


  首先,介绍一下我们在这个系列中要使用的案例。

1
0 289
文章 姚 鑫 · 三月 22, 2022 2m read

第八十九章 SQL函数 LOG

返回给定数值表达式的自然对数的标量数值函数。

大纲

{fn LOG(expression)}

参数

  • expression - 数值表达式。

LOG 返回 NUMERICDOUBLE 数据类型。如果表达式为 DOUBLE 数据类型,则 LOG 返回 DOUBLE;否则,它返回 NUMERIC

描述

LOG 返回表达式的自然对数(以 e 为底)。 LOG 返回一个精度为 21、小数位数为 18 的值。

LOG 只能用作 ODBC 标量函数(使用大括号语法)。

示例

以下示例返回整数的自然对数:

SELECT {fn LOG(5)} AS Logarithm

1.609437912434100375

以下嵌入式 SQL 示例显示了整数 110LOGEXP 函数之间的关系:

请注意,此处需要 ROUND 函数来纠正由系统计算限制引起的非常小的差异。在上面的示例中,ROUND 被任意设置为 12 位十进制数字。

0
0 103
文章 Claire Zheng · 三月 22, 2022 9m read

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

0
0 334
文章 姚 鑫 · 三月 21, 2022 3m read

第八十八章 SQL函数 $LISTTOSTRING

从列表创建字符串的列表函数。

大纲

$LISTTOSTRING(list[,delimiter])

参数

  • list - 计算结果为有效列表的表达式。列表是包含一个或多个元素的编码字符串。可以使用 SQL 或 ObjectScript 的 $LISTBUILD$LISTFROMSTRING 函数创建列表。可以使用 SQL 或 ObjectScript $LIST 函数从现有列表中提取列表。
  • delimiter - 可选 — 插入以分隔子字符串的分隔符。分隔符可以是一个或多个字符,指定为带引号的字符串。要连接不带分隔符的子字符串,请指定空字符串 ('')。如果不指定分隔符,则默认为逗号 (,) 字符。

描述

$LISTTOSTRING 采用 列表并将其转换为字符串。在结果字符串中,列表的元素由分隔符分隔。

列表以不使用分隔符的编码格式表示数据。因此,列表可以包含所有可能的字符,并且非常适合位串数据。 $LISTTOSTRING 将此列表转换为带有分隔元素的字符串。它留出一个指定的字符(或字符串)作为分隔符。可以使用 $PIECE 函数处理这些分隔元素。

注意:此处指定的分隔符不得出现在源数据中。 不区分用作分隔符的字符和用作数据字符的相同字符。

0
0 124
文章 Michael Lei · 三月 21, 2022 2m read

IRIS Healthtoolkit Service 软件即服务

轻松实现HL7v2 转 FHIR, CDA 转 FHIR, FHIR 转 HL7v2 即服务.

这个项目的目标是提供 REST API 可以轻松转化不同的医疗行业格式。 在Rest body 发布需要的格式,在答案中获得新的格式。

安装

克隆这个 repository

git clone https://github.com/grongierisc/iris-healthtoolkit-service.git

Docker

docker-compose up --build -d

使用

API 细节

  • HL7 转 FHIR
POST http://localhost:32783/api/hl7/fhir
  • FHIR 转 HL7 ADT
POST http://localhost:32783/api/fhir/hl7/adt
  • FHIR 转 HL7 ORU
0
0 246