搜索​​​​

清除过滤器
公告
Michael Lei · 五月 15

InterSystems 文档门户正式改版!

新版文档门户支持: 同一页面中集中展示以往版本的文档信息. 暗黑模式 左侧菜单展开与收缩 快来体验吧!
公告
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 服务器上的竞赛频道或在本文评论中与我们交谈。 期待您的精彩提交 - 加入我们的编程大赛吧!来赢得胜利! ❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️
文章
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 · 一月 15

视频合集 | InterSystems IRIS医疗版互联互通套件产品用例

本文汇聚了InterSystems IRIS医疗版互联互通套件产品用例视频,共19个视频,欢迎收藏、观看!您也可以通过B站视频合集观看全部内容。 互联互通套件产品用例:互联互通文档转FHIR 互联互通套件产品用例:vscode连接互联互通容器版 互联互通套件产品用例:互联互通套件Docker版安装步骤 互联互通套件产品用例:糖尿病预测AI应用 互联互通套件产品用例:发布订阅,服务 互联互通套件产品用例:Rest API介绍 互联互通套件产品用例:共享文档:数据校验 - SQL前校验 互联互通套件产品用例:IRIS Studio连接互联互通套件容器版 Smart On FHIR用例:心血管疾病风险预测 Smart On FHIR用例:儿童生长发育曲线 互联互通套件产品用例-服务:患者注册 互联互通套件产品用例-共享文档:文档生成 + 文档查阅 互联互通套件产品用例-共享文档:数据校验 - SQL 互联互通套件产品用例-共享文档:数据导入 互联互通套件产品用例-共享文档:数据校验 -文档校验 互联互通套件产品用例-共享文档:值集更新 互联互通套件产品用例:平台性能监控 互联互通套件产品用例:批量生成电子病历共享文档 互联互通套件产品用例:国家三级公立医院绩效考核指标
文章
Michael Lei · 七月 7

InterSystems 常见问题系列 如何在启动时执行特定动作

InterSystems 常见问题FAQ 如果您想在InterSystems 产品启动时执行一个操作系统可执行文件,命令或者程序,可以在SYSTEM^%ZSTART routine里面写明流程 ( %ZSTART routine在 %SYS 命名空间里面创建). 在 SYSTEM^%ZSTART 里面写代码之前, 请确保他可以在任何情况下能正常工作 如果 ^%ZSTART routine 写的不对,或者没有响应或者发生错误,InterSystems 产品可能会无法启动。 更多信息,请参考一下文档。 About writing %ZSTART and %ZSTOP routines [IRIS]About writing %ZSTART and %ZSTOP routines
文章
Michael Lei · 七月 7

InterSystems 常见问题系列 如何检查数据大小

InterSystems 常见问题系列FAQ InterSystems 产品里数据 (表、对象、实例数据) 是存在global 变量里的。每个global 的数据大小可以从管理门户中中点击属性查看Management Portal > System > Configuration > Local Database > Globals page, 然后在global 属性页点击计算大小Calculate Size 按钮。你可以在终端上调用^%GSIZE 来在命名空间里显示数据大小,方法如下. USER>do ^%GSIZE Directory name: c:\intersystems\ensemble\mgr\user\ =>All Globals? No => Yes^DeepSee.ActiveTasks contains no dataInclude it anyway? No => YInclude any other similar globals without asking again? Yes =>^DeepSee.ActiveTasks contains no dataInclude it anyway? No => YesInclude any other similar globals without asking again? Yes => Yes^DeepSee.FeatureStats contains no data -- included^DeepSee.Session contains no data -- included^oddBIND contains no data -- included^oddMETA contains no data -- included^oddStudioDocument contains no data -- included^oddStudioMenu contains no data -- included^rINCSAVE contains no data -- included91 items selected from91 available globalsShow details?? No => YesDevice:Right margin: 80 =>directory: c:\intersystems\ensemble\mgr\user\ Page: 1 GLOBAL SIZE 26 Jun 2017 6:56 PM Global Blocks Bytes Used Packing Contig. -------- -------- --------------- ------- ------- CacheMsg 1 3,812 47 % 0 DeepSee.ActiveTasks 1 24 0 % 0 DeepSee.AgentLog 1 6,008 74 % 0 DeepSee.Agents 1 688 8 % 0 DeepSee.BucketList 1 76 1 % 0 DeepSee.Cache.Axis 25 142,616 70 % 14 DeepSee.Cache.Listing 15 87,728 72 % 11 DeepSee.Cache.Results 31 183,200 72 % 17 DeepSee.Cubes 3 17,936 73 % 0 to continue or '^' to STOP:
文章
Michael Lei · 七月 7

InterSystems 常见问题系列,如何避免ODBC查询超时

InterSystems 常见问题系列FAQ 如果要让超时功能失效, 在DSN设置查询超时为disabled: Windows Control Panel > Administrative Tools > Data Sources (ODBC) > System DSN configuration 如果勾选了Disable query timeout , 超时就会失效. 如果想在应用侧修改,你可以在ODBC API 层设置:在连接数据源之前,调用ODBC SQLSetStmtAttr功能设置SQL_ATTR_QUERY_TIMEOUT 属性
文章
Michael Lei · 七月 25

InterSystems 常见问题FAQ系列--如何在编译类routines时包含映射修饰符

InterSystems 常见问题FAQ 要编译包含映射修饰符的类rountine,请指定编译器修饰符“/mapped=1”或“/mapped”。例如,执行以下操作: [示例 1] 获取类列表并编译 do $System.OBJ.GetClassList(.list,"/mapped") // build your classes starting from .list do $System.OBJ.Compile(.list) [示例 2] 编译所有类 do $system.OBJ.CompileAll("/mapped")
文章
Louis Lu · 八月 6

InterSystems ObjectScript中一些有用的自动生成的方法

在使用 InterSystems ObjectScript 进行编程时,当你定义了属性property、查询query或者索引index,系统会在编译的过程中自动创建与之相关的一些方法,这篇文章对这些方法做了些总结: 属性Properties 1. 假设你定义了一个属性 Property, 下面的方法会被自动创建 ClassMethod PropertyGetStored(id) 对于数据类型属性,这个函数将返回其逻辑值,对于对象属性,返回id。这是一个对类global数据的封装,也是获取单例属性值(singular property value)最快的方法。此方法仅适用于已持久化存储的属性。 这里是一段采用多种方法读取数据的对比代码,用于测试各种访问数据方式的时间差异,其结果是: Iterations: 10000 Object access: .130111 GetStored access: .014388 SQL access: .020268 Global access: .007717 Object access takes 904.30% of GetStored time Object access takes 641.95% of SQL time Object access takes 1686.03% of Global time GetStored access takes 70.99% of SQL time GetStored access takes 186.45% of Global time SQL access takes 262.64% of Global time 其中: Object access 是打开一个对象,并读取其属性值 SQL access 使用嵌入式SQL GetStored 使用本文所述自动生成的方法 Global 使用直接读取保存属性值的global 2. Method PropertyGet() 这个函数是属性的getter,可被重新定义。 3. Method PropertySet(val) As %Status 这个函数是属性的setter, 可被重新定义。 对象属性 Object properties 1. 如果是一个对象属性,有关ID以及OID的方法会被创建 Method PropertySetObjectId(id) 这个方法通过对象的Id设置属性值,也就是不需要首先打开一个对象,再设置该对象的属性值。 例如下面定义了两个类 Class Person Extents %Persistent { Property EmployedAt As Company; } Class Company Extends %Persistent { } 通常来说你要将Company赋值给Person是这样写的: set person = ##class(Person).%New() set companyId = 123 set company = ##class(Company).%OpenId(companyId) set person.EmployedAt = company 但是如果你使用PropertySetObjectId方法,就可以这样写: set person = ##class(Person).%New() set companyId = 123 do person.EmployedAtSetObjectId(companyId) 可以看到,这样写的不同点就是,你不需要打开Company这个对象,就可以直接赋值。 2. Method PropertyGetObjectId() 这个方法返回属性值的Id 3. Method PropertySetObject(oid) 这个方法通过OID设置属性值 4. Method PropertyGetObject() 这个方法返回属性值的OID 数据类型属性Datatype properties 1. 对于数据类型属性会生成多个在不同格式间转换的函数: ClassMethod PropertyDisplayToLogical(val) ClassMethod PropertyLogicalToDisplay(val) ClassMethod PropertyOdbcToLogical(val) ClassMethod PropertyLogicalToOdbc(val) ClassMethod PropertyXSDToLogical(val) ClassMethod PropertyLogicalToXSD(val) ClassMethod PropertyIsValid(val) As %Status 检查val是否为有效的属性值 2. ClassMethod PropertyNormalize(val) 返回标准化的逻辑值 注意: 定义的关系(Relationship)也是属性,可以使用 get/set 方法 输入值 val 总是指逻辑值,格式转换方法除外 索引Indexes 1. 对于命名为"Index"的索引,下面函数会被自动创建 ClassMethod IndexExists(val) As %Boolean 该函数判断val的索引是否存在。 唯一索引Unique Indexes 1. 对于唯一索引,下面函数会被自动创建 ClassMethod IndexExists(val, Output id) As %Boolean 判断val的索引是否存在,并且通过第二个参数返回该对象的id。 2. ClassMethod IndexDelete(val, concurrency = -1) As %Status 通过val,删除索引 3. ClassMethod IndexOpen(val, concurrency, sc As %Status) 通过val返回该对象。 注意: 索引可基于多个属性创建,如何使基于多个属性创建的索引,那么函数的输入参数则是多个,比如这样的索引定义: Index MyIndex On (Prop1, Prop2); 那么IndexExists函数则会是下面这样的: ClassMethod IndexExists(val1, val2) As %Boolean 其中val1对应于Prop1的值, val2对应于Prop2的值,其他的函数遵循同样的逻辑。 Caché 生成的 IDKEY索引,是基于ID字段创建的索引。它同样可被重写,以及包含多个属性。例如,检查该类是否有某属性定义: Write ##class(%Dictionary.PropertyDefinition).IDKEYExists(class, property) 所有索引函数检查的都是逻辑值 文档参见这里 查询Queries 1. 对于查询queries(它可以是一个简单的SQL查询,或者用户自定义的类的查询),命名为"Query"Func的方法会被自动创建: ClassMethod QueryFunc(Arg1, Arg2) As %SQL.StatementResult 它会返回一个 %SQL.StatementResult,可被用于便利查询。比如对于在Samples命名空间下的Sample.Person类,定义了一个ByName的查询,它接受一个输入参数,它可以直接通过下面方法在代码中调用: Set ResultSet=##class(Sample.Person).ByNameFunc("A") While ResultSet.%Next() { Write ResultSet.Name,! } 另外,这里是一个在GitHub上的示例,用于演示上面的方法使用。
公告
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 我们向所有参赛者和获奖者表示最诚挚的祝贺! 下次再一起享受乐趣吧;)
文章
jieliang liu · 四月 17

[视频] 与 InterSystems 一起释放机器学习的力量

Hey Community, Play the new video on InterSystems Developers Bilibili官方频道: ⏯ 与 InterSystems 一起释放机器学习的力量 探索如何使用 InterSystems 的所有最新和最先进技术进行机器学习,包括 使用 SQL 和我们的 InterSystems Cloud SQL 服务进行特征工程。 使用 InterSystems IntegratedML 服务训练 ML 模型。 使用与 InterSystems IRIS 中的数据相连的 Jupyter Notebook 和 Python 训练 ML 模型。 使用 ObjectScript 和嵌入式 Python 将 ML 模型集成到应用程序中。 主讲人: 🗣 Marta Manzin, Senior Developer, InterSystems🗣 @Donald.Woodlock, Vice President of Healthcare, InterSystems🗣 @Alex.MacLeod, Director of HealthShare Commercial Initiatives, InterSystems 祝您观看愉快,并探索更多视频!👍
文章
Michael Lei · 七月 7

InterSystems 常见问题系列如何从FTP 服务器上传/下载影像文件

InterSystems 常见问题系列FAQ 流程如下 1. 上传到 FTP server set tmpfile="c:\temp\test.jpg" set ftp=##class(%Net.FtpSession).%New() // connect to FTP server do ftp.Connect("","<username>","<password>") // set transfer mode to BINARY do ftp.Binary() // Move to the directory to upload do ftp.SetDirectory("/temp/upload") // Prepare a stream of files to upload set file=##class(%File).%New(tmpfile) do file.Open("UK\BIN\") // upload file // 1st argument: File name to create at upload destination // 2nd argument: File stream to upload do ftp.Store("test.jpg",file) // Logout from ftp server do ftp.Logout() // close the file do file.Close() // (Optional) Delete the uploaded file //do ##class(%File).Delete(tmpfile) 2. 从FTP服务器下载 set ftp=##class(%Net.FtpSession).%New() // Connect to ftp server do ftp.Connect("","<username>","<password>") // Set the transfer mode to BINARY do ftp.Binary() // Prepare a file stream to download and store set stream=##class(%FileBinaryStream).%New() do stream.LinkToFile("c:\temp\testdownload.jpg") // Go to the download directory do ftp.SetDirectory("/temp/download") // Download the file and close the stream do ftp.Retrieve("test.jpg",stream) do stream.SaveStream() Set stream="" // Logout from the ftp server do ftp.Logout()
文章
Michael Lei · 七月 18

InterSystems 常见问题系列--如何使用命令获得应用错误 (^ERRORS)

InterSystems 常见问题系列 使用 ErrorList 查询 SYS.ApplicationError 类. 注 1: 在 %SYS 命名空间中运行. 注 2: 这是个非存储的utility, 所以我们用 %ResultSet 类而不用 %SQL.Statement. 执行命令的例子如下. USER>set $namespace="%SYS" //equal to zn "%SYS" %SYS>set rset=##class(%ResultSet).%New() %SYS>set rset.ClassName="SYS.ApplicationError" %SYS>set rset.QueryName="ErrorList" // The first argument of the query is the namespace name, the second argument is the date (in MM/DD/YYYY format). %SYS>do rset.Execute("USER","08/17/2020") // To display the results on the screen, execute the %Display() method. %SYS>do rset.%Display() Error # Error message Time Process DisplayPID Username Code line 1 <DIVIDE> 02:43:10 2536 2536 irisowner 1 Rows(s) Affected %SYS>do rset.Close() 以下显示如何获得在浏览行时获取SELECT的列值The following shows how to get column values ​​of a SELECT while navigating through rows. 使用Next()方法来移动到一行(如果行存在的话返回1) 获取一列的话使用 Get("column name"). 具体列名,请参考类文档里面的ErrorList 查询描述。 关于ErrorList 查询的列名. %SYS>do rset.Execute("USER","08/17/2020") %SYS>while rset.Next() { write rset.Get("Error #"),"-",rset.Get("Error message"),"-",rset.Get("Time"),"-",rset.Get("Code line"),!} 1-<DIVIDE>-02:43:10- For terminal viewing, you can also use the ^%ER routine. Execute the following while in the namespace you want to reference (the example is executed in the USER namespace). The green bold underlined text indicates the input area. USER>do ^%ER For Date: ?L Thu 09/17/2020 (T) 2 Errors Mon 09/07/2020 (T-10) 3 Errors Mon 08/31/2020 (T-17) 1 Error Mon 08/24/2020 (T-24) 1 Error For Date: 09/17/2020 17 Sep 2020 2 Errors Error: ?L 1. " *a" at 9:05 am. $I=|TRM|:|13484 ($X=0 $Y=15) $J=13484 $ZA=0 $ZB=$c(13) $ZS=262144 ($S=268271680) 2. "^%ETN" at 9:05 am. $I=|TRM|:|13484 ($X=0 $Y=17) $J=13484 $ZA=0 $ZB=$c(13) $ZS=262144 ($S=268263368) %ETN ;%STACK-related error log Error: 1 1. " *a" at 9:05 am. $I=|TRM|:|13484 ($X=0 $Y=15) $J=13484 $ZA=0 $ZB=$c(13) $ZS=262144 ($S=268271680) Variable: Error: For Date: USER> 日期: 错误发生的日期格式为 mm/dd/yyyy 错误: 明确错误编号. 看完之后,回车即可退出。