文章 姚 鑫 · 十二月 6, 2021 阅读大约需 1 分钟 第六章 SQL谓词 EXISTS 第六章 SQL谓词 EXISTS 检查表中是否至少存在一个对应行。 大纲 EXISTS select-statement 参数 select-statement - 一种简单的查询,通常包含一个条件表达式。 描述 EXISTS谓词测试指定的表,通常至少测试一行是否存在。 因为EXISTS后面的SELECT语句正在被检查是否包含某些内容,所以子句通常是这样的形式: #SQL #Caché 0 0 0 69
文章 Qiao Peng · 十二月 18, 2021 阅读大约需 12 分钟 精华文章--从软件架构发展谈业务集成技术演进与展望 应用集成技术是市场上被广泛使用的,也是充斥着术语和概念的一个技术领域。集成平台、消息引擎、消息中间件、集成引擎、集成中间件、企业服务总线(ESB)、API网关、API管理… 很多概念与名词。到底它们是什么意思?有什么区别?哪种技术适合解决哪种集成问题? 业务集成的需求和技术的演进是紧随业务系统的软件架构发展而发展的。通过小结软件架构的发展,我们更容易梳理业务集成技术的演进、更容易看清楚各种集成架构的优势和未来发展方向。 #InterSystems API管理器(IAM) #InterSystems 业务解决方案和架构 #业务流程 (BPL) #持续集成 #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 5 0 0 745
文章 Jingwei Wang · 十二月 29, 2021 阅读大约需 5 分钟 ObjectScript数据类型 - 日期 $HOROLOG($H) 表示当前的本地日期和时间,是由两个整数值组成的字符串,这些整数是计数器,是InterSystems IRIS存储格式,不是用户可读的日期和时间。 ddddd,sssss 代码示例: w $H,! 北京时间2021年12月29日15:15:30时,输出结果为: 66107,54930 #ObjectScript #学习门户 0 0 0 154
文章 姚 鑫 · 一月 9, 2022 阅读大约需 1 分钟 第十九章 SQL函数 ASIN 第十九章 SQL函数 ASIN 一个标量数值函数,返回角的正弦的反正弦(以弧度为单位)。 大纲 {fn ASIN(numeric-expression)} 参数 numeric-expression - 数值在-1到1之间的数值表达式。 这是这个角的正弦值。 ASIN返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, ASIN返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 88
文章 姚 鑫 · 一月 23, 2022 阅读大约需 1 分钟 第三十二章 SQL函数 COS 第三十二章 SQL函数 COS 标量数值函数,返回一个角的余弦值(以弧度为单位)。 大纲 {fn COS(numeric-expression)} 参数 numeric-expression - 数值表达式。 这是一个用弧度表示的角。 COS返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, COS返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 31
文章 姚 鑫 · 一月 30, 2022 阅读大约需 1 分钟 第三十九章 SQL函数 DATABASE 第三十九章 SQL函数 DATABASE 返回数据库名称限定符的标量字符串函数。 大纲 {fn DATABASE()} 描述 DATABASE返回与连接句柄对应的数据库名称的当前限定符。 在IRIS中,DATABASE总是返回空字符串(")。 #SQL #Caché 0 0 0 77
文章 姚 鑫 · 二月 11, 2022 阅读大约需 4 分钟 第五十一章 SQL函数 DECODE 第五十一章 SQL函数 DECODE 计算给定表达式并返回指定值的函数。 大纲 DECODE(expr {,search,result}[,default]) 参数 expr - 要解码的表达式。 search - 要与Expr进行比较的值。 result - Expr匹配搜索时返回的值。 default - 可选-如果expr与任何搜索都不匹配,则返回默认值。 描述 可以指定多个搜索和结果对,以逗号分隔。您可以指定一个默认值。DECODE表达式(包括EXPR、SEARCH、RESULT和DEFAULT)中的最大参数数约为100。搜索、结果和默认值可以从表达式派生。 #SQL #Caché 0 0 0 59
文章 姚 鑫 · 二月 20, 2022 阅读大约需 4 分钟 第六十章 SQL函数 GETUTCDATE 第六十章 SQL函数 GETUTCDATE 日期/时间函数,返回当前UTC日期和时间。 大纲 GETUTCDATE([precision]) 参数 precision - 可选-一个正整数,指定时间精度为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。 描述 GETUTCDATE返回通用时间常数(UTC)日期和时间作为时间戳。由于UTC时间在地球上的任何地方都是相同的,不依赖于当地时区,也不受当地时差(如夏令时)的影响,因此当不同时区的用户访问同一数据库时,此函数对于应用一致的时间戳非常有用。 #SQL #Caché 0 0 0 64
文章 Frank Ma · 三月 2, 2022 阅读大约需 2 分钟 精华文章置顶 一个基于IRIS的Python 全球疫情大数据仪表盘样例 我们很高兴与你分享有趣的信息,以及告诉你为什么Python是好的,它被用在哪里。 其中使用最多的库是NumPy和Pandas。NumPy(Numerical Python)用来对大型数据集进行分类。它简化了数组上的数学运算及其矢量化。Pandas提供两种数据结构:系列Series(一个元素列表)和数据框架DataFrames(一个有多列的表格)。这个库将数据转换为数据框架,允许你删除和添加新的列,以及执行各种操作。 Python为数据分析项目提供了无数的工具,可以帮助完成任何任务。 ##嵌入式 Python #IRIS Analytics Architect #Python #仪表板 #InterSystems IRIS Open Exchange app 0 0 0 248
文章 Michael Lei · 三月 12, 2022 阅读大约需 1 分钟 Linux TZ环境变量未被设置以及对Caché的影响 在最近的大规模基准测试活动中,我们看到过多的%sys CPU时间,对应用程序的扩展产生了负面影响。 问题 我们发现,由于TZ环境变量没有被设置,很多时间都花在了localtime()系统调用上。 我们创建了一个简单的测试程序来证实这一观察结果,设置了TZ与未设置TZ的时间差和所需的CPU资源都是惊人的。 我们发现,当TZ没有设置时,从localtime()继承使用stat()系统调用到/etc/local_time是成本很高。 #InterSystems 业务解决方案和架构 #系统管理 #Caché 0 0 0 116
文章 Claire Zheng · 三月 21, 2022 阅读大约需 7 分钟 InterSystems IRIS哪些新特性让用户开发体验得到了极大提升? 谈到开发体验,什么最重要?如何为客户提供更好的开发体验?InterSystems IRIS的最新版本有哪些新特性极大优化了用户的开发体验?这是本月“极客聊吧”的话题,我们计划通过上、下两期视频探讨这一话题。在第一期视频中(点击查看),InterSystems中国销售工程师吕正之、马浩和WRC产品支持专家杨乐乐针对以下两点分享了他们的观点:(1)开发语言的多样性与对FHIR的支持; (2)开发平台的前瞻性:对Smart Data Fabric架构的支持。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 86
文章 Lilian Huang · 三月 30, 2022 阅读大约需 3 分钟 [首次使用InterSystems IRIS] 互操作性: 它是如何工作的? 这篇文章的目的是为了说明如何使用互操作菜单实现系统集成。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 118
文章 Louis Lu · 四月 9, 2022 阅读大约需 2 分钟 基于Redhat Linux安装InterSystems IRIS 的服务器内存相关参数配置建议 注意:下面内存设置数值仅限参考,具体内存数值的设置是否合适,依赖于更多实际使用情况决定。 主要需要设置下面几个内存相关配置: (下面比例适用于服务器仅运行单实例InterSystems IRIS)数据库缓存Database cache: 建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存程序缓存routine cache: 建议设置1023MBgmheap: 建议设置1048576KB(1024MB)LockSize: 建议最少设置134217728 Bytes (128MB),如果在系统日志中提示locksize相关错误或警报,应相应增加。 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 93
文章 Michael Lei · 四月 17, 2022 阅读大约需 3 分钟 在IRIS容器里添加VSCode 在IRIS容器里添加VSCode 设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到 带VSCode 且预连接好的InterSystems IRIS 容器 #开发环境 #开发运维 #InterSystems IRIS #VSCode 0 0 0 273
文章 姚 鑫 · 四月 24, 2022 阅读大约需 2 分钟 第122章 SQL函数 RTRIM 第122章 SQL函数 RTRIM 字符串函数,它返回一个删除了尾随空格的字符串。 #SQL #Caché 0 0 0 73
文章 姚 鑫 · 五月 1, 2022 阅读大约需 4 分钟 第129章 SQL函数 %SQLUPPER 第129章 SQL函数 %SQLUPPER 将值排序为大写字符串的排序规则函数。 大纲 %SQLUPPER(expression[,maxlen]) %SQLUPPER expression 参数 expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。表达式可以是子查询。 maxlen - 可选 — 一个整数,指定整理后的值将被截断为 maxlen 的值。请注意, maxlen 包括附加的前导空格。您可以用双括号将 maxlen 括起来以抑制文字替换:((maxlen))。 描述 SQLUPPER 是默认排序规则。 #SQL #Caché 0 0 0 79
文章 姚 鑫 · 五月 10, 2022 阅读大约需 4 分钟 第138章 SQL函数 TIMESTAMPADD 第138章 SQL函数 TIMESTAMPADD 一个标量日期/时间函数,它返回一个新的时间戳,该时间戳是通过将指定日期部分的多个间隔添加到时间戳来计算的。 #SQL #Caché 0 0 0 134
文章 姚 鑫 · 五月 19, 2022 阅读大约需 10 分钟 第147章 SQL函数 TO_TIMESTAMP 第147章 SQL函数 TO_TIMESTAMP 将格式化字符串转换为时间戳的日期函数。 大纲 TO_TIMESTAMP(date_string[,format]) 参数 date_string - 要转换为时间戳的字符串表达式。此表达式可能包含日期值、时间值或日期和时间值。 format - 可选 — 对应于 date_string 的日期和时间格式字符串。如果省略,则默认为 DD MON YYYY HH:MI:SS。 描述 TO_TIMESTAMP 函数将各种格式的日期和时间字符串转换为标准时间戳,数据类型为 TIMESTAMP。 TO_TIMESTAMP 返回具有以下格式的时间戳: #SQL #Caché 0 0 0 106
文章 Vivi Zhu · 五月 29, 2022 阅读大约需 2 分钟 招聘:北京协和医院信息中心招聘运维工程师、Caché数据库管理员和开发工程师 北京协和医院现公开招聘信息类技术岗位。有关事项公告如下:岗位1:运维工程师任职要求:1.年龄30岁以下,本科及以上学历,计算机相关专业;2.熟悉计算机软硬件技术,熟练排除各种软硬件的故障;有基本的网络知识,了解DNS、DHCP原理,熟练使用Ping、tracert等简单命令;3.有2年以上桌面运维工作经验者优先。 岗位2:数据库管理员任职要求:1. 本科及以上学历,计算机相关专业;2. 精通InterSystems Caché数据库,精通MySQL,SQL Server,熟悉Oracle,精通SQL脚本编写;有丰富数据库管理、运维调优经验;3. 5年以上数据库运维管理经验;4. 有医疗行业经验优先。 #工作机会 0 0 0 288
文章 Qiao Peng · 六月 8, 2022 阅读大约需 7 分钟 数字孪生医院:一个围绕着智慧医院决策的建模、管理和行动闭环的全新方式 01 智慧医院的本质 什么是智慧医院? #InterSystems 业务解决方案和架构 #InterSystems IRIS #InterSystems IRIS for Health #其他 0 0 0 420
文章 姚 鑫 · 六月 16, 2022 阅读大约需 4 分钟 第二章 锁定和并发控制(二) 第二章 锁定和并发控制(二) 关于零超时的说明 如上所述,如果您将 timeout 指定为 0, 会添加锁。但是,如果使用零超时锁定父节点,并且已经在子节点上锁定,则忽略零超时并使用内部 1 秒超时。 删除锁 要删除默认类型的锁,请使用 LOCK 命令,如下所示: LOCK -lockname 如果执行此命令的进程拥有具有给定名称的锁(默认类型),则此命令将删除该锁。或者,如果进程拥有多个锁(默认类型),此命令将删除其中一个。 或者删除另一种类型的锁: LOCK -lockname#locktype 其中 locktype 是一串锁类型代码。 LOCK 命令的其他基本变体 为了完整起见,本节讨论 LOCK 命令的其他基本变体:使用它来创建简单的锁并使用它来删除所有锁。这些变化在实践中并不常见。 #SQL #Caché 0 0 0 44
文章 Frank Ma · 六月 27, 2022 阅读大约需 3 分钟 使用Python和仪表盘制作的一个欧洲水状况应用程序 比较不同的商业智能技术是非常有趣的。我很好奇它们在功能、开发工具、速度和可用性方面有什么不同。 ##嵌入式 Python #自适应分析(Adaptive Analytics) #IntegratedML #InterSystems报表 #仪表板 #InterSystems IRIS Open Exchange app 0 0 0 65
文章 姚 鑫 · 七月 7, 2022 阅读大约需 4 分钟 第二十一章 使用工作队列管理器(四) 第二十一章 使用工作队列管理器(四) 分离和附加工作队列 通常,初始化一组工作程序,将工作项排队,然后等待工作程序完成工作项。但是,可能会遇到工作人员作业完成工作项所需的时间比预期更长的情况,或者无法将单个进程专门用于等待。因此,工作队列管理器使能够将工作队列与进程分离,然后将工作队列附加到同一进程或不同的进程。 例如,假设队列引用了初始化的工作队列。还假设向工作队列中添加了几个工作项。在调用 Wait() 或 WaitForComplete() 来确定正在处理的工作的状态之前,可以使用以下方法: Detach() method Detach(ByRef token As %String, timeout As %Integer=86400) as Status 从初始化工作队列时创建的对象引用中分离工作队列对象。 Detach() 方法使任何正在进行的工作能够继续并保留工作队列的当前状态。 token 参数表示一个安全令牌,可以使用它随后将工作队列附加到另一个进程。 timeout 参数是可选的,它指示系统保留分离的工作队列对象的时间量(以秒为单位)。超时期限过后,系统会删除与工作队列关联的所有工作人员作业和信息。超时的默认值为 1 天。 #SQL #Caché 0 0 0 59
文章 姚 鑫 · 七月 15, 2022 阅读大约需 5 分钟 第六章 使用嵌入式 Python (三) 第六章 使用嵌入式 Python (三) 从 ObjectScript 调用嵌入式 Python 代码 使用 Python 库 嵌入式 Python 让可以轻松访问数以千计的有用库。通常称为“包”,它们需要从 Python 包索引 (PyPI) 安装到 <installdir>/mgr/python 目录中,然后才能使用。 例如,ReportLab Toolkit 是一个用于生成 PDF 和图形的开源库。以下命令使用软件包安装程序 irispip 在 Windows 系统上安装 ReportLab: C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python reportlab 在基于 UNIX 的系统上,使用: ##嵌入式 Python #Caché 0 0 0 63
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 DeepSee 的开发 - 第四部分 - 创建主题区 一个主题区是一个子立方体,可以选择覆盖项目的名称。你定义一个主题区是为了使用户能够关注较小的数据集,出于安全原因或其他原因。本章讨论了以下主题。 简介 在本教程中,我们创建了两个主题区域,按邮政编码划分患者: Patient Set A: 居住在邮政编码为32006, 32007, or 36711区域的患者 Patient Set B: 居住在邮政编码为34577 or 38928区域的患者 创建主题领域 要创建主题区域,请做以下工作。 #仪表板 #分析器 #InterSystems IRIS BI (DeepSee) 0 0 0 44
文章 姚 鑫 · 七月 30, 2022 阅读大约需 3 分钟 第十二章 使用中的 OpenAPI 属性 第十二章 使用中的 OpenAPI 属性 本附录列出了 API 管理工具在生成 REST 服务类时使用的 OpenAPI 2.0 规范的属性。此处未列出的属性将被忽略。有几个扩展属性;它们的名称以 x-ISC 开头。 Swagger basePath consumes host produces definitions (请注意,API 管理工具在生成代码时不使用 Schema 对象的任何属性) parameters (for details, see “Parameter Object”) #REST API #Caché 0 0 0 76
文章 Michael Lei · 八月 9, 2022 阅读大约需 1 分钟 在ObjectScript中运行shell命令 有时,有必要从主机操作系统的Shell(即你的ObjectScript程序所在的地方)执行命令,以启动程序、操作系统服务、安排crontasks以及其他活动。为此,该语言有一个叫做$ZF(-100). 的实用程序: $ZF(-100,flags,program,args) 其中flags是你想执行的命令的类型。在我们的例子中,标志是"/ SHELL",用于在主机操作系统上执行shell命令。 Program是要执行的程序或服务的名称。 Args是传递给程序的执行参数。 一个例子是在提示符下打印一些内容,例如: $ZF(-100,"/SHELL","echo","https://www.intersystems.com/") 如果你的程序依赖于改变当前目录,要运行该程序,在调用前使用以下命令: #ObjectScript #InterSystems IRIS 0 0 0 235
文章 姚 鑫 · 八月 14, 2022 阅读大约需 3 分钟 第一章 使用管理门户(一) [TOC] 第一章 使用管理门户(一) IRIS数据平台使您能够通过 Web 应用程序Management Portal 执行系统管理和管理任务。这种方法的一个优点是 IRIS 不必安装在用来管理安装的系统上。现在,通过网络远程管理系统,受制于为站点建立的访问控制,变得更加容易。跨版本兼容性问题被最小化,因为数据及其格式信息都直接来自被管理的系统。 默认情况下,管理门户在安装了IRIS 的专用 Web 服务器上运行。可以选择禁用专用 Web 服务器(使用 WebServer 设置)并配置不同的 Web 服务器来运行管理门户。 启动管理门户 可以通过以下方式启动管理门户: #Caché 0 0 0 215
文章 姚 鑫 · 八月 25, 2022 阅读大约需 4 分钟 第十二章 配置数据库(四) 第十二章 配置数据库(四) 重定位本地数据库 要将本地数据库的 IRIS.DAT 文件移动到不同的目录,必须执行以下操作: 记下当前的数据库目录。可以从本地数据库页面(系统管理 > 配置 > 系统配置 > 本地数据库)查看此信息。 彻底关闭实例,例如使用 iris stop 命令。 将 IRIS.DAT 文件和流目录从当前数据库目录复制到所需位置 重要提示:如果数据库目录中有 iris.lck 文件,请不要移动数据库。这意味着数据库仍在使用中,移动它可能会导致无法预料的问题。 注意: 不支持在配置数据库目录时使用符号链接,并建议为新的数据库位置选择完全解析的物理路径。 在文本编辑器中打开实例的 iris.cpf 文件。该文件通常位于安装目录中。 #Caché 0 0 0 86
文章 姚 鑫 · 九月 5, 2022 阅读大约需 4 分钟 第二十三章 使用任务管理器(一) 第二十三章 使用任务管理器(一) 要访问任务管理器,请导航至系统操作 > 任务管理器。 还可以使用终端与任务管理器进行交互,如使用 ^TASKMGR 部分所述。 注意:任务管理器每 60 秒轮询一次以查看是否有要运行的任务。当单击立即执行操作来安排任务时,在新安排的任务实际运行之前可能会有长达 60 秒的延迟。 新任务 新任务选项启动任务计划程序向导。此工具允许安排新任务运行。 注意:还可以使用任务计划程序向导通过从“任务计划”页面选择现有任务来编辑现有任务。 #Caché 1 0 0 65