Search

Clear filter
Announcement
Anastasia Dyubaylo · Sep 6, 2019

New Video: How Are Containers Different From Virtual Machines?

Hi Community!Enjoy watching the new video on InterSystems Developers YouTube, recorded by @Thomas.Carroll, Cloud Market Technical Specialist at InterSystems.How Are Containers Different From Virtual Machines? Learn about the key similarities and differences between containers and virtual machines in this presentation from InterSystems cloud expert @Thomas.Carroll.For more information about these topics and other InterSystems technologies, browse the content available at learning.intersystems.com.Stay tuned with InterSystems Developers!
Question
Yuri Marx · Oct 4, 2020

Why not update jdbc driver to mvnrepository

The current jdbc driver version is 3.1.0, but it is not published in the public mvn repository, only the old version, see: https://mvnrepository.com/artifact/com.intersystems/intersystems-jdbc It is very bad to the Java Community. And why not publish IRIS Hibernate dialect in mvn repository too? These actions are important to Java Developers. Calling @Robert.Kuszewski For now you can download it from this github repo. Not sure if this is the latest version though. Good idea. We're working on better processes for client distribution overall. Java developers use maven to resolve your project dependencies (like zpm, npm), so when a package to use IRIS is not available, these java developers give up. All intersystems competitors are there. While we are building a maven distribution channel the latest IRIS JDBC driver could be downloaded from here The most interesting, is why current files on maven central us completely useless? Just empty jar files. @Robert.Kuszewski, what do you mean by better processes? What does it mean for jdbc driver or any other jar files, which have only one place where they supposed to be published is, maven central. Currently, InterSystems - JDBC and InterSystems XEP just contain empty files, which have to be deleted. JAR files here, just only 155 bytes in size or even less. https://repo1.maven.org/maven2/com/intersystems/intersystems-jdbc/3.0.0/ https://repo1.maven.org/maven2/com/intersystems/intersystems-jdbc/2018.1.2.609.0/ https://repo1.maven.org/maven2/com/intersystems/intersystems-xep/2018.1.2.609.0/ All java devs use maven to build your apps. It is critical to increase iris adoption in the Java ecosystem. And it is really simple to ISC. It is just upload most recent files to maven central. Hi Bob! Any update on this issue? We need to write many tests using different databases and only with Iris/Caché we need to download JARs manually to put them in the project lib. Ex: ``` com.intersystems intersystems-jdbc 3.2.0 system ${project.basedir}/lib/intersystems-jdbc-3.2.0.jar org.postgresql postgresql 42.2.20 ``` The Maven central repository is a common standard on Java (and many other JVM languages) projects. Please, we urgently need this feature available. No good Java Developer uses Maven Central. 80% of needed artifacts are missing, even your own created artifacts. Good Java Developers use there local enterprise repo and keep there project lib clean. Put com.intersystems dependencies into this und you will be satisfied until the need an newer version.
Article
Eduard Lebedyuk · Apr 23, 2019

Python Gateway Part II: Installation

This series of articles would cover [Python Gateway](https://openexchange.intersystems.com/package/PythonGateway) for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment: - Execute arbitrary Python code - Seamlessly transfer data from InterSystems IRIS into Python - Build intelligent Interoperability business processes with Python Interoperability Adapter - Save, examine, modify and restore Python context from InterSystems IRIS # Other articles The plan for the series so far (subject to change). - [Part I: Overview, Landscape and Introduction](https://community.intersystems.com/post/python-gateway-part-i-introduction) - Part II: Installation and Troubleshooting
Announcement
Anastasia Dyubaylo · Mar 17, 2020

New Video: Durable Data Storage with Containers

Hi Community, The new video from Global Summit 2019 is already on InterSystems Developers YouTube: ⏯ Durable Data Storage with Containers One common concern surrounding containers is the problem of data persistence. In particular, how can developers ensure their data is durable outside of the lifetime of a container? This video considers various aspects of data persistence in containers and outlines how InterSystems IRIS containers solve the problem. Takeaway: I know how to persist data within InterSystems IRIS containers. Presenter: @Mark.Bolinsky, Senior Technology Architect, InterSystems Additional materials to this video you can find in this InterSystems Online Learning Course. Enjoy watching this video! 👍🏼
Announcement
Anastasia Dyubaylo · Jul 9, 2021

Video: Creating an HL7 v2 to FHIR Transformation Pipeline with S3 Target

Hi Developers, A new video is already on InterSystems Developers YouTube: ⏯ Creating an HL7 v2 to FHIR Transformation Pipeline with S3 Target Transform HL7 version 2 messages to HL7 FHIR R4 resources, and deposit the resources into a cloud-based healthcare data repository using InterSystems FHIR Transformation Service and s3 Buckets. A simple step-by-step guide on how you can sign up for a free AWS account and a free InterSystems Cloud Portal account and exercise the powerful functionality of the transformation services. For more information, read about InterSystems FHIR Transformation Service in InterSystems documentation. ✌️ We want your feedback! Stay tuned!
Announcement
RB Omo · Feb 15, 2023

February 15, 2023 – Alert: Use of Large Pages for Shared Memory on Windows Platforms

InterSystems has corrected an issue that can cause InterSystems IRIS® and Caché to not take advantage of large pages for shared memory on Windows, even though these products report that large pages are allocated. This can have detrimental effects on system performance. The issue results from a change in Windows 10 that requires modification of InterSystems IRIS® and Caché. Note that this issue also affects all InterSystems products that are based on InterSystems IRIS® or Caché. The issue occurs on the following versions of Windows: Windows 10 (version 1703 and above) Windows 11 Windows Server 2019 Windows Server 2022 Windows Server 2016 is not impacted. For reference, the correction for this issue is identified as RJF533. This correction will be included in all future InterSystems IRIS® and Caché distributions. The correction is also available as an Ad hoc distribution for supported product versions. InterSystems recommends the following to avoid potentially severe system performance degradation: For systems using large pages, defer upgrading to an impacted Windows version until implementing the correction. For systems already running an impacted Windows version and using large pages, implement the correction prior to any planned increase in system load. InterSystems generally recommends the use of large pages in order to improve performance. More information is available in the documentation sections Configuring Large Pages on Windows and memlock. If you have any questions regarding this alert or need an Ad hoc distribution with the correction, please contact the Worldwide Response Center.
Announcement
Michelle Spisak · Nov 21, 2019

November Newsletter from Learning Services

Want to stay connected to InterSystems Learning Services? Subscribe today! Just released: the Learning Services November newsletter, where you can read updates from Online Learning, Documentation, and Classroom Learning, including: QuickStart exercises for InterSystems IRIS A new Difficulty filter for the online learning catalog A clean, new look for InterSystems documentation And, as always, a schedule of upcoming classroom training. Get connected, stay informed with InterSystems Learning Services!
Article
Yuri Marx · Apr 4

Part II: Studying for IRIS Developer Professional Certification with the "Ask Developer Community AI"

The "Ask Developer Community AI" tool is an excellent resource for studying for the certification. I asked it about each topic that will be covered in the test and the results are below.Note: I classified each answer by the assertiveness that I consider as good, average and bad. Note 2: The article has 4 parts, each one for an exam area. 2. Best practices 2.1 Uses recommended development tools and workflows with InterSystems IRIS[GOOD] Uses Visual Studio Code to connect to InterSystems IRIS and develop client-side and server-side codeTo use Visual Studio Code (VS Code) to connect to InterSystems IRIS and develop both client-side and server-side code, you need to follow these steps:1. Install Necessary Extensions: Install the InterSystems Server Manager Extension, InterSystems ObjectScript Extension, and InterSystems Language Server Extension for VS Code. These extensions help in defining server connections, writing, and compiling code files, and providing language support for ObjectScript [1].2. Configure Server Connections: Use the InterSystems Server Manager Extension to define connections to your InterSystems IRIS server. This involves adding the server details such as name, hostname, port, and username [2].3. Develop and Sync Code: You can edit code locally on your machine and sync it with the server. The ObjectScript extension allows you to save and compile code directly on the server. You can also use version control systems like Git to manage your code changes [3].4. Use SQLTools for Database Interactions: Install the SQLTools extension and the SQLTools InterSystems IRIS driver to connect to your IRIS instance and run SQL queries directly from VS Code [4].5. Access the IRIS Terminal: Depending on your IRIS version, you can use the Web Terminal or WebSocket Terminal to open a terminal session within VS Code. For IRIS versions 2023.2 and later, the WebSocket Terminal is available. For earlier versions, you can use the Web Terminal extension [5].For detailed instructions on each step, refer to the respective sections in the documentation provided by InterSystems [6][2][1][5].Sources1.Setting up VS Code to work with InterSystems technologies2.InterSystems VSCode ObjectScript Extension Pack in glance3.Where to save the local cache code after connecting the IRIS server using Visual Studio Code4.Connecting to InterSystems IRIS in VS Code using SQLTools5.Accessing the IRIS Terminal: A Comprehensive Guide for Visual Studio Code Users6.Connecting an IDE | InterSystems IRIS Data Platform 2024.3 [GOOD] Uses InterSystems IRIS debugging tools (e.g., uses debugger in VS Code)To use InterSystems IRIS debugging tools, such as the debugger in Visual Studio Code (VS Code), follow these steps:1. Install the InterSystems IRIS extensions for VSCode: Go to Extensions in VSCode, search for InterSystems, and install the necessary extensions, particularly the InterSystems ObjectScript Extension Pack.2. Set up a sample application: Clone a sample project from a repository, such as https://github.com/yurimarx/debug-objectscript.git, and set it up using Docker.3. Open the project in VSCode: Open the project directory in VSCode and configure the ObjectScript connection.4. Debugging: Set breakpoints in your ObjectScript code, and use the debugging tools in VSCode to step through the code, inspect variables, and control execution.For detailed instructions on setting up and using the debugger, refer to the article “Debug the ObjectScript code using VSCode” [1].Additionally, you can watch the video “Using the VS Code Debugger for InterSystems ObjectScript” on the InterSystems Developers YouTube channel for a visual guide [2]. Sources1.Debug the ObjectScript code using VSCode2.[Video] Using the VS Code Debugger for InterSystems ObjectScript [AVERAGE] Identifies components required in Compose files used for container developmentThe components required in Compose files used for container development include:1. Version: Specifies the version of the Docker Compose file format.2. Services: Defines the services (containers) that make up the application.3. Image: Specifies the Docker image to use for the service.4. Build: Specifies the build context for the service.5. Ports: Maps ports between the host and the container.6. Volumes: Mounts directories or files from the host into the container.7. Environment: Sets environment variables for the service.8. Command: Overrides the default command for the container.9. Restart: Specifies the restart policy for the container.For more detailed information, refer to the articles on Docker Compose and its usage [1][2]. Sources1.Introduction to Docker - Part2 (Docker Compose, Docker File, Docker Volume)2.Running InterSystems Products in Containers | InterSystems IRIS Data Platform 2024.3 [AVERAGE] Enumerates available development tools (e.g., %SYS.MONLBL, ^PROFILE, and ^TRACE) The available development tools in InterSystems include:1. %SYS.MONLBL: This tool is used for monitoring and performance analysis.2. ^PROFILE: This tool is used for profiling code to analyze performance.3. ^TRACE: This tool is used for tracing code execution to debug and understand the flow of the program.Additionally, synonyms for the GOTO ObjectScript command include “G” [1]. Sources1.GOTO (ObjectScript) | ObjectScript Reference | InterSystems IRIS Data Platform 2024.3 [GOOD] Describes options for automatically documenting code There are several options for automatically documenting code:1. Using Documatic: You can generate class documentation from comments embedded in the code using Documatic. This includes documenting each column in SQL views with HTML markup similar to how you document each method of a class [1].2. Static Documentation Generators: There are several documentation generation solutions that produce web documentation portals. Some popular open-source options include:o MkDocs: Supports static and dynamic documentation generation, Markdown and HTML, and integration with Git pages.o Docsify: Lightweight, supports smart full-text search, multiple themes, and embedded files.o Docusaurus: Powered by Markdown, built using React, supports translations, document versioning, and search.o Slate: Clean design, single-page documentation, Markdown support, syntax highlighting, and editable via GitHub.o GitBook: Collaborative work, drafts and versioning, multiple output formats, and cloud hosting [2].3. CodeInspector: This tool helps in automating custom code validation by applying custom rules tailored to your development requirements. It generates detailed reports and can be configured to enforce consistent coding practices [3].4. VSCode Snippets: In VSCode, you can use snippets to create templates for code documentation. This allows you to standardize method descriptions and other documentation elements [4].5. Swagger for REST APIs: For documenting REST APIs, you can use the Swagger open-source framework to provide interactive documentation based on the OpenAPI 2.0 specification. This can be hosted and viewed using tools like Swagger UI [5]. Sources1.Best way to document a SQL view2.Static Documentation Generators3.CodeInspector: Automating Custom Code Validation4.Is it possible to export User-Defined Code Fragments from Studio?5.Listing and Documenting REST APIs | Creating REST Services | InterSystems IRIS Data Platform 2024.3 [AVERAGE] Chooses background execution strategy In ObjectScript, you can execute programs in the background using the JOB command. This command allows you to run a process independently of the current process, usually without user interaction. The JOB command can be used to start a routine, a class method, or an instance method in the background.For detailed instructions on how to use the JOB command, including its syntax and examples, please refer to the relevant documentation [1]. Sources1.JOB (ObjectScript) | ObjectScript Reference | InterSystems IRIS Data Platform 2024.3 2.2 Integrates InterSystems IRIS with CI/CD pipelines [GOOD] Describes deployment options for InterSystems IRIS (e.g., containers vs InterSystems IRIS installer) InterSystems IRIS can be deployed using various methods, including containers and the InterSystems IRIS installer. Here are the deployment options:1. Containers: Deploying InterSystems IRIS in Docker containers is agile, highly repeatable, and well-suited to public cloud platforms. Containers cleanly separate code from data and support CI/CD and a DevOps approach, allowing for fast improvements. The configuration merge feature supports automated container deployment by varying the configurations of InterSystems IRIS instances in containers deployed from the same image [1].2. InterSystems IRIS Installer: You can also install and run multiple instances of InterSystems IRIS on a single host system using the InterSystems IRIS installer. Each instance is a unique, independent environment that can be managed using the iris command or the Windows launcher [2].For detailed steps on using Docker containers, refer to the articles on deploying InterSystems IRIS in Docker containers and using the ObjectScript Package Manager with Docker containers [3][4]. Sources1.Deploy in Containers | InterSystems IRIS Data Platform 2024.32.Manage InterSystems IRIS Instances: The iris Command | System Administration Guide | InterSystems IRIS Data Platform 2024.33.Using ObjectScript Package Manager With InterSystems IRIS and IRIS for Health Docker Containers4.InterSystems IRIS Docker Container Image With ObjectScript Package Manager [GOOD] Manages changes to CPF file to support continuous deployment To manage changes to the CPF file to support continuous deployment, you can use the configuration merge feature. This feature allows you to specify a configuration merge file containing the desired changes, which can be applied to the CPF file programmatically. This supports automated deployment and reconfiguration of multiple instances from the same source. The configuration merge file can be used to modify settings such as memory, journal settings, mappings, and device configurations. For more detailed steps and examples, refer to the articles on using the configuration merge feature and automating configuration with configuration merge [1][2]. Sources1.CPF (Tools/APIs) | InterSystems API Index | InterSystems IRIS Data Platform 2024.32.Introduction to the Configuration Parameter File | Configuration Parameter File Reference | InterSystems IRIS Data Platform 2024.3 [GOOD] Uses the %UnitTest framework to write and run unit testsTo use the %UnitTest framework to write and run unit tests in InterSystems IRIS, follow these steps:1. Create Test Cases: Extend the %UnitTest.TestCase class to create your testing class. Add test methods to this class, ensuring that each test method name begins with “Test”. Each test method can contain multiple tests, typically using the $$$AssertX macros to compare the method’s output to expected values [1].2. Preparation and Cleanup: Add code to special preparation and cleanup methods within your test class to handle tasks that need to be performed before and after tests run. This includes methods like OnBeforeOneTest(), OnBeforeAllTests(), OnAfterOneTest(), and OnAfterAllTests() [2].3. Execute Tests: Use the RunTest() method from the %UnitTest.Manager class to execute your tests. This method will load, compile, execute, and then delete the test classes by default. You can view the general results in your terminal window or more detailed results in the Management Portal [2][3].For detailed instructions on each step, refer to the relevant sections in the documentation:• Creating test cases: Extending the %UnitTest.TestCase Class• Preparation and cleanup methods: %UnitTest.TestCase Class Preparation and Cleanup Methods• Executing tests: Executing Unit Tests Using the %UnitTest.Manager MethodsThis framework is designed to be flexible and accommodate various testing needs, making it a robust tool for unit testing in InterSystems IRIS. Sources1.Creating Test Cases: The %UnitTest.TestCase Class | The %UnitTest Framework for InterSystems IRIS | InterSystems IRIS Data Platform 2024.32.About the InterSystems IRIS %UnitTest Framework | The %UnitTest Framework for InterSystems IRIS | InterSystems IRIS Data Platform 2024.33.Executing Unit Tests Using the %UnitTest.Manager Methods | The %UnitTest Framework for InterSystems IRIS | InterSystems IRIS Data Platform 2024.3 [BAD] Runs integration tests to confirm expectations in other applications Integration tests are designed to confirm expectations in other applications and typically require an external context, such as a database server. They can reference external resources and require a specific context in which to run. Integration tests can take longer to complete and are often run manually or prior to project deployment. In Maven, the life cycle phase where integration tests are run is called the “verify” phase [1].For running integration tests with InterSystems IRIS, you can use the IrisApiTester tool. This tool allows you to perform unit tests, integration tests, and even add a CI/CD continuous integration layer. You can create a web application and define routes for your tests, which can then be executed via API calls. This setup allows you to automate the testing process and integrate it with your development workflow [2]. Sources1.Maven Projects - Mixing Java and ObjectScript2.Automate API Testing with IrisApiTester: A Developer's Guide [GOOD] Runs system checks to check functional and non-functional requirements at production scale To run system checks to verify functional and non-functional requirements at production scale, you can use the %UnitTest.TestProduction class in InterSystems IRIS. This class allows you to create tests that start and stop the production being tested, send input to the production components, and examine the output and any errors generated. You will need to override the callback methods such as OnBeforeProductionStart, OnAfterProductionStart, CheckResults, and CheckErrors to implement the specific checks and validations required for your production environment [1][2]. Sources1.TestControl | Testing Productions | InterSystems IRIS Data Platform 2024.32.Callback Methods | Testing Productions | InterSystems IRIS Data Platform 2024.3 [BAD] Identifies implications of promoting changesPromoting changes in your system can have several implications. It is important to consider the following:1. Compatibility and Future Proofing: Ensure that the changes are compatible with both your current platform and any anticipated upgrades. For example, if you are currently using Ensemble 2018 and plan to upgrade to IRIS, you need to be aware that certain features like InterSystems Reports are only available on IRIS and not on Ensemble [1].2. End-of-Life Announcements: Be aware of any end-of-life announcements for technologies you are using. For instance, Zen Reports are being removed from InterSystems IRIS and IRIS for Health starting from version 2025.1, so it would be prudent to avoid dependencies on Zen Reports for new developments [1].3. Alternative Solutions: Consider alternative solutions that might be more future-proof or better supported. For example, converting HL7 to FHIR and using the FHIR SQL Builder to make datasets available as SQL tables, which can then be consumed by InterSystems Reports, might be a viable option [1].4. Data Access and Integration: Evaluate how the changes will affect data access and integration. Using ODBC/JDBC to access data and integrating with third-party BI tools like MS PowerBI or Tableau could be an alternative approach if it meets your needs [1].By considering these factors, you can better manage the implications of promoting changes in your system. Sources1.Reports roadmap 2.3 Uses source control with InterSystems IRIS [GOOD] Describes options for integrating InterSystems IRIS with source control systemsTo integrate InterSystems IRIS with source control systems, you can follow these steps:1. Creating a Source Control Class: Create a subclass of %Studio.Extension.Base or %Studio.SourceControl.Base. Implement necessary methods such as AddToSourceControl(), CheckIn(), CheckOut(), and GetStatus(). These methods will handle importing/exporting documents, interacting with the source control system, and updating the status of files in InterSystems IRIS [1].2. Activating a Source Control Class: In the Management Portal, navigate to System Administration > Configuration > Additional Settings > Source Control. Select the namespace and the source control class to use [1].3. Configuring Source Control Settings: Configure the namespace to specify the location of files to be loaded into the code databases. This configuration often involves setting up a global to contain the relevant information [1].4. Using Tools for Managing Documents and Files: Use $system.OBJ.ExportUDL() for exporting UDL files, $system.OBJ.Export() for XML files, and $system.OBJ.Load() for importing files. The %RoutineMgr.TS class method can be used to obtain timestamps and compile times for documents [1].5. Accessing Your Source Control System: Ensure that the InterSystems IRIS server can locate the shared library or file defining the source control system’s API. Implement methods to call the appropriate functions of the source control software [1].For a practical example, you can refer to the git-source-control package, which supports IPM packages for source control and can be installed and configured using ZPM commands [2]. Additionally, Deltanji is a source control solution tailored for InterSystems IRIS, providing seamless integration with various client tools like VS Code, Studio, and Management Portal [3]. Sources1.Integrating InterSystems IRIS with Source Control Systems | InterSystems IRIS Data Platform 2024.32.Enabling IRIS Interoperability Source Control with InterSystems Package Manager and git-source-control3.[Webinar] Deltanji demo: source control tailored for InterSystems IRIS [GOOD] Mitigates effects of importing an updated class/schema definition To mitigate the effects of importing an updated class/schema definition, you can follow these best practices:1. Add the new property to the target class: First, add the new property to the class where you want it to be moved.2. Write a utility class: Create a utility class to move the existing content from the old property location to the new property location.3. Update methods: Ensure all methods access the new property location.4. Clean up: Once you are satisfied with the changes, you can remove the old property from the original class. Set it to an empty string, make it internal or private, or delete it entirely. However, do not touch the storage map during this process.These steps help ensure that the data is correctly migrated and that the application continues to function correctly with the new class definitions [1]. Sources1.Guidance on modifying class definitions and switching my application to the new definitions
Article
Mario Sanchez Macias · Nov 15, 2021

Checking your Backups and the number of journals to keep

Working in support, I usually get asked how many days I should keep journals. Should it be two days or after two backups? More? Less? Why two? The correct answer (for most of the environments) is that you should keep the journals since the last validated Backup. I.e., until you don't check if a Backup is valid (restoring the file and checking with the Integrity utility), you can't be sure there is a good copy of your data and can't purge the journals safely. For example, imagine you need to restore your system after a hardware failure that corrupted some databases. The first step is to go to the last backups and restore them. But, what happens if the Backup is corrupt or saved into a defective disk? You will need to look for a previous Backup until you find a correct and clean copy. Then, if you want to recover to the very last moment, you will need to apply the journals. If you only have one or two days, it won't be enough, and you may lose data. The only way to make sure that your backups are valid is by checking them! And for checking, I mean restoring the databases and validating the data on them. The way to check the data inside a database is by using the Integrity utility. When I explain this, most administrators consider it a complex task, which takes a lot of time and is hard to automate. So, I decided to build a super simple Backup checker/validator that helps you validate Backups easily. I am uploading the utility to the open exchange site. The utility is a simple Backup checker/validator for Backups done with InterSystems Iris. It will restore your Backup file (.cbk) automatically and will run an integrity report afterward. All the "magic" is done in the restoreAll method of the Installer class. You can borrow the code and improve it to send you an email when it finishes with the results. Once the Backup has been restored and the Integrity check run, the docker log (and messages.log) will contain the restore and integrity check results. The databases restored will appear in a Restore folder. Mario, where is the link to the utility? Added link ;-) Well done @Mario.Sanchez-Macias !! A great utility to keep everyone from having to re-invent the wheel themselves :) Thank you for contributing running the docker image uncovered the result (interactive:=> docker-compose up) only at stopping of the container. So I changed installer.sh and run the method from iris session This gave me the full dimension of this EXCELLENT TOOL! especially the integrity check!I just can say WOW. So delegating of routine jobs of a System Manager becomes safe and easy. This is the output that kicked me: ------------------------------------------------------------------------------- irisowner@7aa9b053e544:/opt/irisapp$ iris session iris -U "%SYS" Node: 7aa9b053e544, Instance: IRIS %SYS>do ##class(BackupChecker.Installer).restoreAll("backup.cbk") Starting to restore the Backup... It will take some time, be patient! The following directories will be restored: c:\intersystems\iris\mgr\appcode\ => /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ c:\intersystems\iris\mgr\appdata\ => /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ c:\intersystems\iris\mgr\cacheuser\ => /ISC/utiles/Restore/c:\intersystems\iris\mgr\cacheuser\/ c:\intersystems\iris\mgr\remote\ => /ISC/utiles/Restore/c:\intersystems\iris\mgr\remote\/ c:\intersystems\iris\mgr\user\ => /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ Cannot mount database in /ISC/utiles/Restore/c:\intersystems\iris\mgr\cacheuser\/ because its default collation is not available (see messages.log). c:\intersystems\iris\mgr\cacheuser\ will not be restored. Cannot mount database in /ISC/utiles/Restore/c:\intersystems\iris\mgr\remote\/ because its default collation is not available (see messages.log). c:\intersystems\iris\mgr\remote\ will not be restored. ***Restoring c:\intersystems\iris\mgr\appcode\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ at 10:18:55 469 blocks restored in 0.0 seconds for this pass, 469 total restored. ***Restoring c:\intersystems\iris\mgr\appdata\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ at 10:18:55 413 blocks restored in 0.0 seconds for this pass, 413 total restored. Starting skip of c:\intersystems\iris\mgr\cacheuser\. skipped 77 blocks in .007096 seconds. Starting skip of c:\intersystems\iris\mgr\remote\. skipped 77 blocks in .006635 seconds. ***Restoring c:\intersystems\iris\mgr\user\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ at 10:18:55 656 blocks restored in 0.1 seconds for this pass, 656 total restored. ***Restoring c:\intersystems\iris\mgr\appcode\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 470 total restored. ***Restoring c:\intersystems\iris\mgr\appdata\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 414 total restored. Starting skip of c:\intersystems\iris\mgr\cacheuser\. skipped 1 blocks in .000007 seconds. Starting skip of c:\intersystems\iris\mgr\remote\. skipped 1 blocks in .000008 seconds. ***Restoring c:\intersystems\iris\mgr\user\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 657 total restored. ***Restoring c:\intersystems\iris\mgr\appcode\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 471 total restored. ***Restoring c:\intersystems\iris\mgr\appdata\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 415 total restored. Starting skip of c:\intersystems\iris\mgr\cacheuser\. skipped 1 blocks in .000022 seconds. Starting skip of c:\intersystems\iris\mgr\remote\. skipped 1 blocks in .000008 seconds. ***Restoring c:\intersystems\iris\mgr\user\ to /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ at 10:18:55 1 blocks restored in 0.0 seconds for this pass, 658 total restored. Mounting /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ ... (Mounted) Mounting /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ ... (Mounted) Mounting /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ ... (Mounted) [Journal not applied to any directory] Restored completed! Starting the Integrity report Directory: /ISC/install/mgr/ No errors found Summary of blocks in /ISC/install/mgr/ 87 Pointer Level blocks 696kb (16% full) 5,908 Data Level blocks 46MB (84% full) 2,553 Big String blocks 19MB (86% full) # = 1,011 8,563 Total blocks 66MB (84% full) 2,951 Free blocks 23MB Elapsed time = 14.3 seconds. Directory: /ISC/install/mgr/irisaudit/ No errors found Summary of blocks in /ISC/install/mgr/irisaudit/ 34 Pointer Level blocks 272kb (0% full) 54 Data Level blocks 432kb (33% full) 4 Big String blocks 32kb (99% full) # = 1 107 Total blocks 856kb (20% full) 21 Free blocks 168kb Elapsed time = 6.1 seconds. Directory: /ISC/install/mgr/irislocaldata/ No errors found Summary of blocks in /ISC/install/mgr/irislocaldata/ 35 Pointer Level blocks 280kb (1% full) 213 Data Level blocks 1704kb (58% full) 25 Big String blocks 200kb (74% full) # = 13 288 Total blocks 2304kb (49% full) 1,130 Free blocks 9040kb Elapsed time = 6.5 seconds. Directory: /ISC/install/mgr/iristemp/ No errors found Summary of blocks in /ISC/install/mgr/iristemp/ 46 Pointer Level blocks 368kb (0% full) 81 Data Level blocks 648kb (33% full) 0 Big String blocks 142 Total blocks 1136kb (19% full) 1,177 Free blocks 9416kb Elapsed time = 8.5 seconds. Directory: /ISC/install/mgr/user/ No errors found Summary of blocks in /ISC/install/mgr/user/ 50 Pointer Level blocks 400kb (0% full) 73 Data Level blocks 584kb (27% full) 0 Big String blocks 138 Total blocks 1104kb (14% full) 1,270 Free blocks 10160kb Elapsed time = 8.9 seconds. Directory: /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ No errors found Summary of blocks in /ISC/utiles/Restore/c:\intersystems\iris\mgr\appcode\/ 32 Pointer Level blocks 256kb (2% full) 379 Data Level blocks 3032kb (71% full) 43 Big String blocks 344kb (88% full) # = 12 469 Total blocks 3752kb (66% full) 1,067 Free blocks 8536kb Elapsed time = 0.1 seconds. Directory: /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ No errors found Summary of blocks in /ISC/utiles/Restore/c:\intersystems\iris\mgr\appdata\/ 57 Pointer Level blocks 456kb (0% full) 241 Data Level blocks 1928kb (66% full) 100 Big String blocks 800kb (92% full) # = 30 413 Total blocks 3304kb (61% full) 995 Free blocks 7960kb Elapsed time = 0.1 seconds. Directory: /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ No errors found Summary of blocks in /ISC/utiles/Restore/c:\intersystems\iris\mgr\user\/ 68 Pointer Level blocks 544kb (1% full) 447 Data Level blocks 3576kb (70% full) 126 Big String blocks 1008kb (90% full) # = 33 656 Total blocks 5248kb (65% full) 752 Free blocks 6016kb Elapsed time = 0.2 seconds. Directory: /usr/irissys/mgr/enslib/ No errors found Summary of blocks in /usr/irissys/mgr/enslib/ 130 Pointer Level blocks 1040kb (33% full) 14,684 Data Level blocks 114MB (97% full) 4,407 Big String blocks 34MB (88% full) # = 1,606 19,236 Total blocks 150MB (94% full) 1,500 Free blocks 11MB Elapsed time = 12.6 seconds. Directory: /usr/irissys/mgr/irislib/ No errors found Summary of blocks in /usr/irissys/mgr/irislib/ 180 Pointer Level blocks 1440kb (60% full) 39,001 Data Level blocks 304MB (98% full) 11,177 Big String blocks 87MB (86% full) # = 4,234 50,373 Total blocks 393MB (95% full) 59 Free blocks 472kb Elapsed time = 7.9 seconds. Directory: /usr/irissys/mgr/zpm/ No errors found Summary of blocks in /usr/irissys/mgr/zpm/ 44 Pointer Level blocks 352kb (11% full) 2,129 Data Level blocks 16MB (97% full) 453 Big String blocks 3624kb (88% full) # = 175 2,641 Total blocks 20MB (94% full) 431 Free blocks 3448kb Elapsed time = 7.7 seconds. Run successfully and found NO errors! Databases are VALIDATED! %SYS> ------------------------------------------------------------------------------- It was an additional pleasure to see your verbose comments in dock-compose.yml.not just the usual plain parameters with no explanation of what the intention is! I was logging to the messages.log (which is also displayed in the docker logs) just in case you prefer to run it not interactively or in a docker up session. You can of course leave the instance up and call the method. I didn't want to spend much time in the way of calling the docker instance as I am sure that in a real environment most of the customers will have to write a script moving or renaming the .cbk files and executing the app. Thanks a lot! That was my intention, trying to show something as simple as possible so anyone can look inside and adapt the code to what they need. To make it simpler I could have used the API methods and calls provided by default, but I preferred to "hack" those methods to allow restore where I wanted without requesting any prompt and finally running the Integrity check with multiple process. This also allow me to control the return of the integrity report and execute an IF to check if there was an error or not.
Announcement
Anastasia Dyubaylo · Sep 27, 2021

Videos from HackMIT 2021

Hey Community, Please welcome 4 new videos on InterSystems Developers YouTube from HackMIT 2021 healthcare track: 1. Meet InterSystems and Get Ready for the Challenge 2. Jumpstarting Development with InterSystems FHIR Server 3. HL7 FHIR – From smart and dumb devices to consumer applications and population health 4. Building the Next Wave of Healthcare Applications with FHIR, ML, and more Useful resources: InterSystems HackMIT 2021: https://mithack2021.isccloud.io/ InterSystems FHIR Server: https://portal.live.isccloud.io/account/login InterSystems FHIR Transformation Service: https://portal.live.services.isccloud.io/login Sample Git Repository: https://github.com/pjamieso/fhirdemowithapikey.git FHIR.js JavaScript Library for FHIR: https://github.com/FHIR/fhir.js/ SMART JS - SMART on FHIR library: http://docs.smarthealthit.org/client-js/ SMART App Gallery: https://apps.smarthealthit.org/apps/featured Synthea - Patient data generator: https://github.com/synthetichealth/synthea/releases/tag/v2.6.1 Enjoy watching these videos and stay tuned! 👍🏼
Question
George Hodder · Feb 19, 2021

Help with class query in SYS.Database

Hi, I am wanting to get the results of SYS.Database class's List query into a result set. I have code that does it, but I get a cursor error at the end.... should I just to a try/catch and ignore this error below? Or can I call this in a different way to avoid the error? My code, in the %SYS namespace Set Statement=##class(%SQL.Statement).%New()Set status=Statement.%PrepareClassQuery("SYS.Database","List") Set rset=Statement.%Execute()//while (rset.%Next()) { W !,rset.%Get("Directory"),?30,rset.%Get("Size"),?40,rset.%Get("MaxSize")}when I call it... it displaysc:\intersystems\cache\mgr\ 96 Unlimitedc:\intersystems\cache\mgr\cache\11 Unlimitedc:\intersystems\cache\mgr\cacheaudit\1 Unlimitedc:\intersystems\cache\mgr\cachelib\506 Unlimitedc:\intersystems\cache\mgr\cachetemp\11 Unlimitedc:\intersystems\cache\mgr\docbook\200 Unlimitedc:\intersystems\cache\mgr\ffl\10 Unlimitedc:\intersystems\cache\mgr\samples\91 Unlimitedc:\intersystems\cache\mgr\user\31 Unlimited<CLASS DOES NOT EXIST>%CloseCursor+3^%SQL.ClassQueryResultSet.1 *SYS.Database <CLASS DOES NOT EXIST>%Close...is typical if try to access resultset or just delete rset after leaving namespace %SYS.Just reproduced it. %SYS>w !,rset.%Next(),?5,rset.%Get("Directory"),!?30,rset.%Get("Size"),?40,rset.%Get("MaxSize") 1 c:\intersystems\iris\mgr\enslib\ 163 Unbegrenzt %SYS>ZN "USER" USER>k rset <CLASS DOES NOT EXIST>%CloseCursor+3^%SQL.ClassQueryResultSet.1 *SYS.Database USER> Hi @George.Hodder You can check the code that I created for IRIS History Monitor on OpenExchange. https://openexchange.intersystems.com/package/iris-history-monitor There you will find a code that fits exactly what you are looking for. I hope that helps. Best regards,Henrique
Announcement
Michelle Spisak · Oct 4, 2021

Did you miss it? Read the Learning Services Sep newsletter!

Have you read the September newsletter from InterSystems Learning Services? You'll find info about: • The 2021 Virtual Summit Experience Labs• Developing database code in Python • InterSystems Security Basics: Now updated for InterSystems IRIS and InterSystems IRIS for Health®• New documentation content for upcoming releases, including features that are part of the 2021 Experience Labs Plus upcoming virtual classroom courses! Read September's newsletter, and subscribe to receive it in your inbox!
Announcement
Anastasia Dyubaylo · Jul 15, 2021

Video: Best Practices for In-Platform AI

Hi Community, Please welcome the new video on InterSystems Developers YouTube: ⏯ Best Practices for In-Platform AI Learn about best practices for working with your AI/ML solutions in InterSystems IRIS data platform, including optimizing real-time decision-making and distributing these applications in DevOps environments. ⬇️ Convergent Analytics repository 🗣 Presenter: @Sergey.Lukyanchikov, Sales Engineer, InterSystems Enjoy watching and stay tuned with InterSystems Developers YouTube!
Announcement
Jacquie Clermont · Mar 29, 2023

65 Global Summit Sessions. And Counting.

Hi Community: We've just posted session titles to our Global Summit website -- there are 65, and more are being planned. I've been working on Global Summit now for seven years, and I think this year's lineup is the best yet -- mostly because we asked users like you for topic suggestions. I'm cutting and pasting from my master list 1. Adaptive Analytics in Action: Two Customer Use Cases2. Application of Design Thinking3. Artificial Intelligence Healthcare Solutions: Time to Take Action4. Best Practices for InterSystems IRIS System Performance in the Cloud5. Better Together: Capturing High-Volume / High-Frequency Streams of Discrete Clinical Data & Making It Available in HealthShare Unified Care Record & Beyond6. Building a FHIR Façade 7. Bulk FHIR Export8. Can You Autoscale This? Lessons from the Field on Kubernetes9. Clinical Alerts & Notifications on FHIR: Putting the Healthcare Action Engine into the Workflow10. Clinical Research Data Pipeline Using FHIR & OMOP11. Clinical Trial Tech Innovation: Accelerating Trial Timelines & Improving Outcomes via Connected Health Data 12. Columnar Storage: The Lean Data Warehouse13. CommonWell Connection14. Digital Health Showcase: Monetizing Your Own Health Data15. Digital Health Showcase: Virtual Care 16. Distributed Querying with InterSystems IRIS17. Embedded Python as a Bridge18. Embedded Source Control with Git & Containers19. Encryption Landscape for Data at Rest20. FHIR in the Cloud21. FHIR to IntegratedML: Can You Get There from Here?22. Genomics Data in HealthShare 23. Getting to Know FHIR: The Best Explanation of FHIR They've Ever Heard24. Health Data De-Identifier25. HealthShare Care Community: New & Next26. HealthShare Clinical Viewer: New & Next27. HealthShare Connect: Upgrade Automation/Production Validator28. HealthShare Deployment Automation at Warp Speed29. HealthShare Health Connect: New & Next30. HealthShare Health Insight: New & Next31. HealthShare Patient Index & Provider Directory: New & Next32. HealthShare Unified Care Record: New & Next33. High-Speed Ingestion Using InterSystems IRIS Persister with Java34. How Netsmart Moved to InterSystems IRIS in the Cloud35. How to Customize the IRIS for Health FHIR Repository36. How to Get the Most Out of the InterSystems Developer Ecosystem37. IntegratedML: New & Next38. InterSystems Cloud Services: IRIS SQL & IntegratedML39. InterSystems IRIS Business Intelligence Tips & Tricks40. InterSystems IRIS Scalability: New & Next Plus Ultra41. Introducing HealthShare Analytic Solution Builder42. Introducing InterSystems Supply Chain Connect43. Introduction to Design Thinking44. Language Connectivity: New & Next45. Migrating our Data Lake from MS SQL Server to InterSystems IRIS 46. Migrating to InterSystems IRIS Made Easy47. Near Real-Time Analytics with InterSystems IRIS & Debezium Change Data Capture48. North West London Integrated Care System Go-Live with Health Connect Cloud49. OAUTH 2.0 Fundamentals50. OAuth2 in Practice with InterSystems Products51. Optimizing Supply Chains with InterSystems Supply Chain Connect52. Performing Advanced FHIR Validation53. Personal Community: New & Next54. Projecting Your Globals to SQL55. Regulatory Roundup: What’s New in the Interoperability Arena56. Security Updates57. Startup Showcase: Lightning Pitches 58. Stepping Out of the Shadows: How the U.S. Department of Veterans Affairs Migrated to Mirroring, InterSystems IRIS & the Cloud59. System Index: A New Pipeline for Data in the Unified Care Record60. The Container Lifecycle: When is Your App Ready to Accept Work?61. Updating Legacy UIs for Modern Browsers: Lessons Learned & Steps Forward62. Use Natural Language Processing & Artificial Intelligence for Risk Adjustment63. Using InterSystems Reports for Insight64. VS Code: Modern Development on All Platforms 65. Working with Containers & InterSystems Technology Register Now
Announcement
Jeff Fried · Oct 26, 2021

Warning - 2021.1 Community Edition license is expiring soon - replacement is available

It's come to our attention that the built-in license in the InterSystems IRIS and IRIS for Health 2021.1 Community Edition release is incorrectly set to expire on October 30, 2021. There is no impact to any production versions (the Community Edition is for development purposes), but developers will find that their instances stop running and should replace them with new ones. For cases where replacing them is an issue, we have provided an override key. I apologize for any inconvenience this may cause. == replacement builds Standard kits and containers have been posted on the WRC software distribution site. Look for version 2021.1 build 215.3. New container builds with an extended key are now available from the InterSystems Container Registry. You can pull the new images as follows: docker pull containers.intersystems.com/intersystems/iris-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/iris-community-arm64:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2021.1.0.215.3 InterSystems Containers Docker Hub have been updated. We'll update this post the Community Edition cloud marketplace instances on AWS, Azure, and GCP are updated. Note that applying the new IRIS for Health key (I haven't tried plain IRIS) yields a warning that it lacks some of the analytics features of the expiring key. New builds with an extended key are now available from the InterSystems Container Registry. You can pull the new images as follows: docker pull containers.intersystems.com/intersystems/iris-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/iris-community-arm64:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2021.1.0.215.3 I will look into this @Otto.Medin The new key did the trick. Thanks for the quick response! The new keys are in the process of getting posted on the WRC. I will update here once they are available. Updated keys are posted. They are valid until January 5, 2022. Standard kits have been posted on the WRC. Version 2021.1 Build 215.3 for all platforms that the Community Edition supports. These kits have a build-in key and will not require the keys we posted. Thanks, Steven! And ZPM-enabled kits are: And we updated the images with ZPM 0.2.14 too: intersystemsdc/iris-community:2021.1.0.215.3-zpm intersystemsdc/iris-ml-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm And to launch IRIS do: docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-ml-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm And for terminal do: docker exec -it my-iris iris session IRIS and to start the control panel: http://localhost:9092/csp/sys/UtilHome.csp To stop and destroy container do: docker stop my-iris Standard kits are also available via download.InterSystems.com and evaluation.InterSystems.com Hello, Will the "Built-in license for InterSystems SAM Manager" be effected as well ? the "Expiration Date" is 0 - so i guess it is not, but just want to be sure ... No, SAM is unaffected Last night I attempted to pull the Iris Health with ML container image and got the following error. podman pull containers.intersystems.com/intersystems/irishealth-community-ml:2021.1.0.215.3 Trying to pull containers.intersystems.com/intersystems/irishealth-community-ml:2021.1.0.215.3... Error: initializing source docker://containers.intersystems.com/intersystems/irishealth-community-ml:2021.1.0.215.3: reading manifest 2021.1.0.215.3 in containers.intersystems.com/intersystems/irishealth-community-ml: manifest unknown: The named manifest is not known to the registry. The web page that directed me to the above container image is https://docs.intersystems.com/components/csp/docbook/Doc.View.cls?KEY=PAGE_containerregistry#PAGE_containerregistry Is there another location we should be pulling that image from? Thanks. Maybe the article at https://community.intersystems.com/post/intersystems-iris-and-iris-health-20212-published can help? @Don.Martin - It looks like there a typo: its "irishealth-ml-community", not "irishealth-community-ml" Try podman pull containers.intersystems.com/intersystems/irishealth-ml-community:2021.1.0.215.3 (credit to John Martin in ISC RelEng) This version is just outdated, InterSystems deletes old version, when they publish something newer. Use docker-ls tool, this will help to find all available versions That did it! Thanks Ben and John.