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
Using the FHIR DEMO, I have pieced together how to make a FHIR Request using OAuth against an External FHIR Repository. When I execute the Patient search (HS.FHIRServer.Interop.Request), I get a HS.FHIRServer.Interop.Response that has a Quick Stream ID, which I then use to convert the Quick Stream to a JSON Dynamic Object. if I do a trace on the Raw JSON Object, I am able to pull out single elements, however I want to pull the raw JSON into a defined Class Structure.
I'm unable see the FHIR SQL builder /csp/fhirsql and /csp/fhirsql/api/ui endpoints in web application to access the FHIR SQL builder. I'm using community edition 2024.1 and it contains the "FHIR SQL Builder".
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.
IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:06:39 EDT [HealthConnect:7.2.0-1.r1]
I have a use case where Epic is sending an A60 Allergy transaction is set at the Patient level, but we have a system called VIBE which needs the ADT at an Encounter level instead. Currently we store ADT information in a MS SQL database for years, and we are querying it to get the latest Account Number to insert into the ADT^A60 for VIBE.
I am still trying to understand and come up with a use case to use FHIR as an enhancement to our existing HL7 messages. Does anyone have an example of taking a FHIR response and transforming it into a SDA?
How does the workflow go? Does it go through 1 BP?
I'm a beginner and currently working on a project to convert CCDA files to FHIR using InterSystems IRIS. I have developed a web form to upload CCDA files, and I'm attempting to convert the uploaded CCDA files to FHIR. However, I am encountering an issue where the conversion process results in an empty entry. Here's the Output it displays on HTML page:
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.
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.
Up until recently, I have been toying around with REST/FHIR capabilities but only internally. Now I have a request to make REST API calls outside of our Network.
I am using an RSA 4096 key, because Microsoft Active Directory Services which generates the signed certificate could not handle the Elliptical Key (ECC) when I put the request in.
I'm experimenting with FHIR bulk data load using NDJSONs, so far the import is running smoothly, but when I'm trying to perform a request of kind /Patient or /Procedure I'm getting back the following error:
I was looking for an easier way to build the FHIR Query String, given the Record Map request that is passed into the DTL.
I built this Function, but when I run a message through it, my Query String that is passed back into the DTL is a Reference Pointer and not the String I am looking for.
I am trying to create a HS.FHIR.DTL.vR4.Model.Resource.Encounter message based on a conversion of HS.FHIRServer.Interop.Response QuickStream to a JSON %Dynamic Object.
When I try to send the HS.FHIR.DTL.vR4.Model.Resource.Encounter onto the Router
I'm running into an intermittent issue with some of our Custom Operations/Processes as a result of some large FHIR R4 Binaries. Essentially we get a response from an AthenaHealth FHIR endpoint that appears to be too large to be processed using the IRIS Built In Functions for FHIR:
I've replicated it on the command line here using a file (binary.json) that has the response from the FHIR Endpoint. Not sharing full contents due to PHI concerns.
I am looking for a way to search for FHIR Encounter resources from an InterSystems FHIR server where there period.start is before or after a certain time. I can´t get my head around which would be a correct way to do this since docs and FHIR spec is not clear to me which fields can be used for searching with wich prefixes.
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:
Response:
It might be something related to request path but not really sure.
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?
I thought I knew how to return a Response from a Business Process back to the Source Config Name, but I guess not.
I am working on a Proof of Concept, that the Request Message Class would determine a "Route" within a Business Process to make a FHIR call (search, read) to our External FHIR repository, and return back the HS.FHIR.DTL.vR4.Model.Resource.xxxxxxx as a Response to the Source Config Name.
I am trying to use IRIS for Health as a Facade for an external FHIR Server, where IRIS provides the proper authentication.
The client authenticates using a bearer token obtained from the IRIS OAuth2 server via a jwt client assertion.
The IRIS endpoint, however, returns a 401 as soon as I remove the Unauthenticated access
Is there w way to make this work through configuration?
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):
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.
As I begin our adventure into using an External FHIR Repository, I wanted to see what opinions people have about a design Idea I was working on.
I want to create a way that my Team has the ability to send a Message Type, and the system knows from that Message Type which FHIR queries to execute and return the Response back to the user, sort of like a FHIR Query Hub. Does this sound reasonable?
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:
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?
I have MacBook Pro M3 and I'm new to the IRIS for Health setup / installation with all pre-requisite / requirements so someone could please help me with detailed instructions on how to setup IRIS for Health (HL7 & FHIR) from scratch along with SQL Server? I have Windows 11 installed in parallel desktop if that's required and complete installation / setup is not possible on MacBook.