查找

问题
· 十月 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

2 Comments
讨论 (2)3
登录或注册以继续
公告
· 十月 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
登录或注册以继续
文章
· 十月 31 阅读大约需 5 分钟

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
登录或注册以继续
问题
· 十月 31

Optimizing FHIR repository performance for high-volume search operations

For large-scale deployments (millions of FHIR resources), what indexing or caching strategies are proven to improve read/search speed in IRIS for Health?
Any tuning parameters or configuration examples would be appreciated.

讨论 (0)1
登录或注册以继续
问题
· 十月 31

How to design an efficient HL7-to-FHIR transformation pipeline in IRIS for Health?

I’m exploring best practices for building a real-time HL7 v2 to FHIR R4 transformation workflow in IRIS for Health.
Should this be handled purely through productions, or is it better to integrate a custom transformation service layer for version control and auditing?

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