查找

问题
· 七月 1, 2024

Best Practice Question - Connecting to REST API's outside of the network

Up until recently, I have been toying around with REST/FHIR capabilities but only internally. Now I have a request to make REST API calls outside of our Network. 

I am using an RSA 4096 key, because Microsoft Active Directory Services which generates the signed certificate could not handle the Elliptical Key (ECC) when I put the request in.

  • Others in the Healthcare industry, how have you handled this when there isn't an API manager involved?
  • Do you connect directly through the Interoperability Engine using a TLS key?
  • How have you ensured that the TLS is enough to keep it secure and not expose the Interoperability Engine to the world?
  • Is RSA 4096 really enough?
讨论 (0)1
登录或注册以继续
公告
· 七月 1, 2024

Developer Community Recap, June 2024

Hello and welcome to the June 2024 Developer Community Recap.
General Stats
128 new posts published in June:
 20 new articles
 29 new announcements
 77 new questions
 2 new discussions
297 new members joined in June
13,456 posts published all time
12,678 members joined all time
Top posts
Top authors of the month
Articles
#InterSystems IRIS
Searching the limits of new datatype VECTOR
By Robert Cemper
How to set up columnar storage in classes
By Iryna Mykhailova
Monitoring the growth of the database - Part 1: Data collection
By Ariel Glikman
Monitor Database Growth - Part 2: Graphical Interface
By Ariel Glikman
Monitor Database Growth - Part 3: Data Analysis
By Ariel Glikman
Moving specific settings from a Production to System Default Settings
By Theo Stolker
Multi-Volume Database Awesome Sauce
By Ron Sweeney
Connecting to Cloud SQL from Microsoft Power BI using ODBC and TLS/SSL
By Benjamin De Boe
How to perform specific actions when starting an InterSystems product
By Hiroshi Sato
Tasks flow with InterSystems IRIS Workflow Engine - Connecting to external applications
By Luis Angel Pérez Ramos
How to check the size of your data
By Tomoko Furuzono
Way to retain IRIS data in Docker Container for long duration
By Muhammad Waseem
Unity Catalog for IRIS Workloads - Collision Theory Confirmed
By Ron Sweeney
Ansible modules and IRIS demo
By Murray Oldfield
How to upload/download image files from an FTP server
By Hiroshi Sato
Creating a Simple React Web App with IRIS backend - Resolving CORS
By Xintong Li
How to output audit logs programmatically (by user or event)
By Hiroshi Sato
 
#Other
 
#Global Summit
 
Announcements
#InterSystems IRIS
 
#Developer Community Official
 
#HealthShare
 
#Global Masters
 
#InterSystems IRIS for Health
 
#Global Summit
 
#Caché
 
#InterSystems Ideas Portal
InterSystems Ideas News #14
By Vadim Aniskin
 
#Learning Portal
 
#VSCode
 
Questions
#InterSystems IRIS
Where are the ODBC Driver for IRIS 2024.1 for Community Edition Users?
By Andreas Schneider
Request for Training Material
By Zulqarnain Turabi
Global Variable Map
By Anthony Master
Terminal in error state after runny buggy code is apparently unusable afterwards
By Andy Stobirski
Powershell and intersystems sql shell
By Veerraju Grandhi
Automation of Administration Tasks
By Veerraju Grandhi
iris terminal -U -P not working
By Veerraju Grandhi
%session & passing credentials between ZenPages that reside on different healthshare servers
By Carl Maklad
How To Calculate Date and Time in Different Column ?
By Steven Henry Suhendra
Difference between %Stream.FileBinary and %Stream.FileBinaryGzip
By Vincent Dheilly
Hiding specific strings in the Ensemble Message Viewer
By Stella Ticker
CREATE TABLE AS SELECT fails when one specific field is present
By Stefan Schick
How to read from a file
By Smythe Smythee
Which are the best practises to handle large JSON?
By Pietro Di Leo
Python interaction with Config.config class not returning gmheap size
By Veerraju Grandhi
ImportTasks method under %SYS.Task Class is not working for me
By Veerraju Grandhi
How to get Task Status through IRISNAtive/Python
By Veerraju Grandhi
Error importing globals from Caché to Iris
By Josep Balagué
Refresh databases on test system from production system
By Phillip Wu
Could any one please tell me the purpose of "Extent Index" in more detail
By Meenakshi Muthu
Prevent auto formatting after compilation in Studio.
By Alin Soare
Migrating source control projects from Subversion to Github with IRIS
By Kevin Kindschuh
rest api authentication
By Sylvie Greverend
Base64 encode Word document
By Oliver Wilms
How to convert an embeddings vector to be saved as %Vector
By Ditmar Tybussek
Long JSON Error {}.%FromJSONFile(file)
By Oliver Wilms
Long JSON values
By Oliver Wilms
Terminal Output - Unicode UTF8 - How to change the character set
By Veerraju Grandhi
Error
By Oliver Wilms
How can i see the request size in kilobytes/megabytes?
By omer
How to send WRITE formatted output to a variable
By Lynn Lantz
Default settings
By Meenakshi Muthu
Increase performance of production
By Meenakshi Muthu
Types of Inbound and Outbound adapters and its methods
By Meenakshi Muthu
Is it possible to create constructor overloads ?
By Norman W. Freeman
Keyboard Mapping in iris session when using Windows ssh.exe
By Jeffrey Drumm
Deferred lock
By Meenakshi Muthu
how can we apply lock on objects
By Meenakshi Muthu
Difference between %ResultSet.SQL and %SQL.Statement
By Meenakshi Muthu
 
#Ensemble
 
#InterSystems IRIS for Health
Problems after upgrading from Iris for Health 2023.1.2 (450U) to 2024.1 (267_2U)
By Pascal Breugelmans
FHIR Deserialize JSON FHIR to object Model
By Thembelani Mlalazi
Business Rule Editor Changes
By Scott Roth
Old mumps code debugging with vscode
By David Cui
API Response truncating?
By Michael Wood
Abort selected messages from queue
By Marykutty George
Message Body Details index- all seem same value?
By Mark OReilly
Create a unique constraint on an existing table
By Michael Wood
Interpreting Application Error Log
By Kim Trieu
How to apply huge amount of Biz Rules on a cloned object by using Rule Editor?
By William Liu
CDATA
By Michael Wood
Looking for examples of creating a JSON web service as "business service" and converting the JSON data received to a HL-7 message in a Transformation.
By Will
How to remove line feed and carriage return from start and end, but not from the middle of a string
By Yone Moreno Jimenez
SQL DatePart Not Working With ISO 8601 Formatted Date & Time
By Carl (booz Allen) Deitrich
How to pass the cloned-object from one rule to another, and send the modified object to target Process or Operation in Rule Editor?
By William Liu
Finding the Inode value for a file
By Rich Taylor
VS Code client-side editing and class/package changes
By Robert Barbiaux
How to interpret FHIR.Interop.Response into Patient FHIR Bundle to use to enhance HL7 message
By Scott Roth
Upgrading from 2022.1.4 to 2024.1 HealthShare Health Connect Behavior
By Scott Roth
 
#Caché
 
#HealthShare
 
#TrakCare
 
#InterSystems IRIS BI (DeepSee)
 
Discussions
#InterSystems IRIS
 
June, 2024Month at a GlanceInterSystems Developer Community
讨论 (0)1
登录或注册以继续
摘要
· 七月 1, 2024

Publicações Desenvolvedores InterSystems, Junho 24 - 30, 2024, Resumo

Junho 24 - 30, 2024Week at a GlanceInterSystems Developer Community
文章
· 七月 1, 2024 阅读大约需 2 分钟

新数据类型 VECTOR 的限制

在 OEX 最近一次编程竞赛之后,我有一些令人惊讶的发现。
几乎所有的应用程序都是基于人工智能与预制 Python 模块的结合。
但深入研究后发现,所有示例都使用了 IRIS 的相同技术组件。

从 IRIS 的角度来看,无论是搜索文本还是搜索图像或其他模式都是一样的。 其底层基本都是一样的。

          这让我想起了我家里的情况。我的妻子和女儿对家里的大量裙子、衬衫和其他衣服的信息进行了整理。
          但无论如何进行整理、分类、归档,我依然通过和我的妻子和女儿说话,来确定我的穿着。
           无论怎样包装,其结果都是如此。

回到这次竞赛比赛:
同样的 IRIS 技术内容,却有很多花哨的包装。
每个人都在同一条高速公路上奔跑。没有人提到它有什么限制。

于是我试着深入挖掘,找出新数据类型 VECTOR 的使用限制。
所有向量都有两个基本参数
  - 静态 DATATYPE:"整型integer"(或 "int")、"double"、"十进制decimal"、"字符串 "和 "时间戳"。
  - 半动态 LEN(gth): > 0 通常也称为 POSITION;纯整数。

这个 LEN/POSITION 参数就相当于vector的数学维度。
当然,在爱因斯坦的宇宙中,根据他的相对论,你可能只需要 4 个维度或更少。
即使是 60 年代提出的宇宙弦理论也没有超过 11...12 维。
但所有预制好的文本分析解决方案软件包都使用 238、364、>1200、.... 等维度甚至更多。

那么:IRIS 对可能的position设定的限制是什么?官方文档没有给出答案, 于是我打开终端窗口,尝试了下面代码:

for i=1:1 set $vector(test,I,"int")=i
;; very fast
<VECTOR>
zwrite i
i=65537

我尝试了所有的数据类型:这个限制的值是65536

所以这个长度就是 数字类型的长度*65536, 很明显这个比<MAXSTRING>的限制要小。

但是,如果字符串类型的大小有一个重要的维度,会发生什么?

结果令人印象深刻: 
我在 65536 个position和 3.600.000 bytes 的字符串中取得了成功.
测试字符串比 <MAXSTRING>的设定少了几KB
也就是说,在单个 VECTOR 中的大小是 225.000 MB!
我无法想象这是如何做到的。

毫无疑问,处理这个不寻常的庞然大物需要时间,你必须等待足够长的时间才能获取访问结果。
但它表明,数据类型 VECTOR 能够满足所有实际需求
不受设计的限制。

祝您在使用 VECTOR 时取得成功。

讨论 (0)1
登录或注册以继续
文章
· 七月 1, 2024 阅读大约需 4 分钟

在InterSystems ObjectScript中使用 VECTORs

迄今为止,我看到的大多数使用向量vector的示例,将它只作为 SQL 中的一种功能,尤其是围绕 VECTOR_Search 的 3 个函数。
* TO_VECTOR()
* vector_dot_product ()
* vector_cosine ()

iris-vector-search 演示包中隐藏着一个非常有用的摘要。
从那里,你可以通过多个链接找到所需的一切。

我还缺少更多的 VECTOR 方法,于是在 Idea Portal 上提出了相关请求。

接着,我想起每个 SQL 方法或存储过程都有一堆 ObjectScript 代码。
于是我开始搜索,下面就是我的研究的一些总结:

%Library.Vector 是对新数据类型的核心描述
      这是一种复杂的结构,就像对象或 %DynamicObjects 或 $Bit Expressions 一样,需要特定的方式去访问。
我们还可以看到 2 个必备参数: 
      * DATATTYPE - 一旦设置就不能更改。 可接受的类型:  "整数integer"(或 "int")、"双精度浮点double"、"十进制decimal"、"字符串 "和 "时间戳"。
      * LEN >0 时,可以增长,但绝对不能缩小

$vector() / $ve() 是矢量访问的基本方法
      * 设置矢量数据 >>> SET $VE(. . .) = val
      * 返回矢量数据 >>> WRITE $VE(. . ) , SET var=$VE(. . ) 
          提示:单个位置返回值,但从::到位置返回另一个矢量!
      * 删除矢量数据 >> KILL $VE(. . .) 
      所有 3 个参数都需要至少 1 个位置参数。你可以把它理解为维度。

$isvector()显然是在开始操作前检查格式是否正确。

$vectorop() / $vop() 包括与向量有关的所有其他函数
    调用参数通常为(operation、vector)
某些operation提供可选的 bitxpr。它标记了要排除/包含的位置/维数。

例如: 
- 你只想对 x 轴和 y 轴进行操作,而不想对 z 轴进行操作。

单向量操作符

    Aggregate Operations 汇总操作
      * "count"
      * "max"
      * "min"
      * "sum"
    Filter Operations 过滤器操作
      * "defined"
      * "undefined"
      * "<"
      * "<="
      * ">"
      * ">="
      * "="
      * "!="
      * "between"
     Numeric Operations 数字相关操作
      * "+"
      * "-"
      * "/"
      * "*"
      * "**"
      * "#"
      * "e-"
      * "e/"
      * "ceiling"
      * "floor"
     String Operations 字符串相关操作
      * "_"
      * "e_"
      * "lower"
      * "upper"
      * "substring"
      * "trim"
      * "triml"
      * "trimr"
    Grouping Operations 组相关操作
     * "group"
     * "countgb"
   Miscellaneous Operations 杂项操作
     * "convert"
     * "length"
     * "mask"
     * "positions"
     * "set"
   Informative Operations 信息化业务
    * "bytesize"
    * "type"

多向量操作符(通常为两个操作)

    Vector-wise Filter Operations
       * "v<"
       * "v<="
       * "v>"
       * "v>="
       * "v="
       * "v!="
    Vector-wise Arithmetic Operations
      * "v+"
      * "v-"
      * "v/"
      * "v*"
      * "v**"
      * "v#"
    Vector Concatenation
      * "v_"
    Vector Grouping
      * "countg"
      * "maxg"
      * "ming"
      * "sumg"
    Vector Merge
     * "vset"

你看,现在已经有了一套丰富的工具。
如果你详细研究文档,结果的目的或优势可能不会立即显现出来。

不过,我希望你能对目前可用的工具有一个大致的了解。

讨论 (0)1
登录或注册以继续