文章 姚 鑫 · 八月 11, 2024 2m read

第七章 解析时使用进程私有全局变量

默认情况下, Web 客户端在解析请求或响应时通常使用本地数组内存。可以强制它改用进程私有全局变量;这使 Web 客户端能够处理非常大的消息。

为此,请指定 Web 服务类的 参数,如下所示:

Parameter USEPPGHANDLER = 1;

如果此参数为 ,则 Web 客户端在解析请求或响应时始终使用进程私有全局变量。如果此参数为 0,则 客户端始终使用本地数组内存来实现这些目的。如果未设置此参数,则 客户端使用默认值,通常是本地数组内存。

可以在运行时覆盖此参数。为此,请设置 客户端实例的 属性。

创建自定义 消息

在特殊情况下,可能希望 客户端发送自定义 消息。基本要求如下:

  1. 创建 %SOAP.WebRequest的子类并设置其 LOCATION 参数或 Location 属性。
  2. 在此子类中,创建一个方法来发送 消息。此方法必须创建 的实例,并将要发送的 消息放入其中。有责任确保消息格式正确。
  3. 该方法接下来必须调用 方法:
  • 是一个字符串,它给出了要执行的 SOAP 操作的名称。
  • 是一个真/假标志,控制消息是否是单向的。
  • Request
0
0 104
文章 姚 鑫 · 八月 10, 2024 2m read

[toc]

第六章 定义单向 Web 方法

通常,当 Web 客户端调用 Web 服务时,会返回 SOAP 消息,即使该方法没有返回类型并且在 数据平台中执行时不返回任何内容。

在极少数情况下,可能需要将 方法定义为单向的。此类方法不得返回任何值,并且消息不需要 响应。

注意:通常不应使用单向方法。请求-响应对更为常见、更受支持且更受期待 — 即使对于没有返回类型的方法也是如此。

要定义单向 Web 方法,请将该方法的返回类型定义为 。WSDL 未定义此 方法的输出,并且 服务不返回 消息。

向二进制数据添加换行符

可以使 服务在新选项卡中为 类型属性中为 类型属性添加自动换行符。为此,请执行以下操作之一:

  • Web 服务类中将 BASE64LINEBREAKS 参数设置为 。
  • 对于 服务类实例,将 属性设置为 。此属性的值优先于 参数设置的值。

对于参数和属性,默认值为 0;默认情况下, 服务不包括新选项卡中 类型属性或中 类型的属性的自动换行符。

向 消息添加字节顺序标记

默认情况下, 客户端发送的消息不以 (字节顺序标记)开头。

通常不需要 ,因为消息以 编码,不存在字节顺序问题。但是,在某些情况下,在 消息中包含 是必要的或可取的;此 仅表示消息是 。

要将 添加到

0
0 87
文章 姚 鑫 · 八月 9, 2024 2m read

第五章 引用 SOAP 操作(仅限 SOAP 1.1)

引用 SOAP 操作(仅限 SOAP 1.1

SOAP 1.1 请求消息中, 标头包含如下 SOAPAction 行:

POST /csp/gsop/GSOP.DivideWS.cls HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; InterSystems IRIS;)
Host: localhost:8080
Connection: Close
Accept-Encoding: gzip
SOAPAction: http://www.mynamespace.org/GSOAP.DivideWS.Divide
Content-Length: 397
Content-Type: text/xml; charset=UTF-8

...

默认情况下,的值不带引号。要将此值放在引号中,请在 Web 客户端类中将 指定为 1。然后请求消息的 标头将如下所示:

POST /csp/gsop/GSOP.DivideWS.cls HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; InterSystems IRIS;)
Host: localhost:8080
Connection: Close
Accept-Encoding: gzip
SOAPAction: "http://www.mynamespace.org/GSOAP.DivideWS.Divide"
Content-Length: 397
Content-Type: text/xml; charset=UTF-8

...
0
0 121
文章 Michael Lei · 八月 6, 2024 5m read

数据收集

这篇分步说明指南将讲解如何创建任务来收集 InterSystems 数据库及其全局变量的相关数据(如关联的 Open Exchange App 所示,其中包含所有相关代码)

免责声明:此软件仅用于测试/演示目的。 InterSystems 不支持将此代码作为任何发布产品的一部分。 它由 InterSystems 提供,作为特定产品和版本的演示/测试工具。 用户或客户全权负责此软件交付后的维护和测试,InterSystems 对此代码的错误或误用不承担任何责任

  1. 首先,通过管理门户导入文件“DataCollection.xml”,并确保没有错误。 如果存在错误,则可能是版本问题,请发送电子邮件至 ari.glikman@intersystems.com 联系 Ari Glikman 获取适合你的版本的支持。 另外,确保将数据导入到你想要收集其内部数据以供后续检查的命名空间中。

  2. 导入完成后,应该看到 Sample 软件包以及几个子软件包 image

如果服务器上已经存在 Sample 软件包,那么你仍然应该可以看到新的子软件包以及先前存在的其他文件夹。

  1. 现在,运行单元测试以确保一切正常运行。

a. 创建可以被 InterSystems Terminal 读取的名为 Unit Tests 的文件夹,例如,由于我有一个本地安装,我需要在 C 盘中创建一个文件夹。

b.

3
0 159
文章 姚 鑫 · 八月 8, 2024 2m read

第四章 控制编码格式的内联引用的使用

控制编码格式的内联引用的使用

采用编码格式,任何对象值属性都作为引用包含在内,并且引用的对象作为单独的元素写在 SOAP 消息中。

要以内联方式写入编码对象,请在 Web 客户端中将 REFERENCESINLINE 参数或 ReferencesInline 属性指定为 `1。属性优先于参数。

指定信封前缀

默认情况下, 客户端在其发送的 消息的信封中使用前缀 SOAP-ENV。可以指定不同的前缀。为此,请设置 客户端类的 参数。例如,如果将此参数设置为 ,则 客户端会在其消息中包含此前缀,而不是 。

将命名空间声明添加到 信封

要将命名空间声明添加到给定 客户端返回的 响应的 信封(元素)中,请在调用 方法之前调用 客户端的 方法。此方法具有以下签名:

其中:

  • namespace 是需要添加的命名空间。
  • prefix 是用于此命名空间的可选前缀。如果省略此参数,则会生成前缀。
  • schemaLocation
0
0 136
文章 Michael Lei · 八月 7, 2024 6m read

表的图形显示

在这里,我们将说明如何以图形方式显示数据收集的结果。 项目的输出将如下所示:

image

我使用的是本地计算机。 如果你在服务器上,注意使用正确的 IP 地址。

首先,导入需要的三个类(注意,我们将晚些时候编辑它们):

你可以使用 xml 并将其导入系统。

规范将创建调度类和实现模板。 如果你想详细了解此过程,可以读一读我同事 Eduard Lebedyuk 写的文章

设置 API

注意,在此演示中我们将使用 Basic Authorization。 我们还假设 Sample_DBExpansion_Data.DBAnalysisInfo 和 Sample_DBExpansion_Data.GlobalAnalysisInfo 表中已经有数据。 如果没有,返回获取数据。

  1. 首先,创建一个可以让我们访问数据的端点:

填写相同的名称,除非你打算为 react 应用自行定制代码。

  1. 点击 Save,然后测试我们的 API。
0
0 145
文章 Michael Lei · 八月 7, 2024 3m read

数据分析

这是数据收集的续集。 如果你还没有安装,请先完成安装。

这里提供的是对先前收集的数据的分析。

你需要导入构成此仓库的 xml,与先前仓库中的操作大致相同。

最顶层有一个任务:

InvestigateInfoTask

这个任务将允许我们设置将要监控的参数, 如下所示:

image

GrowthPercentageWarning:对于Global增长来说,“可接受的”百分比增长。

PeriodWarning:Global在多少天内实现增长是合理的?

HistoryLength:回溯 Sample_DBExpansion_Data.GlobalAnalysisInfo 表的时长。

默认设置为 7 天内增长 5%,回溯过去 30 天。 设置参数后,即使任务已经运行一次或多次,你仍然可以再次编辑。 转到任务详细信息,点击 Edit,然后根据需要更改。

该任务会调用 Sample.DBExpansion.DBSizeAnalysis.InvestigateInfo 类的 CreateReport 方法。

CreateReport 将填充两个表,如下所述:

  1. GlobalInvestigationReport
  • 这个表将保存分析 Sample_DBExpansion_Data.GlobalAnalysisInfo 表的“报告”。 我们可以通过多个字段用不同的参数来衡量增长。
0
0 132
文章 姚 鑫 · 八月 7, 2024 1m read

第三章 控制 xsi:type 属性的使用

控制 xsi:type 属性的使用

默认情况下, SOAP 消息仅包含顶级类型的 xsi:type属性。例如:

<?xml version="1.0" encoding="UTF-8" ?>
...
<types:GetPersonResponse>
<GetPersonResult href="#id1" />
</types:GetPersonResponse>
<types:Person id="id1" xsi:type="types:Person">
<Name>Yeats,Clint C.</Name>
<DOB>1944-12-04</DOB>
</types:Person>  
...

在这些示例中,已添加换行符以提高可读性。要将此属性用于 消息中的所有类型,请执行以下操作之一:

  • Web 客户端实例中将 OutputTypeAttribute 属性设置为等于 1
  • 在 客户端类中将 参数设置为等于 1

相同的输出将如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
...
<types:GetPersonResponse>
<GetPersonResult href="#id1" />
</types:GetPersonResponse>
<types:Person id="id1" xsi:type="types:Person">
<Name xsi:type="s:string">Yeats,Clint C.</Name>
<DOB xsi:type="s:date">1944-12-04</DOB>
</types:Person> 
...

0
0 62
文章 Michael Lei · 八月 7, 2024 5m read

默认情况下,在容器内创建的所有文件都存储在可写的容器层上。 这意味着:

  • 当容器消失时,数据将不会持续存在,并且如果另一个进程需要数据,很难将数据从容器中取出。
  • 容器的可写层与运行容器的主机紧密耦合。 你无法轻易将数据移动到其他地方。
0
0 215
文章 Michael Lei · 八月 6, 2024 2m read

开发新的互操作性Production时,最初在Production中添加设置是很自然的做法。

不过,一旦要将Production从开发环境移动到测试或其他环境,你就会发现 HTTP 服务器、IP 地址和/或端口之类的设置都需要更改。 为了避免这些设置在后续重新部署时被覆盖,必须将这些设置从Production得设置中移动到系统默认设置(System Default Settings)。

虽然系统默认设置可以手动创建,但是当生产中有大量业务组件时会难以处理。 因此,@Wietze Drost 让我开发一个工具自动执行此流程,通过筛选表达式指定哪些设置必须创建为系统默认设置。

  • 这个表达式可以定义为“*:HTTPServer,SSLConfig*”,其中“\*”表示“为任何主机类名”。 冒号后面是需要移动的设置列表。 所以,这个表达式的意思是“为所有名为 HTTPServer 和 SSLConfig 的设置创建或更新系统默认设置”。
1
0 131
文章 姚 鑫 · 八月 6, 2024 2m read

第二章 使用代理服务器

使用代理服务器

Web 客户端可以通过代理服务器与 Web 服务通信。要进行设置,请指定 Web 客户端实例的属性以指示要使用的代理服务器。这些属性如下:

HttpProxyServer

指定要使用的代理服务器的主机名。如果此属性不为空,则 请求将定向到此计算机。

HttpProxyPort

指定代理服务器上要连接的端口。

HttpProxyHTTPS

如果使用代理服务器并且该代理服务器支持 ,则将其指定为 。

请注意,如果使用 ,则还必须将客户端的 属性设置为 SSL/TLS 配置的名称;有关更多详细信息,请参阅配置客户端以使用 。

如果 客户端需要向代理服务器验证自身身份,请将其指定为所需的 标头字段。

HttpProxyTunnel

如果 客户端应通过代理建立到目标 服务器的隧道,请将其指定为 。如果为 ,请求将使用 命令建立隧道。代理服务器的地址取自 和 属性。如果端点 具有 协议,则一旦建立隧道, 就会协商 连接。在这种情况下, 属性将被忽略,因为隧道与目标系统建立了直接连接。

设置 HTTP 标头

如果需要进一步控制 客户端发送的 标头,则可以使用 的以下方法:

向 请求添加标头。请注意,、 和 标头是实体主体的一部分,而不是 主标头。无法设置 标头,因为它是只读的。也无法设置

0
0 103
文章 Louis Lu · 八月 6, 2024 4m read

在使用 InterSystems ObjectScript 进行编程时,当你定义了属性property、查询query或者索引index,系统会在编译的过程中自动创建与之相关的一些方法,这篇文章对这些方法做了些总结:

属性Properties

1. 假设你定义了一个属性 Property, 下面的方法会被自动创建

ClassMethod

对于数据类型属性,这个函数将返回其逻辑值,对于对象属性,返回id。这是一个对类global数据的封装,也是获取单例属性值(singular property value)最快的方法。此方法仅适用于已持久化存储的属性。

这里是一段采用多种方法读取数据的对比代码,用于测试各种访问数据方式的时间差异,其结果是:

Iterations: 10000130111

其中:

  • Object access 是打开一个对象,并读取其属性值
  • SQL access 使用嵌入式SQL
  • GetStored 使用本文所述自动生成的方法
  • Global 使用直接读取保存属性值的global

2. 

这个函数是属性的getter,可被重新定义。

3.

这个函数是属性的setter, 可被重新定义。

对象属性 Object properties

1. 如果是一个对象属性,有关ID以及OID的方法会被创建

Method PropertySetObjectId(id)
0
0 112
文章 姚 鑫 · 八月 5, 2024 2m read

第一章 修改 Web 客户端

修改 Web 客户端

生成 Web 客户端类后,通常不需要编辑该类。相反,需要编写代码来创建该类的实例并提供客户端错误处理。本主题讨论了微调 Web 客户端的各种方法,可以通过修改 Web 客户端实例或(不太常见)修改生成的类来实现。

注意:不要创建生成的 客户端类的子类。编译器不会生成正常运行所需的支持类,因此子类将无法使用。

禁用 客户端的 Keep-Alive

默认情况下,如果重复使用 Web 客户端实例来发送多条请求消息, 会在一次 传输中发送所有消息(使用 保持活动连接)。具体来说, 保持 套接字打开,这样 就无需关闭并重新打开它。要禁用此保持活动行为,请执行以下操作之一:

  • 终止 Web 客户端实例并创建并使用一个新的。
  • 发送第一条消息后,将客户端的 HttpRequest.SocketTimeout 属性设置为 。例如:
Set client.HttpRequest.SocketTimeout=0

注意:如果正在使用 并使用 与 Web 服务通信,请不要禁用保持活动。有关 的信息,请参阅保护 服务。

控制空字符串参数的形式

通常,如果省略参数, 客户端会省略其发送的 消息中的相应元素。要更改此设置,请在 客户端类中将 参数设置为 ;在这种情况下,

0
0 97
文章 姚 鑫 · 八月 4, 2024 2m read

[toc]

第十二章 在 Web 服务中定义自定义处理 - 实现 ProcessBody()

实现 ProcessBody()

ProcessBody() 方法具有以下签名:

method ProcessBody(action As %String, requestBody As %CharacterStream, 
                   ByRef responseBody As %CharacterStream) as %Boolean

其中:

  • action 是入站消息中指定的 SOAP 操作。
  • requestBody 是 的一个实例,包含 元素。该流包含 XMLXML
  • responseBody%Library.CharacterStream
  • Web

     if action["action1" { 
      //details
     }
    
    1. 使用 requestBodyRead()
     set in1="<echoString xmlns=""http://soapinterop.org/xsd""><inputString>"
     set in2="</inputString></echoString>"  
     set contents=$extract(request,$length(in1)+1,*-$length(in2))
    
    1. 1
0
0 126
文章 Michael Lei · 八月 1, 2024 4m read

随着 IRIS 中向量数据类型和向量搜索功能的引入,应用程序的开发正在开启一个充满各种可能性的全新世界,其中一个应用程序示例是我最近在巴伦西亚卫生局的一次公开竞赛中看到的应用程序,他们要求提供一种工具,能够使用 AI 模型协助进行 ICD-10 编码。

我们如何实现与所要求的应用程序类似的应用程序? 我们来看看需要什么:

  1. ICD-10 代码列表,我们将使用它作为 RAG 应用程序的上下文,在纯文本中搜索诊断结果。
  2. 经过训练的模型,它会将文本向量化,我们将在其中查找 ICD-10 代码中的对应项。
  3. Python 库,用于对 ICD-10 代码和文本进行摄取和向量化。
  4. 一个支持文本的友好前端,我们会在其中查找可能的诊断结果。
  5. 从前端接收的请求的编排。

IRIS 为我们提供哪些功能来满足上述需求?

  1. CSV 导入,可以使用 RecordMapper 功能,也可以直接使用嵌入式 Python。
  2. 嵌入式 Python 使我们能够实现使用所选模型生成向量所需的 Python 代码。
  3. 发布将从前端应用程序调用的 REST API。
  4. 互操作性生产,以允许在 IRIS 中跟踪信息。

我们只需要看看开发的示例:

d[IA]gnosis

在本文中,您可以访问开发的应用程序,在后续文章中,我们将详细了解如何实现每个功能,包括模型的使用、向量的存储和向量搜索的使用。

0
0 161
文章 YuCheng Hu · 八月 1, 2024 3m read

针对 InterSystems IRIS 数据库的一些基本概念。

InterSystems IRIS 是什么

InterSystems IRIS 是基于 Caché/M 语言开发的一个数据库,这个数据库被大量使用在医疗系统中,也是北美地区医疗系统病历和文件管理中默认使用的事实标准。

Caché/M 是什么

Caché/M 是 MUMPS 程序语言 开发的数据库,Caché/M 提供了代码接口,可以直接使用 Caché/M 对数据库来进行操作。

Caché 是一个法语单词,但是又非常容易和英语使用的 Cache 搞混,所以大部分时候使用的是 Caché/M 来表达。

M 表达的意思是 Mumps 程序语言,简称 M 语言,Caché 使用 M 语言构建了不少函数。

InterSystems IRIS 不是开源数据库

因为涉及到医疗系统数据的使用,所以 InterSystems IRIS 并不是一个开源的数据库,你可以使用下面的链接:Evaluate InterSystems Products 8 来下载评估版本。

本文就是根据下载的链接来进行 Windows 安装的教程。

上面的页面在下载之前,你需要进行注册,并且提供你的信息。

双击运行

当下载完成后,可以双击运行安装程序。

我们会看到下面的安装界面:

InterSystems-IRIS-Windows-Install-01

同意许可协议后,单击下一步继续安装。

配置实例名

我们在这里使用默认的就可以,通常使用的 IRIS。

0
0 447
InterSystems 官方 Claire Zheng · 八月 1, 2024

InterSystems IRIS数据平台、InterSystems IRIS for Health和HealthShare Health Connect 2024.2版本现已正式发布(GA)。

发布亮点

2024.2是持续交付版本。在这个版本中增加了许多更新和增强:

持续提升开发者体验

  • Studio移除——2024.2 Windows安装不包括Studio IDE,升级现有实例会从实例的bin目录中移除Studio。希望继续使用Studio的开发人员应该从WRC component distribution page 下载2024.1 Studio独立组件。
  • Foreign Tables 得到了完全的支持——在2024.2版本中,我们解决了来自早期访问用户的反馈,包括更好的元数据管理,改进的谓词下推,以及进一步与LOAD DATA命令保持一致,LOAD DATA命令可以获取外部数据,而不是将外部数据投射到IRIS SQL表中。
  • 在微软Windows中运行Python运行时保持灵活——运行微软Windows的客户现在可以选择用于嵌入式Python的Python运行环境。
0
0 120
文章 姚 鑫 · 七月 30, 2024 3m read

第九章 使用进程私有全局变量来支持非常大的消息

使用进程私有全局变量来支持非常大的消息

默认情况下、 Web 服务在解析请求或响应时通常使用本地数组内存。可以强制它改用进程私有全局变量;这使 Web 服务能够处理非常大的消息。

为此,请指定 Web 服务类的 参数,如下所示:

Parameter USEPPGHANDLER = 1;

如果此参数为 ,则 Web 服务在解析请求或响应时始终使用进程私有全局变量。如果此参数为 0,则 服务始终使用本地数组内存来实现这些目的。如果未设置此参数,则 Web 服务使用默认值,通常是本地数组内存。

自定义 服务的回调

可以通过覆盖其回调方法来定制 服务的行为:

如果没有安全错误,则在 服务收到请求消息时调用;如果出现安全错误,则不会调用此回调。系统在执行安全处理、检查信封是否有错误以及处理 标头中指定的操作(如果有)后调用此回调。此回调对于记录原始 请求等任务很有用。

此方法具有以下签名:

其中:

  • mode 指定 SOAP 请求的类型。该类型为“SOAP”或。
  • 包含 标头的值。
  • 请求以流的形式包含 请求消息。

此方法可以使用对象 ,它是 实例。在此对象中:

  • 属性包含原始请求消息。
  • 实例方法使能够检索单个 部分(如果这是一个 请求)。

此方法还可以使用 服务实例的属性。初始化期间设置以下属性:

0
0 110
文章 Hao Ma · 七月 29, 2024 2m read

转发自Eduard Lebedyu的原文

在本系列文章中,我将介绍并讨论使用 InterSystems 技术和 GitLab 进行软件开发的几种可行方法。我将涉及以下主题:

1
0 212
文章 姚 鑫 · 七月 27, 2024 1m read

第五章 控制 xsi:type 属性的使用

控制 xsi:type 属性的使用

默认情况下, SOAP 消息仅包含顶级类型的 xsi:type 属性。例如:

<?xml version="1.0" encoding="UTF-8" ?>
...
<types:GetPersonResponse>
<GetPersonResult href="#id1" />
</types:GetPersonResponse>
<types:Person id="id1" xsi:type="types:Person">
<Name>Yeats,Clint C.</Name>
<DOB>1944-12-04</DOB>
</types:Person>  
...

在这些示例中,已添加换行符以提高可读性。要将此属性用于 消息中的所有类型,请将 OUTPUTTYPEATTRIBUTE 参数或 OutputTypeAttribute 属性设置为 。相同的输出将如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
...
<types:GetPersonResponse>
<GetPersonResult href="#id1" />
</types:GetPersonResponse>
<types:Person id="id1" xsi:type="types:Person">
<Name xsi:type="s:string">Yeats,Clint C.</Name>
<DOB xsi:type="s:date">1944-12-04</DOB>
</types:Person> 
...

0
0 85
文章 姚 鑫 · 七月 25, 2024 2m read

第四章 覆盖 HTTP SOAP 操作和请求消息名称

覆盖 HTTP SOAP 操作和请求消息名称

当通过 HTTP 调用 Web 方法时,HTTP 标头必须包含 操作,该操作是指示 请求意图的 。对于 , 操作作为 标头包含在内。对于 ,它包含在 标头中。

操作指示 请求的意图。该值是一个标识意图的 URI;它通常用于路由入站 消息。例如,防火墙可以使用此标头适当地过滤 中的 请求消息。

对于 服务中的 方法,SOAPAction HTTP 标头默认具有以下形式(对于 ):

SOAPAction: NAMESPACE/Package.Class.Method

其中 是 服务的 参数的值, 是用作 方法的方法的名称。例如:

SOAPAction: http://www.myapp.org/GSOAP.WebService.GetPerson

要覆盖此设置,请在 方法的定义中为 方法关键字指定一个值。指定一个带引号的字符串,表示 请求的意图。在典型情况下, 服务中的每个 方法都会为 指定一个唯一值(如果有)。

如果 在该 服务中不唯一,则每个方法都必须具有唯一的 方法关键字值。此关键字指定请求消息的 主体中的顶部元素的名称。请注意, 仅对包装的文档/文字消息有效。

指定元素是否符合条件

0
0 197
讨论 Claire Zheng · 七月 25, 2024

Hi社区成员们!

你可能已经知道了,, 我们的 Developer Community AI(开发者社区AI) 已经运行一个多月了 🎉 我们希望你能够出于好奇来尝试一下 😁 如果你还没试过,那就试试吧!无论如何,由于它仍在测试阶段,我们非常有兴趣了解你对它的看法,也很期待听到你的想法和经验。

我们重视你为此付出的时间和精力,所以将随机赠送一个可爱的奖品给愿意分享自己想法的社区成员。要参加此抽奖活动,你需要遵循以下准则:

0
0 343
文章 光辉 赵 · 七月 23, 2024 6m read

FHIR是标准,是规范,使用FHIR使大家可以使用同一种语言、语义进行交流,名称、API都是统一的,只要符合FHIR标准,任何系统都可交互。对业务开发者来说,大部分接口交互的定义交给FHIR来处理,效率大大提高。

1
0 209
文章 Michael Lei · 七月 18, 2024 2m read

InterSystems 常见问题系列

使用 ErrorList 查询 SYS.ApplicationError 类.

  • 注 1: 在 %SYS 命名空间中运行.
  • 注 2: 这是个非存储的utility, 所以我们用 %ResultSet 类而不用 %SQL.Statement.

执行命令的例子如下.

USER>set$namespace

以下显示如何获得在浏览行时获取SELECT的列值The following shows how to get column values ​​of a SELECT while navigating through rows.

使用Next()方法来移动到一行(如果行存在的话返回1)

获取一列的话使用 Get("column name"). 具体列名,请参考类文档里面的ErrorList 查询描述。

关于ErrorList 查询的列名.

"USER"

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).

0
0 182