Skip to main content

Introducing InterSystems FHIR Transformation Services

InterSystems FHIR Transformation Services enables you to automate the transformation of healthcare data in formats such as HL7 v2, C-CDA, or SDA3 into FHIR R4 resources.

HL7 v2, or Health Level Seven version two, is a messaging standard for health and medical transactions.

C-CDA, or Consolidated Clinical Document Architecture, is an XML-based standard for 11 common types of clinical documents.

SDA3, or Summary Document Architecture, is an InterSystems format used to represent healthcare data. Also XML-based, it is frequently used as an intermediary format when transforming healthcare data from one format to another.

By using FHIR Transformation Services, you can easily operate on data from different sources and disparate data exchange standards. The services are built on the core capabilities of InterSystems IRIS for Health for seamless conversion and delivery of healthcare data.

FHIR Transformation Services can receive healthcare messages from an Amazon S3 bucket and send the resulting FHIR resources to an S3 bucket (either the same bucket or different bucket) or to a FHIR database, such as InterSystems FHIR Server. FHIR Transformation Services can also receive messages sent to a REST API endpoint and return the resulting FHIR output as a response.

If you want to subscribe to FHIR Transformation Services, please contact usOpens in a new tab.

Once you have subscribed to FHIR Transformation Services, follow these easy steps in this introduction to get up and running.

For information on the day-to-day management of FHIR Transformation Services, see FHIR Transformation Services Reference Information.

To learn how a development team can work together using FHIR Transformation Services, see Tenants PageOpens in a new tab.

Set Up InterSystems FHIR Transformation Services

Once you have subscribed to InterSystems FHIR Transformation Services, follow these steps to get up and running.

Log in to the Cloud Services Portal

If you have an account in the Cloud Services PortalOpens in a new tab, log in to the portal.

If you do not have an account, sign up for one, as follows:

  1. In your browser, go to the Cloud Services Portal login pageOpens in a new tab, and click Create New Account.

  2. On the Create Your Account page, enter the requested information, and click Create Account.

  3. Type the verification code sent to the email account you provided, and click Confirm Account.

After you create your new account, you are logged into the Cloud Services Portal.

Create a Deployment

After logging in to the Cloud Services Portal, the next step is to deploy FHIR Transformation Services in the cloud. Creating a deployment also includes setting up an initial configuration for the interface between Amazon S3 and FHIR Transformation Services. However, you can edit these settings later or decide to use the available REST API endpoints, instead.

If you would like FHIR Transformation Services to send its output to an InterSystems FHIR Server, you must deploy FHIR Server and create an API key first.

  1. On the main menu, click Deployments.

  2. On the Deployments page, click Create New Deployment.

  3. On the Create InterSystems IRIS Deployment page, in the Deployment Options section:

    1. Under HealthShare Services, select FHIR Transformation Services.

    2. Under Transformation Type, select a transformation. (HL7 v2 to FHIR R4 is currently the only choice.)

    3. Under FHIR Transformation Services Configuration, in the Input Properties section, specify the following properties:

      Input S3 Bucket — The S3 bucket where FHIR Transformation Services will look for messages.

      Input S3 Prefix — The complete input S3 prefix, for example, <folder>/<subfolder>

    4. Under FHIR Transformation Services Configuration, in the Output Properties section, select the Target Type.

    5. If the Target Type is FHIR Server, specify the following properties:

      API Key — The FHIR Server API Key, which you can find on the Credentials pageOpens in a new tab of your FHIR Server deployment

      Endpoint — The FHIR Server Endpoint, which you can find on the Overview pageOpens in a new tab of your FHIR Server deployment

      Bundle Mode — Select Transaction. This is the only option currently supported.

    6. If the Target Type is S3 Bucket, specify the following properties:

      Output S3 Bucket — The S3 bucket where FHIR Transformation Services will place the FHIR R4 bundles after transformation

      Output S3 Prefix — The complete output S3 prefix, for example, <folder>/<subfolder>

      Bundle Mode — Regardless of whether you choose Individual or Transaction, each input message is transformed into a single bundle of FHIR resources.

    7. Select the desired Error Behavior that occurs when FHIR Transformation Services encounters a message that cannot be successfully processed:

      Ignore — Continue processing messages (default).

      Pause — Pause processing until the error in the message is resolved by the user.

    8. Select the desired Archive Strategy for messages that are successfully processed:

      Delete — Delete source messages after transformation (default).

      Ignore — Leave source messages where they are after transformation.

      Archive — Move source messages to an archive folder after transformation.

    9. Click Continue.

  4. In the Cloud Options section:

    1. Under Cloud Provider, select a provider. (AWS is the only provider currently available.)

    2. Under Region, select a region.

      The FHIR Transformation Services deployment needs to be located in the same region as your input S3 bucket.

    3. If this is the first time you are creating a deployment in this region, click Activate.

      Note:

      It takes a few minutes to activate a region. If creating the deployment is not successful, wait a few minutes and try again.

    4. Click Continue.

  5. In the Deployment Name section:

    1. Type a name for your deployment. This cannot be changed once created.

    2. Click Continue.

  6. In the Review section:

    1. Review the summary information.

    2. Click Create.

It takes a few minutes to deploy FHIR Transformation Services. When the deployment has been created, the status under the deployment name changes from CREATING to COMPLETE.

Click the card for the deployment to go to the Overview page for your new deployment. This page contains summary information, including your deployment's Deployment ID. The Deployment ID uniquely identifies your deployment.

Other actions are available by clicking the action menu at the top right of the card, such as setting the Service Level for the deployment or deleting the deployment. For more information, see Deployments pageOpens in a new tab.

To read about all of the tasks you can perform on this deployment using the Cloud Services Portal, see Reference Information.

For information on using FHIR Transformation Services to transform healthcare data, see Transform Healthcare Data into FHIR Resources.

Transform Healthcare Data into FHIR Resources

FHIR Transformation Services allows you to transform healthcare data in HL7 v2, C-CDA, or CD3 formats into FHIR R4 resources in one of two ways, by placing the incoming messages into an Amazon S3 bucket or by sending them directly to FHIR Transformation Services using a REST API endpoint.

Transform Data using an Amazon S3 Bucket

FHIR Transformation Services can pick up health care messages from the input Amazon S3 bucket, transform them into FHIR resources, and send them to the output S3 bucket or to InterSystems FHIR Server. The FHIR resources created for one incoming message are packaged into a single FHIR bundle, in JSON format.

To use this method, you need to do several setup steps:

  1. Create an input S3 bucket in the same AWS region as your FHIR Transformation Services deployment (or have a preexisting S3 bucket in that region).

  2. If you would like to use a different bucket to hold the transformed FHIR data, create an output S3 bucket in the same AWS region as your FHIR Transformation Services deployment (or have a preexisting S3 bucket in that region).

  3. If you would like to send the FHIR data to InterSystems FHIR Server, deploy FHIR Server and create an API key.

  4. Configure the relevant S3 interface settings when you create a FHIR Transformation Services deployment or from the Configurations page of the deployment.

  5. Using information on the Configurations page, apply a bucket policy to the input S3 bucket. (If you are sending FHIR output to an S3 bucket different from the input bucket, apply a policy to the output S3 bucket, as well)

  6. On the Configurations page, activate a trigger on the input S3 bucket to notify FHIR Transformation Services when data is placed into the bucket.

Once this configuration is complete, FHIR Transformation Services will automatically pick up healthcare messages from the input S3 bucket, transform them, and place the FHIR bundles in the output S3 bucket or send the FHIR output to the FHIR Server.

Note:

Only C-CDA messages are currently supported when sending output to FHIR Server.

After a source message is successfully processed, it is handled according the Archive Strategy setting specified on the Configurations page:

  • Delete — Delete source messages after transformation (default).

  • Ignore — Leave source messages where they are after transformation.

  • Archive — Move source messages to the archive folder of the input S3 bucket after transformation.

If any errors are detected during the transformation process, the source message is moved to the errors folder of the input S3 bucket. You can review and resolve the error on the Errors page.

After an error is detected, processing proceeds according the Error Behavior setting specified on the Configurations page:

  • Ignore — Continue processing messages (default).

  • Pause — Pause processing until the error in the message is resolved by the user.

Transform Data Using a REST API Endpoint

FHIR Transformation Services can also receive healthcare messages from a REST API endpoint, transform them, and return a bundle of FHIR resources to the sender. Available endpoints are listed on the Overview page for your deployment.

The Message Type Autodetect endpoint allows to you send any supported message type (HL7 v2, C-CDA, or SDA3) to the endpoint. FHIR Transformation Services will identify the message type and perform the appropriate transformation automatically. The other endpoints can accept only messages of a single type.

To use these endpoints, POST a healthcare message to the appropriate endpoint in the body of the API request. FHIR Transformation Services returns a FHIR bundle in JSON format in the body of the response.

Note:

You need to have an API key to access an API endpoint. API keys can be managed on the Credentials page. Place the API key in the x-api-key key in the header of your API request.

Click Sample Requests with API Keys on the Overview page for a sample cURL command that can be used to send a request to the API.

Note:

While FHIR Transformation Services automatically scales according to the number of incoming requests sent to the API, provisioning these new resources is not instantaneous. Because of this, FHIR Transformation Services can return non-200 status codes (such as 503 or 504) if traffic exceeds the capacity of the service. InterSystems recommends scaling the number of incoming requests using an exponential backoffOpens in a new tab algorithm in the case that these errors occur.

FeedbackOpens in a new tab