Find

Question
· 17 hr ago

How can I add an ancestor to a class programmatically?

Hi Developers!

Consider I have a persistent class derived from %Persistent and I want it to be derived from %JSON.Adaptor to enjoy all the JSON features.

Can I do it programmatically? 

So, it'd be wonderful to have a method in some util class that makes it happen? Something like:

Do ClassUtil.AddAncestor("MyPackage.MyPersistentClass","%JSON.Adaptor")

Any ideas?

3 new Comments
Discussion (3)4
Log in or sign up to continue
Question
· 18 hr ago

%SYS.OAuth2.AccessToken - Retrieval

I built a BP, that every time that a message is received from a BS, it executes 

 set isAuth=##class(%SYS.OAuth2.AccessToken).IsAuthorized("EpicFHIRPOC",,,.accessToken,.idtoken,.responseProperties,.error)
 if 'isAuth {
        set tSC=##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("EpicFHIRPOC", "*",, .error)        
         set isAuth=##class(%SYS.OAuth2.AccessToken).IsAuthorized("EpicFHIRPOC",,,.accessToken,.idtoken,.responseProperties,.error)
    }

To save time, I was thinking of just creating a BS that goes out and gets the Authorization Token every hour. However then how to do I pull that Token into the BO to ensure that the Token is included in the Request that is sent to the HS.FHIRServer.Interop.HTTPOperation?

3 new Comments
Discussion (3)2
Log in or sign up to continue
Article
· 18 hr ago 2m read

Exporting Interoperability Configuration data to CSV

When working with InterSystems Interoperability (Iris / Health Connect / Ensemble), configuration data is often spread across many production items: services, processes, operations, adapters, and their settings.

A common operational or security need is to answer questions like:

  • Which interfaces reference file system paths?
  • Where are directories, network shares, or absolute paths configured?
  • Can I quickly audit or document this information across all my productions?

The ObjectScript utility below solves exactly that problem by exporting selected configuration settings into a CSV file.

This script:

  1. Loops through all existing namespaces
  2. Queries all Interoperability configuration items (Ens_Config.Item) across all namespaces
  3. Iterates through each item’s Settings
  4. Extracts file system/URL paths (values containing :, /, or \)
  5. Writes the results into a CSV file, grouped by Category
  6. Produces an audit-friendly output you can open in Excel or share with operations/security teams

Typical Use Cases

You should use this utility when you need to:

  • 🔍 Audit file system usage across a productions
  • 🛡 Review security exposure (local paths, network shares, database connections)
  • 📄 Document configuration for migrations, upgrades, or DR planning
  • 🔄 Compare environments (DEV vs TEST vs PROD)
  • 🧹 Cleanup legacy or unused paths

This is especially useful in large instances with several productions using many interfaces and adapters.

Output Format

The generated CSV contains the following columns:

Namespace, Category, Item Name, Class Name, Property Name, Value

Additionally:

  • Configuration items are grouped by Category
  • Only relevant settings paths are exported - you can easily change the logic to export using the setting's name (such as "DSN" for SQL connections) or any other setting's value.
  • Easy to filter and analyze in Excel

Run the utility from the terminal and provide the parameter for the full path and csv name.

for example:

> do ##class(Test.Properties).GetData("c:\temp\loop.csv")

Example of the CSV output opened in Excel:

 

Notes & Tips

  • 🧪 Test in non-PROD first if you’re unsure about permissions
  • 📂 Ensure the target directory exists and is writable by IRIS/Health Connect
  • 🔎 You can easily extend the logic to:
    • Export additional properties
    • Filter by category or class
    • Mask sensitive values (passwords)
    • Change logic for relevant data

If you extend or improve it, feel free to share your enhancements with the community.

Discussion (0)0
Log in or sign up to continue
Digest
· 18 hr ago

InterSystems Developers Publications, Week December 22 - 28, 2025, Digest

Articles
Announcements
#InterSystems IRIS
#Developer Community Official
Questions
December 22 - 28, 2025Week at a GlanceInterSystems Developer Community
Digest
· 21 hr ago

Publications des développeurs d'InterSystems, semaine Décembre 22 - 28, 2025, Résumé

Articles
Annonces
#Communauté des développeurs officielle
Décembre 22 - 28, 2025Week at a GlanceInterSystems Developer Community