清除过滤器
文章
Claire Zheng · 一月 21, 2021
这是“IRIS数据库在医疗行业发展”系列课程的第二讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS强大的分析能力。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。
公告
Claire Zheng · 三月 12, 2021
亲爱的社区开发者们,
北京时间3月19日下午14:00-16:00,我们将举办一次线上直播,聚焦InterSystems 数据平台与WRC服务,为您答疑解惑!今天隆重向大家介绍此次直播的主讲人!
主讲人:刘皆良
演讲主题:告诉你从Caché数据库升级到InterSystems IRIS数据平台的N个理由
本次演讲将分别从数据引擎的性能提升、互操作性的支持提升以及IntegratedML(自动化机器学习)、API全生命周期管理器等全新应用,来全方位多维度阐述从Caché数据库升级到InterSystems IRIS数据平台N个理由。
主讲人:杨乐乐
演讲主题:InterSystems全球响应中心服务介绍
通过演讲您将了解到InterSystems全球响应中心(Worldwide Response Center)提供的全面服务以及独特之处,更重要的是,作为InterSystems用户,您将如何获取快速响应、并高效得到您想要的技术支持服务!
欢迎点击进入直播!
公告
Claire Zheng · 一月 30, 2023
亲爱的开发者们!是时候公布2022 年 InterSystems 开发者社区杰出贡献者了🎉
我们很高兴为所有社区站点(英文、西文、葡语、日文、中文和法语)中最活跃的贡献者提供奖励,包括:
顶级作者——热门作者;
顶级专家——InterSystems专家;
顶级舆论制造者——意见领袖;
还有一个最新提名......年度突破奖!
在我们分享最好的之前,我们想介绍一个令人兴奋的新徽章——年度突破奖。这是一个从今年开始并为我们社区的发展做出最大贡献的人。
让我们共同见证2022年的社区名人墙,用热烈的掌声向大家致意! 👏🏼
徽章名称
优胜者(来自社区)
优胜者(来自InterSystems)
提名:年度突破奖
授予在 2022 年开始做出贡献并在 2022 年拥有最多帖子、点赞、翻译和观看次数的成员。
2022年度突破奖
@Lucas.Enard2487
@Smythe.Smythee
@Mark.OReilly
–
提名:InterSystems 热门作者
授予其文章在 2022 年获得最多浏览量的作者。
第一名:2022 金牌热门作者
@Yuri Marx
@Toshihiko Minamoto
第二名:2022 银牌热门作者
@Lucas.Enard2487
@Michael Lei
第三名:2022 青铜热门作者
@姚 鑫
@Evgeny Shvarov
4 - 10 名:2022 热门作者
@Muhammad Waseem
@Evgeniy Potapov
@Robert Cemper
@José Roberto Pereira
@Lorenzo Scalese
@Iryna Mykhailova
@Dmitry Maslennikov
@Guillaume Rongier
@Mihoko Iijima
@Eduard Lebedyuk
@Qiao Peng
@Alberto Fuentes
@Megumi Kakechi
@Ricardo Paiva
提名:InterSystems 专家
授予在 2022 年获得最多接受答案的作者。
第一名:2022 金牌专家
@Robert Cemper
@Eduard Lebedyuk
第二名:2022 银牌专家
@Julius Kavay
@Michael Lei
第三名:2022 铜牌专家
@Vitaliy Serdtsev
@Alexander Koblov
4 - 10 名:2022 社区专家
@Dmitry Maslennikov
@Jeffrey Drumm
@David Hockenbroch
@Cristiano Silva
@John Murray
@Yaron Munz
@Julian Matthews
@Vic Sun
@Marc Mundt
@Timothy Leavitt
@Guillaume Rongier
@Alex Woodhead
@Ben Spead
@Evgeny Shvarov
提名:InterSystems 意见领袖
授予在 2022 年帖子和答案获得最高赞数的作者。
第一名:2022 金牌意见领袖
@Yuri Marx
@Angelo Bruno Braga
第二名:2022 银牌意见领袖
@Robert Cemper
@Eduard Lebedyuk
第三名:2022 铜牌意见领袖
@Dmitry Maslennikov
@Guillaume Rongier
4 - 10 名:2022 社区意见领袖
@王喆
@Muhammad Waseem
@Lorenzo Scalese
@姚 鑫
@Lucas Enard
@Kurro Lopez
@Julius Kavay
@Evgeny Shvarov
@Ben Spead
@Rochael Ribeiro
@Timothy Leavitt
@Bob Kuszewski
@Danusa Calixto
@Raj Singh
热烈祝贺以上优胜者!感谢你们在 2022 年为 InterSystems 开发者社区做出的巨大贡献!
欢迎参与我们的年度调查,帮助我们变得更好:
👉🏼 InterSystems 开发者社区年度调研(2022) 👈🏼 Congratulations to @姚 鑫 @王喆 @Michael Lei @Qiao Peng
文章
姚 鑫 · 九月 27, 2022
# 第四十五章 配置第三方软件以与 InterSystems 产品结合使用
产品通常在与非 工具一起运行的环境中运行,我们的产品与此类工具之间的交互可能会产生有害影响。 关于最佳、可靠部署配置的指导假定我们的产品可以在不受第三方工具干扰的情况下进行部署。例如, 发现用于安全、系统监控或病毒扫描的软件可能会影响我们产品的安装、性能和功能。对于直接与属于 产品的一部分或被 产品使用的文件进行交互的工具(例如病毒扫描程序)尤其如此。
了解客户面临的业务、合规性和其他要求会影响有关在给定环境中运行哪些软件以及如何配置此类软件的决策。一般来说, 建议我们产品的服务器端安装通过物理安全和隔离来保护。这种保护应该减少对其他工具的需求,或者至少减少它们运行的频率。
病毒扫描仪观察:
1. 为了交付经过病毒检查的软件, 产品在经过消毒的环境中交付给我们的客户,并通过提供校验和进行验证。
2. 性能影响。
[对策] 出于扫描目的,排除以下文件和目录:
- `WIJ` 文件和包含 `WIJ` 文件的目录`*`。
- 本指南“配置 `IRIS`”一章中的所有数据库文件 (`.DAT`) 和包含数据库文件的目录*(请参阅配置数据库)。
- 存储或处理日志文件的任何目录`*`。
- `IRIS®` 数据平台运行所需的任何其他文件`/`目录`*`。例如备用日志目录*(请参阅数据完整性指南中的“日志”),或业务服务或生产使用的任何目录*。
3. 可执行文件的误报。
[对策] 出于扫描目的,排除所有 `irisdb.exe` 文件和包含 `irisdb.exe` 文件的目录。
警告:从恶意软件扫描中排除项目可能会将漏洞引入受保护的设备和应用程序。客户承担配置恶意软件保护的所有责任。
最后,当 发现第三方软件与我们的产品之间的交互对我们的产品行为产生负面影响时,我们会将这些问题报告给第三方供应商。
公告
Claire Zheng · 六月 19, 2023
大家好!
InterSystems Grand Prix 2023 结合了 InterSystems IRIS 数据平台的所有主要功能!
因此,我们邀请您使用以下功能并收集额外的技术奖励,以帮助您赢得奖品!
如下:
LLM AI 或 LangChain 用法:Chat GPT、Bard 等 - 6
InterSystems FHIR SQL Builder- 5
InterSystems FHIR-3
IntegratedML - 4
Native API - 3
嵌入式 Python - 4
互操作性 - 3
生产扩展(PEX)- 2
自适应分析 (AtScale) Cube的使用 - 3
Tableau、PowerBI、Logi 的使用 - 3
InterSystems IRIS BI - 3
列索引使用 - 1
Docker 容器使用 - 2
ZPM 包部署 - 2
在线演示 - 2
单元测试 - 2
实施 InterSystems Community Idea中的创意 - 4
在开发者社区发布的第一篇文章 - 2
在开发者社区发布的第二篇文章 - 1
代码质量通过 - 1
第一次贡献 - 3
YouTube 上的视频 - 3
LLM AI 或 LangChain 使用:Chat GPT、Bard 等 - 6 分
为构建使用LangChain库或大型语言模型(LLM)(例如 ChatGPT、Bard 和其他 AI 引擎(例如PaLM 、 LLaMA等)的解决方案会为您赢得 6 个专家奖励积分。 AutoGPT 的使用也很重要。
在 Open Exchange 中已经可以找到一些示例: iris-openai、 chatGPT telegram bot 。
这是一篇带有 langchain 使用示例的文章。
InterSystems FHIR SQL Builder - 5 分
InterSystems FHIR SQL Builder是 InterSystems IRIS for Health 的一项功能,有助于将 FHIR 资源映射到 SQL 表并通过应用程序中的 SQL 查询使用它。
在文档中了解更多信息。
在线课程。这是一个关于 Open Exchange 的例子。
注意:如果您实施 InterSystems FHIR SQL Builder,则不包括 InterSystems FHIR 即服务和 IRIS For Health 的 3 分奖励。
InterSystems FHIR 即服务和 IRIS For Health - 3 分
我们邀请所有开发人员使用InterSystems FHIR Server (FHIRaaS)构建新的或测试现有的应用程序。登录门户,进行部署并开始在您的编程竞赛应用程序中使用 AWS 上的 InterSystems FHIR 服务器。
您还可以使用 InterSystems IRIS for Health docker 版本构建 FHIR 应用程序。您可以使用IRIS-FHIR-Template ,它在 docker 镜像构建期间准备 FHIR 服务器。可以在此处找到 FHIR API 4.0.1 的文档。在InterSystems IRIS for Health 文档中了解更多信息。
IntegratedML 使用 - 4 分
1. 在您的 AI/ML 解决方案中使用 InterSystems IntegratedML。这是使用它的模板。
InterSystems IntegratedML 模板
2、数据导入工具:
数据导入向导
CSVGEN - CSV 导入工具
CSVGEN-UI - CSVGEN 的网络用户界面
3.文档:
使用 IntegratedML
4.在线课程和视频:
在 InterSystems IRIS 中学习 IntegratedML
为机器学习准备数据
使用机器学习工具包进行预测建模
IntegratedML 资源指南
IntegratedML 入门
使用 IntegratedML 和数据机器人进行机器学习
InterSystems Native API 使用 - 3 分
如果您使用任何 InterSystems Native API 选项( .NET 、 Java 、 Python 、 Node.js )访问全栈应用程序中的数据,您将获得此奖励。在这里了解更多。
嵌入式 Python - 4 分
在您的应用程序中使用嵌入式 Python并获得 4 分加分。您至少需要 InterSystems IRIS 2021.2。
注意:如果您还使用 Native API for Python,则只有 Embedded Python 才算奖励。
与 BPL 或 DTL 的互操作性生产 - 3 分
IRIS Interoperability Productions的主要特征之一是业务流程,可以用 BPL(业务流程语言)来描述。
在文档中了解有关业务流程的更多信息。
业务规则是一种无代码/低代码方法,用于管理互操作性生产的处理逻辑。在 InterSystems IRIS 中,您可以创建一个业务规则,您可以通过可视化或通过 ObjectScript 表示创建该规则。
如果您在互操作性产品中创建和使用业务流程或业务规则,您可以获得业务流程/业务规则奖励。
业务规则示例
在文档中了解有关业务规则的更多信息
生产扩展 (PEX) 使用 - 2 分
PEX 是互操作性产品的 Python、Java 或 .NET 扩展。
如果您在互操作性产品中将 PEX 与 Python、JAVA 或 .NET 结合使用,您将获得此奖励。
PEX演示。
在文档中了解更多关于 PEX 的信息。
InterSystems IRIS 具有Python Pex模块,该模块提供了从 Python 开发 InterSystems 互操作性产品的选项。使用它并为您的应用程序收集 3 个额外积分。也可以使用 Guillaume Ronguier 介绍的替代 python.pex 轮。
您还可以使用Python 互操作性,它是@Guillaume Rongier 提供的 Python 上 InterSystems IRIS 的 PEX 插件模块 这提供了在清晰的 python 中开发 InterSystems IRIS 互操作性解决方案的机会。
将 PEX 用于 Hugging Face 的文章,示例。
自适应分析 (AtScale) 多维数据集使用 - 3 分InterSystems Adaptive Analytics 提供创建和使用AtScale多维数据集的选项,用于分析解决方案。
您可以使用我们为比赛设置的 AtScale 服务器(可以在Discord 频道中收集 URL 和凭据)来使用多维数据集或创建一个新的多维数据集并通过 JDBC 连接到您的 IRIS 服务器。
使用 AtScale 的分析解决方案的可视化层可以使用 Tableau、PowerBI、Excel 或 Logi 制作。
文档, AtScale 文档
训练
Tableau、PowerBI、Logi 的使用 - 3 分
为您使用 Tableau、PowerBI 或 Logi 制作的可视化收集 3 分 - 每个 3 分。
可以通过直接 IRIS BI 服务器或通过与 AtScale 的连接进行可视化。
Logi 代表 InterSystems Reports 解决方案可用 - 您可以在InterSystems WRC 上下载作曲家。可以在discord channel中收集临时许可证。
文档
训练
InterSystems IRIS BI - 3 分
InterSystems IRIS 商业智能是 IRIS 的一项功能,它使您可以选择针对 IRIS 中的持久数据创建 BI 立方体和枢轴,然后使用交互式仪表板将此信息传递给用户。
了解更多
基本的iris-analytics-template包含 IRIS BI 多维数据集、数据透视表和仪表板的示例。
以下是 IRIS BI 解决方案的一组示例:
样品商务智能
Covid19分析
分析这个
权力的游戏分析
透视订阅
错误全局分析
使用 Docker 和 VSCode 创建 InterSystems IRIS BI 解决方案(视频)
可视化选择的自由:InterSystems BI (视频)
InterSystems BI(DeepSee) 概述(在线课程)
InterSystems BI(DeepSee) 分析器基础知识(在线课程)
列索引使用 - 1 分
列索引功能可以显着提高分析查询的性能。在您的解决方案的持久数据模型中使用列式索引并获得 1 个额外奖励积分。了解有关列索引的更多信息。
Docker 容器使用 - 2 分
如果应用程序使用在 docker 容器中运行的 InterSystems IRIS,则该应用程序将获得“Docker 容器”奖励。这是最简单的模板。
ZPM 包部署- 2 分
如果您做到以下措施,可以收集到奖励。为全栈应用程序构建和发布 ZPM(InterSystems Package Manager)包,这样它就可以通过以下方式部署:
zpm "install your-multi-model-solution"
安装了 ZPM 客户端的 IRIS 上的命令。
ZPM客户端。文档。
项目的在线演示 - 2 分如果您将项目作为在线演示提供给云,则可额外获得 2 个奖励积分。您可以自己完成,也可以使用此模板- 这是一个 示例。这是有关如何使用它的视频。
单元测试 - 2 分
对 InterSystems IRIS 代码进行单元测试的应用程序将获得奖励。
在文档和开发人员社区中了解有关 ObjectScript 单元测试的更多信息。
实施Developer Opportunity Idea的创新理念 - 4 分
实施来自InterSystems Community Ideas 门户的处于具有“社区机会(Community Opportunity)”状态的任何创新想法。这将为您提供 4 个额外的奖励积分。
关于开发者社区的文章 - 2 分
在 Developer Community 上发表一篇文章,描述您的项目的功能,并为该文章收集 2 分。
开发者社区第二篇文章 - 1分
您可以为第二篇文章或有关申请的翻译获得额外的奖励积分。第 3 次及以上不会带来更多积分,但您仍将赢得所有关注。
代码质量通过且零错误 - 1 分
包括用于代码静态控制的代码质量 Github 操作,并使其显示 0 个 ObjectScript 错误。
首次贡献 - 3 分
如果您是第一次参加 InterSystems Open Exchange 竞赛,可获得 3 个奖励积分!
YouTube 上的视频 - 3 分
制作演示您的产品的 Youtube 视频,每个视频可获得 3 分奖励积分。
奖励清单可能会发生变化。敬请持续关注!
问题
Michael Lei · 五月 10, 2021
我想安装Windows版本的管理门户引擎来创建Cache InterSystems数据库我想为Cache InterSystems创建一个样本数据库,并想通过Cache Entity Framework Provider访问它。但是,我无法找到一个特定的管理门户引擎来创建数据库。
你能指导一下如何在Windows中安装管理门户吗?
I want to install Management Portal Engine for Windows to create Cache InterSystems DB
I want to create a Sample Database for Cache InterSystems and want to access it via Cache Entity Framework Provider. But, I cannot find a particular engine of Management Portal to create a database.
Can you guide how to install Management Portal in Windows? 文档:https://docs.intersystems.com/latest/csp/docbook/Doc.View.cls?KEY=GCI_windows 其他相关讨论:https://community.intersystems.com/post/i-want-install-management-portal-engine-windows-create-cache-intersystems-db
文章
Claire Zheng · 一月 21, 2021
这是“IRIS数据库在医疗行业发展”系列课程的第三讲,InterSystems中国技术总监乔鹏为您介绍InterSystems IRIS独立组件。InterSystems IRIS数据平台是全球首款且唯一一款专门设计用于从医疗数据中提取价值的数据平台。
文章
Claire Zheng · 三月 23, 2021
2021年3月19日,在InterSystems极客俱乐部首次进行的直播课中,InterSystems中国售前支持专家刘皆良( @Jieliang.Liu )分享了一个有趣的主题:告诉你从Caché数据库升级到InterSystems IRIS数据平台的N个理由。直播视频贴上,欢迎大家围观。
公告
Claire Zheng · 十月 19, 2022
2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(←点击链接进入参赛页面,浏览所有参赛文章)!投票截止至10月23日,你的支持与喜爱,是优秀作品获得“开发者社区奖”的关键!我们先来看看目前作品排名情况吧!距离投票截止还有五天(截止至10月23日),我们暂时无法获得专家评审分数,以下根据作品“点赞”进行排名。
N
作者
标题
点赞⬇
查看数
奖励项目个数
1
Zhe Wang
IRIS如何进行CRUD操作
36
197
3
2
Meng Cao
Caché数据库私有apache版本升级
33
336
1
3
sun yao
前端操作自动生成BS、BP、BO
22
123
2
4
John Pan
论集成标准的选择对医院信息集成平台建设的影响
21
113
1
5
lizw lizw
关于%Dictionary.CompiledClass类在实际业务中的一些应用
20
114
1
6
聆严 周
使用Prometheus监控Cache集群
18
175
3
7
Chang Liu
在国产系统上安装Healthconnect2021
17
104
2
8
Zhe Wang
IRIS快速查询服务思路分享
17
58
3
9
Zhe Wang
使用Global进行数据可视化---商业智能(BI)
16
37
2
10
John Pan
如何调用Ensemble/IRIS内置的HL7 V2 webservice - Java,PB9,Delphi7样例
14
96
2
11
Zhe Wang
小工具:IRIS管理页打开显示查询功能
14
62
2
12
water huang
对 %XML.PropertyParameters类的探索
13
39
1
13
姚 鑫
IRIS与Caché的23种设计模式
13
59
3
14
Zhe Wang
Rest实现Post、Get、Put、Delete几种操作方式
13
30
2
15
聆严 周
Cache / IRIS 操作数据的3种基本方式
11
153
1
16
he hf
10分钟快速开发一个连接到InterSystems IRIS数据库的C#应用
11
193
2
17
shaosheng shengshao
HEALTHSHARE2018版如何实现AES(CBC)的HEX输出,并可以实现加密和解密
11
63
3
18
water huang
Ens.Util.JSON类的启发
9
54
2
19
bai hongtao
第三方HA软件结合MIRROR使用方法探讨
9
69
1
20
li wang
HealthConnect访问HTTPS开头地址
8
21
2
21
shaosheng shengshao
windows下处理IIS在未安装但Healthshare已安装的时候,部署IIS服务并代理Healthshare
8
43
1
22
zhanglianzhu zhanglianzhu
Cache死循环检测和申明式事务
8
101
0
23
Liu Tangh
在Cache系统中使用负载均衡服务的探讨
8
25
1
24
yaoguai wan
IRIS架构的浅显理解以及windows10、docker安装IRIS Health详解流程及部分问题浅析
6
30
2
25
Zhe Wang
COS的基本语法
3
12
3
*奖励项目详见参赛规则:点击阅读
我们此次征文大赛计分规则如下:
🥇【专家提名奖】评选规则,由经验丰富的专家评审团进行评选打分,与其他加分项综合后进行排名。
🥇【开发者社区奖】评选规则,每个点赞计分为1分,与其他加分项综合后进行排名。
🥇【入围奖】评选规则,成功参赛的其余用户都将获得特别奖励。
每位作者只可以获得一个奖项(即:您只可以获得一次专家提名奖/开发者社区奖/入围奖);
当出现票数相当的平手情况时,将以专家评选投票数作为最终票数高低的判断标准。
那么,抓住最后五天的投票时间,为你喜欢的作品“点赞”投票吧!你的点赞是优秀作品获得【开发者社区奖】的关键!
10月24日,我们将通过Online Meetup宣布获奖名单,敬请留意后续参会信息!
欢迎关注InterSystems开发者社区中文版首届技术征文大赛
文章
Jingwei Wang · 九月 16, 2022
此篇文章给大家介绍一个使用pyodbc连接到 InterSystems IRIS数据库的示例,详情如下:
InterSystems IRIS 安装在Redhat 操作系统中,使用pyodbc在Mac操作系统中连接到Redhat 操作系统中InterSystems IRIS数据库。
下载测试代码
使用vscode打开测试代码,并在Solutions文件夹下安装pyodbc
pip install pyodbc
在Mac操作系统中安装ODBC驱动
brew update
brew install unixodbc
安装后,查看Mac操作系统中的odbcinst.ini文件,此时odbcinst.ini文件应该是空的。
Mac操作系统中/usr/local/bin下使用下列命令注册驱动 或者 配置DSN
注册ODBC驱动
odbcinst -i -d -f pyodbc_wheel/mac/odbcinst.ini
配置本地DSN
pyodbc_wheel/mac/odbcinst.iniodbcinst -i -s -h -f odbc.ini_unixODBCtemplate
配置系统DSN
odbcinst -i -s -l -f pyodbc_wheel/mac/odbcinst.ini
执行后,查看Mac操作系统中的odbcinst.ini文件,此时odbcinst.ini文件应该是空的, 安装如下信息更改odbcinst.ini文件。
[InterSystems ODBC]
Description=InterSystems ODBC
Driver=pyodbc_wheel/mac/libirisodbc35.so
Setup=pyodbc_wheel/mac/libirisodbc35.so
UsageCount=1
将connection.config连接配置文件里面的内容改成Redhat 操作系统中InterSystems IRIS的连接信息。
ip: 192.168.157.XX
port: 51773
namespace: USER
username: user
password: pwd
运行pyodbcplaystocksTask1.py 文件。会显示“Connected to InterSystems IRIS”,表示成功连接到InterSystems IRIS 。
公告
Michael Lei · 四月 15, 2021
开发者们现在可以下载一套InterSystems ObjectScript扩展插件,并开始使用微软的Visual Studio Code IDE编写应用程序。我们培训部门的新VS Code资源指南提供了大量开发人员入门需要的内容,包括:
连接到InterSystems实例:安装和使用VS Code的ObjectScript扩展VS Code开发应用程序文档:使用开源社区。 播客集: 在VS代码中编写ObjectScript (20m) 开发者社区文章。如何报告问题 Github Repository。InterSystems语言服务器 Github Repository。InterSystems服务器管理器 Github Repository。VS代码的InterSystems ObjectScript扩展 了解IDE。 微软文档。Visual Studio代码 - 入门 微软视频。Visual Studio代码入门 (5m)
更多详情欢迎访问:https://learning.intersystems.com/course/view.php?id=1678&ssoPass=1
公告
Claire Zheng · 四月 10, 2023
InterSystems已修复一个缺陷,该缺陷在罕见情况下会导致ECP客户端不稳定。
该缺陷存在于以下产品和基于这些产品的任何InterSystems产品中。
受影响的版本是2022.1.x、2022.2和2022.3:
InterSystems IRIS®
InterSystems IRIS for Health™
HealthShare® Health Connect
受影响的版本是2022.2(只针对部署ECP的客户):
InterSystems HealthShare®
这个问题只发生在ECP客户端系统中。当这个问题被触发时,进程可能遇到<SYSTEM>或<DATABASE>错误。出错后,ECP客户端会出现不稳定;在某些情况下,实例可能会挂起。对数据没有影响,ECP数据库服务器不受影响。
要清除不稳定性,必须重新启动ECP客户端实例。
如果您的 IRIS、IRIS for Health 或 Health Connect 实例受到影响,补救措施是升级到版本 2023.1 或 2022.1.3,这两个版本都将很快发布。
如果您有受影响的 HealthShare 实例,一组单独的警报文档和补救建议将很快发布。
该缺陷的修复被识别为 TR1162,将包含在InterSystems IRIS®、InterSystems IRIS for Health™和HealthShare® Health Connect以及基于它们的任何InterSystems产品的所有未来版本。
这个修复也可以通过补丁Ad hoc获得。
如果您对这个警报有任何疑问,请联系全球响应中心。
文章
Michael Lei · 四月 17, 2022
# 在IRIS容器里添加VSCode
设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。[我的代码库可以在这里找到](https://github.com/nickmitchko/Hosting-vscode-in-a-container)
> 带VSCode 且预连接好的InterSystems IRIS 容器
| Cred | Value |
|--------------|:--------:|
| User | _SYSTEM |
| Password | SYS |

## 概要
这个项目创建了一个IRIS容器,在同一个IRIS容器中提供了vscode的托管(web-based)版本。这提供了:
* 同样的容器代码编辑
* 预连接到容器内的IRIS 实例
* 管理门户里的链接
* 自动启动IDE
# 快速启动
1. [下载](https://github.com/nickmitchko/Hosting-vscode-in-a-container/archive/refs/heads/master.zip) 或者 `git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git`
2. 在项目根目录下, 运行 `docker build . -t vscode-irishealth-ml:latest --no-cache`
3. 执行 `docker-compose up`
* 不使用 docker compose? 请看 [这里](#No-Docker-Compose)
4. 浏览 [管理门户](http://localhost:52773/csp/sys/%25CSP.Portal.Home.zen)
5. 用用户名和密码登陆
6. 在Favorites 面板里点击 VSCODE 链接 on the favorites pane
7. 依据提示在VScode里使用相同的用户名/密码 来连接到IRIS 实例
```bash
# New folder for project
mkdir vscode-iris
cd vscode-iris
# Clone repo here
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git .
# Build image
docker build . -t vscode-irishealth-ml:latest --no-cache
# Only Run (A) or (B)
#
# (A) Run compose file
docker-compose up
# OR (B) if you want a daemon
docker-compose up -d
```
## 添加持久化
如果想要一个持久化IRIS实例, 去掉docker-compose.yml 文件中16-20行里的注释 . 这样就在容器上增加了一个持久化存储的挂载。
```yml
volumes:
- "./durable/:/durable/"
environment:
- ISC_DATA_DIRECTORY=/durable/iconfig
```
## 改变基础镜像Base Image
这个镜像是建立在 InterSystems 开发者社区 zpm 镜像上 ([看这里](https://hub.docker.com/r/intersystemsdc/iris-community/tags)). 这些镜像包括了让我们从package repo 安装的zpm命令,只是仅有一个90天的社区版 license。
用于这个builds上的镜像标签image tag:
```dockerfile
FROM intersystemsdc/irishealth-ml-community:latest
```
如果你想改变镜像, 把docker 文件里的第一行改成你想要的镜像标签image tag (可以是一个自定义的IRIS instance 或者 [官方支持的](https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_containerregistry#PAGE_containerregistry_public)). 例如:
```dockerfile
FROM containers.intersystems.com/intersystems/irishealth-community:2021.2.0.651.0
```
# 无 Docker-Compose
如果你没有用 docker compose, 你仍然可以如下运行容器:
```bash
# After building the container
# --after command is required
docker run --name vscode -d \
--publish 1972:1972 \
--publish 52773:52773 \
--publish 51773:51773 \
--publish 53773:53773 \
--publish 8080:8080 \
--publish 8888:8888 \
vscode-irishealth-ml:latest \
--after "/bin/bash /install/boot.sh"
```
公告
Michael Lei · 十一月 11, 2021
分析
学习路径: 使用自适应分析建立数据模型
学习路径: 使用IRIS 商业智能BI建立数据模型
学习路径: 用InterSystems IRIS BI分析器BI Analyzer构建模型
其他
资源指南: 迁移资源指南
视频: 用交互式方式将应用从Cache迁移IRIS 演示Demo
学习路径: 实施合作伙伴起步 (金融行业) 和 所有行业
视频: 在Docker里运行InterSystems IRIS 社区版
视频: 开发和部署InterSystems Containers容器的工具
开发
视频: 什么是嵌入式 Embedded Python?
视频: 为多个ObjectScript 连接配置vs代码实现工作空间 Workspaces
视频: 在VS Code中用Objectscript 类进行客户端编辑
视频: 在InterSystems IRIS for Health 中将历史数据转化为HL7 FHIR R4
服务
视频与练习: HealthShare 信息转化服务演示Demo与练习 exercise (S3 和 HealthLake 版本)
系统管理
课程 (更新): InterSystems 安全基础 (原Caché 安全概览)
视频: 配置 InterSystems Web Gateway 网关
文章
姚 鑫 · 七月 15, 2022
# 第六章 使用嵌入式 Python (三)
# 从 ObjectScript 调用嵌入式 Python 代码
## 使用 Python 库
嵌入式 `Python` 让可以轻松访问数以千计的有用库。通常称为“包”,它们需要从 `Python` 包索引 `(PyPI)` 安装到 `/mgr/python` 目录中,然后才能使用。
例如,`ReportLab Toolkit` 是一个用于生成 `PDF` 和图形的开源库。以下命令使用软件包安装程序 `irispip` 在 `Windows` 系统上安装 `ReportLab`:
```java
C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python reportlab
```
在基于 `UNIX` 的系统上,使用:
```java
$ pip3 install --target /InterSystems/IRIS/mgr/python reportlab
```
安装包后,可以使用 `%SYS.Python` 类的 `Import()` 方法在` ObjectScript` 代码中使用它。
给定一个文件位置,以下 `ObjectScript` 方法 `CreateSamplePDF()` 创建一个示例 `PDF` 文件并将其保存到该位置。
```java
Class Demo.PDF
{
ClassMethod CreateSamplePDF(fileloc As %String) As %Status
{
set canvaslib = ##class(%SYS.Python).Import("reportlab.pdfgen.canvas")
set canvas = canvaslib.Canvas(fileloc)
do canvas.drawImage("C:\Sample\isc.png", 150, 600)
do canvas.drawImage("C:\Sample\python.png", 150, 200)
do canvas.setFont("Helvetica-Bold", 24)
do canvas.drawString(25, 450, "InterSystems IRIS & Python. Perfect Together.")
do canvas.save()
}
}
```
该方法的第一行从 `ReportLab` 的 `pdfgen` 子包中导入 `canvas.py` 文件。第二行代码实例化一个 `Canvas` 对象,然后继续调用它的方法,这与调用任何 `IRIS` 对象的方法很相似。
然后,可以以通常的方式调用该方法:
```java
do ##class(Demo.PDF).CreateSamplePDF("C:\Sample\hello.pdf")
```
## 调用用 `Python` 编写的 `IRIS` 类的方法
可以使用嵌入式 `Python` 在 `IRIS` 类中编写方法,然后从 `ObjectScript` 调用它,就像调用用 `ObjectScript` 编写的方法一样。
下一个示例使用 `usaddress-scourgify` 库,可以从 `Windows` 上的命令行安装,如下所示:
```java
C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python usaddress-scourgify
```
在基于 `UNIX` 的系统上,使用:
```java
$ pip3 install --target /InterSystems/IRIS/mgr/python usaddress-scourgify
```
下面的演示类包含美国地址部分的属性和一个用 `Python` 编写的方法,该方法使用 `usaddress-scourgify` 根据美国邮政服务标准对地址进行规范化。
```java
Class Demo.Address Extends %Library.Persistent
{
Property AddressLine1 As %String;
Property AddressLine2 As %String;
Property City As %String;
Property State As %String;
Property PostalCode As %String;
Method Normalize(addr As %String) [ Language = python ]
{
from scourgify import normalize_address_record
normalized = normalize_address_record(addr)
self.AddressLine1 = normalized['address_line_1']
self.AddressLine2 = normalized['address_line_2']
self.City = normalized['city']
self.State = normalized['state']
self.PostalCode = normalized['postal_code']
}
}
```
给定地址字符串作为输入,类的 `Normalize()` 实例方法规范化地址并将每个部分存储在 `Demo.Address` 对象的各种属性中。
可以按如下方式调用该方法:
```java
USER>set a = ##class(Demo.Address).%New()
USER>do a.Normalize("One Memorial Drive, 8th Floor, Cambridge, Massachusetts 02142")
USER>zwrite a
a=3@Demo.Address
+----------------- general information ---------------
| oref value: 3
| class name: Demo.Address
| reference count: 2
+----------------- attribute values ------------------
| %Concurrency = 1
| AddressLine1 = "ONE MEMORIAL DR"
| AddressLine2 = "FL 8TH"
| City = "CAMBRIDGE"
| PostalCode = "02142"
| State = "MA"
+-----------------------------------------------------
```
## 运行用 `Python` 编写的 `SQL` 函数或存储过程
当使用嵌入式 `Python` 创建 `SQL` 函数或存储过程时, `IRIS` 会投影一个具有可从 `ObjectScript` 调用的方法的类,就像使用任何其他方法一样。
例如,本文档前面示例中的 `SQL` 函数会生成一个类 `User.functzconvert`,它有一个 `tzconvert()` 方法。从 `ObjectScript` 调用它,如下所示:
```java
USER>zwrite ##class(User.functzconvert).tzconvert($zdatetime($h,3),"US/Eastern","UTC")
"2021-10-20 15:09:26"
```
这里,`$zdatetime($h,3)` 用于将当前日期和时间从 `$HOROLOG` 格式转换为 `ODBC` 日期格式。
## 运行任意 Python 命令
有时,当开发或测试嵌入式 `Python` 代码时,从 `ObjectScript` 运行任意 `Python` 命令会很有帮助。可以使用 `%SYS.Python` 类的 `Run()` 方法来执行此操作。
也许想测试本文档前面使用的 `usaddress_scourgify` 包中的 `normalize_address_record()` 函数,但不记得它是如何工作的。可以使用 `%SYS.Python.Run()` 方法从终端输出函数的帮助,如下所示:
```java
USER>set rslt = ##class(%SYS.Python).Run("from scourgify import normalize_address_record")
USER>set rslt = ##class(%SYS.Python).Run("help(normalize_address_record)")
Help on function normalize_address_record in module scourgify.normalize:
normalize_address_record(address, addr_map=None, addtl_funcs=None, strict=True)
Normalize an address according to USPS pub. 28 standards.
Takes an address string, or a dict-like with standard address fields
(address_line_1, address_line_2, city, state, postal_code), removes
unacceptable special characters, extra spaces, predictable abnormal
character sub-strings and phrases, abbreviates directional indicators
and street types. If applicable, line 2 address elements (ie: Apt, Unit)
are separated from line 1 inputs.
.
.
.
```
`%SYS.Python.Run()` 方法在成功时返回 `0`,在失败时返回 `-1`。