Skip to main content

Upgrading InterSystems IRIS for Health

The process for upgrading InterSystems IRIS for Health is similar to upgrading the InterSystems IRIS product. Read the special considerations for upgrading IRIS for Health listed below, complete the upgrade procedures found in “Upgrading InterSystems IRIS” in the InterSystems IRIS Installation Guide, and then return here and complete the steps necessary for your situation.

Post-Upgrade Steps for Pre-2020.4 FHIR Endpoints

FHIR server endpoints that were installed before InterSystems IRIS for Health 2020.4 must be manually upgraded after installing the newer version of your product. There is a required upgrade method, and two other steps that may be required depending upon on how you have customized your FHIR server. Perform these tasks in the following order:

  1. If your FHIR server uses custom subclasses, you must modify your architecture subclasses.

  2. Run the FHIR upgrade method.

  3. If your FHIR endpoint uses custom search parameters, migrate them to a FHIR package and apply them to the endpoint.

Step1: Modifying Architecture Subclasses

As part of the FHIR architecture that was introduced in InterSystems IRIS for Health 2020.1, you can use a custom InteractionsStrategy to implement a custom FHIR server. If your FHIR server’s endpoint uses a custom InteractionsStrategy, including if it uses a subclass of the Resource Repository, complete the following steps:

  1. Complete the upgrade of your InterSystems IRIS for Health instance.

  2. Using your IDE, do one of the following in your endpoint’s namespace:

    • If the InteractionsStrategy of your endpoint extended the Resource Repository (HS.FHIRServer.Storage.Json.InteractionsStrategy), create a subclass of HS.FHIRServer.Storage.Json.RepoManager.

    • If the InteractionsStrategy of your endpoint subclassed HS.FHIRServer.API.InteractionsStrategy directly, create a subclass of the HS.FHIRServer.API.RepoManager superclass.

  3. Add the following parameters to your subclass of the Repo Manager:

    • StrategyClass — Specifies the subclass of your InteractionsStrategy.

    • StrategyKey — Specifies the unique identifier of the InteractionsStrategy. This must match the value of the StrategyKey parameter in the InteractionsStrategy subclass.

  4. If your InteractionsStrategy subclass included custom code for the methods that manage the Service, you must move that logic to the new methods in the Repo Manager subclass that you created. Specifically, you must move custom code from the Create, Delete, Decommission, and Update methods to the corresponding methods in your Repo Manager subclass (CreateService, DeleteService, DecommissionService, and UpdateService ).

Step 2: Running the FHIR Upgrade Method

The FHIR upgrade method migrates your endpoint to the new FHIR architecture. Before running this method, be sure that you have modified your subclasses, if you have any.

After completing the upgrade installation of your InterSystems IRIS for Health instance, upgrade your FHIR endpoint using the following instructions:

  1. Open the InterSystems Terminal, and navigate to the HSLIB namespace. For example:

    set $namespace = "HSLIB"
  2. Execute the following command:

    set status = ##class(HS.HC.Util.Installer.Upgrade.FHIRServer).UpgradeFHIR()
  3. Confirm that the post-upgrade method was successful by entering:

    write status

    The result should be 1.

  4. Open the Management Portal, and navigate to Health > myFHIRnamespace > FHIR Configuration.

  5. Select the Server Configuration card.

  6. For each existing endpoint, select Reindex Now. When prompted, click Select All, and then select Reindex.


    If you have custom search parameters that you need to migrate to a FHIR package, you can delay the re-indexing step until you have completed the migration, as the migration also requires a re-index.

Upgrading from 2018.1.2 to 2019.1

Running a post-installation method in the InterSystems Terminal is the final step in upgrading from InterSystems IRIS for Health 2018.1.2. You need to run this method multiple times if you have more than one user-created namespace. To complete the upgrade process:

  1. Open the InterSystems Terminal.

  2. To change the namespace to HSLIB, enter:

    set $namespace="HSLIB"

  3. Enter:

    do ##class(HS.HC.Util.Installer.Upgrade.XFMapping).UpgradeHSXF("<namespace>")

    Where <namespace> is the name of a user-created namespace. You must repeat this command for each user-created namespace.