搜索​​​​

清除过滤器
公告
Claire Zheng · 十一月 15, 2023

InterSystems Java 编程大赛

Hi 开发者们, 我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,重点关注 Java 及其衍生产品! 🏆 InterSystems Java 编程大赛🏆 时间: 2023年11月13日至12月3日(美国东部时间) 奖金池: 14,000 美元 话题 我们邀请您在新的编程竞赛中使用 Java!使用 Kotlin、Clojure 和 Scala 的应用程序也很受欢迎。 提交使用 Java、Kotlin、Clojure 或 Scala 以及 InterSystems IRIS 或 InterSystems IRIS for Health 的开源应用程序。 一般要求: 应用程序或库必须功能齐全。它不应该是另一种语言中已有库的导入或直接接口(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 美元 🌟第 6-10 名 - 100 美元 2. 社区提名奖(Community Nomination)- 获得总票数最多的应用程序: 🥇第一名 - 1,000 美元 🥈第二名 - 750 美元 🥉第三名 - 500 美元 🏅第四名 - 300 美元 🏅第五名 - 200 美元 如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个! 👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。 请注意,要在您的README文件中标注您的团队成员——社区用户profile。 重要截止日期: 🛠 应用程序开发和注册阶段: 2023 年 11 月 13 日(美国东部时间 00:00):比赛开始。 2023 年 11 月26 日(美国东部时间 23:59):提交截止日期。 ✅ 投票时间: 2023 年 11 月 27 日(美国东部时间 00:00):投票开始。 2023 年 12 月3 日(美国东部时间 23:59):投票结束。 注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应用。 资源助力 1. 使用 InterSystems IRIS 开发 Java 应用程序: InterSystems Java Connectivity Options Learning Path Connecting Java Applications to InterSystems Products JDBC Driver Documentation XEP Java Documentation Native API for Java Documentation iris JDBC driver distribution 2. ObjectScript Package Manager (IPM)初学者: How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. 如何将您的APP提交给大赛: 如何在 Open Exchange 上发布应用程序 如何提交比赛申请 4. 应用示例: native-api template workshop-pex fhir-client-java pex-demo iris-hibernate iris-liquibase 5. 视频: Using Java to Connect to InterSystems Connecting to InterSystems Cloud Services with Java What is PEX? InterSystems Connectivity with Java and other languages Deploying Java project + InterSystems IRIS in Docker 需要帮忙? 加入 InterSystems Discord 服务器上的竞赛频道或在本文评论中与我们交谈。 期待您的精彩提交 - 加入我们的编程大赛吧!来赢得胜利! ❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️
文章
Weiwei Gu · 九月 14, 2023

容器中的 InterSystems IRIS

InterSystems 还发布了容器化部署的IRIS。这篇文章旨在演示 InterSystems IRIS 和依赖 IRIS 后端的应用程序如何打包到镜像中并在容器中的其他计算机中运行,以及这样做有多么简单。 容器运行包含所有必需的可执行文件、二进制代码、库和配置文件的镜像。镜像可以从一台机器移动到另一台机器,像 Docker Hub 这样的镜像存储库可以简化这个过程。 我在本演示中使用了 Open Exchange 的应用程序。 演示视频: https://www.loom.com/share/93f9a760b5f54c0a8811b7a212387b9d IRIS 数据平台社区版的镜像(image)可以在 InterSystems 容器注册表中找到: https: //containers.intersystems.com/contents 为了在主机中使用 IRIS 的容器化实例,应在运行时拉取它。 为此,Dockerfile 需要具有以下命令,如下所示: Dockerfile: Dockerfile ARG IMAGE=intersystemsdc/iris-community:preview FROM $IMAGE RUN iris start IRIS \ && iris merge IRIS /tmp/merge.cpf \ && iris stop IRIS quietly 这些是编写 Dockerfile 来构建镜像的基本命令,该镜像包含容器化 IRIS 的说明。 还可以添加用于安装与 IRIS 容器化实例一起运行的应用程序所需的其他依赖项的命令。 给出的 Docker 命令标记并推送带有 IRIS 实例的镜像到 Docker Hub,然后在另一台主机中拉取并运行该镜像。 命令 commands docker build -t image_name filepath docker tag image_name dockerhub_username/repository_name:tag_name docker push dockerhub_username/repository_name:tag_name 命令 commands docker pull dockerhub_username/repository_name:tag_name docker run --name test -p host_8080:52773 padhikar/irisincontainer:main 演示中使用的应用程序: https://openexchange.intersystems.com/package/iris-geo-map 创建 InterSystems IRIS 镜像: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls ?KEY=ADOCK#ADOCK_iris_creating
公告
Michael Lei · 九月 14, 2023

InterSystems IRIS 小数点版本发布说明

有时,InterSystems 必须重新发布版本以纠正 1-2 个问题。此过程会生成称为“小数点版本”的新套件。 小数点版本与维护或功能版本不同。其目标是快速、像做外科手术地纠正该领域的紧急问题。 如何识别小数点发布 InterSystems 数据平台产品遵循以下发布约定: <系统间产品> <年份>.<专业>.<维护>.<构建号>.<点> 例如:InterSystems IRIS 2022.1.4.204.1 识别小数点版本很简单:如果产品套件的最后一位数字非零,则您正在使用小数点版本。 我如何知道是否应该更换当前的软件? 每次推出小数点版本时,InterSystems 都会向我们的客户宣布并解释其解决的问题。公告是通过我们的开发者社区 ( https://community.intersystems.com/tags/intersystems-official ) 和产品警报发布的。 每个公告都会解释该版本解决的问题和相应的修复,并提供有关是否更换套件和容器的说明。因此,请阅读公告,如果您有任何疑问,请联系我们! 注意:如果您没有收到产品警报电子邮件,请访问我们的页面并注册: https: //www.intersystems.com/support/product-alerts-advisories/
文章
Michael Lei · 四月 4, 2023

InterSystems SQL 小妙招

嗨开发者们! 如您所知,InterSystems IRIS 除了Global、对象、文档和 XML 数据模型还支持关系,其中 SQL 语言也被用来处理数据。 与其他关系型 DBMS 一样,InterSystems IRIS 有自己的特点。 我开始这篇文章是为了抛砖引玉,并邀请您分享您的小诀窍 - 我会根据收到的评论更新内容。 开始了! 列出数据库中的所有表: SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE= 'BASE TABLE' 感谢@Dmitry.Maslennikov 使用当前日期和当前时间作为默认值创建表: CREATE TABLE CUSTOMER ( ID INTEGER PRIMARY KEY NOT NULL , NAME VARCHAR ( 100 ) NOT NULL , PASSWORD VARCHAR ( 20 ) NOT NULL , LAST_UPDATED TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL , REGISTRATION_DATE DATE DEFAULT CURRENT_DATE NOT NULL ); 注意不带括号的函数 CURRENT_TIMESTAMP 和 CURRENT_DATE。 创建在内部使用 ObjectScript 的存储过程/函数: CREATE OR REPLACE FUNCTION IRIS_VERSION() RETURNS VARCHAR LANGUAGE OBJECTSCRIPT { Return $ZV } 调用存储过程/函数: select IRIS_VERSION() as "Version" 调用内部函数。 返回 IRIS 版本: Select $ version 返回当前命名空间: Select $namespace 欢迎大家在评论区留下你的小妙招! 分页查询: select top :row * from PatientInfo where id not in (select top 10(:page-1) id from PatientInfo order by id asc) order by id
文章
Claire Zheng · 六月 12, 2023

InterSystems 开发者社区发帖时如何嵌入视频?

大家好! 这是一篇关于如何将视频嵌入您的帖子的简短文章。 其实很简单。您只需要按照以下步骤操作。 1. 打开您希望嵌入的B站视频,在视频右下角找到分享按钮; 2. 选择“嵌入代码”并复制代码 3.在社区帖子中切换到Source视图,并将您在步骤2中复制的代码粘贴在您希望嵌入视频的地方(如嵌在<p>后); 4.再次点击“Source”,回到编辑页面,您会看到如下“IFRAME”框; 5.双击红色的“IFRAME”,并如图所示填写视频尺寸(请务必按下图数值填写),点击“确定”,即可完成视频嵌入。 希望这个帖子能帮助到您:) 在评论部分留下您对这个主题的想法,或者告诉我们您还希望了解哪些社区玩儿法。
文章
Weiwei Gu · 六月 28, 2023

InterSystems IRIS 数据平台的以太坊适配器

1. 区块链 当我写这篇文章时,比特币的价格还不到其成功顶峰时期的五分之一。因此,当我开始向某人讲述我的区块链经历时,我听到的第一句话是毫不掩饰的怀疑:“现在谁需要这个区块链东西?” 没错,区块链炒作已经减弱。然而,它所基于的技术将继续存在并将继续在特定领域使用。互联网通常提供大量描述这些技术的一般用法的材料 (例如在Medium和福布斯上)。 众所周知,区块链是一个分布式注册表,即分布在多个节点之间的数据库,每个节点都存储注册表的完整副本。区块链的主要特征是记录(交易)形成块,块形成块链。区块链仅支持追加操作。这意味着几乎不可能对已经保存在区块链中的交易进行更改。 网上有无数的区块链教程(如果您从未听说过区块链,可以从这个简单的视频开始)。 当区块链蓬勃发展时,人们多次呼吁在任何地方使用该技术。然而,可能需要区块链的项目/任务有某些明显的特征。 首先,必须有很多玩家/用户编写大量数据,这些数据必须一致且可信。 那么,就不应该存在每个人都信任的第三方。 必须有一个公共数据验证的机制。如果满足所有这些标准,考虑使用区块链可能是个好主意。 任何行业都可以找到这样的任务。 www.101blockchains.com项目汇总了有关潜在和现有区块链项目的信息,以及在各个行业中使用区块链技术的细微差别。 例如,区块链可用于医疗保健领域的以下任务: 用于安全地远程管理患者记录; 通过整个供应链中不可更改的交易来打击假药; 通过排除欺诈和篡改数据的可能性来提高临床试验的监控和有效性。 企业部门通常使用一种特殊类型的区块链,称为私有许可区块链。此类网络具有一组特殊的节点来验证交易。 然而,在开发第一个 InterSystems IRIS 区块链适配器时,我们选择了以太坊,这是一种属于无许可区块链类别的区块链 - 一个没有单一控制中心的开放平台。该决定是基于该区块链引擎的受欢迎程度以及具有大量工具和库的足够成熟的基础设施。请注意,您还可以使用以太坊工具创建私有区块链。 2. 适配器 让我们实际上回到适配器。 InterSystems IRIS 中的适配器(就像 Ensemble 中一样)是 InterSystems IRIS 类的类或包,允许您与外部系统交互。 InterSystems IRIS 适配器分为入站(当外部系统是交互发起者时,用于从外部系统接收数据)和出站(当 InterSystems IRIS 是交互发起者时,用于与外部系统一起工作)。 IRIS 以太坊适配器是出站适配器,与大多数其他 InterSystems IRIS 适配器略有不同。该适配器还包括一个小型 NodeJS 模块。其架构如图 1 所示。 图1。适配器的 NodeJS 模块使用现有的 NodeJS 库来与以太坊配合使用。 该适配器允许您执行以下操作: 将智能合约部署到以太坊(我们计划撰写另一篇文章,涵盖智能合约、开发工具和示例)。 调用智能合约方法:改变区块链状态的方法和不改变区块链状态的方法 保存交易(将资金从一个钱包转移到另一个钱包) 调用额外的方法来获取区块链的状态 记录所有请求(由 NodeJS 模块完成,方便调试) 该适配器附带 OpenExchange 上的源代码。 3. 一个简单的例子 该适配器附带一个“Hello world”示例。 要开始使用以太坊(并运行此示例),您将需要以下内容: 选择您要使用的网络。 Ropsten 等测试网络通常用于开发目的 在此网络中创建一个钱包并向其存款 安装本地以太坊客户端(例如 Geth)或获取与云提供商(例如 Infura)合作的密钥 配置业务操作时需要设置以下内容(图2): NodeJS模块工作的服务器和端口(默认使用3000端口) 提供商设置(在本例中访问 Infura) 访问凭据(指定您的钱包号码作为用户名,指定您的私钥作为密码。InterSystems IRIS 将访问凭据存储在一个单独的数据库中,您必须为其启用加密) 图 2. 为了使用智能合约,您需要在文件系统中创建(为您将使用的每个智能合约)一个文件夹,并在其中放置两个文件:*abi.txt*字节码.txt 这些文件应包含智能合约的 ABI 及其字节码。智能合约的 ABI 是 JSON 格式的接口的正式描述。 ABI 和字节码是在编译智能合约时创建的。 仅部署合约时需要字节码。 您可以使用 InterSystems IRIS 互操作性测试服务来测试业务运营。 图 3 说明了如何使用测试服务部署智能合约。调用此业务操作的结果是包含交易哈希的消息。 图 3. 您可以使用 ropsten.etherscan.io (https://etherscan.io/) 浏览器找到此交易并获取已部署的智能合约的地址。 要使用适配器调用智能合约的方法,您需要在生产配置中填写以下字段:ContractFolder 和 ContractAddress。 智能合约的执行代码非常简单: -----0----- 将智能合约的地址和 ABI 传递给适配器的 GetContract 方法,以创建一个智能合约对象,然后将其用于调用方法。在这种情况下,必须在智能合约中定义返回字符串的 hello() 方法。 在这个例子中,hello()方法不会改变区块链状态,因此可以同步调用。然而,改变区块链状态的方法的执行时间可能相当长(因为必须等待交易被验证)。 要调用此类方法,请使用 InterSystems IRIS 提供的延迟响应机制。适配器必须提交延迟响应令牌,当交易获得批准时,NodeJS 模块会将其执行结果传递给 InterSystems IRIS。为此,您需要配置一个 Web 应用程序并向生产添加额外的业务服务来处理收到的响应。 以下是调用改变区块链状态的方法的代码: -----1----- 在这种情况下,在调用智能合约的 setName() 方法之前,您需要指定许多参数,包括延迟响应令牌。 在下一篇文章中,我们将详细介绍智能合约,并提供使用 InterSystems IRIS 以太坊适配器解决实际问题的示例。
公告
Claire Zheng · 七月 10, 2023

InterSystems 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医疗版互联互通套件产品用例

本文汇聚了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 常见问题解答--日志文件长期保留而未被删除的原因

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

InterSystems 编程大赛:FHIR和数字医疗互操作性

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

InterSystems 编程大赛获奖名单公布:FHIR和数字医疗互操作性

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 · 四月 3, 2023

InterSystems 技术征文大赛(InterSystems IRIS教程)获奖名单出炉!

亲爱的社区开发者们: 感谢第四届 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 · 九月 26, 2023

2023 InterSystems Python 编程大赛获奖者公布

Hi 开发者们, 是时候公布2023 InterSystems Python 编程大赛的获奖者了! 感谢所有提交15 份申请的出色参与者 🔥 专家提名奖 🥇第一名和 🥈第二名以及各4,000 美元由获得相同专家票数的两个应用程序共享: iris-vector by @Dmitry Maslennikov iris-GenLab by @Muhammad Waseem 🥉第三名 1,500 美元 iris-recorder-helper app by @Alexey Nechae 🏅第四名 750 美元 iris-python-machinelearn app by @André Dienes Friedrich 🏅第五名 500 美元 Face Login app by @yurimarx Marx 🌟 100 美元 native-api-command-line-py-client app by @Robert Cempe 🌟 100 美元 IRIS-Cloudproof-Encryption app by @LI XU 🌟 100美元 BardPythonSample app by @xuanyou du 🌟 100 美元 iris-python-lookup-table-utils app by Johannes Heinz 🌟 100 美元 apptools-django app by @Sergey Mikhailenko 开发者社区提名奖 🥇第一名1,000 美元 iris-vector app by @Dmitry Maslennikov 🥈第二名750 美元 iris-python-machinelearn app by @André Dienes Friedrich 🥉第三名500 美元iris-GenLab app by @Muhammad Waseem 🏅第四名 300 美元 BardPythonSample app by @xuanyou du 🏅第五名 200 美元 native-api-py-demo app by @shan yue 我们向所有参赛者和获奖者表示最诚挚的祝贺! 下次再一起享受乐趣吧;)
文章
Lilian Huang · 四月 28, 2023

InterSystems 嵌入式 Python 概览

嗨社区,在本文中,我将演示 InterSystems Embedded Python 的用法,我们将涵盖以下主题: 1-嵌入式Python概述 2-嵌入式Python的使用 2.1- 从 ObjectScript 使用 Python 库 2.2- 从 Python 调用 InterSystems API 2.3- 一起使用 ObjectScript 和 Python 3-使用python内置函数 4-Python 模块/库 5 个嵌入式 Python 用例 5.1- 使用 python Reportlab 库打印 PDF 5.2-使用Python二维码库生成二维码 5.3- 使用 Python Folium 库获取 GEO 位置 5.4- 通过使用在交互式地图上生成和标记位置 Python Folium 库 5.5- 使用 Python Pandas 库进行数据分析 6-总结 我们从概述开始 1-嵌入式Python概述 嵌入式 Python 是 InterSystems IRIS 数据平台的一项功能,它允许 Python 开发人员完全直接地访问 InterSystems IRIS 中的数据和功能。 InterSystems IRIS 带有一种名为 ObjectScript 的强大内置编程语言,可在数据平台内部进行解释、编译和运行。 因为 ObjectScript 在 InterSystems IRIS 的上下文中执行,所以它可以直接访问数据平台的内存和过程调用。 嵌入式 Python 是 Python 编程语言的扩展,允许在 InterSystems IRIS 进程上下文中执行 Python 代码。 因为 ObjectScript 和 Python 都在同一个对象内存上操作,可以说 Python 对象不只是模拟 ObjectScript 对象,它们本身就是 ObjectScript 对象。 这些语言的这种共同平等意味着您可以选择最适合工作的语言,或者您最习惯用来编写应用程序的语言。 2-嵌入式Python的使用 使用嵌入式 Python 时,您可以用三种不同的方式编写代码。 2.1 - 从 ObjectScript 使用 Python 库 首先,您可以编写一个普通的 .py 文件并从 InterSystems IRIS 上下文中调用它。在这种情况下,数据平台将启动 Python 进程并允许您导入一个名为 IRIS 的模块,该模块会自动将 Python 进程附加到 IRIS 内核,并让您可以从 Python 代码的上下文中访问 ObjectScript 的所有功能。 2.2 - 从 Python 调用 InterSystems API 其次,您可以编写普通的 ObjectScript 代码并使用 %SYS.Python 包实例化 Python 对象。这个 ObjectScript 包允许您导入 Python 模块和库,然后使用 ObjectScript 语法处理该代码库。%SYS.Python 包使不了解 Python 的 ObjectScript 开发人员能够在其 ObjectScript 代码中使用丰富的 Python 库生态系统。 2.3 - 一起使用 ObjectScript 和 Python 第三,您可以创建一个 InterSystems 类定义并用 Python 编写方法。对该方法的任何调用都会启动 Python 解释器。此方法的好处是使用对包含类实例的引用填充该 Python 代码块的 self 关键字。此外,通过使用 Python 在 InterSystems 类中编写类方法,您可以轻松实现处理 SQL 中不同数据输入事件的方法,例如将新行添加到表中。它还允许在 Python 中快速开发自定义存储过程。 如您所见,嵌入式 Python 允许您在不牺牲性能的情况下选择最适合工作的编程语言。 3-使用Python内置函数 Python 解释器有许多内置的函数和类型,它们总是可用的。它们按字母顺序列在此处。 内置函数 A -----100----- -----101----- -----102----- -----103----- -----104----- -----105----- 乙 -----106----- -----107----- -----108----- -----109----- -----110----- C -----111----- -----112----- -----113----- -----114----- -----115----- 丁 -----116----- -----117----- -----118----- -----119----- 乙 -----120----- -----121----- -----122----- F -----123----- -----124----- -----125----- -----126----- G -----127----- -----128----- H -----129----- -----130----- -----131----- -----132----- 我 -----133----- -----134----- -----135----- -----136----- -----137----- -----138----- 大号 -----139----- -----140----- -----141----- 米 -----142----- -----143----- -----144----- -----145----- 否 -----146----- 欧 -----147----- -----148----- -----149----- -----150----- P -----151----- -----152----- -----153----- R -----154----- -----155----- -----156----- -----157----- 小号 -----158----- -----159----- -----160----- -----161----- -----162----- -----163----- -----164----- -----165----- 吨 -----166----- -----167----- V -----168----- Z -----169----- _ -----170----- 使用 python内置函数为了使用 python 内置函数,我们必须导入“builtins”,然后我们才能调用该函数 -----171----- Python print() 函数实际上是内置模块的一个方法,因此您现在可以从 ObjectScript 使用此函数: -----172----- -----173----- 同样,您可以使用 help() 方法获取有关列表对象的帮助。 -----174----- 4-Python 模块或库 一些 python 模块或库是默认安装的,并且已经可以使用。通过使用 help("module" 函数我们可以查看这些模块: 安装 python 模块或库 除了这些模块之外,python 还有数百个模块或库,可以在pypi.org查看( Python 包索引 (PyPI) 是 Python 编程语言的软件存储库) 如果我们需要一些其他的库,那么我们需要使用 intersystems irispip 命令安装这些库 比如 Pandas 就是 python 数据分析库。以下命令使用包安装程序 irispip 在 Windows 系统上安装 pandas: -----175----- 请注意 C:\InterSystems 将替换为 Intersystems 安装目录 5 个嵌入式 Python 用例 5.1-使用python Reportlab库打印PDF 我们需要使用 irispip 命令安装 Reportlab 库,然后创建 objectscript 函数。 给定一个文件位置,以下 ObjectScript 方法 CreateSamplePDF() 创建一个示例 PDF 文件并将其保存到该位置。 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 对象,然后继续调用它的方法,这与调用任何 InterSystems IRIS 对象的方法的方式非常相似。 然后您可以按照通常的方式调用该方法: do ##class(Demo.PDF).CreateSamplePDF("C:\Sample\hello.pdf") 生成以下PDF并保存在指定位置: 5.2-使用Python二维码库生成二维码 为了生成二维码,我们需要使用irispip命令安装Qrcode库,然后使用下面的代码我们可以生成二维码: 5.3-使用Python Folium库获取GEO位置 为了获取地理数据,我们需要使用 irispip 命令安装脚本库 Folium ,然后创建以下对象脚本函数: Class dc.IrisGeoMap.Folium Extends %SwizzleObject { // Function to print Latitude, Longitude and address details ClassMethod GetGeoDetails(addr As %String ) [ Language = python ] { from geopy.geocoders import Nominatim geolocator = Nominatim(user_agent= "IrisGeoApp" ) try : location = geolocator.geocode(addr) print ( "Location:" ,location.point) print ( "Address:" ,location.address) point = location.point print ( "Latitude:" , point.latitude) print ( "Longitude:" , point.longitude) except: print ( "Not able to find location" ) } } 连接到 IRIS 终端并运行以下代码 do ##class(dc.IrisGeoMap.Folium).GetGeoDetails("Cambridge MA 02142") 下面将是输出: 5.4-通过使用Python Folium库在交互式地图上生成并标记位置 我们将使用同样的 Python Folium 库在交互式地图上生成和标记位置,下面的对象脚本函数将完成所需的操作: ClassMethod MarkGeoDetails(addr As %String , filepath As %String ) As %Status [ Language = python ] { import folium from geopy.geocoders import Nominatim geolocator = Nominatim(user_agent= "IrisGeoMap" ) #split address in order to mark on the map locs = addr.split( "," ) if len(locs) == 0 : print ( "Please enter address" ) elif len(locs) == 1 : location = geolocator.geocode(locs[ 0 ]) point = location.point m = folium.Map(location=[point.latitude,point.longitude], tiles= "OpenStreetMap" , zoom_start= 10 ) else : m = folium.Map(location=[ 20 , 0 ], tiles= "OpenStreetMap" , zoom_start= 3 ) for loc in locs: try : location = geolocator.geocode(loc) point = location.point folium.Marker( location=[point.latitude,point.longitude], popup=addr, ).add_to(m) except: print ( "Not able to find location : " ,loc) map_html = m._repr_html_() iframe = m.get_root()._repr_html_() fullHtml = """ <!DOCTYPE html> <html> <head></head> <body> """ fullHtml = fullHtml + iframe fullHtml = fullHtml + """ </body> </html> """ try : f = open (filepath, "w" ) f. write (fullHtml) f. close () except: print ( "Not able to write to a file" ) } 连接到 IRIS 终端并调用 MarkGeoDetails 函数 我们将调用 dc.IrisGeoMap.Folium 类的 MarkGeoDetails() 函数。该函数需要两个参数: location/locations(我们可以通过在中间添加“,”来传递多个位置) HTML文件路径 让我们运行以下命令在地图上标记 Cambridge MA 02142、NY、London、UAE、Jeddah、Lahore 和 Glasgow,并将其保存为“irisgeomap_locations.html”文件 do ##class(dc.IrisGeoMap.Folium).MarkGeoDetails("Cambridge MA 02142,NY,London,UAE,Jeddah,Lahore,Glasgow","d:\irisgeomap_locations.html") 上面的代码将生成以下交互式 HTML 文件: 5.5-使用 Python Pandas 库进行数据分析 我们需要使用irispip命令安装Pandas库,然后我们可以使用下面的代码查看数据 6-总结 InterSystems嵌入式Python(IEP)是一个强大的功能,它允许你将Python代码与你的InterSystems应用程序无缝集成。有了IEP,你可以利用Python中的大量库和框架来增强你的InterSystems应用程序的功能。在这篇文章中,我们将探讨IEP的主要特点和好处。 IEP是作为一组库实现的,它使你能够在InterSystems应用程序中与Python对象交互并执行Python代码。这为将Python代码集成到你的InterSystems应用程序中提供了一个简单有效的方法,使你能够执行数据分析、机器学习、自然语言处理和其他在InterSystems ObjectScript中可能难以实现的任务。 使用IEP的主要优势之一是它提供了一种弥合Python和InterSystems世界之间差距的方法。这使得我们可以很容易地利用两种语言的优势来创建强大的应用程序,将两个世界的优点结合起来。 IEP还提供了一种方法,通过利用Python的功能来扩展你的InterSystems应用程序的功能。这意味着你可以利用Python中大量的库和框架来完成那些在InterSystems ObjectScript中可能难以实现的任务。 InterSystems Embedded Python提供了一个强大的方法,通过利用Python的能力来扩展你的InterSystems应用程序的功能。通过将Python代码集成到你的InterSystems应用程序中,你可以利用Python中大量的库和框架来执行在InterSystems ObjectScript中可能难以实现的复杂任务。 谢谢。
文章
Shanshan Yu · 四月 18, 2023

基于 InterSystems 一体化机器学习IntegratedML的儿童身高和体重预测

随着生活水平的提高,人们越来越注重身体健康。 而孩子的健康成长也越来越成为家长关心的话题。 孩子的身体发育可以从孩子的身高和体重反映出来。 因此,及时预测身高和体重具有重要意义。 通过科学的预测和比较,关注孩子的发育状态。 该项目使用InterSystems IRIS Cloud SQL通过输入大量体重和身高相关数据来支持,并建立基于IntegratedML的AutoML进行预测分析。 根据输入的父母身高,可以快速预测孩子未来的身高,并根据当前的身高和体重状况判断孩子的体重指数。 在正常范围内。 功能: 通过应用该程序,可以快速预测处于正常发育状态的儿童的身高。 通过结果,家长可以判断孩子发育是否正常,是否需要临床干预,有助于了解孩子未来的身高; 通过当前体重状态判断当前孩子的BMI是否正常,了解孩子当前的健康状况 应用场景 1.儿童身高预测 2. 监测儿童发育