清除过滤器
公告
Michael Lei · 一月 27, 2023
大家好,
我在 OEX 上加载了一个新软件包,我也计划在本月参加比赛。
简而言之,它为您提供以下内容。
用于 InterSystems IRIS 的持久(表)类以保存记录历史的基类
这些类允许在touch时将持久类记录历史化到另一个持久类中。
这提供了任何记录的完整历史记录。
它允许记录回滚到特定版本。
它可以自动清除旧的历史记录。
请检查一下。
谢谢你们。
公告
Claire Zheng · 七月 10, 2023
Hi 开发者们,
是时候宣布InterSystems 2023 年度编程大奖赛的获奖者了!
感谢提交20 份应用申请出色参与者们 🔥
专家提名奖
🥇第一名,7,000 美元,获奖者@Henrique Dias, @Henry Pereira, @José Roberto Pereira ,获奖应用 iris-fhir-generative-ai
🥈第二名,5,000 美元,获奖者@Ikram Shah, @Sowmiya Nagarajan,获奖应用 IRIS FHIR Transcribe Summarize Export
🥉第三名,3,000 美元,获奖者 @Muhammad Waseem 获奖应用irisChatGPT
🏅第四名,2,000 美元,获奖者@Dmitry Maslennikov,获奖应用ZProfile
🏅第五名 ,1,000 美元,获奖者@Ikram Shah, @Sowmiya Nagarajan ,获奖应用 FHIR - AI and OpenAPI Chain
🌟 200 美元,获奖者:@Robert Cemper, 获奖应用oex-mapping
🌟 200 美元,获奖者:@Rob Ellis, 获奖应用RDUH Interface Analyst HL7v2 Browser Extension
🌟 200 美元,获奖者:@davi massaru teixeira muta, 获奖应用fhir-chatGPT
🌟 200 美元,获奖者:@davi massaru teixeira muta, 获奖应用interoperability_GPT
🌟 200 美元,获奖者:@Oleksandr Zaitsev ,获奖应用password-app-iris-db
🌟 200 美元,获奖者:@Daniel Aguilar 获奖应用irisapitester
⭐️ 100 美元,获奖者:@Shanshan Yu,获奖应用IntegratedMLandDashboardSample
⭐️ 100 美元,获奖者:@Zhang Fatong 获奖应用 IntegratedML-IRIS-PlatformEntryPrediction
⭐️ 100 美元,获奖者:@Sean Connelly 获奖应用DevBox
⭐️ 100 美元,获奖者:@John Murray 获奖应用 oex-vscode-snippets-template
⭐️ 100 美元,获奖者:@Sergey Mikhailenko,获奖应用appmsw-warm-home
⭐️ 100 美元,获奖者:@yurimarx Marx, 获奖应用 FHIR Editor
⭐️ 100 美元,获奖者:@Oliver Wilms,获奖应用iris-user-manager
⭐️ 100 美元,获奖者:@Oleh Dontsov 获奖应用 Recycler
⭐️ 100 美元,获奖者:@Oleh Dontsov 获奖应用 IRIS Data Migration Manager
社区提名奖
🥇第一名,3,000 美元,获奖者@Henrique Dias, @Henry Pereira, @José Roberto Pereira ,获奖应用 iris-fhir-generative-ai
🥈第二名,2,000 美元,获奖者@Shanshan Yu,获奖应用IntegratedMLandDashboardSample
🥉第三名,1,000 美元,获奖者@Zhang Fatong,获奖应用 IntegratedML-IRIS-PlatformEntryPrediction
我们向所有参赛者和获奖者表示最诚挚的祝贺!
下次一起来参赛吧!;) 热烈祝贺 @Shanshan Yu@Zhang Fatong二位中国选手!期待以后看到更多的优秀作品!
文章
Claire Zheng · 一月 15
本文汇聚了InterSystems IRIS医疗版互联互通套件产品用例视频,共19个视频,欢迎收藏、观看!您也可以通过B站视频合集观看全部内容。
互联互通套件产品用例:互联互通文档转FHIR
互联互通套件产品用例:vscode连接HCC容器版
互联互通套件产品用例:互联互通套件Docker版安装步骤
互联互通套件产品用例:糖尿病预测AI应用
互联互通套件产品用例:HCC3.0 发布订阅,服务
互联互通套件产品用例:Rest API介绍
互联互通套件产品用例:共享文档:数据校验 - SQL前校验
互联互通套件产品用例:IRIS Studio连接HCC容器版
Smart On FHIR用例:心血管疾病风险预测
Smart On FHIR用例:儿童生长发育曲线
互联互通套件产品用例-服务:患者注册
互联互通套件产品用例-共享文档:文档生成 + 文档查阅
互联互通套件产品用例-共享文档:数据校验 - SQL
互联互通套件产品用例-共享文档:数据导入
互联互通套件产品用例-共享文档:数据校验 -文档校验
互联互通套件产品用例-共享文档:值集更新
互联互通套件产品用例:平台性能监控
互联互通套件产品用例:批量生成电子病历共享文档
互联互通套件产品用例:国家三级公立医院绩效考核指标
文章
Michael Lei · 一月 26
InterSystems 常见问题解答
如果系统24小时没有停止,旧的日志文件将根据“日志文件删除设置”在0:30删除。
导致日志文件保留的时间早于“日志文件删除设置”的一个可能原因是存在仍处于开放状态的事务。
在这种情况下,您将能够通过搜索执行事务的进程并完成事务来删除日志文件。
下面的示例检查是否存在未完成的事务,如果存在,则输出目标文件名和日志记录信息。
(示例可以从这里下载
*注意*如果要检查的日志文件较大或日志文件较多,则执行需要时间,因此请联系我们的支持中心。
Class ISJ.JournalUtility { ClassMethod GetOpenTransaction() As %Status { set status= $$$OK #dim ex As %Exception.AbstractException #dim rset As %ResultSet try { //current journal file write !, "Current journal file name:" , ##class ( %SYS.Journal.System ).GetCurrentFileName(),!! // Open transaction file // Get info about journals recorded in WIJ $$$ThrowOnError ( ##class ( %SYS.Journal.System ).GetImageJournalInfo(.filename,.jrnoffset,.jrnfilecount,.opentranoffset,.opentranfilecount)) if $get (opentranoffset)= "" { write !, "There are no open transactions" ,! return status } //If there is a differeence in file counts(jrnfilecount-opentranfilecount>0 ) // There is an open transaction in the old journal file, so please search for a target file name if jrnfilecount-opentranfilecount> 0 { set loopcnt=jrnfilecount-opentranfilecount for i= 1 : 1 :loopcnt { set currentfile=filename $$$ThrowOnError ( ##class ( %SYS.Journal.File ).GetPrev(currentfile,.filename)) } } write "〇〇 list of open target journal records 〇〇" ,! set rset= ##class ( %ResultSet ). %New ( "%SYS.Journal.Record:List" ) do rset. %Execute (filename,,,, $LB ( "Address" , "=" ,opentranoffset)) write !, "=== File Name : " ,filename, " ===" ,! write "Address : TimeStamp : ProcessID : RemoteSystemID : TypeName : Transaction" ,! while rset. %Next () { write rset. %Get ( "Address" ), " : " , rset. %Get ( "TimeStamp" ), " : " , rset. %Get ( "ProcessID" ), " : " , rset. %Get ( "RemoteSystemID" ), " : " , rset. %Get ( "TypeName" ), " : " , rset. %Get ( "InTransaction" ),! } } catch ex { set status=ex.AsStatus() } return status } }
执行示例如下。
USER> do ##class (ISJ.JournalUtility).GetOpenTransaction() Current journal file name:/usr/irissys/mgr/journal/ 20210330.002 〇〇 list of open target journal records 〇〇 === File Name : /usr/irissys/mgr/journal/ 20210330.001 === Address : TimeStamp : ProcessID : RemoteSystemID : TypeName : Transaction 1834156 : 2021 - 03 - 30 13 : 19 : 00 : 5194 : 1073741824 : BeginTrans : 1
公告
Claire Zheng · 一月 10
Hi 开发者们,
我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,此次编程大赛关注于“FHIR与数字医疗互操作性”这个主题。
🏆 InterSystems编程大赛:FHIR 与数字医疗互操作性🏆
时间: 2024年1月15日至2月5日(美国东部时间)
奖金池: 14,000 美元
话题
欢迎您开发互操作性 FHIR 解决方案或医疗互操作性解决方案,您也可以开发辅助类解决方案,以帮助其他用户使用 InterSystems IRIS for Health、Health Connect 或 FHIR 服务器开发或/和维护互操作性解决方案。
一般要求:
应用程序或库必须功能齐全。该应用程序不应该是另一种语言中已有库的导入或直接接口(C++ 除外,您确实需要做大量工作来为 IRIS 创建接口)。不允许对现有应用程序或库进行复制粘贴。
有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。
该应用程序应在 IRIS Community Edition 或 IRIS for Health Community Edition 上运行。两者都可作为host (Mac, Windows)版从Evaluation Site下载,或者可以按从InterSystems Container Registry或Community Container中提取的容器形式使用: intersystemsdc/iris-community:latest 或 intersystemsdc/irishealth-community:latest 。
该应用程序需开源并在GitHub上发布。
应用程序的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。
一名开发者只允许提交 3 份作品。
注意。我们的专家将根据申请的复杂性和实用性标准对是否批准参加比赛拥有最终决定权。他们的决定是最终决定,不得上诉。
奖品
1. 专家提名奖(Experts Nomination)——获奖者由我们特别挑选的专家团选出:
🥇第一名 - 5,000 美元
🥈第二名 - 3,000 美元
🥉第三名 - 1,500 美元
🏅第四名 - 750 美元
🏅第五名 - 500 美元
🌟第 六名~第十名 - 100 美元
2. 社区提名奖(Community Nomination)- 获得总票数最多的应用程序:
🥇第一名 - 1,000 美元
🥈第二名 - 750 美元
🥉第三名 - 500 美元
🏅第四名 - 300 美元
🏅第五名 - 200 美元
如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享。
谁可以参加?
任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。
✅ 还没有账号?点击此处创建一个账号!
👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。
请注意,要在您的README文件中标注您的团队成员——社区用户profile。
重要截止日期:
🛠 应用程序开发和注册阶段:
2024 年 1 月 15 日(美国东部时间 00:00):比赛开始。
2024 年 1 月28 日(美国东部时间 23:59):提交截止日期。
✅ 投票期限:
2024 年 1 月 29 日(美国东部时间 00:00):投票开始。
2024 年 2 月 5 日(美国东部时间 23:59):投票结束。
注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应
资源助力:
✓ 应用示例(英文):
FHIR 服务器模板
iris-healthtoolkit-模板
互操作性-嵌入式-python
FHIR HL7 SQL 演示FHIR DropBox
HL7 和 SMS 互操作性演示
IrisHealth 演示
单元测试 DTL HL7
医疗保健 HL7 XML
FHIR 互操作性示例
FHIR-Orga-dt
FHIR 伪匿名化代理
FHIR-客户端-java
FHIR-客户端-.net
FHIR-客户端-python
Open Exchange 上的 FHIR 相关应用程序
Open Exchange 上的 HL7 应用程序
✓ 在线课程(英文):
交互式数字医疗互操作性基础- 使用 InterSystems IRIS for Health 构建数字医疗互操作性产品的入门课程
FHIR 集成
HL7 集成
了解软件开发人员的FHIR
探索 FHIR 资源 API
使用 InterSystems IRIS for Health 减少再入院率
将设备连接到 InterSystems IRIS for Health
监测婴儿的血氧饱和度
FHIR 集成快速入门
✓ 视频(英文):
6 个 FHIR 快速问题
SMART on FHIR:基础知识
使用 FHIR 进行开发 - REST API
InterSystems IRIS for Health 中的 FHIR
FHIR API 管理
在 IRIS for Health 中搜索 FHIR 资源
✓ IRIS 初学者(英文):
使用 InterSystems IRIS 构建服务器端应用程序
初学者的学习路径
✓ 对于ObjectScript 包管理器 (IPM)的初学者(英文):
如何使用 InterSystems IRIS 的 REST 应用程序构建、测试和发布 IPM 包
采用 InterSystems IRIS 和 IPM 的封装优先开发方法
✓ 如何将您的APP提交给大赛:
首先您需要发布应用:如何在 Open Exchange 上发布应用程序
然后,您可以提交申请:如何提交比赛申请
需要帮忙?
加入 InterSystems Discord 服务器上的竞赛频道或在本文评论中留言告诉我们。
期待您的精彩项目——加入我们的编码马拉松吧!
❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️ 中文资源参考-视频合集 | InterSystems IRIS医疗版互联互通套件产品用例
公告
Claire Zheng · 二月 6
Hi 开发者们,
是时候宣布 InterSystems 编程大赛:FHIR和数字医疗互操作性的获奖者了!
我们收到了12 份申请,感谢这些出色的参赛者 🔥
专家提名奖
🥇第一名,5,000 美元,@José.Pereira、@Henry.HamonPereira、@Henrique.GonçalvesDias ,应用程序iris-fhirfy
🥈第二名,3,000 美元,@Muhammad.Waseem ,应用程序iris-fhir-lab
🥉第三名,1,500 美元,@Flavio.Naves、Denis Kiselev、Maria Ogienko、Anastasia Samoilova、Kseniya Hoar ,应用程序ai-query
🏅第四名,750 美元,@Maria.Gladkova、@KATSIARYNA.Shaustruk、@Maria.Nesterenko、@Alena.Krasinskiene,应用程序Health Harbor
🏅第五名和第六名,各300 美元
@xuanyou du 应用程序 FHIR-OCR-AI
@Oliver.Wilms 应用程序iris-hl7
🌟 100 美元,@shan yue 应用程序Fhir-HepatitisC-Predict
🌟 100 美元,@Shanshan Yu,应用程序fhirmessageverification
🌟 100 美元,@Yuri.Gomes,应用程序Clinical Mindmap Viewer
🌟 100 美元,@Chang Dao,应用程序Patient-PSI-Data
社区提名奖
🥇第一名,1,000 美元, @José.Pereira、@Henry.HamonPereira、@Henrique.GonçalvesDias 应用程序iris-fhirfy
🥈第二名,750 美元,@shan.yue ,应用程序Fhir-HepatitisC-Predict
🥉第三名,500 美元,@xuanyou.du ,应用程序FHIR-OCR-AI
🏅第四名,300 美元,@Muhammad.Waseem ,应用程序iris-fhir-lab
🏅第五名,200 美元,@Flavio.Naves、Denis Kiselev、Maria Ogienko、Anastasia Samoilova、Kseniya Hoar,应用程序ai-query
我们向所有参赛者和获奖者表示最诚挚的祝贺!
下次再一起享受乐趣吧;)
文章
Claire Zheng · 四月 21, 2021
近日,InterSystems极客俱乐部举办了线上直播“InterSystems Caché系统运维培训”,这是系列视频之一。InterSystems中国资深售前顾问吕正之讲解了“InterSystems Caché架构、备份与恢复”。
文章
Claire Zheng · 四月 3, 2023
亲爱的社区开发者们:
感谢第四届 InterSystems 技术征文大赛(InterSystems IRIS 教程)的优秀参与者们,我们有很棒的新文章供您阅读和欣赏!
🌟 24 篇精彩文章🌟
是时候宣布此次竞赛优胜者啦!
让我们认识一下获奖者和他们的文章:
⭐️ 专家奖——由 InterSystems 专家选出的获奖者:
🥇 第一名: InterSystems Embedded Python in glance 作者: @Muhammad Waseem
🥈 第二名: InterSystems Embedded Python with Pandas - 第 1 部分,作者:@Rizmaan Marikar
🥉第三名: SQLAlchemy - 将 Python 和 SQL 与 IRIS 数据库结合使用的最简单方法 作者:@Heloisa Paiva
⭐️开发者社区奖—— 由社区成员选出的获奖者,获得最多赞的文章:
🏆 设置 VS Code 以使用 InterSystems 技术 作者:@Maria Gladkova
此外!
⭐️我们想根据贡献的数量奖励更多的作者:
@Robert Cemper:4 篇文章!
@Heloisa Paiva: 3 篇文章!
@Iryna Mykhailova: 3 篇文章!
这些作者将获得适用于 iPad 的 Magic Keyboard Folio 或 Bose Soundlink Micro 蓝牙扬声器!
让我们祝贺所有参加 英文社区 #4第四届技术征文大赛的英雄们:
@Robert Cemper
@Heloisa Paiva
@Muhammad Waseem
@王喆
@Iryna Mykhailova
@Maria Gladkova
@Yone Moreno
@Akio Hashimoto
@Julian Matthews
@Daniel Aguilar
@water huang
@Oliver Wilms
@Rizmaan Marikar
@姚 鑫
@Zhong Li
@Jude Mukkadayil
@Roger Merchberger
谢谢你们!您为我们的开发社区做出了卓越的贡献!
我们将联系参赛者以寄送礼品。 再次感谢所有中国选手的热情参与!@姚 鑫@王喆@water huang
公告
Claire Zheng · 八月 19, 2021
亲爱的社区开发者们,大家好!
欢迎积极参与新一轮InterSystems开发者竞赛!
🏆 InterSystems开发者竞赛:InterSystems IRIS Analytics 🏆
竞赛时间:2021年8月23日-9月12日
奖金总额: $8,750
登录页面即可参赛: https://contest.intersystems.com
奖项设置
1. 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出:
🥇 第一名 - $4,000
🥈 第二名 - $2,000
🥉 第三名 - $1,000
2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用:
🥇 第一名 - $1,000
🥈 第二名 - $500
🥉 第三名 - $250
如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖金
谁可以参加?
任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个!
👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。
请注意,要在您的README文件中标注您的团队成员——社区用户profile
参赛时间安排
🛠 8月23日 - 9月5日: 应用开发、提交阶段
✅ 9月 6日 - 12日: 投票阶段
注意:在整个参赛期间(开发与投票期间,即8月23日-9月12日),开发者可持续编辑、提升其应用
主题
💡 应用InterSystems IRIS开发分析解决方案(Analytics Solution) 💡
使用一个或多个InterSystems IRIS分析功能,如:
Adaptive Analytics 自适应分析(AtScale)
InterSystems Reports (Logi)
InterSystems BI (DeepSee)
InterSystems NLP (iKnow)
创造一个简单的、引人注目的、清晰的可视化产品和/或故事。
以下是参赛须知:
有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。
该应用应该在 IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition 上工作。
该应用需开源并在GitHub上发布。
该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。
资源助力
1. 示例应用程序和说明:
1.1. Adaptive Analytics(自适应分析):
Adaptive Analytics in Action (视频)
1.2 InterSystems报告:
A look at InterSystems Reports (视频)
InterSystems Reports Resource guide
Running InterSystems Reports in containers
IRIS reports server demo (OEX)
1.3 IRIS BI 案例:
IRIS Analytics Template
Samples BI
Covid19 analytics
Analyze This
Game of Throne Analytics
Pivot Subscriptions
Error Globals Analytics
Creating InterSystems IRIS BI Solutions Using Docker & VSCode (视频)
The Freedom of Visualization Choice: InterSystems BI (视频)
InterSystems BI(DeepSee) Overview (线上课程)
InterSystems BI(DeepSee) Analyzer Basics (线上课程)
1.4 InterSystems NLP (iKnow):
iKnow Source Code
Samples Aviation
Set Analysis
iKnow First Look (线上课程)
2. Sample数据:
Hole Foods database for IRIS BI (与SamplesBI包一起安装)
Adventure Works, zip
Synthea
3. 将数据导入IRIS的工具:
CSVGEN and CSVGENUI
S3 External Table
4. IRIS初学者
Build a Server-Side Application with InterSystems IRIS
Learning Path for beginners
5. 如何将您的APP提交给大赛
如何在InterSystems Open Exchange上发布应用程序
如何把参赛APP提交给大赛
参赛评比
投票规则即将发布,敬请期待!
So!
期待您的精彩提交!加入我们的编程马拉松,赢取大奖
❗️ 点击此处,查看 官方竞赛条款解读❗️
文章
Claire Zheng · 一月 21, 2021
大家好!
我想跟大家分享一个个人项目,该项目始于工作中的一个简单需求:“能否知道我们使用了多少个Caché许可证?”
在阅读社区的其他文章时,我发现了一篇David Loveluck写的非常棒的文章:APM——使用Caché History Monitor。
我根据David的这篇文章,开始使用Caché History Monitor并显示所有这些信息。
在面临“选择哪种很酷的技术”这个问题时,我决定使用简单而强大的CSP,这样我的客户可以认识到Caché不仅仅是MUMPS/终端。
在创建了页面以显示许可、数据库增长和CSP会话的历史记录后,我决定为System Dashboard和进程页面创建一个新设计。
我的Caché实例运行得良好。
但是,如果使用IRIS呢?根据Evgeny Shvarov的文章:在InterSystems IRIS开发存储库中使用Docker,我实现了docker技术,并把代码放到了GitHub上,现在大家只需几个步骤就可以进行尝试。
如何运行?
如要使用这里的repo进行编码,请执行以下操作:
1. 通过Clone/git命令将repo 更新到任意本地目录中:
$ git clone https://github.com/diashenrique/iris-history-monitor.git
2. 打开这个目录下的终端,并运行:
$ docker-compose build
3. 在项目中运行IRIS容器:
$ docker-compose up -d
如何测试
打开浏览器,并转到链接:http://localhost:52773/csp/irismonitor/dashboard.csp
使用用户名_SYSTEM可以运行仪表盘dashboard和其他功能。
系统仪表盘
系统仪表盘(System Dashboard)可展示:
·许可
·系统时间
·应用程序错误
·缓存过程
·CSP会话
·Lock Table
·日志空间
·日志状态
·ECP AppServer
·ECP DataServer
·编写守护进程
·缓存效率
·严重警告
折线图小工具每5秒绘制一个点:
系统菜单
系统进程
进程过滤器
通过使用不同的过滤器可以实现你所需的结果。也可以使用“Multiple Sort(多重排序)”,按Shift +单击列标题,甚至可以将数据网格导出到Excel!
History Monitor(历史记录监控器)
CSP会话和许可的History Monitor可显示三个部分的信息:
·每5分钟
·每天
·每小时
“Database Growth”部分只显示当日信息。历史记录页面共享以下功能:
Date Range Picker(日期选择插件)
默认值为“过去7天”
Chart / Data Table(图表/ 数据表)
在每个部分的右上角有两个按钮(Chart / Data Table [图表/ 数据表])
Data Table(数据表)显示创建图表所用的信息,同样可以以Excel格式下载。
Excel中显示CSP中定义的相同格式、内容和组。
缩放
所有图表都有Zoom(缩放)选项,以可视化方式显示更多详细信息。
平均值和最大值
对于“每小时”和“每天”部分,图表显示的是平均值和最大值。
平均值
最大值
希望这篇文章对您有用!
注:本文为译文,点击此处阅读原文,原文由Henrique Gonçalves Dias撰写。
公告
Claire Zheng · 一月 7, 2021
大家好!InterSystems Global Masters 倡导中心与开发者社区紧密联系并不是秘密。 为开发者社区做出任何贡献都会带来 Global Masters 积分。 所以, 我们准备了一份关于如何在 Global Masters 以最佳方式获得积分的简短指南。
如何在 GLOBAL MASTERS 获得积分
在开发者社区上发布英文帖子
100
第一次在社区评论
回答一个问题 / 发表一个评论(英文)
300
30
第 1 个被标记为“已接受”的回答
1000
之后的每一个“已接收”回答
150
第5/10/25/50个“已接收”回答
4000/8000/20000/40000
翻译一篇文章
50
在 DC 上问第1/5/10/25/50个问题
500/2000 /5000 /15000/30000
在 DC 上发布第1/5/10/25/50个帖子
1500/7500/15000/40000/75000
在 Open Exchange 发布一个应用程序
800
对每一个ZPM应用积分奖励
400
在Open Exchange发布第1/5/10/25个应用程序
1000/10000/25000/75000
帖子浏览量达到750+/2000+/5000+/15000+
600/2500/7000/20000
在开发者社区阅读一篇帖子
10
看一个视频
20
通过社交媒体分享一次(帖子/视频)
40
发布的第1/2/3/4/5 篇带“最佳实践”标签的文章
1000/3000/7000/10000/15000
在Open Exchange上您的应用第50/100/250/500/1000次下载
2500/5000/7500/12500/25000
对 InterSystems / InterSystems 产品作一次评述
2 000-3 000
邀请成员加入开发者社区
600
为您的OEX应用创建一个video
3000
*仅计算在 Global Masters 倡导中心注册后发布的帖子。
完成挑战,获得徽章并升级:Insider > Advocate > Specialist > Expert > VIP。 您的级别越高,可获得的奖励越有趣!
欢迎点击查看更多有关 Global Masters 的其他信息:
如何加入 InterSystems Global Masters
Global Masters 徽章说明
Global Masters 级别说明
Global Masters 计划的变更
如果您尚未加入 InterSystems Global Masters 倡导中心,现在就开始行动吧! 欢迎在本帖评论中提出您的问题。 欢迎大家多参与Global Master,多积分,多贡献,提高等级,赢取礼品!
@Young Zheng @An Xingqi @jinhui hu @wenyang zhang @guoguo wang @shikai ren @chaolong huang @yabin duan @鹏飞 楚 @智辉 李 @SHAN HU @Wendy Wu
@Hao Wang @Z C @Zhaoying Li @Neal Wu @liu yaquan @qu qu @wang wei @guo meiya@yajing xu @yue li @权权 苏 @xiaohu xiong @yadong zhao @Yi Han @Wen Zhou @jie zhang @张 恒 @guo wenheng @Jing Li @迪 文
文章
Nicky Zhu · 一月 8, 2021
在本文中,我们将讨论孤立消息。
## 什么是孤立消息
每个消息正文都与一个保存元数据的消息标头相关联。 标头保存源配置名称、目标配置名称、创建时间、处理时间、关联的消息正文引用、会话信息、消息正文类名、消息状态等信息。 当有消息正文记录没有相应的标头记录时,这些消息正文称为孤立消息正文。 我们将讨论可能导致孤立消息正文产生的原因。
### 仅清除标头
在清除任务设置中,**BodiesToo** 设置用于指定是否将消息正文与消息标头一起清除。 如果**关闭**此设置,清除任务将只删除消息标头,而保留消息正文。 这些消息正文将成为孤立记录,因为所引用的标头已被删除。 如果清除消息标头但保留消息正文,则管理门户将无法清除孤立消息正文。 在这种情况下,必须以编程方式清除消息正文。
![](/sites/default/files/inline/images/purgetask_1.jpg)
请参阅有关清除任务的文档
[http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG\_purge#EGMG\_purge_basic](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_basic)
### 复杂的消息正文类(对象值属性)
当 Ensemble 清除某条消息正文时,不一定删除该消息正文的对象值属性。 具体来说,只有当其他对象是序列对象或子对象(由关系定义)时,才会删除这些对象。 对于其他对象,必须通过在消息正文类中定义删除触发器或实现 **%OnDelete()** 方法来适当地处理删除。
OnDelete 实现的示例代码
Class Sample.Address Extends %Persistent{
/// The street address.
Property Street As %String(MAXLEN = 80);
/// The city name.
Property City As %String(MAXLEN = 80);
/// The 2-letter state abbreviation.
Property State As %String(MAXLEN = 2);
/// The 5-digit U.S. Zone Improvement Plan (ZIP) code.
Property Zip As %String(MAXLEN = 5);
}
Class Sample.Person Extends %Persistent{
/// Person's name.
Property Name As %String [ Required ];
/// Person's Social Security number. This is validated using pattern match.
Property SSN As %String(PATTERN = "3N1""-""2N1""-""4N") [ Required ];
/// Person's Date of Birth.
Property DOB As %Date;
/// Person's home address.
Property Home As Address;
/// Person's office address.
Property Office As Address;
///Callback for object deletion
ClassMethod %OnDelete(oid As %ObjectIdentity) As %Status [ Private ]{
// Delete the property object references.
Set tSC = $$$OK, tThis = ##class(Sample.Person).%Open(oid)
If $ISOBJECT(tThis.Home) Set tSC = ##class(Sample.Address).%DeleteId(tThis.Home.%Id())
If $ISOBJECT(tThis.Office) Set tSC = ##class(Sample.Address).%DeleteId(tThis.Office.%Id())
Quit tSC
}
///Callback/Trigger for SQL delete
Trigger OnDelete [ Event = DELETE ]{
// Delete the property object references. {%%ID} holds the id of the record being deleted.
Set tID={%%ID}
Set tThis = ##class(Sample.Person).%OpenId(tID)
If $ISOBJECT(tThis.Home) Do ##class(Sample.Address).%DeleteId(tThis.Home.%Id())
If $ISOBJECT(tThis.Office) Do ##class(Sample.Address).%DeleteId(tThis.Office.%Id())
Quit
}
}
### 已创建但从未发送到其他主机的消息对象
当一条消息被发送/转发到其他主机时,Ensemble 会创建一个新的消息标头,并关联相应的消息正文。 如果在业务服务/流程中创建的消息正文/对象实例已保存到磁盘/数据库,但从未在生产过程中发送到其他主机,它将没有关联的标头,并保留为孤立消息正文。 最佳实践是不创建消息正文,除非它将被转发,或者不对该对象实例调用 %Save()(在将消息放入目标配置队列之前,SendRequestSync/SendRequestAsync API 将保存该对象实例)。 这样,除非将消息正文对象发送到其他主机,否则它将不会持久化。
此问题的最常见原因是开发人员:
克隆了消息正文,且从未转发克隆的消息正文
在上下文变量 (BPL) 中创建了消息正文对象,且从未转发。
## 孤立消息的影响
孤立消息不会被清除任务清除。 这些消息将占用磁盘空间,并且随着它们数量的增长,磁盘使用量也会成比例增加。 不仅消息正文数据使用磁盘空间,每条孤立消息正文记录的任何索引/搜索表条目也都占用磁盘空间。
## 识别孤立消息
可以通过查询消息标头和正文来确定孤立消息是否存在。 每个消息标头都引用相应的消息正文。 消息正文对象 Id 引用存储在标头的 MessageBodyId 属性中,消息正文类名存储在标头的 MessageBodyClassName 属性中。
在 HL7 消息表中查找孤立消息的示例查询:
SELECT HL7.Id FROM EnsLib_HL7.Message HL7
LEFT JOIN Ens.MessageHeader hdr
ON HL7.Id=hdr.MessageBodyId
WHERE hdr.MessageBodyId IS NULL
上面的查询将返回所有没有相应标头的 HL7 消息。 可以将该查询修改为查询任何其他消息类型,只需替换消息正文表名即可。
## 清除孤立消息
管理门户无法提供清除孤立消息正文的方法。 在这种情况下,必须以编程方式清除消息正文。 在 **ENSDEMO** 数据库中,类 **Demo.Util.CleanupSet** 提供了一个如何执行此操作的示例。 该例程也执行深度清除,同时处理对象属性引用。
还可以参考另一个例程来清除孤立消息,但该例程不执行深度清除,只对删除消息正文有帮助。 我在下面附上可下载源码的 github 链接:
最佳做法是始终:
1. 避免编程错误(如前面所讨论)以防止出现孤立消息
2. 只有需要正文并且知道只能以编程方式清除这些消息正文时,才将清除任务设置成关闭 BodiesToo 设置。
3. 实施关系或针对持久对象属性实现 OnDelete。
我希望本文对您构建生产环境有所帮助。 如果您有任何问题或疑虑,请联系我们。 谢谢。
公告
Nicky Zhu · 一月 8, 2021
现在,InterSystems **系统警报和监视**(简称 InterSystems _SAM_)第 1 版 (v1.0) 发布了预览版本。
InterSystems SAM v1.0 为基于 InterSystems IRIS 的产品提供现代化的监视解决方案。 其可对集群进行高级别查看,并且能够以单节点方式可视化深入探视指标,同时提供警报通知。 该第 1 个版本提供对一百多个 InterSystems IRIS 内核指标的可视化,并且用户可以根据自己的喜好扩展默认提供的 Grafana 模板。
V1.0 旨在成为简单直观的基准。 请进行尝试并向我们发送反馈,帮助我们使其变得更棒!
从版本 2019.4 开始,SAM 可以显示来自基于 InterSystems 的实例中的信息
SAM 仅以容器格式提供。 您将需要 SAM 管理器容器,以及一小组额外的开源_组件_(Prometheus 和 Grafana),它们由组合文件自动添加。
可从以下位置获取 SAM 组件和 SAM 管理器社区版
* [WRC 预览页面](https://wrc.intersystems.com/wrc/coDistPreview.csp):分别为“SAM 组件”和“SAM 管理器”
* 如果您要在 docker-compose 运行之前下载,可通过外部源[SAM 组件 Github repo](https://github.com/intersystems-community/sam) & [Docker Hub 上的 SAM 管理器](https://hub.docker.com/_/intersystems-system-alerting-and-monitoring)(后一个链接可能在几个小时内不可用,但容器是可获取的)
如果您正在旅行,或偏爱通过语音收听有关什么是 SAM 方面的提问与回答,我们为您准备了以下播客:
可在[此处](https://docs.intersystems.com/sam/csp/docbook/Doc.View.cls?KEY=ASAM)找到 SAM 文档
文章
Qiao Peng · 三月 5, 2021
大家好!
InterSystems IRIS 有一个名为 **Interoperability**(互操作性)的菜单。
它提供了轻松创建系统集成(适配器、记录映射、BPM、数据转换等)的机制,因此可以轻松连接不同的系统。
数据中继过程中可以包括各种操作,例如:为了连接没有正常连接的系统,可以根据目标系统的规范来接收(或发送)数据。 此外,在发送数据之前,可以从其他系统获取和添加信息。 还可以从数据库(IRIS 等)获取和更新信息。
在本系列文章中,我们将讨论以下主题,同时查看 示例代码 以帮助您了解工作原理以及在系统中集成互操作性时需要进行哪种开发。
* 工作原理
* 什么是Production
* 消息
* 组件创建
* 业务操作
* 业务流程
* 业务服务
首先,我介绍一下我们将在本系列文章中使用的案例研究。
> 某公司运营着一个购物网站,他们正在更改产品信息的显示顺序以配合季节变化。但是,有些商品无论季节如何都能卖得很好,而有些商品在意料之外的时间卖出,这不符合当前的显示顺序更改规则,因此,我们研究了按照当天的温度而不是季节来更改显示顺序的可能性。 调查购买产品时的温度变得非常必要。由于可以使用外部 Web API 来查询天气信息,因此我们计划收集购买时的天气信息,并将其记录在后面的审核数据库中。
案例非常简单,但您需要使用“外部 Web API”来收集信息,并且需要将获得的信息和购买信息结合起来记录在数据库中。
具体说明将在相关文章中讨论(不包括网站的创建)。 请移步观看!
至于我们这次使用的“外部 Web API”,我们使用的是 OpenWeather的 当前天气数据.
(如果您想要尝试一下,您需要注册一个帐户并获得 API ID).
以下是一个 REST 客户端发出的 GET 请求的结果(我们将以在 Interoperability 中实现的机制来运行此流程)。
![](/sites/default/files/inline/images/image1050jp.png)
HTTP 响应的 JSON 如下所示:
```json
{
"coord": {
"lon": 135.5022,
"lat": 34.6937
},
"weather": [
{
"id": 803,
"main": "Clouds",
"description": "broken clouds",
"icon": "04d"
}
],
"base": "stations",
"main": {
"temp": 17.05,
"feels_like": 13.33,
"temp_min": 16,
"temp_max": 18,
"pressure": 1017,
"humidity": 55
},
"visibility": 10000,
"wind": {
"speed": 4.63,
"deg": 70
},
"clouds": {
"all": 75
},
"dt": 1611635756,
"sys": {
"type": 1,
"id": 8032,
"country": "JP",
"sunrise": 1611612020,
"sunset": 1611649221
},
"timezone": 32400,
"id": 1853909,
"name": "Osaka",
"cod": 200
}
```
在 下一篇文章中,我们将讨论如何使用 Interoperability 菜单进行系统集成。
[OpenWeather]: https://openweathermap.org/
公告
jieliang liu · 三月 15, 2021
嗨,开发者们,
欢迎查询 [InterSystems Developers YouTube 频道] InterSystems Developers YouTube Channel:
按观看次数排名前 10 的视频
№
Video
Views
1
Active Directory 与 LDAP 的集成
13 079
2
FHIR 上的 SMART:基础知识
7 463
3
构建现代 Web 应用程序
6 133
4
使用 Visual Studio Code 编写 ObjectScript
5 491
5
使用 FHIR 进行开发 - REST API
5 195
6
使用 IRIS 社区版、GitHub、Docker 和 VSCode 创建你的第一段 InterSystems ObjectScript 代码
1 487
7
托管文件传输
1 326
8
规模调整和容量计划
1 200
9
使用 Visual Studio Code 和 ObjectScript
1 155
10
5 分钟内为 InterSystems IRIS 创建 CRUD REST API
1 013
按观看时间排名前 10 的视频
№
Video
WT (hours)
1
FHIR 上的 SMART:基础知识
1 226,6
2
Active Directory 与 LDAP 的集成
798,1
3
构建现代 Web 应用程序
485,6
4
使用 FHIR 进行开发 - REST API
446,3
5
InterSystems IRIS 数据平台简介
104,5
6
规模调整和容量计划
101,0
7
VSCode-ObjectScript 简介网络研讨会
86,1
8
使用 IRIS 社区版、GitHub、Docker 和 VSCode 创建你的第一段 InterSystems ObjectScript 代码
79,7
9
证书吊销、OCSP 装订和 KMIP
72,4
10
使用 Visual Studio Code 编写 ObjectScript
63,9
Enjoy watching our top videos! 👏🏼
And stay tuned with InterSystems Developers YouTube! 这些视频目前都在油管上,有希望看哪些的欢迎在贴下留言。我们会尽快放在B站上。谢谢!