查找

ダイジェスト
· 2025年11月1日

InterSystems開発者コミュニティのダイジェスト、10月 2025

10月 2025開発者コミュニティ ニュースレターへようこそ。
全体統計
16 件の新しい投稿が公開 (10月 月):
 12件の新着記事
 4の新しい発表
2 人の新メンバーが参加 (10月 月)
1,585 件の投稿が公開 (全期間)
338 人のメンバーが参加 (全期間)
トップ記事
今月のトップ作家
記事
#InterSystems IRIS
InterSystems IRIS Workflow Engine によるタスクのフロー - 外部アプリケーションへの接続
Toshihiko Minamoto順
IRIS のベクトル検索を活用しユーザーへ最新で正確な応答を提供する RAG AI チャットボットを作成するチュートリアル
Mihoko Iijima順
ユニットテストによる部分コードのカバレッジの例
Toshihiko Minamoto順
IRIS for Health を使用したデジタルヘルス相互運用性(Interoperability)ソリューション構築入門チュートリアル
Mihoko Iijima順
SQLアクセスとオブジェクトアクセスを混在させた時のトランザクション管理
Hiroshi Sato順
文字列プロパティの数値 order by の並び順
Hiroshi Sato順
エラーが発生する原因
Hiroshi Sato順
 ベクトル検索のサンプルをやってみた
Kosaku Ikeda順
Pythonダンダーメソッド入門
Toshihiko Minamoto順
IRIS環境でのPythonプログラミング入門
Toshihiko Minamoto順
#InterSystems IRIS for Health
お知らせ
10月, 2025Month at a GlanceInterSystems Developer Community
お知らせ
· 2025年10月31日

[Video] Source Control Interoperability Productions in a Decomposed Format

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

      ⏯  Source Control Interoperability Productions in a Decomposed Format @ Ready 2025

 

The demo shows how to use embedded Git in IRIS to decompose interoperability productions into separate files. Instead of one large class file, each production item is exported as its own .PTD file. This makes source control cleaner, reduces merge conflicts, and lets multiple developers edit the same production independently, while everything in IRIS still looks and works the same.

🗣 Presenter: @Pravin Barton, Development Manager, InterSystems

Enjoy watching, and subscribe for more videos! 👍

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
質問
· 2025年10月31日

Visual Studio terminal crashes when executing a simple set instruction

Hi,

I'd like to report a really strange behavior of the Intersystems Lite Terminal after executing a simple ObjectScript instruction.

From the Intersystems Lite terminal, execute the following instructions:

- Set uniqueId = "12345678_1"
- Set uniqueId = $p(uniqueId,"_",1)_"_"_($p(uniqueId,"_",*)+1)
After executing the second instruction, the terminal closes without any error.

Even stranger, when the second instruction is executed with 2 instead of 1, it executes correctly:
- Set uniqueId = "12345678_1"
- Set uniqueId = $p(uniqueId,"_",1)_"_"_($p(uniqueId,"_",*)+2)
- Write uniqueId
12345678_3

Installed Versions

VS

Version: 1.105.1 (user setup)
Commit: 7d842fb85a0275a4a8e4d7e040d2625abbf7f084
Date: 2025-10-14T22:33:36.618Z
Electron: 37.6.0
ElectronBuildId: 12502201
Chromium: 138.0.7204.251
Node.js: 22.19.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26100

Extensions

Identifier

intersystems-community.vscode-objectscript

Version

3.2.0

Identifier

intersystems-community.servermanager

Version

3.10.5

Does anyone have any ideas on how to get around this problem?

Regards

Rudy

4 Comments
ディスカッション (4)3
続けるにはログインするか新規登録を行ってください
お知らせ
· 2025年10月31日

Halloween sur Global Masters - joignez-vous avant le 3 novembre

Salut la Communauté !

Sur Global Masters, nous vous avons préparé une toute nouvelle aventure d'Halloween 🎃

Incarnez un ingénieur en chef chez PumpkinOps et découvrez ce qui hante le système. Menez l'enquête, stabilisez la version et gagnez jusqu'à 120 points pour votre travail.

Terminez toutes les tâches avant le 3 novembre pour recevoir 50 points bonus ! ⚡️

👉Cliquez ici pour commencer l'enquête

Pas encore membre de Global Masters ? Rejoignez-nous dès maintenant avec vos identifiants InterSystems SSO (les mêmes que ceux utilisés sur DC). 
Pour en savoir plus sur le programme de gamification de Global Masters pour les développeurs, cliquez ici.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年10月31日 5m read

Nobody expects the Spanish Inquisidor!!

Yes, yes! Welcome! You haven't made a mistake, you are in your beloved InterSystems Developer Community in Spanish.

You may be wondering what the title of this article is about, well it's very simple, today we are gathered here to honor the Inquisitor and praise the great work he performed. 

Comunidad de Steam :: :: Nobody expects the Spanish Inquisition

So, who or what is the Inquisitor?

Perfect, now that I have your attention, it's time to explain what the Inquisitor is. The Inquisitor is a solution developed with InterSystems technology to subject public contracts published daily on the platform  https://contrataciondelestado.es/ to scrutiny.

Although the platform has a search engine enabled to filter public tenders, it had several limitations:

  • It is impossible to perform searches by the tender title.
  • The search by awardees depends on knowing the exact description used in the registration of the same in the tender result, which invariably varies from one to another (I have found InterSystems written in 5 different ways).
  • Finding the agency that published the tender is worthy of a Where's Waldo in the Public Administration book.

And needless to say, it is impossible to obtain even the slightest statistic regarding the bidding processes.

How does the Inquisitor work?

Very simply put, the public procurement platform generously provides the public with daily downloads of the tenders published on the platform in XML format like this:

<entry>
        <id>https://contrataciondelestado.es/sindicacion/licitacionesPerfilContratante/13983936</id>
        <link href="https://contrataciondelestado.es/wps/poc?uri=deeplink:detalle_licitacion&amp;idEvl=Ag4n4m84LtCqb7rCcv76BA%3D%3D"/>
        <summary type="text">Id licitación: 2023/20; Órgano de Contratación: Parlamento de Andalucía; Importe: 99750 EUR; Estado: EV</summary>
        <title>Suministro de equipamiento para el trabajo de trabajo en movilidad del Parlamento de Andalucía.</title>
        <updated>2024-01-31T12:59:50.514+01:00</updated>
        <cac-place-ext:ContractFolderStatus>
            <cbc:ContractFolderID>2023/20</cbc:ContractFolderID>
            <cbc-place-ext:ContractFolderStatusCode listURI="https://contrataciondelestado.es/codice/cl/2.04/SyndicationContractFolderStatusCode-2.04.gc" languageID="es">EV</cbc-place-ext:ContractFolderStatusCode>
            <cac-place-ext:LocatedContractingParty>
                <cbc:ContractingPartyTypeCode listURI="http://contrataciondelestado.es/codice/cl/2.10/ContractingAuthorityCode-2.10.gc">2</cbc:ContractingPartyTypeCode>
                <cbc:ActivityCode listURI="http://contrataciondelestado.es/codice/cl/2.10/ContractingAuthorityActivityCode-2.10.gc">1</cbc:ActivityCode>
                <cbc:BuyerProfileURIID>https://contrataciondelestado.es/wps/poc?uri=deeplink:perfilContratante&amp;idBp=SI5CV24QS6s%3D</cbc:BuyerProfileURIID>
                <cac:Party>
                    <cbc:WebsiteURI>http://www.parlamentodeandalucia.es</cbc:WebsiteURI>
                    <cac:PartyIdentification>
                        <cbc:ID schemeName="DIR3">I00000175</cbc:ID>
                    </cac:PartyIdentification>
                    <cac:PartyIdentification>
                        <cbc:ID schemeName="NIF">S4133001J</cbc:ID>
                    </cac:PartyIdentification>
                    <cac:PartyIdentification>
                        <cbc:ID schemeName="ID_PLATAFORMA">20015840002647</cbc:ID>
                    </cac:PartyIdentification>

You can access the files from this URL .

The Inquisitor connects daily to the URL that downloads the file and maps it to its own database, extracting the most useful data from it, such as the description, the amount, publication dates as well as the winner and the amount in the case of being awarded.

This information can be accessed from an Angular application developed for this purpose:

What does InterSystems IRIS bring to the Inquisitor?

So far, the functionalities presented couldn't be simpler and could be implemented with any technology, but thanks to IRIS, we don't have to settle for these basic features. Let's see how IRIS enhances and improves our Inquisitor.

Columnar storage for statistics

The platform currently stores 874,534 tenders, both published and awarded (and growing). While the number of records could affect the statistical analysis, the columnar storage of the award amount column dramatically reduces search and aggregation times.

Property Ganador As %String(MAXLEN = 200);
Property GanadorNIF As %String(MAXLEN = 200);
Property ImporteGanador As %Numeric(STORAGEDEFAULT = "columnar");
Property ImporteGanadorSinImpuestos As %Numeric(STORAGEDEFAULT = "columnar");

In this way, we can quickly and immediately search for the aggregated award amounts by winning companies, contracting body, and publication years.

Text indexing with %iFind

Searching using text fields can be a real pain, as it involves queries that use "LIKE" as well as special characters like "%" or "?", which can slow down the results indefinitely. This isn't a problem when working with IRIS thanks to indexing with %iFind (more information here ).

Index IndexTitulo On (Titulo) As %iFind.Index.Basic(INDEXOPTION = 0, LANGUAGE = "es");

This type of index allows you to index text fields, which dramatically speeds up searches on them, saving processing time and, most importantly, not exhausting our patience.

Here we can see an example of a search for contract awards for the acquisition of sausages, which took less than 1 second:

Vectorization of tender titles

Sometimes we may not be entirely sure of the description used for the title of the tenders, so we have taken advantage of the vector storage capabilities of the database to vectorize the titles and allow searches based on vector proximity, obtaining results that approximate the search performed.

Property TituloVectorizado As %Vector(DATATYPE = "DECIMAL", LEN = 384);

Conclusions

As you can see, what may initially seem like a basic application can be greatly improved and optimized thanks to InterSystems IRIS, making use of the many functionalities and capabilities included.

Are you experiencing bottlenecks or performance issues in your applications? Check out InterSystems IRIS!

The application is available on GitHub alongside this article. It uses the Community version of InterSystems IRIS, so you can use it for free, with the only limitation being the database size.

We currently have a public version available which you can access (by requesting it by leaving a comment on this article).

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください