Patrick Jamieson · Apr 29, 2020 go to post

Oliver,

InterSystems has extensive support for FHIR, including the newest version, R4. Here is a link:

https://docs.intersystems.com/irisforhealthlatest/csp/docbook/Doc.View.cls?KEY=HXIHRN_new20201_healthcare_fhir

You may also be interested in an upcoming Webinar in which we will explain how API management can be used with FHIR:

https://community.intersystems.com/tags/fhir

In terms of the other standards you mentioned, I am not aware of any specific support in the product. There are hundreds of protocols that exists, and we try to support the most popular and in-demand by our customers. Do you have a specific use case in mind for one of these other protocols?

Patrick Jamieson · May 11, 2020 go to post

David,

R4 base FHIR support is currently available in 2020.1. Transforms to and from SDA to FHIR will be available in 2020.2 . Our long range road map is to support the FHIR data model directly, but probably not in 2020.

Patrick Jamieson · Jun 15, 2021 go to post

Muhammad,

The principal difference is the healthcare interoperability features engineered into IRIS for Health, which are not relevant to other users of IRIS. These features include a full FHIR (Fast Healthcare Interoperability Resources) server, and the ability to receive, transform, and route HL7v2 messages, which are widely used by healthcare providers. There are also other interoperability features in IRIS for Health such as handling different IHE profiles (Integrating the Healthcare Enterprise),  which help healthcare professionals share information.

There are additional healthcare specific interoperability protocols, to learn more visit:

https://www.intersystems.com/resources/detail/intersystems-iris-for-health-technology-brief/

If you have a specific question about IRIS for Health, please reach out to me.

Patrick Jamieson · Jul 12, 2021 go to post

The soon to be released HealthShare Message Transformation Service running on AWS takes HL7v2 messages placed in a folder of an AWS S3 bucket, and converts the messages to FHIR in an output bucket of your choosing or AWS HealthLake. In the future, we may have an adapter to consume HL7v2 messages directly from a business operation. 

Patrick Jamieson · Jul 12, 2021 go to post

The soon to be released HealthShare Message Transformation Service running on AWS takes HL7v2 messages placed in a folder of an AWS S3 bucket, and converts the messages to FHIR in an output bucket of your choosing or AWS HealthLake. In the future, we may have an adapter to consume HL7v2 messages directly from a business operation. 

Patrick Jamieson · Feb 28, 2022 go to post

Probably the best way to avoid these duplicate POSTs is to use conditional update. 

The conditional update interaction allows a client to update an existing resource based on some identification criteria, rather than by logical id. To accomplish this, the client issues a PUT as shown:

  PUT [base]/[type]?[search parameters]

When the server processes this update, it performs a search using its standard search facilities for the resource type, with the goal of resolving a single logical id for this request. The action it takes depends on how many matches are found:

  • No matches, no id provided: The server creates the resource.
  • No matches, id provided: The server treats the interaction as an Update as Create interaction (or rejects it, if it does not support Update as Create)
  • One Match, no resource id provided OR (resource id provided and it matches the found resource): The server performs the update against the matching resource
  • One Match, resource id provided but does not match resource found: The server returns a 400 Bad Request error indicating the client id specification was a problem preferably with an OperationOutcome
  • Multiple matches: The server returns a 412 Precondition Failed error indicating the client's criteria were not selective enough preferably with an OperationOutcome

You can read about this operation type here: https://www.hl7.org/fhir/http.html#update

Patrick Jamieson · Apr 6, 2022 go to post

Ravi,

Profile validation is high on our priority list, but is not currently available. Once it is you will use it against existing resources by issuing GET http://<your FHIR service base URL>/{resource}/{resource ID}/$validate  or when posting a new resource POST https://<your FHIR service base URL>{resource}/$validate

Patrick Jamieson · Apr 11, 2022 go to post

If you look under the "Bundle Operations" tab of the Data Management section of the IRIS FHIR Accelerator (of FHIR Server) deployment, you will see a variety of Synthetic Data Sets, including one with 390,346 resources you can easily select and load into the FHIR Server. If that is not enough, you can generate Synthetic data yourself (https://synthetichealth.github.io/synthea/) and upload it into the portal.

Patrick Jamieson · May 25, 2022 go to post

This demo and repo are obsolete. We will be announcing the IRIS FHIR SQL Builder at Global Summit that was designed to do analytics on a FHIR repository.

Patrick Jamieson · Jul 29, 2022 go to post

FHIR subscriptions are still immature FHIR technology, but much progress has been made. Early next year FHIR will add more mature resources to support FHIR subscriptions with FHIR R5. FHIR subscriptions are on our roadmap for next year after R5 is released. In the meantime, you can build a production and implement custom logic that can duplicate some of this functionality.

Patrick Jamieson · Aug 12, 2022 go to post

I assume you are referring to 170.315(g)(10) certification. InterSystems is committed to helping customers get certified, but this is a complex process with many tests, administered through a test suite called INFERNO. I would urge you to contact your account representative if you are aiming for g(10) certification, which has a deadline of 12/31/2022.  HealthShare has many SDA transformations to FHIR that may be useful.

Patrick Jamieson · Sep 16, 2022 go to post

Muhammad,

I noticed you are using the FHIR cloud server, which does support SMART on FHIR. Have you followed all the step for configuring OAuth 2.0 that are shown in the OAuth 2.0 page (see below)? I believe your query will work after you have configured OAuth 2.0.

Patrick Jamieson · Feb 23, 2023 go to post

Great question. We routinely need to do this in our internal testing. To clean out your repo, use the following commands at the IRIS terminal:

Set strategy = ##class(HS.FHIRServer.API.InteractionsStrategy).GetStrategyForEndpoint(appKey)
Set options("deleteDataOnly") = 1
Do strategy.Delete(.options)

The FHIR Server config page should have your app key.

Good luck.

Patrick Jamieson · Apr 13, 2023 go to post

John,

I think you are on the right track, because creating all those certficates is the hardest part of using TLS/SSL. I am assuming you a running the Apache Web Server in a separate container from IRIS4Health but even if you are not you need to use the Web Gateway to establish secure transport from the Web Server to the IRIS4Health container. You can learn more about the Web Gateway here: https://docs.intersystems.com/irisforhealth20223/csp/docbook/DocBook.UI…
 

I key part of configuring the Server Access for TLS/SSL access is configuring the Connection Security. Here is an example of a deployment I used below:
 

 

Spoiler

 

 
Populating the paths to the certificates you created in the Web Gateway should enable a secure TLS/SSL connection. Good Luck.
 

Patrick Jamieson · Oct 17, 2023 go to post

Hi Ashok, 

FHIR Profile is a new feature being released with 2023.3.  I would suggest looking at a preview edition of 2023.3 to learn more, until 2023.3 general availability is announced.

Patrick Jamieson · Nov 8, 2023 go to post

Luis,

The major advantage of FHIR is that it is an open standard not controlled by the EMR vendors. However, I agree that it must live with other older standards that will not be "retired" soon. Nevertheless, the modern Restful nature of the standard, improved semantics, and openness, will eventually carry the day.

Patrick Jamieson · Nov 17, 2023 go to post

Haitem, I think there could be a misunderstanding. When you create a SQL projection of FHIR resources in your repository using the IRIS FHIR SQL Builder, the FHIR repository and the projected tables are automatically kept up to date. As you add FHIR data into your FHIR Repository, the projected table will contain the new data. Thus you don't need to take any action to perform real-time FHIR analytics.

Patrick Jamieson · Feb 3, 2024 go to post

If you know the port and you want to check it status, you can issue the terminal command lsof -i:<<portno>>

For example I have a docker image running on port 80, as you can see there are processes attached to this port making it unavailable 

(base) USMBP16pjamieso:FHIRZPM pjamieso$ lsof -i :80
COMMAND    PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
trustd    1208 pjamieso   23u  IPv4 0x5eb92c9816be8ddf      0t0  TCP usmbp16pjamieso.fios-router.home:53920->192.229.211.108:http (ESTABLISHED)
trustd    1208 pjamieso   27u  IPv4 0x5eb92c98164d7a1f      0t0  TCP usmbp16pjamieso.fios-router.home:53921->192.229.211.108:http (ESTABLISHED)
com.docke 7158 pjamieso  755u  IPv6 0x5eb92c9337bb54a7      0t0  TCP *:http (LISTEN)

Patrick Jamieson · Feb 5, 2024 go to post

@Evgeny Shvarov the port to use is the port to communicate with the FHIR repository on IRIS for Health. For the community edition with the webgateway running on IRIS for Health, the port is 52773. When I use no PWS and the Webgateway the port is the webgateway port which frequently is port 80.