Hi, Community!
Are you working with clinical data in a research setting? See how InterSystems OMOP streamlines data integration and analysis.
Fast Healthcare Interoperability Resources (FHIR, pronounced "fire") is a draft standard describing data formats and elements (known as "resources") and an application programming interface (API) for exchanging electronic health records
Hi, Community!
Are you working with clinical data in a research setting? See how InterSystems OMOP streamlines data integration and analysis.
I'm working on FHIR project and using this code to convert an incoming request to FHIR
Method OnRequest(request As HS.FHIRServer.Interop.Request, Output response As HS.FHIRServer.Interop.Response) As %Status
{
#dim tSC As %Status = $$$OK
Try {
// Process incoming request
set stream = ##class(HS.SDA3.QuickStream).%OpenId(request.QuickStreamId)
set bundle = ##class(HS.FHIR.DTL.vR4.Model.Resource.Bundle).
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
FHIR repositories, applications and servers typically serve clinical data in small quantities, whether to return data about a patient, their medications, vaccines, allergies, among other information. However, it is common for a large amount of data in FHIR/JSON format to be requested to be used to load into Data Lakes, identifying study cohorts, population health, or transferring data from one EHR to another. To meet these business scenarios that require large extractions and loads of data, it is recommended to use the FHIR Bulk Data Access feature provided by HL7 institution.
I have a scenario where I send a GET request to a broker and receive a FHIR response. When I attempted to use the built-in InterSystems functions to convert this FHIR response into SDA, the transformation failed—likely because it is not a standard FHIR request.
How should I handle this situation? Is there a recommended approach to processing FHIR responses in this context?
Additionally, if I manage to convert the FHIR response into a request format, I noticed that the broker sends a Task resource.
I understand that InterSystems provides functions to facilitate transactions between FHIR and HL7 via the SDA segment. My question is:
What would be the best approach in this scenario?
Hi,
I found an issue while fetching records from FHIR DB, I am getting below error thou FHIR repository have the records with the corresponding id
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "not-found",
"diagnostics": "<HSFHIRErr>ResourceNotFound",
"details": {
"text": "No resource with type 'Appointment' and id '21'"
}
}
]
}
My main goal of this article was to prove the use of InterSystems IRIS for Health for REST FHIR interoperability between multiple applications. In this use case, some initiating application makes a REST call to IRIS for Health (which is merely a passthrough for REST calls) to retrieve FHIR data from an Oracle Health R4 FHIR repository. Ideally, it simplifies the syntax for calling the Oracle Health APIs.
Easy to use HL7v2 to FHIR, CDA to FHIR, FHIR to HL7v2 as a Service.
The aim of this project is to provide an REST API that can convert easily various health formats. Post the desire format in the REST body, get the answer in the new format.
:fire: Official Version : https://aws.amazon.com/marketplace/pp/prodview-q7ryewpz75cq2 :fire:
:tv: Video : https://youtu.be/lr2B7zSFkds :tv:
Clone this repository
git clone https://github.com/grongierisc/iris-healthtoolkit-service.Everytime I try to send a POST FHIR bundle I'm getting the following response: 404 Not Found. I'm not really sure why, although it works fine with a GET!
This is an example:
.png)
Response:
.png)
It might be something related to request path but not really sure.
And this is the HTTP service I'm using
.png)
I tried this with Postman and it's working as expected
Am I missing something ?
While working with GET request I encountered this situation where FHIR Server return a responseStatusHTTP "HTTP/1.1 200 200" instead of "HTTP/1.1 200 OK" (as highlighted in the attached screenshot).
Although the response code seems valid, these bundles have a total value of 0.
Could anyone clarify what "200 200" signifies in this context? Is there an issue with my setup, or does this indicate a specific condition related to the empty bundle search?

Thank you in advance for your help!
I'm attempting to build a fairly complicated object graph, with nested objects and collections, in order to create a FHIR bundle.
In its most basic form there is a <bundle></bundle> element that represents the root, and there can be a number of nested <entry></entry> child elements.
I'm attempting to represent this as such:
class Bundle (%RegisteredObject, %XML.Adaptor)
{
Property Entries As List Of Entry;
}The problem is when this is projected it nests each Entry object within an Entries container, which makes sense but I don't want this.
Hello,
I'm trying to customize error handling in the overriden HS.FHIRServer.Storage.JsonAdvSQL.Interactions::Search method. It is clear how to add to the resultset a valid FHIR resource (pseudocode):
Method Search(pResourceType As %String, pCompartment As %String, pCompartmentId As %String, pParameters As HS.FHIRServer.API.Data.QueryParameters = "", ByRef pSortKeys = "") As HS.FHIRServer.Util.SearchResult
{
#Dim resultSet as HS.FHIRServer.Util.SearchResult
Set resultSet = ##class(HS.FHIRServer.Util.SearchResult).I have started working on utilizing Epic on FHIR about a month ago.
mkdir /home/ec2-user/path_to_key
openssl genrsa -out ./path_to_key/privatekey.pem 2048
For backend apps, you can export the public key to a base64 encoded X.509 certificate named publickey509.pem using this command...
openssl req -new -x509 -key ./path_to_key/privatekey.pem -out ./path_to_key/publickey509.pem -subj '/CN=medbank'
where '/CN=medbank' is the subject name (for example the app name) the key pair is
I am trying to work with Epic on FHIR. Epic's documentation stated, your application makes a HTTP POST request to the authorization server's OAuth 2.0 token endpoint to obtain access token.
Set tSC = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient(pClient,pScopes,.prop,.err) returns
ERROR #9761: No key in provided JWKS for alg ES512 and kid
I check this /csp/sys/oauth2/OAuth2.JWTServer.cls?
My IRIS instance is connected to a Postgres database using SQL Gateway and linked tables. One of these tables is projected to the Patient class. I want to select a record from this table by ID and convert it to a FHIR resource using the %ExistsId and %OpenId methods. I noticed that if I call these two methods from the console, the record is always found. But, if I do the same from the FHIR Facade layer, the %OpenId method returns NULL.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
I'm attempting to import all the FHIR XSD files provided by http://hl7.org/fhir but get the immediate and unhelpful error message:
.png)
I've tried different versions of EOLs to no avail. Any idea what this error could mean?
Here's the XSD I'm trying to import:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2011+, HL7, Inc
All rights reserved.
I finally figured out how to get JWT token using set x = ##class(%SYS.OAuth2.Authorization).GetAccessTokenClient("medbank","openid fhirUser",.prop,.err).
I also found iris-fhir-client app on Open Exchange. I registered Epic sandbox server, but I cannot list resources. I suspect I need to integrate authorization / authentication. How do I do this with irisfhirclient py?
Working on a project where I'm needing to make FHIR calls from my HealthConnect Interop production to Epic.
My issue is I'm not able to construct a valid JWT for the OAuth token retrieval that Epic will accept. I have the below code where I'm able to create a valid header and payload that I'm base64URL encoding and then trying to sign with my .pem private key file. However, Epic is not liking the signature portion of my JWT.
As such, I wanted to present my code to see if I'm performing the signature steps correctly? I've seen some posts where the %Net.
I need to create a JWT to connect to EPIC FHIRserver sandbox.
https://fhir.epic.com/Documentation?docId=oauth2§ion=BackendOAuth2G…
You will generate a one-time use JSON Web Token (JWT) to authenticate your app to the authorization server and obtain an access token that can be used to authenticate your app's web service calls. There are several libraries for creating JWTs. See jwt.io for some examples.
The header and payload are then base64 URL encoded, combined with a period separating them, and cryptographically signed using the private key to generate a signature.
When building a bundle from legacy data, I (and others) wanted to be able to control whether or not the resources were generated with a FHIR Request Method of PUT instead of the hard coded POST. I have extended the two classes responsible for transforming SDA to FHIR in an Interoperability Production to accomodate a setting that lets the user control the Request Method.
First is the Busines Process class. This includes a new parameter exposed to the "Settings" tab in Interoperability called FHIRRequestMethod.
I'm playing with some anayltic queries against FHIR server tables. The HSFHIR_X0002_S_Patient.addressCity table contains a lot of cities which names contain german charachers such as ä, ö and ü.
The following query works fine:
select value from HSFHIR_X0002_S_Patient.addressCity
But this one converts city names to uppercase, and characters with umlauts are lost, so instead of "Köln" or "München" I see KOLN and MUNCHEN:
select ac.value, count(ac.value) as cnt
from HSFHIR_X0002_S_Patient.addressCity ac
group by ac.value
order by 2 desc
I'm using DBeaver with IRIS official JDBC driver.
The InterSystems IRIS for Health v2024.3 is already available as a Developer Preview for some time, and I wanted to highlight new support related to FHIR Search that was introduced.
Hi,
I've successfully installed and configured the custom MESH API supplied by intersystems. I'm able to send HTML rendered documents directly to GP's using Kettering.xml.
Ideally, I'd like to be able to send PDF/RTF files rather than HTML. Is this possible and if so can I still use Kettering xml? I know FHIR is the preferred method of transmission but i've tried sending a test FHIR message through MESH to EMIS but it's not displaying so I'm not sure if EMIS is able to display FHIR formatted messages.
Thanks.
Anthony Breen
This demo program is used to show how a custom FHIR profile can be employed to validate data compliance. The custom FHIR implementation guide was developed based on FHIR Version R4, and in this example implements the Organization resource extension to validating data compliance.
Hi everyone,
I'm struggling with the extraction of information from the following XML:
<Bundle xmlns="http://hl7.org/fhir">
<id value="b35061d2-7bf1-11ef-a57c-005056b65e2f"/>
<type value="transaction-response"/>
<timestamp value="2024-09-26T10:10:43Z"/>
<entry>
<resource>
<Observation>
<id value="2005"/>
<meta>
<versionId value="1"/>
<lastUpdated value="2024-09-26T10:10:43Z"/>
</meta>
<status value="final"/>
<code>
<coding>
<system value="urn:oid:2.16.840.1.113883.6.
Hi.
We are going to have basic patient demographic data coming in to Cache via a webservice. I thought that I should define the input as XML something like the FHIR format (with UK extensions).
In the past we've input XML streams and used the