搜索​​​​

清除过滤器

InterSystem Demo

0 帖子0 评论
文章
Claire Zheng · 一月 18, 2021

InterSystems 开发者社区欢迎您!

亲爱的是社区用户,您好! 如果您看到本页面,则说明您已进入 InterSystems 开发者社区! 非常欢迎您! 在这里,您可以了解和讨论有关InterSystems 产品和技术的信息,包括:InterSystems IRIS数据平台、Caché、Ensemble、HealthShare、DeepSee 和 iKnow。 在这里可以找到什么类型的内容? 我们在开发者社区 (DC) 提供三种类型的内容:文章、问题、公告。还有对问题的回答。 以及视频。 文章的内容涉及 InterSystems 技术和产品的最佳实践和经验。InterSystems 员工和社区用户都可以发表文章。 您可以找到版本说明和新功能描述,以及有关经验和 InterSystems 技术示例的文章。 当然,您也可以在这里提出问题,并获得来自世界各地的最有经验的 InterSystems 技术工程师的答案。 为何要注册? 在 DC 注册后,可以针对以下方面发表和评论文章,提出问题和给出答案:InterSystems数据平台、使用 InterSystems 数据平台和工具构建的解决方案、有助于在 InterSystems 数据平台上构建、部署和维护解决方案的工具、技术和方法。 注意!如果您是InterSystems 技术现有用户,在注册过程中出现如下报错信息,请尝试使用自己的WRC账户直接登陆社区。 点击查看发帖指南。 注意! 版主可能会删除与 InterSystems 产品和技术无关的帖子。 InterSystems 开发者社区行为准则。 注册会员可以投票。 如果您喜欢某篇文章、某个问题或回答,可以为其投票。 何时应该投反对票? 当您遇到发布过于草率、毫不费力就发出的帖子,或者是明显错误、甚至可能造成危险的回答时,请投上反对票。 如果投反对票,并且您认为帖子有改进空间,请考虑添加评论。 查看有关投票的更多信息。 网站如何运作? 帖子按标签进行分类。 有一些标签是必选的,这些标签在编辑时称为“组”。 必选标签与 InterSystems 产品或 InterSystems 服务相关。 您需要提供至少一个这样的标签。 标签有助于对帖子进行分类。 您可以订阅标签,以通过电子邮件或 RSS 获得通知。 此外,您还可以关注您喜欢的会员,相当于订阅该会员的帖子和评论。 在主页面,您可以看到发帖动态,其中最上面的是最新发布或者有最新评论和回答的帖子。 您可以使用筛选器,以便只查看您订阅的标签,以及投票最多的帖子和新帖子。 此外,我们还有 DC 分析网站,可用来查看一些关于 DC 会员、帖子、回答等的数据。 有关其他所有内容,请参见开发者社区常见问题解答。 订阅须知 注册会员可以收到关于开发者社区上的不同操作的电子邮件通知。 请参见此文章了解如何设置。 此外,每个人都可以订阅 RSS:所有内容和特定标签。 InterSystems Global Masters倡导中心! 这是我们的 InterSystems 倡导中心。如果您认为自己是 InterSystems 技术的倡导者,请加入由全球数百名 InterSystems 倡导者组成的团队。 我们将为您提供挑战、徽章,当然还有奖励。 点击查看详细信息。 InterSystems Open Exchange! 在 InterSystems Open Exchange 上查找工具、框架、解决方案、技术示例!点击了解更多信息。 还有什么? 如果您对网站有任何疑问,请在群组中提问,或查看常见问题解答。 我们在 Twitter 上发布开发者社区中的所有有价值内容,如果您更愿意点赞 Facebook,也可以访问我们的 Facebook 页面。 还有 InterSystems 开发者 LinkedIn 信息通道以及 InterSystems 开发者 LinkedIn 群组。 您也可以关注InterSystems中国领英账户,及时获取精彩信息! 如果您喜欢 Telegram,我们也有 DC Telegram 频道发布相同内容。 我们开通了 InterSystems 开发者 YouTube 频道。 在中国,我们在B站开通了InterSystems中国官方账号,将不定时更新由SE团队精心制作的视频课程、讲座等内容。 我们还在 Reddit 的开发者社区子板块发布所有最有趣的公告。 欢迎加入 InterSystems 开发者社区!
公告
Claire Zheng · 一月 7, 2021

InterSystems 商业数字服务

亲爱的社区用户,您好! 我们在 Global Masters上推出了商业服务奖励计划,这是一个绝佳的契机,您可以在开发者社区和我们的社交媒体上宣传贵公司的应用、解决方案和服务,甚至为您的 OEX 应用兑换 Google AdWords 推广! $1,000 Google AdWords 推广代金券 兑换此奖励可在 Google Adwords 上推广您的 OEX 应用。我们将设置推广(关键字、描述、受众),并在推广结束后发送报告。 要求:应用程序应该在 InterSystems IRIS数据平台/IRIS医疗版 上工作,或是通过 IRIS 进行管理/开发的工具。 3,000 积分 开发者社区上的“NEWS”宣传块 兑换此奖励可在开发者社区上宣传您的服务、活动或职位空缺。时长:1 周。 显示在网站所有网页的右侧。 我们的设计人员将为您准备一个横幅。 要求:开发服务、活动或职位空缺应该与 InterSystems 技术相关。 1,500 积分 开发者社区上的 Open Exchange 项目推广 兑换此奖励可在开发者社区上推广您的 OEX 项目。1 周之内,所有社区访问者在网站所有网页右侧的“本周应用”板块中都会看到一个横幅,其中包含您的项目的可点击链接。 1,000 积分 InterSystems 支持的网络研讨会 如果您想针对开发者组织一次专业的网络研讨会,以介绍您的解决方案/工具和公司服务,那么请兑换此奖励,我们将帮忙组织。 您将获得:InterSystems 团队将建立一个在线网络研讨会;在 开发者社区和社交媒体上推广该网络研讨会;开发者社区上的登录页面;网络研讨会前演练和会议期间的技术支持。 要求:应用程序应该在 InterSystems IRIS数据平台/IRIS医疗版上工作,或是通过 IRIS 进行管理/开发的工具。 3,000 积分 让您的视频出现在 InterSystems 开发者 YouTube 频道上 您是否有描述InterSystems 数据平台相关的工具、解决方案或经验的YouTube 视频? 通过订购视频加速包提高您的 YouTube 视频流量:在 InterSystems 开发者 YouTube 频道上推广视频。 列入每月的“InterSystems 开发者视频”摘要。 这是一个示例。 在 Global Masters 和 InterSystems 开发者社交媒体上宣传。 1,500 积分 在开发者社区上发布您公司的标签 兑换此奖励可获得您公司在开发者社区上的标签,它也是一种公司描述,一个包含帖子和您的订阅者的区域。 5,000 积分 如果您还不是 Global Masters 会员,如何兑换? ➡️ 我们邀请您加入: 1. 使用您在开发者社区上的相同账密登录Global Masters 。 2. 回答“自定义你的程序。 从这里开始!”挑战中的 4 个问题(您会在挑战中看到)。 3. 您对 OEX 和开发者社区的贡献积分将在 3 天内自动授予。 4. 在奖励目录兑换奖励。 InterSystems 开发者社区每个月的访问量超过 35000 人。让世界了解您在 InterSystems 数据平台上构建的应用、解决方案和服务! 欢迎在下面的评论中提出您的问题。 * * * 有关 Global Masters 的其他信息:认识Global Masters倡导中心,从这里开始 欢迎几位把你们的相关单位和产品介绍发布出来,展现给全球客户。 @jingqi LIu @Weiwei Yang @Deming Xu @Botai Zhang @姚.鑫
文章
jieliang liu · 一月 7, 2021

InterSystems 容器注册表介绍

我非常高兴地宣布,InterSystems 容器注册表现在可以使用了。 这为客户访问基于容器的版本及预览提供了新的渠道。 所有的社区版镜像都可在公共存储库中找到,且无需登录。 所有完整发布的镜像(IRIS、IRIS for Health、Health Connect、System Alerting and Monitoring、InterSystems Cloud Manager)和实用程序镜像(例如,仲裁器、Web 网关和 PasswordHash)都需要登录令牌,该令牌从 WRC 帐户生成。 WRC 发布网站暂时将继续以 tarball 方式提供已发布镜像。 不过,您现在可以配置 CI/CD 管道以直接从 InterSystems 容器注册表“docker pull”镜像。 可通过 https://containers.intersystems.com 访问该注册表。 有关完整的使用说明,请参阅下文或参阅文档(使用 InterSystems 容器注册表)。如果您遇到任何问题或有任何反馈要分享,请在下面的评论中告知我们,或联系 support@intersystems.com。-------------------------------------------------------------- 使用 InterSystems 容器注册表 本文档列出了 InterSystems 容器注册表 (ICR) 中可用的镜像,并提供了使用说明。该注册表位于 containers.intersystems.com 上。 可以使用 docker pull 命令下载 ICR 中的镜像,例如: docker pull containers.intersystems.com/intersystems/iris-community:2020.3.0.221.0 本文档包含以下部分: 公共像 受限访问镜像 对 ICR 进行身份验证 列出 ICR 清单 公共镜像 以下 ICR 镜像是公开可用的,无需身份验证即可拉取: InterSystems IRIS IntegratedML 2020.3 containers.intersystems.com/intersystems/iris-ml-community:2020.3.0.302.0 Community Edition 2020.3 containers.intersystems.com/intersystems/iris-community:2020.3.0.221.0 2020.3 ARM64 containers.intersystems.com/intersystems/iris-community-arm64:2020.3.0.221.0 InterSystems IRIS for Health IntegratedML 2020.3 containers.intersystems.com/intersystems/irishealth-ml-community:2020.3.0.302.0 Community Edition 2020.3 containers.intersystems.com/intersystems/irishealth-community:2020.3.0.221.0 2020.3 ARM64 containers.intersystems.com/intersystems/irishealth-community-arm64:2020.3.0.221.0 System Alerting and Monitoring 1.0 containers.intersystems.com/intersystems/sam:1.0.0.115 以下 ICR 镜像仅对经过身份验证的用户可用:受限访问镜像 以下 ICR 镜像是公开可用的,无需身份验证即可拉取: Arbiter 2020.1 containers.intersystems.com/intersystems/arbiter:2020.1.0.215.0 2020.2 containers.intersystems.com/intersystems/arbiter:2020.2.0.211.0 2020.3 containers.intersystems.com/intersystems/arbiter:2020.3.0.210.0 Health Connect 2020.1 containers.intersystems.com/intersystems/healthconnect:2020.1.0.215.0 InterSystems Cloud Manager (ICM) 2020.1 containers.intersystems.com/intersystems/icm:2020.1.0.215.0 2020.2 containers.intersystems.com/intersystems/icm:2020.2.0.211.0 2020.3 containers.intersystems.com/intersystems/icm:2020.3.0.221 InterSystems IRIS 2020.1 containers.intersystems.com/intersystems/iris:2020.1.0.215.0 2020.2 containers.intersystems.com/intersystems/iris:2020.2.0.211.0 2020.3 containers.intersystems.com/intersystems/iris:2020.3.0.221.0 2020.1 ARM64 containers.intersystems.com/intersystems/iris-arm64:2020.1.0.215.0 2020.2 ARM64 containers.intersystems.com/intersystems/iris-arm64:2020.2.0.211.0 2020.3 ARM64 containers.intersystems.com/intersystems/iris-arm64:2020.3.0.221.0 2020.3 IntegratedML containers.intersystems.com/intersystems/iris-ml:2020.3.0.302.0 InterSystems IRIS for Health 2020.1 containers.intersystems.com/intersystems/irishealth:2020.1.0.217.1 2020.2 containers.intersystems.com/intersystems/irishealth:2020.2.0.211.0 2020.3 containers.intersystems.com/intersystems/irishealth:2020.3.0.221.0 2020.1 ARM64 containers.intersystems.com/intersystems/irishealth-arm64:2020.1.0.217.1 2020.2 ARM64 containers.intersystems.com/intersystems/irishealth-arm64:2020.2.0.211.0 2020.3 ARM64 containers.intersystems.com/intersystems/irishealth-arm64:2020.3.0.221.0 2020.3 IntegratedML containers.intersystems.com/intersystems/irishealth-ml:2020.3.0.302.0 PasswordHash 1.0 containers.intersystems.com/intersystems/passwordhash:1.0 Web Gateway 2020.2 containers.intersystems.com/intersystems/webgateway:2020.2.0.211.0 2020.3 containers.intersystems.com/intersystems/webgateway:2020.3.0.221.0 要登录至 ICR,请执行以下步骤:对 ICR 进行身份验证 在您的浏览器中加载 https://containers.intersystems.com/,然后使用您的 InterSystems/WRC 凭据登录。 检索您的 Docker 登录令牌或完整的登录命令。 在 Docker 界面(例如,PowerShell 窗口或 Linux 命令行)中,使用提供的凭据对 ICR 进行身份验证。 您可以通过复制并粘贴显示的完整 docker login 命令来执行此操作,例如: docker login -u="bbinstoc" -p="provided_password" containers.intersystems.com 但是,出于安全原因,您可能想要输入命令 docker login container.intersystems.com,然后在 Username 提示符下输入用户名并将密码粘贴到 Password: 提示符下。 注意:如果您登录到另一个 Docker 注册表,则 docker login 命令可能会导致错误;登录到 container.intersystems.com 之前,请先注销其他注册表。 现在,您可以从 ICR 中拉取镜像,例如: docker pull containers.intersystems.com/intersystems/iris:2020.3.0.221.0 列出 ICR 清单 API 可用于列出 Docker 注册表中的镜像和标签。 可用于列出注册表清单的开源第三方实用程序的一个示例是 docker-ls ,其可从 https://github.com/mayflower/docker-ls 获取。 获取此实用程序的方法有几种。 你可以: 下载用于各种平台的预编译 docker-ls 二进制文件。 直接在某些平台上安装该实用程序,例如,在 Linux 系统上使用以下命令进行安装: sudo snap install docker-ls 在 Linux 平台上拉取并运行镜像 carinadigital/docker-ls:latest 以安装该实用程序,例如: docker run --rm carinadigital/docker-ls:latest 安装 docker-ls 后,您可以使用以下命令列出 ICR 中的存储库: docker-ls repositories --registry https://containers.intersystems.com --user username --password password 注意:使用 --interactive-password 选项提示输入密码,不要在命令行中输入密码。 要仅列出公开可用的镜像,请为 -user 和 --password 选项提供空字符串 ("") 作为参数, 例如,以下仅列出了公共 InterSystems IRIS for Health 镜像的标签: docker-ls tags --registry https://containers.intersystems.com --user "" --password "" intersystems/irishealth-community 如果希望看到非公共镜像的完整列表,则无论是否登录 container.intersystems.com,都需要向该实用程序提供用户名和密码。 可访问 https://github.com/mayflower/docker-ls 了解其他示例。

#InterSystems IRIS

770 帖子3 关注者

#InterSystems 官方

10 帖子4 关注者
公告
Claire Zheng · 三月 17, 2021

InterSystems IRIS数据平台在AWS提供完全托管式服务

通过持续进行云投资,InterSystems能够提供礼宾级的云服务。 InterSystems IRIS®数据平台和InterSystems IRIS医疗版™现已在亚马逊AWS云服务平台提供完全托管式服务,并可向客户提供一种风险最低、最便捷的充分利用云资源的途径。 客户在AWS基础架构中部署InterSystems环境后,InterSystems的礼宾级托管服务将帮助其处理性能、安全、可用性和操作问题。这种端对端服务可以让客户专注于自己的核心业务,而InterSystems则负责软件部署、基础架构、监测、高可用性、安全、补丁及升级等一系列工作。 InterSystems数据平台副总裁Scott Gnau表示:“在InterSystems,我们致力于通过云服务为客户提供礼宾级的托管式服务,并在AWS云端维持安全、可扩展、高性能的环境。” “我们的完全托管式云服务可为客户提供两全其美的解决方案——客户既可以利用InterSystems的云端技术,又可以免去相关的担忧和复杂问题。这一最新服务再次证明了我们对云投资的持续承诺,同时也为更多的客户提供了获得所有云技术效益的机会,并彰显了我们一流的客户参与度和支持服务。” 作为一个独立于云的数据平台,InterSystems IRIS可部署在所有的大型公有云中,并支持多云和混合云环境。InterSystems IRIS无需集成多种技术,可以更加便捷地构建支持机器学习的高性能应用程序,从而连接数据和应用程序孤岛。 欢迎国内的云托管服务小伙伴们前来咨询
文章
Qiao Peng · 三月 28, 2021

InterSystems IRIS医疗行业版创建FHIR服务器

如果您正打算学习FHIR、或者正在基于FHIR开发,最佳的学习和开发环境需要一个完备的FHIR 服务器,帮助您理解FHIR标准和调试FHIR应用。使用InterSystems IRIS医疗行业版可以快速配置出FHIR服务器和FHIR资源仓库。这篇文章介绍如何在5分钟内在InterSystems IRIS医疗行业版上配置FHIR服务器和FHIR资源仓库;同时对初学者介绍FHIR测试数据生成与加载的方法,和基本的FHIR REST API操作。 软件准备 1. InterSystems IRIS医疗行业版 您可以使用已有的2020.1及以上的InterSystems IRIS医疗行业版。如果您还没有,那么就在社区里下载一个最新的、免费的社区版吧。 2. 测试用的FHIR数据 如果您正在做FHIR开发,应该有很多FHIR测试数据。如果您正在学习FHIR,那么Synthea是一个不错的FHIR测试数据生成器选项。 3. REST测试工具 您或许已经有趁手的REST测试工具了。如果还没有,POSTMAN是个不错的选择。我的例子里用到的就是POSTMAN。 FHIR服务器配置 1. 安装InterSystems IRIS医疗行业版或社区版 如果您还没有安装过InterSystems IRIS医疗行业版或社区版,社区里有很多很好的介绍文章。 2. 配置FHIR服务器 2.1 创建一个FHIR 服务器命名空间 在InterSystems IRIS医疗行业版或社区版上,需要创建一个FHIR服务器命名空间。HS.HC.Util.Installer类的方法InstallFoundation可以创建这样的命名空间,例如,我们创建一个名为FHIRSERVER的命名空间: HSLIB>D ##class(HS.HC.Util.Installer).InstallFoundation("FHIRSERVER") 2.2 为这个命名空间配置FHIR访问端点 (FHIR endpoint) 进入管理门户,切换到FHIRSERVER命名空间,然后Health > FHIR Configuration, 然后点击“Server Configuration”。这里会列出已有的FHIR服务器的访问端点,并可以配置新的端点。 这里点击+号,在弹出的配置页面中进行设置,其配置项是: 选中支持的FHIR版本 (Select a metadata set): 如果要支持最新的FHIR版本4,选中HL7V40,就是FHIR R4; 选中交换策略 (Select an interaction strategy): 默认情况下只会有一个选项 - HS.FHIRServer.Storage.Json.InteractionsStrategy,它会将InterSystems IRIS同时配置为FHIR资源仓库。 设置FHIR服务器REST服务端点 (Enter a name(URL)): 例如/csp/healthshare/fhirserver/fhir/r4 然后点击Finish,让它完成后台的配置,这可能会花费1分钟。 2.3 修改这个FHIR服务端点 因为我们是想利用它来学习和测试FHIR,所以我们先跳过访问认证部分。在端点列表中选中刚才创建的/csp/healthshare/fhirserver/fhir/r4,滚动到最下方,找到Edit按钮,并选中“Debugging”下的“Allow Unauthenticated Access”,让FHIR服务器接受匿名访问。然后点击Update进行更新。 如果您按上述步骤执行完成,并且没有错误,那么FHIR服务器和FHIR资源仓库已经就绪了。看看表,您用了多久完成FHIR服务器的创建。 下面测试一下FHIR服务器是否工作正常。 测试FHIR服务器 即便您还没有任何FHIR测试数据,也可以先看看这个FHIR服务器的能力声明。 通过POSTMAN,使用GET方法,进行REST调用:http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/metadata。这里localhost:52776是我的测试InterSystems IRIS的服务器地址和Web服务端口号,您换成自己的就行。如果您不知道,那么用您访问InterSystems IRIS管理门户的地址和端口号。 因为我们在上一步配置时,允许匿名访问REST API,所以POSTMAN无需设置任何登陆账户,非常方便测试。正常情况下,您应该看到和我一样的结果: 您的FHIR服务器已经正常工作了,如果还没有测试数据,是时候加载一些FHIR数据进来了。 产生FHIR数据 如果您有自己的FHIR测试数据,请跳过此步,查看“加载FHIR数据”。 如果您还没有自己的FHIR数据,试试Synthea,它能方便的产生大量FHIR测试数据。Synthea有清晰的文档,告诉我们如何产生测试数据。(注:如果您是FHIR初学者,建议先少量创建FHIR测试数据文件,例如先创建5个) 通常它会产生3类JSON文件: 医院信息:hospitalInformation******.json, 每批次只会产生一个医院信息文件。 医生信息:practitionerInformation******.json, 每批次只会产生一个医生信息文件。 患者信息:<患者姓名>******.json, 每批次会根据设置产生一个或多个患者信息文件。 这些FHIR文件都是Bundle资源,Bundle里面会有很多FHIR资源数据。其中医院信息文件和医生信息文件的Bundle类型为batch,而患者信息的Bundle是transaction。 而Synthea产生的患者信息Bundle中的资源使用literal reference来引用医院/地点和医生信息,但它产生的literal reference信息不完整,例如: "serviceProvider": { "reference": "Organization?identifier=https://github.com/synthetichealth/synthea|731e0f3a-075d-37ab-9ba7-fbf1ab2f45e9", "display": "THE GENERAL HOSPITAL CORPORATION" } 需要将reference改为完整的地址,例如: "serviceProvider": { "reference": "http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Organization?identifier=https://github.com/synthetichealth/synthea|731e0f3a-075d-37ab-9ba7-fbf1ab2f45e9", "display": "THE GENERAL HOSPITAL CORPORATION" } 也就是增加FHIR服务器的端点。 需要替换/补齐的引用分别是:Location、Organization和Practitioner。 您可以通过文本编辑器进行全局替换,将FHIR服务器的端点信息补充到reference里。如果您产生了很多FHIR数据文件,当然可以用您熟悉的语言写几行代码做这个补充替换。 这里我也附上使用IRIS的Object Script做补充替换的代码示例,它会对指定目录下的所有json文件进行扫描和补充替换,供您参考: Class Demo.FHIRTools Extends %RegisteredObject { /// 修正FHIR文件的引用 /// pFilePath为FHIR json文件目录 /// pFHIREndpoint为FHIR REST的服务端点 ClassMethod CorrectSyntheaFiles( pFilePath As %String = "C:\Temp\Synthea\output\fhir", pFHIREndpoint As %String = "http://localhost:52776/csp/healthshare/fhirserver/fhir/r4") As %Status { Set tSC = $$$OK // 遍历目录下的json文件 Set tSM = ##class(%SQL.Statement).%New() Set tSC = tSM.%PrepareClassQuery("%File", "FileSet") If $$$ISERR(tSC) { Do $system.OBJ.DisplayError(tSC) Return tSC } Set tRS = tSM.%Execute(pFilePath, "*.json", "Name") While tRS.%Next() { // 创建临时文件 Set tFileName = tRS.%Get("Name"),tTempFileName=$Replace(tFileName,".json","temp.json") Set tFile=##class(%Stream.FileCharacter).%New() Set tTempFile = ##class(%Stream.FileCharacter).%New() Set tSC=tTempFile.LinkToFile(tTempFileName) Set tSC=tFile.LinkToFile(tFileName) // 从源文件逐行读取,替换后写入临时文件 While 'tFile.AtEnd { Set tLine=tFile.ReadLine() // 执行替换 For tKeyword="Location?identifier=","Organization?identifier=","Practitioner?identifier=" { Set tLine = $Replace(tLine,tKeyword,pFHIREndpoint_"/"_tKeyword) } Set tSC = tTempFile.WriteLine(tLine) } Do tTempFile.%Save() Do tFile.%Close(), tTempFile.%Close() Kill tFile,tTempFile // 删除源文件,并将临时文件改名为源文件名 Set tSC = ##class(%File).Delete(tFileName,.tRtn) Set tSC = ##class(%File).Rename(tTempFileName, tFileName, .tRtn) } Return tSC } } 加载FHIR数据 当然可以通过FHIR REST API来加载数据,不过,InterSystems IRIS提供了后台的API,可以快速加载特定目录下的大量的FHIR数据文件。 这里我们用后台API:HS.FHIRServer.Tools.DataLoader的SubmitResourceFiles方法进行大量FHIR文件加载: FHIRSERVER>Set sc=##class(HS.FHIRServer.Tools.DataLoader).SubmitResourceFiles("C:\Temp\Synthea\upload","FHIRSERVER","/csp/healthshare/fhirserver/fhir/r4") 其中第一个入参是需要加载的文件目录;第二个参数是加载的FHIR服务器类型,这里用FHIRSERVER;第三个参数是FHIR REST服务端点。 如果您是通过Synthea产生的测试FHIR JSON文件,那么应该先加载 医院信息文件(hospitalInformation******.json)和医生信息文件(practitionerInformation******.json),以确保患者数据加载时,Location、Organization和Practitioner的引用能正确关联到FHIR资源仓库中已保存的对应资源上。 注意:2020.* 版本中有一个bug,需要将医院信息文件(hospitalInformation******.json)和医生信息文件(practitionerInformation******.json)里的"type": "batch"改为"type": "transaction"。这个bug在2021.1版本中已经得到修复,我已经验证过,但如果您在使用2020的版本,请记得提前修改。 加载完医院信息文件(hospitalInformation******.json)和医生信息文件(practitionerInformation******.json)后,再执行相同的方法加载所有患者数据json文件。 使用FHIR 服务器 有了测试数据,现在您可以使用FHIR服务器进行学习或开发测试了。使用POSTMAN,您可以调用FHIR服务器的REST API,查询、更改、提交FHIR资源数据。 如果您是初学者,对FHIR的REST API不熟悉,建议您从FHIR Cheat Sheet开始,它是一个FHIR标准的汇总单页,里面告诉大家如何使用REST API进行操作。 例如: 1. 查询已经加载到FHIR资源仓库中的患者: 使用GET 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Patient 2. 使用查询参数,查询名为Pedro316的患者: 使用GET 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Patient?given=Pedro316 或使用POST 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Patient/_search?given=Pedro316 3. 更复杂的查询参数用例,查询拥有观察项目编码为8302-2(体重)的患者: 使用GET 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Patient?_has:Observation:patient:code=8302-2 4. 使用operation: $everything 来获取特定患者的所有相关FHIR资源(示例是id为95的患者):使用GET 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Patient/95/$everything 5. 加载FHIR Bundle资源: 使用POST 方法调用REST: http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/ ,并在Body中直接贴入FHIR资源数据到raw,或选择FHIR资源数据文件到binary。 注意:如果您是想让FHIR服务器解析Bundle中的FHIR资源,应该用http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/,而不是http://localhost:52776/csp/healthshare/fhirserver/fhir/r4/Bundle。后者把POST的FHIR数据按Bundle进行处理,并不会解析其中包含的FHIR资源内容并逐一保存! 注意:记得根据FHIR数据的格式设置Content-Type为application/json+fhir 或 application/xml+fhir,然后将数据贴在Body里: 好了,开启您的FHIR之旅吧 :) 后续我还会更新InterSystems IRIS医疗版作为FHIR服务器和FHIR资源仓库的更多内容,欢迎关注。
公告
Michael Lei · 十月 7, 2021

InterSystems 安全基础线上课程上线

InterSystems 安全基础线InterSystems Security Basics 通过本课程可以: 识别安全模式下的各个组件. 选择合适的认证方法. 创建用户和角色. 利用针对资源的许可来保护资产. 激活系统审计. https://learning.intersystems.com/course/view.php?id=1774 这个网址国内打不开么 应该可以的,learning 网站不需要翻墙 谢谢,已经打开了,当时应该是网络不太好吧。
文章
Claire Zheng · 三月 21, 2022

InterSystems IRIS哪些新特性让用户开发体验得到了极大提升?

谈到开发体验,什么最重要?如何为客户提供更好的开发体验?InterSystems IRIS的最新版本有哪些新特性极大优化了用户的开发体验?这是本月“极客聊吧”的话题,我们计划通过上、下两期视频探讨这一话题。在第一期视频中(点击查看),InterSystems中国销售工程师吕正之、马浩和WRC产品支持专家杨乐乐针对以下两点分享了他们的观点:(1)开发语言的多样性与对FHIR的支持; (2)开发平台的前瞻性:对Smart Data Fabric架构的支持。 主题 开发语言的多样性与对FHIR的支持 @Louis.Lu 吕正之(Louis): 大家好,我是InterSystems售前工程师吕正之,这是我的同事杨乐乐和马浩,今天的“极客聊吧”我和我的同事会和大家介绍一下如何为客户提供更好的开发体验的。首先有请我们的资深销售工程师马浩,我们一般称他为老马。老马,你有什么和我们分享的吗? @Hao.Ma 马浩(老马): 大家好,我是马浩。说到更好的开发体验,首先要聊的是嵌入式Python。原来只能使用InterSystems ObjectScript, Objectscript最大的问题是“开发者的欠缺”——培养开发者需要时间。 Python是最受欢迎的语言。据统计有超过800万的开发者,比Java多。嵌入到系统安装包里, 安装后就可以在代码里使用,混用。开发应用时,使用Embedded Python不仅访问IRIS的数据,包括我们的Ensemble组件,叫Interoperability in Python,也是用Python做的Objectscript的优化。 另一个令人振奋的是 VSCode。还有我们原本的开发IDE只有在Windows平台下的Studio,但是它对于源代码管理、Debug调试等方面的支持都不是很方便,现在我们可以使用VSCode作为InterSystems IRIS的开发IDE,客户端编程、代码调试、代码质量、GitHub, Container管理、Extension等等,所有这一切,对以往的Caché的程序员来说是非常大的改变,也是非常令人高兴的变化。 @Louis.Lu 吕正之(Louis): 嗯,这样确实不错,原来会有一些用户担心会我们开发语言的工程师比较少,现在他们可以招聘擅长Python的工程师进行InterSystems IRIS的开发了。 @Hao.Ma 马浩(老马) 是的,这对于我们的合作伙伴真是个好消息,他们可以招聘一些Python的工程师。当然,对于使用ObjectScript的工程师来说,也意味需要有一个学习新工具的适应的过程。 另外一个提升客户开发体验的是对于HL7 FHIR标准的进一步支持。InterSystems IRIS 医疗版提供了开发FHIR应用的所有必须模块,包括几个东西:API的接口,FHIR服务器以及FHIR资源仓库、FHIR Message Broker消息代理。无论是开发FHIR应用、创建FHIR的数据存储,还是把旧有系统映射的数据映射成FHIR的格式,IRIS for Health(IRIS医疗版)都有非常方便的工具和组件。 @Louis.Lu 吕正之(Louis): 我知道FHIR是HL7最新的互操作性标准,它将医疗数据的基本单元定义为资源,比如患者资源、就诊资源、检查结果资源、药嘱资源等,每个资源都定义了合适的数据格式,约束、值集范围、资源之间的相互关系等,而且FHIR还有强大的扩展能力,满足各方面的实际需求。 同时它也是文档、消息交换的标准,并且它定义了每个资源的接口API、查询参数等。现在的一个问题是针对FHIR资源的查找只能通过API进行,这样对于我们熟悉使用SQL查询的工程师感觉很不方便,会影响到客户的开发体验。 @Hao.Ma 马浩(老马) 现有的FHIR定义确实有这样的问题,FHIR是一个JSON的格式,资源的关系很复杂。不方便做查询。好消息是,InterSystems 在2021年全球线上峰会上演示了FHIR SQL Builder预览版的一些功能,简单地说:它就是一个工具,分析FHIR资源仓库的数据,创建你自己的SQL schema,一部分灵活的控制,总结存储的资源和他们的元素信息。对于大型FHIR资源仓库,用户可以指定只分析总资源库的一个部分。他还提供了一个页面让用户选择资源、元素,并生成相对应的SQL schema,这样对于熟悉SQL的工程师来说,只要访问那个SQL schema就可以使用到你想要的FHIR数据了。 @Louis.Lu 吕正之(Louis): 听上去真不错,这个在哪里可以体验呢? @Ida.Yang 杨乐乐(Ida): 有希望体验FHIR SQL Builder的观众可以通过400-601-9890 技术热线联系,或者添加我们小助手的微信联系我们,我们很高兴听到各位的使用反馈,很有可能您的建议会被添加到我们未来的产品中。 扫码添加小助手 或搜索“ISC-Johnny”即可添加 主题 开发平台的前瞻性:对Smart Data Fabric架构的支持 马浩(老马): 关于如何为客户提供更好的开发体验,开发平台的前瞻性也是至关重要的,去年我们的全球峰会中提到的InterSystems IRIS 对于Smart Data Fabric(智能数据编织)架构的支持。那么Louis,你是如何理解Smart Data Fabric的呢? 吕正之(Louis): 嗯,很好,你注意到了这一点,对于Smart Data Fabric架构的支持确实贯穿了我们全球峰会的主题。Data Fabric中文有的翻译成数据经纬、数据编织,还有的更直接称为智能数据结构,它描述的是一种数据的管理架构。这种架构可以优化对分散数据的访问,这里说的“分散”包含两方面的含义:一是物理层面,数据存储在不同的数据库、不同的服务器、甚至是在不同的地理位置中。另一层含义指的是数据类型的多样性——它可能是传统的关系型数据,比如主外键关联的多张表,或者是非关系型的比如xml、JSON格式的文档数据,又或者是对象型数据、键值对数据、流数据等。 Data Fabric架构可以智能地、规划并协调它们,方便向数据消费者提供自助式的服务。有了这样的架构,可以通过让用户实时访问正确的数据来提升企业数据的价值,而不管它存储在哪里。Data Fabric整合了核心数据管理功能,依据Gartner对于Data Fabric的组成的描述,在数据源和数据消费者之间主要包含: 数据连接:帮助客户连接数据孤岛 数据填充:实时、智能地选取合适的数据 数据治理:对数据进行处理和提炼 数据访问:并让数据方便于使用,方便于分析 马浩(老马): 那么InterSystems IRIS 是如何支持的呢? 吕正之(Louis): InterSystems IRIS数据平台集合了Caché、Ensemble的众多功能和特点: 它可以使用同一个平台管理多类型的数据:关系型、文档型、键值对、对象型数据; 它兼容了事务性数据与分析型数据的存储与读取; 内置的多种协议比如Http、SOAP、文件、SQL或者标准HL7、IHE的适配器可作为系统互操作性重要的组成,方便用户用于数据连接、数据访问; 适配器的不同参数可以对应于实时、批量加载数据的不同场景。 Data Fabric还有一个重要的用户使用特性是self-service,也就是用户自己可以花很短的时间去寻找到需要的数据,花更多的时间去探索数据中的隐藏的含义,从而指引自己对数据变化进行更快的反应。 对于业务流程开发工程师,InterSystems IRIS 提供的全部管理、配置界面都是基于BS架构的,也就是说你可以通过网页方便地开发出一个复杂的业务流程,比如要根据实时的数据运行机器学习算法给出预测值,或者在问诊过程中根据当前病情、历史用药、历次化验结果调用临床决策知识库实时给出诊疗建议,又或者需要在很短时间内对满足特定条件的人群发出诊疗告警等等类似于这样的业务流程,需要涉及多个系统、多种数据结构,仅仅通过网页画流程图的方式就可以轻松实现。 对于前端工程师、接口工程师可以借助InterSystems IRIS IAM工具,掌握任何服务端接口的变化,也可以集中监控和管理接口,比如流量管控、访问认证、灰度发布等。 对于机器学习,内嵌的Integrated ML功能可以让非数据科学家,仅仅执行类似于SQL的语句,就完成了从数据建模到数据准备、特征工程、模型选择、训练模型再到验证模型,如果想使用训练好的模型,也仅仅是执行InterSystems扩展SQL 语句就可以获得结果,这对于想使用机器学习对海量数据进行初步筛选的医疗一线人员真是很方便。 对于数据分析师,不但可以使用自己熟悉的PowerBI、Tableau等工具直接访问IRIS中保存的数据,IRIS还提供了自适应分析工具AA(Adaptive Analytics),利用图形化工具对需要分析的数据进行预处理,创建一个虚拟的Cube,该虚拟Cube会在后台运行一个AI引擎,根据数据特点、访问习惯等做出最佳优化,供分析软件调用。 可以看到InterSystems IRIS 对于Data Fabric的架构进行了完整的支持。 当然还有更多、更详细关于InterSystems IRIS 对于Data Fabric的支持的信息请访问我们的官网、开发者社区等渠道获取。正如Gartner的评价,Data Fabric是数据管理的未来。 欢迎通过以下平台与我们联系,敬请关注近期即将推出的视频:如何为用户提供更好的开发体验(下)
文章
Lilian Huang · 六月 23, 2022

InterSystems 许可证信息和查询支持Tips

InterSystems许可证是指InterSystems发放的电子或纸质版的产品许可证,内容包括许可证订购日期、产品描述等。 激活码/License Key是InterSystems随许可证发放的许可软件激活码。通常情况下,客户收到的是电子许可证。 以下是一些许可证,激活码/License key常见咨询问题参考: 收到电子许可证后,如何获取纸质版许可证? 纸质版许可证或是安装介质盘,可通过合作伙伴或是致电原厂核验许可证信息后获取。 如需申请WRC支持,需要 申请准备: WRC账号,如无请通过WRC联络信息申请WRC账号 故障问题描述 许可证或激活码/License key 最终客户名称 WRC全球响应中心联络信息: 电话: +86 400-601-9890 邮件: support@intersystems.com 网站1(国内用户): https://wrc.intersystems.cn/ 网站2:https://wrc.intersystems.com 如何查询您的授权文件客户名和授权密钥? 方法1: 使用管理门户 以管理员身份登录到系统管理门户,进入菜单:系统管理>软件许可颁发>软件许授权码 (或英文菜单:System Administartion>Licensing>License Key) 记录客户名和授权密钥: 方法2 :使用命令行 执行命令: w $System.License.CKEY(),并拷贝输出内容 USER>w $System.License.CKEY() Cache Key display: Based on the active key file 'c:\intersystems\cache\mgr\cache.key' LicenseCapacity = Cache 2017.1, Enterprise:100, Concurrent User CustomerName = *** OrderNumber = 54321 ExpirationDate = 11/30/2022 AuthorizationKey = ******************************************************** MachineID = 方法3 :查看授权文件 使用文本编辑器查看您收到的授权文件。如果您不知道授权文件保存在哪里,可以到服务器的<InterSystems产品安装目录>/mgr/ 下找到cache.key (Cache’/Ensemble/旧版HealthConnect) 或iris.key (IRIS/新版HealthConnect)。 如何查询您的许可证产品类型和版本 方法1 :使用管理门户 任意身份登录到管理门户,点击菜单“关于”,记录版本信息。 方法2 :使用命令行 执行命令: w $ZV,并拷贝输出内容 USER>w $ZV Cache for Windows (x86-64) 2017.1.1 (Build 111U) Wed May 17 2017 15:34:56 EDT 备注:其他许可证任何问题,欢迎咨询:GCDPSales@intersystems.com。
文章
Qiao Peng · 八月 23, 2022

InterSystems 常用术语

任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。 名词 说明 Arbiter 仲裁器。用于在mirror高可用集群里辅助判断主备机成员状态,提高高可用集群的有效性 Atelier InterSystems开发的基于Eclipse的IDE,可以单独部署、也可以嵌入Eclipse bitmap索引 位图索引。以位图方式保存的枚举类型数据的索引,用于高性能查询 bitslice索引 位片索引。用位图方式对数值型数据建立的索引,用于高性能查询 Buttons Cache'数据库上的诊断报告工具。历史上,InterSystems曾经提供一个routine,名为^Buttons,用于收集系统数据用于诊断。虽然后来这个工具已经被放在%SYS.Task.DiagnosticReport类中,但大家还是习惯称之为buttons cconsole log Cache'数据库的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。它含有非常重要的系统诊断信息 CPF InterSystems数据平台的参数配置文件(Configuration Parameter File), 文件后缀为cpf CSP Cache' Server Page的缩写,它是InterSystems数据平台提供的服务器端网页技术 CSP gateway 部署在网络服务器上的、用于和后台InterSystems Cache'数据平台通讯的组件,它由InterSystems提供 deamon InterSystems数据平台的后台关键进程,例如写进程、journal进程等 DeepSee InterSystems Cache'数据库提供的内嵌式BI工具,不用迁移数据即可对事务型数据进行BI分析。在InterSystems IRIS中改名为InterSystems Analytics dejournal 将数据库操作日志Journal中的记录重新执行的过程 dejournal filter 在数据库操作日志Journal中的记录重新执行的过程中,对记录进行事先过滤的过滤器代码 dismount 数据库卸载 ECP ECP是InterSystems企业缓存协议(Enterprise Cache Protocol)的缩写。ECP是InterSystems高性能集群架构协议,简称ECP集群,由数据服务器和应用服务器组成。应用服务器缓存数据服务器的数据,对客户端提供媲美内存数据库性能的访问效率 Embedded SQL 嵌入式SQL,在ObjectScript中直接使用SQL语言的特性 Global Buffers 数据缓存 global mapping 将数据库的global映射到特定命名空间,从而使其在命名空间中可以被访问 IAM InterSystems API管理器。它是一个容器化的API全生命周期管理的独立组件 ICM InterSystems的云管理器,用于对云部署的InterSystems数据平台集群进行配置、管理和运维 iKnow InterSystms Cache'数据库上的自然语言处理技术。在InterSystems IRIS上已经改名为InterSystems IRIS Natural Language Processing (NLP) Instance 一个安装好的InterSystems Cache'/Ensemble/Health Connect/IRIS实例 Journal Journal是InterSystems数据平台产生的数据操作日志。它被用于保证数据一致性、高可用、灾备等多种场景,是非常重要的数据库特性 License 授权文件,用于激活InterSystems产品 License服务器 在InterSystems数据平台集群部署时,把授权文件集中部署在一台服务器上供集群分享。这台服务器称之为license服务器 messages log InterSystems IRIS数据平台的控制台日志文件,记录通用信息、系统错误、特定操作系统错误、网络错误等。它含有非常重要的系统诊断信息 Mirror InterSystems镜像技术,这是一个高可用的技术。通过主服务器与镜像备用服务器间的同步操作日志(journal)来保持数据一致,并在故障时自动切换。Mirror不依赖共享存储和操作系统级的故障转移能力,提供低成本的、秒级的切换 mirror同步成员 用于高可用的一对mirror实例,它们之前保持强同步 mirror异步成员 用于高可用目的之外的mirror实例,它们与主机保持弱同步,可以用于灾备、报告与查询等目的 mount 数据库加载 M语言 M语言是MUMPS(Massachusetts General Hospital Utility Multi-Programming System)语言的简称。MUMPS在马塞诸塞州总医院开发,是一个基于多维模型数据库的高性能事务处理语言。InterSystems是M语言的早期厂商之一,后来通过收购兼并了市场上主要的M厂商。InterSystems目前自己的ObjectScript语言与M语言有非常大的差异,例如支持面向对象,因此并非一种语言 namespace 命名空间。 InterSystems数据平台的逻辑工作平台,包括保存在不同数据库的数据和代码 ObjectScript InterSystems的对象脚本语言,这是一个弱类型的面向对象语言 Package mapping 数据包映射。将数据库的类包映射到特定命名空间,从而使其在命名空间中可以被访问 pButtons Cache'数据库上的性能监控工具。它是一个routine, 名为^pButtons。由于Cache'数据库庞大的安装基数,即便在InterSystems IRIS新一代数据平台上性能监控工具已经改名为^SystemPerformance,大家还是习惯称系统自带的性能监控工具为pButtons routine 用ObjectScript编写的非OO的服务器端程序 routine mapping 将数据库的routine映射到特定命名空间,从而使其在命名空间中可以被访问 SAM InterSystems的系统告警与监控管理器。它是一个容器化的独立组件 Shadow 在Mirror技术之前的InterSystems数据同步机制。通过在Shadow主备机之间传递Journal来实现备机对主机的数据同步。它不是严格意义上的高可用方案 sharding 数据分片。通过将一个大数据集拆分成若干小的数据分片,提供横向可扩展的访问机制 SMP 系统管理门户。它是随InterSystems数据平台安装的用于后台管理与开发的Web应用,最常用的后台管理应用 Studio InterSystems开发的IDE,运行在Windows操作系统上 superserver 超级服务器,InterSystems数据平台实例监听特定端口,并分配给后台子系统,它称之为超级服务器。默认的监听端口时1972 Web网关 部署在网络服务器上的、用于和后台InterSystems IRIS数据平台通讯的组件,它由InterSystems提供 WIJ write image journaling的缩写,是InterSystems数据平台在写后台进程将数据更新完全写入数据库文件前,保证数据一致性、降低硬件故障造成的数据风险的机制 ZEN Zen是InterSystems Cache'数据库提供的组件化的网页应用架构 Tune table 调优表。是InterSystmes 数据平台提供的对SQL数据进行统计的分析工具和分析过程。调优表采集的统计数据会被用于SQL编译器对SQL语句进行执行优化 私有Apache InterSystems数据平台安装时,会自动安装一个私有的Apache,用于支撑其管理门户网页应用,同时方便其开放的网页应用、SOAP服务、RESTful API等基于HTTP服务的测试与调试。私有Apache功能不完整,不应用于发布InterSystems数据平台上基于HTTP的服务,应该独立部署完整功能的网络服务器 虚拟文档 InterSystems数据平台上,将非结构化数据以对象方式操作的技术。支持XML、以分隔符分隔的字符串等非结构化数据 资源 InterSystems数据平台用于基于权限保护的对象,称之为资源。它包含被保护对象和需要的权限,例如对数据库User的读权限,就是一个资源 镜像 同Mirror 专业
问题
Liang Jianhui · 八月 24, 2022

InterSystems log文件解析

InterSystems 有解析log文件的工具或者API吗? 您说的是哪个log呢? message Log ,alerts 还是event log? alerts.log 如果您是IRIS或者HC的2017.4版本以上的话,可以用REST API 接口 http://<IP>:<端口号>/api/monitor/alerts 我这边也找到了,非常感谢

#InterSystems 想法门户

21 帖子0 关注者