文章 姚 鑫 · 十二月 14, 2023 阅读大约需 2 分钟 第三十五章 XML 模式的高级选项 - 创建子类型的选择列表 第三十五章 XML 模式的高级选项 - 创建子类型的选择列表 创建子类型的选择列表 根据 XML Schema 规范,复杂类型可以由类型(特别是相关类型)的选择列表组成。假设我们希望架构允许使用 <Person>, <Patient>, or <Employee> 元素,而不是 <Person> 元素。要定义这样的架构,我们会将 Person 属性的 XMLTYPECONSTRAINT 属性参数设置为等于“CHOICE”,如下所示: #InterSystems IRIS for Health 0 0 0 72
文章 Lilian Huang · 三月 14, 2024 阅读大约需 3 分钟 Fhir-肝炎预测 使用 FHIR SQL BUILDER 处理 FHIR 资源以预测患丙型肝炎疾病的概率 随着科技的发展,医疗行业也在不断的进步,人类也往往更加关注自身的健康,通过计算机学习和处理数据集,可以预测疾病。 前提条件:使用 FHIR 和 ML的能力首先,我们的数据集从kaggle获得,并根据患者性别、年龄、ALP或ALT转化为FHIR资源,并导入到FHIR资源库中 要导入FHIR资源库,我们可以使用以下命令: #Docker #FHIR #IntegratedML #InterSystems IRIS for Health Open Exchange app 1 0 0 72
文章 姚 鑫 · 一月 4, 2024 阅读大约需 2 分钟 第十五章 创建Callout Library - 处理 UNIX 信号处理错误 第十五章 创建Callout Library - 处理 UNIX 信号处理错误 处理 UNIX 信号处理错误 在 UNIX 及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl 和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C 和应重新启动的调用。 以下函数允许检查异步事件并在 $ZF 中设置新的警报处理程序。函数声明包含在 iris-cdzf.h 中: sigrtclr() int sigrtclr(); — 清除重试标志。应在使用 sigrtchk() 之前调用一次。 dzfalarm() int dzfalarm(); — 建立新的 `SIGALRM 处理程序。 进入 $ZF 时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。 #InterSystems IRIS for Health 0 0 0 71
文章 姚 鑫 · 十二月 18, 2024 阅读大约需 3 分钟 第五十二章 File 输入 输出 - OPEN模式参数 第五十二章 File 输入 输出 - OPEN模式参数 OPEN 模式参数 可以通过以下两种方式之一指定 OPEN 模式参数 - 用引号字符括起来的字母代码字符串,如 “VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。 - 一系列 /keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。 指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。 #InterSystems IRIS for Health 0 0 0 71
文章 姚 鑫 · 十一月 7, 2024 阅读大约需 3 分钟 第十四章 本地进程间通信(管道) - 用于进程间通信的 CLOSE 命令 第十四章 本地进程间通信(管道) - 用于进程间通信的 CLOSE 命令 用于进程间通信的 CLOSE 命令 如果使用带Q (/QUEUE) 参数代码的OPEN创建子进程,则该子进程可能会在设备上的CLOSE操作中继续存在。排队的进程间通信管道的生存能力取决于平台。在 UNIX® 系统上,子进程始终在CLOSE后继续存在。在 Windows 系统上,进程的生存取决于进程的年龄。刚刚启动的子进程不会在CLOSE操作中幸存,但是一旦子进程完全建立,它就会在 CLOSE操作中幸存。 #InterSystems IRIS for Health 0 0 0 71
文章 姚 鑫 · 十二月 12, 2023 阅读大约需 3 分钟 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 第三十三章 控制到 XML 模式的映射 - 其他支持 XML 的类到 XML 类型的映射 其他支持 XML 的类到 XML 类型的映射 对于支持 XML 的类或基于支持 XML 的类的属性,XML 类型按如下方式确定: 如果该类具有 XMLTYPE 参数的值,则该值将用作类型名称。否则,短类名将被视为 XML 类型名。 例如,考虑以下类定义: #InterSystems IRIS for Health 0 0 0 70
文章 Michael Lei · 十月 24, 2024 阅读大约需 1 分钟 InterSystems FAQ 常见问题系列--命名空间和数据库的最大数量 InterSystems FAQ 一个实例上的最大命名空间数量是 2047. 但是,要使用这么大量的命名空间,你需要相应地配置好内存。 一个实例里可以创建的数据库的最大数量(包括远程数据库) 15998. 根据授权的类型,可能会有所限制。具体细节请参考以下文档。Database Configuration [IRIS]Database Configuration #数据库 #系统管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 70
文章 Claire Zheng · 一月 15, 2024 阅读大约需 2 分钟 InterSystems第三次入围Gartner云数据库管理系统魔力象限,2023年荣膺“挑战者”称号 Gartner魔力象限是业内知名的分析报告,针对特定市场进行严谨、基于事实的研究后发布的魔力象限报告,可为用户提供全面视图,以便其了解在高速增长、差异化明显的市场中供应商的相对位置。在魔力象限中,供应商被定位在四个象限中:领导者(Leader)、挑战者(Challenger)、远见者(Visionary)和利基玩家(Niche Player)。 2023年年底,在 Gartner 2023年最新发布的“云数据库管理系统(Cloud DBMS)魔力象限”中,InterSystems再次荣膺“挑战者”(Challenger)称号,这是InterSystems第三次入围这一报告并得到认可(2022年“远见者”,2021年“挑战者”)。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 八月 16, 2024 阅读大约需 4 分钟 第二章 使用 SOAP 保护 Web 服务 - WS-Security 标头简介 第二章 使用 SOAP 保护 Web 服务 - WS-Security 标头简介 WS-Security 标头简介 SOAP 消息在 WS-Security 标头元素(SOAP <Header> 元素的 <Security> 子元素)中携带安全元素。以下示例显示了一些可能的组件: 这些元素如下: #InterSystems IRIS for Health 1 0 0 70
文章 姚 鑫 · 十二月 18, 2023 阅读大约需 2 分钟 第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出 第三十九章 其他特殊主题 - 映射 IRIS ID 以供导出 当在顶层映射 IRIS 对象(而不是作为另一个对象的属性)时,其内部 ID、OID 和全局唯一 ID 不能用作对象属性,因此不会映射这些 ID。但是,在某些情况下,可能希望使用对象 ID 作为唯一标识符。然后,例如,可以在更新存储的对象之前将传入(已更改)的对象与相应的存储对象进行匹配。 IRIS XML 支持提供了多个帮助程序类,可用于将 IRIS 对象标识符投影到 XML 文档: %XML.Id 中(对于内部 ID)、%XML.Oid(对于 ``)和 %XML.GUID(用于全局唯一 ID)。 #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 八月 27, 2023 阅读大约需 1 分钟 第十一章 ObjectScript - 操作符 第十一章 ObjectScript - 操作符 操作符 ObjectScript 中的运算符优先级严格是从左到右;在表达式中,运算按照它们出现的顺序执行。可以在表达式中使用显式括号来强制某些操作先于其他操作执行。 通常,即使并不严格需要括号,也会使用括号。很有用,因为它使代码的意图更加清晰。 Familiar Operators ObjectScript 为常见活动提供以下运算符: #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 十二月 10, 2023 阅读大约需 2 分钟 第三十一章 控制到 XML 模式的映射 - %ListOfDataTypes 第三十一章 控制到 XML 模式的映射 - %ListOfDataTypes %ListOfDataTypes 本部分显示从支持 XML 的类生成的 XML 架构的一部分,该类包含中定义为%ListOfDataTypes 的属性。例如,考虑以下属性定义: Property PropName As %ListOfDataTypes(XMLITEMNAME = "MyXmlItemName"); 如果此属性位于名为 Test.DemoList 的启用 XML 的类中,则该类的 XML 架构包含以下内容: #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 九月 2, 2023 阅读大约需 2 分钟 第十六章 ObjectScript - 日期和时间值 第十六章 ObjectScript - 日期和时间值 日期和时间值 当地时间 要访问当前进程的日期和时间,可以使用 $HOROLOG 特殊变量。因此,在许多 IRIS 应用程序中,日期和时间都以此变量使用的格式存储和传输。这种格式通常称为$H 格式或$HOROLOG 格式。 $HOROLOG 从操作系统检索日期和时间,因此始终位于本地时区。 IRIS 类库包含以更常见的格式(例如 ODBC)表示日期的数据类型类,许多应用程序使用这些数据类型而不是 $H 格式。请注意,通过数据类型类中的 %Library.PosixTime支持 POSIX 时间,新应用程序应使用该类来表示日期/时间值。 #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 八月 25, 2023 阅读大约需 2 分钟 第九章 ObjectScript - 多维数组 第九章 ObjectScript - 多维数组 多维数组 在 ObjectScript 中,任何变量都可以是多维数组(也称为数组)。多维数组通常用于保存一组以某种方式相关的值。 ObjectScript 提供的命令和函数可以方便、快速地访问值。 可能会也可能不会直接使用多维数组,具体取决于使用的系统类和自己的偏好。当需要一个用于存储相关值集的容器时,IRIS 提供了一种基于类的替代方案。请参阅集合类。 Basics 多维数组由任意数量的节点组成,由下标定义。以下示例设置数组的几个节点,然后打印数组的内容: #InterSystems IRIS for Health 0 0 0 69
文章 姚 鑫 · 九月 13, 2023 阅读大约需 2 分钟 第二十七章 Classes - 引用其他类成员 第二十七章 Classes - 引用其他类成员 引用其他类成员 在方法中,使用下面的语法来引用其他类成员: 要引用ObjectScript中的参数,使用如下表达式: ..#PARAMETERNAME 只能使用ObjectScript直接访问参数。要从Python访问参数,请使用ObjectScript包装器方法返回参数,并在需要时调用此方法。例如: #InterSystems IRIS for Health 0 0 0 68
文章 姚 鑫 · 二月 8, 2021 阅读大约需 1 分钟 第二十八章 Caché 变量大全 $ZEOS 变量 第二十八章 Caché 变量大全 $ZEOS 变量 读取压缩流时包含流结束状态。 大纲 $ZEOS 大纲 $Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPEN或USE命令发出/GZIP命令关键字来激活流压缩/解压缩。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 68
文章 Michael Lei · 七月 7, 2024 阅读大约需 1 分钟 InterSystems 常见问题系列 如何在启动时执行特定动作 InterSystems 常见问题FAQ 如果您想在InterSystems 产品启动时执行一个操作系统可执行文件,命令或者程序,可以在SYSTEM^%ZSTART routine里面写明流程 ( %ZSTART routine在 %SYS 命名空间里面创建). 在 SYSTEM^%ZSTART 里面写代码之前, 请确保他可以在任何情况下能正常工作 如果 ^%ZSTART routine 写的不对,或者没有响应或者发生错误,InterSystems 产品可能会无法启动。 更多信息,请参考一下文档。 #提示和技巧 #系统管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 68
文章 姚 鑫 · 十二月 13, 2024 阅读大约需 3 分钟 第四十九章 终端输入 输出 - 转义序列编程 第四十九章 终端输入 输出 - 转义序列编程 转义序列编程 转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X和$Y 。使用WRITE *语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。 ANSI 标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。 每次READ之后在$ZB中查找传入的转义序列。 IRIS 将 ANSI 标准转义序列和任何其他使用 ANSI 形式的转义序列放入$ZB中。 IRIS 可识别两种形式的转义序列: #InterSystems IRIS for Health 0 0 0 68
文章 姚 鑫 · 九月 1, 2024 阅读大约需 1 分钟 第十二章 WS-Policy 配置类详细信息 - 配置类基础知识 第十二章 WS-Policy 配置类详细信息 - 配置类基础知识 作为参考,本主题包含有关 IRIS 用于存储 WS-Policy 信息的配置类的详细信息。 配置类基础知识 要手动创建 WS-Policy 配置类,请创建 %SOAP.Configuration 的子类。在此类中,添加 XData 块,如下所示: XData service { <cfg:configuration xmlns:cfg="http://www.intersystems.com/configuration" name="service"> ... XData 块具有以下一般结构: #InterSystems IRIS for Health 0 0 0 67
文章 姚 鑫 · 七月 1, 2023 阅读大约需 4 分钟 第四十五章 开发Productions - ObjectScript Productions - 使用记录映射器 - 记录映射类结构 第四十五章 开发Productions - ObjectScript Productions - 使用记录映射器 - 记录映射类结构 记录映射类结构 有两个类描述记录映射: RecordMap 描述了记录的外部结构,实现了记录解析器和记录编写器。 生成的记录类定义了包含数据的对象的结构。该对象允许在数据转换和路由规则条件中引用数据。 记录映射业务服务读取并解析传入数据并创建一条消息,该消息是生成的记录类的一个实例。业务流程可以读取、修改或生成生成的记录类的实例。最后,记录映射业务操作使用实例中的数据将 RecordMap 用作格式化模板来写入传出数据。 RecordMap 类和生成的记录类都具有描述数据的层次结构,但生成的对象结构不必与 RecordMap 结构相同。 #InterSystems IRIS for Health 0 0 0 66
文章 Michael Lei · 一月 26, 2024 阅读大约需 2 分钟 InterSystems 常见问题解答--日志文件长期保留而未被删除的原因 InterSystems 常见问题解答 如果系统24小时没有停止,旧的日志文件将根据“日志文件删除设置”在0:30删除。 导致日志文件保留的时间早于“日志文件删除设置”的一个可能原因是存在仍处于开放状态的事务。 在这种情况下,您将能够通过搜索执行事务的进程并完成事务来删除日志文件。 下面的示例检查是否存在未完成的事务,如果存在,则输出目标文件名和日志记录信息。 (示例可以从这里下载 *注意*如果要检查的日志文件较大或日志文件较多,则执行需要时间,因此请联系我们的支持中心。 #提示和技巧 #日志 #系统管理 #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 66
文章 姚 鑫 · 八月 23, 2022 第 79 讲 锁 - 等待锁 //player.bilibili.com/player.html?aid=302358945&bvid=BV1UP41157BG&cid=812331965&page=1[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。] #Caché #InterSystems IRIS for Health 0 0 0 66
文章 姚 鑫 · 八月 8, 2024 阅读大约需 2 分钟 第四章 控制编码格式的内联引用的使用 第四章 控制编码格式的内联引用的使用 控制编码格式的内联引用的使用 采用编码格式,任何对象值属性都作为引用包含在内,并且引用的对象作为单独的元素写在 SOAP 消息中。 要以内联方式写入编码对象,请在 Web 客户端中将 REFERENCESINLINE 参数或 ReferencesInline 属性指定为 `1。属性优先于参数。 指定信封前缀 默认情况下, Web 客户端在其发送的 SOAP 消息的信封中使用前缀 SOAP-ENV。可以指定不同的前缀。为此,请设置 Web 客户端类的 SOAPPREFIX 参数。例如,如果将此参数设置为 MYENV,则 Web 客户端会在其消息中包含此前缀,而不是 SOAP-ENV。 #InterSystems IRIS for Health 0 0 0 66
文章 姚 鑫 · 八月 28, 2024 阅读大约需 2 分钟 第九章 创建和使用策略 - 创建并附加策略 第九章 创建和使用策略 - 创建并附加策略 创建并附加策略 要创建策略并将其附加到Web 服务或客户端,请创建并编译配置类。有多种方法可以创建此类: 使用 GeneratePolicyFromWSDL() 方法从 WSDL 生成配置类。如果 Web 服务或客户端类已存在,并且您不想重新生成,则适用此选项。 为现有的 Web 服务或客户端手动创建配置类。 如果从 WSDL 生成策略类,则可能需要按下一节所述对其进行编辑。 从 WSDL 生成策略 在某些情况下,可能已经有客户端类,但没有相应的配置类。例如,如果从 WSDL 生成客户端类,而 WSDL 后来被修改为包含 WS-Policy 信息,则可能会发生这种情况。在这种情况下,可以使用 %SOAP.WSDL.Reader中的实用程序方法单独生成配置类,如下所示: #Java #SOAP #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 66
文章 姚 鑫 · 九月 14, 2024 阅读大约需 4 分钟 第二十五章 添加数字签名 第二十五章 添加数字签名 本主题介绍如何向 IRIS Web 服务和 Web 客户端发送的 SOAP 消息添加数字签名。 通常,会同时执行加密和签名。为简单起见,本主题仅介绍签名。有关结合加密和签名的信息,请参阅主题结合加密和签名。 主题使用派生密钥令牌进行加密和签名描述了向 SOAP 消息添加数字签名的另一种方法。 数字签名概述 可以使用数字签名来检测消息是否被篡改,或者简单地验证消息的某一部分是否确实由所列实体生成。与传统的手工签名一样,数字签名是对文档的附加,只有文档的创建者才能创建,并且不容易伪造。 IRIS 对 SOAP 消息的数字签名的支持基于 WS-Security 1.1。反过来,WS-Security 遵循 XML 签名规范。根据后者的规范,要对 XML 文档进行签名: #InterSystems IRIS for Health 0 0 0 66
文章 姚 鑫 · 二月 7, 2021 阅读大约需 2 分钟 第二十七章 Caché 变量大全 $ZEOF 变量 第二十七章 Caché 变量大全 $ZEOF 变量 包含指示是否已到达文件末尾的标志。 大纲 $ZEOF 描述 在每次顺序文件读取之后,Caché设置$ZEOF特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC设备状态检查的MSM例程兼容。 Caché将$ZEOF设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF值(如果需要,将其复制到变量)。 Caché将$ZEOF设置为下列值: - –1 文件结束 - 0 不在文件末尾 要使用此功能,必须对顺序文件禁用<ENDOFFILE>错误。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
文章 姚 鑫 · 一月 5, 2024 阅读大约需 3 分钟 第十六章 调用Callout Library函数 第十六章 调用Callout Library函数 Callout 库是一个共享库(DLL 或 SO 文件),其中包含 $ZF Callout 接口的挂钩,允许各种 $ZF 函数在运行时加载它并调用其函数。 $ZF Callout 接口提供了四种不同的接口,可用于在运行时加载 Callout 库并从该库调用函数。这些接口的主要区别在于如何识别库并将其加载到内存中: #InterSystems IRIS for Health 0 0 0 64
文章 姚 鑫 · 一月 23, 2024 阅读大约需 3 分钟 第七章 使用 SQL Search - 同义词表 第七章 使用 SQL Search - 同义词表 同义词表 要实现同义词表,请将该表定义为扩展 iFind.Synonym 抽象类的持久类。 此类定义了两个属性:FromTerm 和 ToTerm。一对 FromTerm 和 ToTerm 属性将 ToTerm 定义为 FromTerm 的同义词。如果查询包含 FromTerm,SQL 搜索将使用 ToTerm 来扩展查询。 该查询使用此类的 GetMatch() 方法根据查询词在同义词表中搜索同义词。 #InterSystems IRIS for Health 0 0 0 64
文章 Michael Lei · 十一月 2, 2022 阅读大约需 1 分钟 InterSystems IRIS医疗版的“专精特新” 门为医疗行业打造,深度整合国内外医疗行业标准,专有技术服务医疗行业44年,可能是全球最早从事医疗信息化的公司; 耕细做打磨数十年的稳定、可靠、易用、可扩展的数据平台; 色鲜明,不唯技术、终生负责、以解决客户问题为核心的特色企业文化; #InterSystems 业务解决方案和架构 #InterSystems IRIS for Health 0 0 0 64
文章 姚 鑫 · 十二月 13, 2023 阅读大约需 2 分钟 第三十四章 XML 模式的高级选项 第三十四章 XML 模式的高级选项 类和属性参数 XMLTYPECONSTRAINT XMLINCLUDEINLIST XMLINHERITANCE 自动创建子类的类型 当为一个类定义 XML 投影时,它的所有子类都会自动映射到单独的类型,所有这些类型都使用超类作为基类型。这意味着无论何时使用超类型,都可以使用其中一种子类型。还可以使用子类型在 XML 模式中定义选择列表或替换组。 请注意,可以为抽象类定义 XML 映射;该类在任何派生类模式中都显示为基类型,尽管它是抽象的,无法实例化。 考虑一个例子。我们从一个简单的 Person 类开始: #InterSystems IRIS for Health 0 0 0 63