Rechercher

Pregunta
· 1 hr atrás

Pool connections and licenses.

Recently, we implemented some Java-based services using JDBC. And some time ago, I refactored some legacy PHP programs that used "csession" for communication between systems to use PDO with ODBC.

This raised a question for me about how license management is done in this scenario.
Is a license used per pool? Or per connection? How is this management done?

Comentarios (0)1
Inicie sesión o regístrese para continuar
Comentarios
· 1 hr atrás

Tell us about your learning journey!

✨ Everyone’s career journey looks different. How have you created a path forward for yourself?

Our team reached out to InterSystems certified professionals to hear their stories:

We'd love to hear from you, community! Share your thoughts about how you've leveled up, whether through certification, training, or other avenues!

 

Big thanks to @Pierre-Yves Duquesnoy, @Craig Regester, and @Chi Nguyen-Rettig for sharing your stories—you inspire others to keep growing!

Getting certified helps me stay up to date with the technology I use daily and is a good way to validate my knowledge.

-Pierre-Yves Duquesnoy, Senior Sales Engineer, InterSystems

Certification helped me realize what I didn't know and identified areas that I could focus on. I used it as a way to learn, as a way to know where my weaknesses were. I could figure out how to improve and find areas of the InterSystems platform that I wasn't even necessarily aware of—and get more value out of the product.

-Craig C. Regester, Enterprise Architect, Ready Computing

Regardless of where you are, whether you are a newer developer or even a more seasoned developer, certification helps you get to the next level and see what you can grow into.

-Chi Nguyen-Rettig, CTO, LEAD North

Comentarios (0)1
Inicie sesión o regístrese para continuar
Anuncio
· 1 hr atrás

[Video] Prior Authorization Support

Hi, Community!

Want to build smoother communication between payer systems and providers? See how the Prior Authorization Support (PAS) module of the InterSystems Payer Services ePrior Authorization solution can help:

Prior Authorization Support

In this video, you will learn how PAS streamlines submission of prior authorization requests by connecting EHR systems with a payer's utilization management system.

Watch the full playlist on YouTube (10m).

Comentarios (0)1
Inicie sesión o regístrese para continuar
Artículo
· 2 hr atrás Lectura de 3 min

[ICYMI] VS Code updates November 2025

Welcome to the monthly recap of updates and releases to VS Code and InterSystems-related extensions that are relevant to IRIS developers. 

We'll break down the updates that are relevant to InterSystems developers with tips on how they can be applied to your day-to-day projects. 

Don't forget, if you're migrating from InterSystems Studio to VS Code, or want to deepen your knowledge, check out the VS Code training courses from George James Software: georgejames.com/vscode-training

 

VS Code version 1.106

Unified AI-agent dashboard - 1.106 introduces an Agent Sessions view that consolidates all active sessions (cloud, local, CLI) into a single pane. 

With this update, you can try out assistance from AI without immediately affecting your workplace.

But, even if you don't use AI tools, Agent Sessions can help if you experiment with automation such as scaffolding, documentation generation, code snippets etc. 

Built-in task planning before coding - the new Plan Agent lets you sketch out complex implementation plans before writing any code. 

Use this to outline and review a plan in VS Code before touching production, reducing the chance of mistakes and improving clarity for handoffs or peer reviews.  

Edit & Navigation improvements

  • Deleted code in diff view is now selectable/copyable >> try this feature if you want to copy code from an old version.   
  • The "Go to Line" command now supports jumping to a specific character offset >> this is helpful if you get precise error offsets or log stack-trace positions linking to a file position.   
  • UI polish, including refreshed icons, better command-palette filtering, error hover copying improvements, and cross-file diff navigations to make editing smoother. 


This release also includes contributions from our very own @John Murray through pull requests that address open issues. 

View the full release notes: https://code.visualstudio.com/updates/v1_106

 

George James Software VS Code extensions

InterSystems REST API Explorer - updated dependencies

Use this alongside the InterSystems Server Manager extension to explore REST APIs published by a server

gj :: configExplorer - we've been able to adopt intersystems/intersystems-iris-native 2.0.3 to enable this extension to be used directly on Windows. 

Try out this VS Code extension to produce configuration diagrams for your servers. 

 

InterSystems Official VS Code extensions

There have been no releases or updates this month, so here's our Marketplace pick: 

gj :: dataLoader - it implements this idea and is @John Murray's entry into the "Bringing Ideas to Reality" Contest 2025

This extension enables data to be loaded from text files into InterSystems IRIS SQL tables, from within VS Code.

 

Let us know in the comments if you try any of these features or VS Code extensions, and what you think.

Happy coding! 

Comentarios (0)2
Inicie sesión o regístrese para continuar
Artículo
· 4 hr atrás Lectura de 2 min

Temp Files and Singletons: Cleaning Up After Yourself

There's a pattern I've encountered several times where I need to use a temp file/folder and have it cleaned up at some point later.

The natural thing to do here is to follow the patterns from "Robust Error Handling and Cleanup in ObjectScript" with a try/catch/pseudo-finally or a registered object to manage cleanup in the destructor. %Stream.File* also has a "RemoveOnClose" property that you can set - but use with care, as you could accidentally remove an important file, and this flag gets reset by calls to %Save() so you'll need to set it back to 1 after doing that.

There's one tricky case, though - suppose you need the temp file to survive in an enclosing stack level. e.g.:

ClassMethod MethodA()
{
    Do ..MethodB(.filename)
    // Do something else with the filename
}

ClassMethod MethodB(Output filename)
{
    // Create a temp file and set filename to the file's name
    Set filename = ##class(%Library.File).TempFilename()
    
    //... and probably do some other stuff
}

You could always pass around %Stream.File* objects with RemoveOnClose set to 1, but we're really just talking about temp files here.

This is where the concept of a "Singleton" comes in. We have a base implementation of this in IPM in %IPM.General.Singleton which you can extend to meet different use cases. The general behavior and use pattern is:

  • In a higher stack level, call %Get() on that class and get the one instance that will also be obtainable by calls to %Get() at lower stack levels.
  • When the object goes out of scope in highest stack level that uses it, the cleanup code runs.

This is a bit better than a % variable because you don't need to go checking if it's defined, and it also survives argumentless NEW at lower stack levels through some deep object trickery.

On to temp files, IPM also has a temp file manager singleton. Applying to this problem, the solution is:

ClassMethod MethodA()
{
    Set tempFileManager = ##class(%IPM.Utils.TempFileManager).%Get()
    Do ..MethodB(.filename)
    // Do something else with the filename
    
    // The temp file is cleaned up automatically when tempFileManager goes out of scope
}

ClassMethod MethodB(Output filename)
{
    Set tempFileManager = ##class(%IPM.Utils.TempFileManager).%Get()
    // Create a temp file and set filename to the file's name
    Set filename = tempFileManager.GetTempFileName(".md")
    
    //... and probably do some other stuff
}
Comentarios (0)2
Inicie sesión o regístrese para continuar