Nueva publicación

Encontrar

Artículo
· 2 mayo, 2025 Lectura de 1 min

Reviews on Open Exchange - #51

If one of your packages on OEX receives a review you get notified by OEX only of YOUR own package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you made a major change and expect a changed review just let me know.

 

!,

# Package Review Stars IPM Docker *
1 Ingestion Speed Test Impressive and fast 6* 6.0   y  
2 iris-speed-test Impressive and fast 6* 6.0   y  
3 workshop-iris-dicom-interop Excellent 6* 6.0   y  
4 iris-mll-fordummies details for starters 5.5   y  
5 Iris-nator Really funny 5.5   y  
6 iris-AgenticAI nice example 5.0   y  
7 iris-easybot fast and complete 5.0   y  
8 lovable-backend useful example 5.0 y y  
9 wp-iris-project start for future projects 4.8   y  
10 toot room for improvement 3.8   y  
Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 2 mayo, 2025

InterSystems Open Exchange Applications Digest, April 2025

Hello and welcome to the April 2025 Open Exchange Recap.
General Stats:
5 new apps in April
546 downloads in April
1,066 applications all time
40,287 downloads all time
3,139 developers joined
New Applications
New Releases
iris-waveform-demo by Ajay Anand
v1.0.0
Initial Release
DeepSeeWeb by Anton Gnibeda
v4.0.18
  • fixed issue with infinite loading on mobile
langchain-iris-tool by Yuri Marx Pereira Gomes
v2.0.0
Ask to your IRIS classes - with vectordb Fake data generator Check for IRIS server alarms
v2.0.1
Videos, articles, link for idea implementation, zpm
Intersystems-Monitoring by Teunis Stolker
v1.0.23
Removed Python code to become independent of Python
v1.0.24
Removed Python dependency completely
iris-AgenticAI by Muhammad Waseem
v1.0.1
Added Model Control Protocol (MCP) Server functionality
v1.0.2
Enhanced MCP Server functionality. Added Start and Stop production functionality.
v1.0.3
Added Vector Search Agent (RAG functionality)
Facilis by Henrique Dias
v1.0.2
  • timeout treatment
  • generated classe names return
  • better user interactions
  • fix some bugs
v1.0.3
intersystems-objectscript-class-diagram-view by sdfsdf sadfsdaf
v1.0.0

[1.0.0] - 2025-04-07

Added

  • Support for connecting to InterSystems IRIS instances to generate class diagrams directly from server
  • New command for generating InterSystems class diagrams
  • Integration with IRIS REST API for fetching class information
  • Ability to browse class details in the IRIS Management Portal by clicking on diagram elements
  • Support for navigating to class, method, and property definitions in IRIS Documatic

Changed

  • Improved error handling and feedback for connection issues
  • Enhanced SVG rendering and interaction capabilities
  • Optimized diagram generation process
  • Updated UI for better user experience

Fixed

  • Correct URL format for opening classes in IRIS Documatic
  • Fixed clicking on class elements in SVG diagrams
  • Resolved issues with diagram rendering in different environments

Removed

  • Test IRIS connection command and related functionality
swagger-validator-cli by Lorenzo Scalese
v0.0.5
  • remove unused requirements.txt file
OpenAPI-Suite by Lorenzo Scalese
v1.1.1
  • Fix bad return type for impl class generated methods
Kano MDM by Ludmila Valerko
v2023.1.1
In the area of new functionality development, the following innovations should be noted:
  1. System Upgrade
    . Moved to IRIS version 2023.1.3 , ensuring higher stability, performance, and compatibility with the latest technologies.
  2. Optimization of Internal Queries
    . With version 2023.1.3, the approach to installing the CSP-gateway and web server has been revised. In response to these changes, the internal queries of Kano MDM have been optimized, ensuring seamless adaptation to the new architecture and maintaining stable, reliable performance on the updated platform.
  3. Improved security configuration.
    Implemented advanced security settings to provide a new level of data protection.
The following modifications and additions have been implemented in the Kano MDM modules:
  1. Flexible Password Settings.
    Updated the settings for creating custom passwords, providing more options for customising them and improving user-friendliness.
  2. Expanded Capabilities of the Constructor:
    • Added the ability to display the created field of the ‘Directory’ type as a separate form.
    • Directory fields have been moved to a dedicated tab, improving visual clarity and user experience.
    • Columns of the directory grid are also moved to a new tab,providing a cleaner and more intuitive data view.
  3. Simplified Directory Management: All properties are now placed on a separate tab when creating a directory, making the configuration process more user-friendly.
  4. Deleting a group of fields. The functionality for deleting field groups through page-by-page selection has been improved. Now it is possible to navigate between pages and continue selecting fields for deletion — all selected elements remain marked until the operation is complete.

Implementing the latest versions and technology updates has been an important step in improving the system. All changes are aimed at increasing performance, usability and security, considering modern technology standards and requirements. Each update ensures that Kano MDM is up-to-date, adaptable to new challenges and user needs, and aligned with high standards of efficiency and security.
iris-web-swagger-ui by Semion Makarov
v1.0.1
Updated swagger version
workshop-iris-dicom-interop by Alberto Fuentes
v2.0.0
WorkList use case added
demo-dbs-iris by Andreas Schneider
v1.0.3
New namespace added: DATATYPE_SAMPLE
This sample database is designed to analyze error scenarios in which column values do not conform to the data types and constraints defined in the metadata. The goal is to understand and evaluate the behavior of the database and associated drivers (JDBC, ODBC, .NET) in such cases.
When tables are created and modified exclusively via SQL, inconsistencies between data and metadata should be practically impossible. Even when accessing the database through object layer, proper validation is expected to enforce metadata compliance.
However, inconsistencies like those demonstrated here can occur when applications used direct Global Access, potentially bypassing built-in protections such as type checks or constraint enforcement. This is especially relevant in legacy systems.
iris-vector-search by Fan Ji
v1.1.0
Vector Search with InterSystems IRIS 2025.1
SQL DATA LENS by Andreas Schneider
v3.21.0
ENH : Some small improvements, like Execute Toolbar button now with text ENH : Testing connections are now limited to show only 5 namespaces to prevent the UI from getting to big ENH : Many internal libs upgraded (like POI 5.3.1) ENH : TableViewer : Table sources (DDL) is improved and handle IRIS default entries for AUTO_INCREMENT columns correctly ENH : Data Pumper : New feature to copy data from one table to another table, also between different databases and namespaces ENH : SQL Editor : Improved error handling for values that do not match metadata ENH : General : A new toggle button on the main toolbar to configure handling for read errors globally
image
v3.22.0
New an improved SQL scripting features. With just a click, it can generate comprehensive integrity checks for Tables, Views, and Stored Procedures—saving time and helping you stay ahead of hidden data quality issues.
openflights_dataset by Andreas Schneider
v1.0.10
Updated to InterSystems IRIS Version 2025.1.0.223
Embedded Git by Timothy Leavitt
v2.11.0

[2.11.0] - 2025-04-23

Added

  • Pull event handler that does an IPM uninstall and load to handle deletes (#631)
  • Partial support for production decomposition with the new interoperability editors
  • Added Lock Branch setting to prevent switching branches for a protected namespace (#709)
  • Tooltips on branch operations in Git UI (#725)

Fixed

  • Changing system mode (environment name) in settings persists after instance restart (#655)
  • Popping from stash is more responsive (#687, #747)
  • Favorites links for Git pages now works on recent IRIS versions (#734)
  • IDE editing of decomposed productions now properly handles adds and deletes (#643)
  • Fixed error running Import All when Git settings file does not exist (#713)
iris-globals-contest by Oliver Wilms
v0.0.16
Allow long text in Merchant column
v0.0.17
Export to CSV
v0.0.18
Escape CR LF in Export to CSV
Most downloaded
MDX2JSON
By Eduard Lebedyuk
DeepSeeWeb
By Anton Gnibeda
ObjectScript-Math
By Peter Steiwer
ssl-client
By Evgeny Shvarov
WebTerminal
By Nikita Savchenko
Embedded Git
By Timothy Leavitt
iris-web-swagger-ui
By Semion Makarov
passwordless
By Sergey Mikhailenko
Test Coverage Tool
By Timothy Leavitt
April, 2025Month at a GlanceInterSystems Open Exchange
Comentarios (0)1
Inicie sesión o regístrese para continuar
Pregunta
· 2 mayo, 2025

DICOM, Mirror and StorageLocation

Is anyone using DICOM Interoperability in IRIS for Health configured in Mirror?

I'm asking because I'm not sure how to handle where the DICOM messages are stored.

For some reason DICOM use the filesystem to store raw messages, the directory used can be configured in the StorageLocation production settings, obviously this is a big issue if/when a mirror failover occur.

Unfortunately in IRIS it's not possible to change the DICOM storage from file stream to global stream.

Has anyone came across this issue?

1 nuevo comentario
Comentarios (9)4
Inicie sesión o regístrese para continuar
Artículo
· 2 mayo, 2025 Lectura de 3 min

Creating a DICOM file and adding a JPG to it

One of the challenges of creating a DICOM message is how to implement putting data in the correct place. Part of it is by inserting the data in the specific DICOM tags, while the other is to insert binary data such as a picture - In this article I will explain both.

To create a DICOM message, you can either use the  EnsLib.DICOM.File class (to create a DICOM file) or the  EnsLib.DICOM.Document class (to create a message that can be sent to PACS directly). In either case, the SetValueAt method will allow you to add your data to the DICOM tags.

A DICOM message consists of two constituent parts, CommandSet and the DataSet.
The CommandSet contains DICOM elements which contain details about the characteristics of the DataSet, while the DataSet contains the data itself - patient's demographic, image etc.

To update the tags in the CommandSet or the DataSet, simply state the value and the name of the property you wish to update using the SetValueAt method:

set tstatus=tDoc.SetValueAt("1.2.840.10008.5.1.4.1.1.7","CommandSet.MediaStorageSOPClassUID")
set tstatus=tDoc.SetValueAt("1.2.392.200059.1.11.11084587.3.35820032317.2.1.56","CommandSet.MediaStorageSOPInstanceUID") 
set tstatus=tDoc.SetValueAt("1.2.276.0.7230010.3.0.3.6.4","CommandSet.ImplementationClassUID") 
set tstatus=tDoc.SetValueAt("OFFIS_DCMTK_364","CommandSet.ImplementationVersionName") 
set tstatus=tDoc.SetValueAt("Morgan^Gina^G","DataSet.PatientName") 
set tstatus=tDoc.SetValueAt("2751","DataSet.PatientID")
set tstatus=tDoc.SetValueAt("19810816","DataSet.PatientBirthDate")	
set tstatus=tDoc.SetValueAt("F","DataSet.PatientSex") 
you can either use the property name or the property tag. For example, those 2 commands are updating the same tag:
	set tstatus=tDoc.SetValueAt("Olympus","DataSet.Manufacturer")		
	set tstatus=tDoc.SetValueAt("Olympus","DataSet.(0008,0070)") 

Once the message is created and transferred to PACS as a document, you can see its data as part of the trace (note that binary data cannot be seen):

In order to add the binary data for the image, it is more complicated that just putting the data in a specific tag, because it needs to be structured in a specific way and measured appropriately. This is why after updating the tags and saving the document, we need to open it as a simple binary file and add the image data at the end of it in a specific manner.

The image is part of the PixelData property in tag (7FE0,0010).

This tag is a sequence - DICOM allows a DataSet to contain other nested DataSets, which are encoded as “sequences”. The point of this structure is to allow repeating groups of data, so whilst such sequences often only contain a single DataSet, the format is defined such that each sequence consists of a set of DataSets.

This structure can be used in recursion, and some DICOM scenarios might use sequences nested 5 or 6 deep.

 

The demo shows a sample of creating a DICOM document with an image in it. The patient's demographic and other details are just for the sake of teh sample. To run this demo, simply put a JPG file in a directory, configure the directory name in the 'FileStorageDirectory' property in the business operation's settings:

 

and run the Business Process. After its completion, you'll see a new dcm file in the same directory where your JPG file was. open it in a DICOM viewer and you'll see the DICOM tags as well as the image in it:

 

Here is a quick demo showing the whole process:

Look for the demo files and instruction in Open Exchange:

https://openexchange.intersystems.com/package/DICOM--Image-Demo

Keren.

Comentarios (0)0
Inicie sesión o regístrese para continuar
Comentarios
· 2 mayo, 2025

Vamos discutir a nova IU para Interoperabilidade e editor de Transformações de Dados

Já faz um tempo desde que a nova interface de usuário para Produções e DTL foi publicada como uma prévia e eu gostaria de saber suas opiniões sobre ela.

AVISO: Esta é uma opinião pessoal, totalmente pessoal e não relacionada com a InterSystems Corporation.

Vou começar com a tela de Interoperabilidade:

Tela de Produção:

O estilo é sóbrio e sem adornos, seguindo a linha do design de serviços de nuvem, eu gosto.

Mas, sempre um mas... ou talvez dois:

Na minha opinião, há informação demais, o menu esquerdo é supérfluo. É verdade que você pode recolhê-lo, mas não quero fazer isso cada vez que uso a tela. Não preciso ver o tempo todo todas as produções no meu NAMESPACE, os Itens de Produção, Conjuntos de Regras e Transformações de Dados. Sinto que os designers sofreram um "horror vacui"

Sobre esses menus, parece que as opções estão muito próximas:

E exibir os editores de Regras e Transformações de Dados na mesma tela para telas pequenas como a de um laptop é um pesadelo de rolagem:

Uma janela pop-up com os editores seria mais "limpa" para o usuário comum. Um ponto positivo é que podemos selecionar como queremos abrir os editores.

Mas talvez tenhamos opções demais.

Editor de DTL:

Bem, eu gosto, o design é simples e claro, talvez, como na tela de Produção, as linhas estejam muito próximas e perdemos o arrastar e soltar para ligar os campos.

Conclusão:

O design foi modernizado e parece agradável, mas na minha opinião como um ex-desenvolvedor web "menos é mais". Eu gostaria de trabalhar com telas mais simples, com um comportamento bem definido, não preciso acessar todas as funcionalidades de interoperabilidade na mesma tela.

Minha modesta opinião, precisamos equilibrar funcionalidades e uma interface de usuário amigável e moderna, o novo design parece ir nessa direção. Obrigado a toda a equipe envolvida no desenvolvimento!

[OBS.: o texto reflete a opinião pessoal do AUTOR, não do TRADUTOR.]

Comentarios (0)1
Inicie sesión o regístrese para continuar