22 Followers · 536 Posts

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

Official site

InterSystems staff + admins Hide everywhere
Hidden post for admin
Question Hassan Mirza · Jan 27

Currently in the health connect code, we are using Epic FHIR API Patient.Create, code return 200 or 201 status values, we process the message based on this return values.

Now I need to use Epic FHIR Patient.$match API, need to check FHIR Error code 4101 for this API. I looked for FHIR statndard return code, but this this seems not standard code, please advice how can I check 4101 value?

1
0 69
Question Dmitry Baranov · Dec 30, 2025

I'm new to HealthShare. I've installed a demo using the HS.Util.Installer helper, now I'm playing with its FHIR Gateway (which is the HSFHIR namespace). When I try to create a new resource of type Patient using HTTP POST, HealthShare responses with

{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "not-supported",
      "diagnostics": "<HSFHIRErr>InteractionNotSupported",
      "details": {
        "text": "Interaction 'create' is not supported for resource type 'Patient'.
2
0 61
Question Kevin Mayfield · Nov 6, 2025

I have a quite complex FHIR Implementation Guide (IG) which is based on several other FHIR IGs. It's likely the versions of IGs conflict with each other.
From what I understand, I would need to load in all the other FHIR IG's first? 
I don't actually need FHIR profiles to be in our FHIR Repository - I'm just after terminology and the examples for our test system.
Is it possible to load a FHIR IG just as data? (I think I mean here, ignore the FHIR profiles and dependencies between them)

3
0 114
Question PaulSomebody · Oct 24, 2025

Hi,

  We have some concerns on how to implement FHIR, do we do facade?, how do we get resources?, what is a resource?, is a resource "Patient" or an instance of a patient?, How can we have a FHIR repository AND send the patient details to healthshare MPI?

  Has anyone correctly created a FHIR server that has custom methods?, handles "normal" methods and forwards onto Healthshare MPI , processing the response and creates a accurate FHIR response back to the calling system.

2
0 98
Question Laura Blázquez García · Jun 9, 2025

I have created a new docker stack with webgateway and IRIS for Health 2025.1. I have mapped the posts of wegateway like this:

  • 8743:443
  • 8780:80

I can access IRIS portal through 8743 without problems.

I also have created a FHIR repository, and I'm able to access it through 8743 port.

I have a web application, in another server with another domain, that connects to this FHIR repository. I have configured in FHIR endpoint the allowed origin to the domain of this application.

3
0 175
Question Sebastian Thiele · Feb 27, 2025

Hi guys,

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.

In my local InterSystems FHIR server I have a set of Encounter ressources, each set with a period.start and (possibly) a period.end. I´d like to retrieve all Encounters with a start date time prior to a given datetime. I did a little testing with URL parameters.

7
0 188
Question Ali Chaib · Feb 7, 2025

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.

3
0 194
Question Oliver Wilms · Nov 19, 2024

I need to create a JWT to connect to EPIC FHIRserver sandbox.

https://fhir.epic.com/Documentation?docId=oauth2&section=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.

5
0 312
Question Dmitrii Baranov · Nov 2, 2024

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:

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "error",
            "code": "too-costly",
            "diagnostics": "<HSFHIRErr>SearchTooCostly",
            "details": {
                "text": "Search selects more than maximum allowed number of results (1000).
2
0 215
Question Jim Lyons · Oct 16, 2024

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.

1
0 240
Question Marco Arcolin · Sep 26, 2024

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.

2
0 158
Question Thembelani Mlalazi · Jun 3, 2024

I am trying to work with the FHIR Object Model where I convert an incoming  HL7v2 to SDA then FHIR. From here I would like to be able to process the FHIR Object by deserializing it to a Bundle object using the following code my problem is I keep on getting an error  which is not explaining much about what is wrong with what I am doing any help will be appreciated  thanks.

Property FHIRAdapter As HS.JSON.AdaptorFHIR;

Method OnRequest(pRequest As HS.Message.FHIR.Request, Output pResponse As HS.Message.FHIR.Response) As %Status
{

             set pmReqFHIRobj=##class(HS.FHIR.Model.Resource.Bundle).

3
0 353
Question Sebastian Thiele · May 27, 2024

Hi folks,

I am working on a customer project which uses some slightly altered FHIR resources in comparison to default R4 patient resource. I am able to import the structuedefinition as a custom FHIR package and assign it to the ISC FHIR server and the endpoint the IRIS instance provides.

My question is - what is the benefit of using such a custom profil only defining some changes on a resources default definition (e.g. in field optionality)? From my understanding the ISC FHIR server does not validate resources it receives.

3
0 211
Question Santosh K · May 16, 2024

Hi Team,

I am trying to use the inbuilt class: EnsLib.HL7.Service.FileService to pass through an HL7 ADT message as a part of an HL7 to FHIR transformation. We have a client requirement, where we are receiving an NTE segment as a part of the ADT message. I am trying to map the NTE segment to an OBX Segment. I need to implement a counter for OBX segment whenever a NTE segment is found and map the NTE fields to the new OBX segment

How do I implement the counter for OBX?

Thanks

Santosh 

1
0 228
Question Eyal Levin · Feb 25, 2024

Hi,

I have a scenario where I recognize that I have a duplicate patient in FHIR , both have a different set of data attached to them (Specimens / Observations / Conditions) and I want to transfer all the data from patient X to patient Y,  and maybe mark patient X as not relevant or delete it IDK yet.

since Patch currently supports only single patch,

"The Conditional Patch query identified more than one resource."

I can't use it as a bulk, but I need to loop through all the resources I find that are connected to patient X,

so I guess my question is how would you do it?

5
0 383
Question Sebastian Thiele · Dec 13, 2023

Hi community,

I´ve setup a local FHIR server via the framework functionality und set a service config name for the created endpoint since I plan to use a production based FHIR server. I´ve created an additional ressource "FhirClientRessource" and role "FhirClientRole" as well as a user named "FhirClient". The Role resource "FhirClientRessource" ist set as "required resource" in the FHIR server configuration page. The user "FhirClient" is member of the Role "FhirClientRole" which in turn holds RWU priveliges on the "FhirClientRessources".

The user itself does not have the %All Permission.

4
0 379
Question Sapan Parikh · Dec 5, 2023

What changes are to be made while customizing a FHIR server package when adding a new field. As provided in the documentation, we have a sample JSON package of favorite color and it is added in the table, but when we are adding a new field 'Insurance', it does not imports the package and says package already exists. We have three files of JSON 

1) Package.JSON

2) SearchParameter.JSON

3) StructureDefination.JSON 

What should we have to change for adding new field.

2
0 262
Question Ewan Whyte · Nov 2, 2023

I am receiving a FHIR bundle and I need to extract data from it and wondered if there was an easier way of doing this rather than looping through the data as suggested in Working with FHIR Data | FHIR Support in InterSystems Products | InterSystems IRIS for Health 2023.2.

Ideally it would be great if there was a DTL the accept STU3 and then extract the data from there and I did try using the HS.FHIR.DTL.vSTU3.Model.Resource.Bundle class (depreciated) but that only allowed me to see the data at the bundle level and not the resources within it (entry).

3
0 877
Question Evgeny Shvarov · Oct 30, 2023

Hi colleages!

This is very easy to setup a FHIR server in InterSystems IRIS for Health.

It could be even one IPM command with this package:

USER>zpm "install fhir-server"

But which FHIR portal could you recommend to use?

I used to work with this one, which is very easy to install too:

USER>zpm "install fhir-portal"

 but it doesn't work at the moment and I'm not sure if its main contributors @José Pereira and @Henrique Dias plan to support it.

What do you use? What do you recommend? Ideally installable with IPM package manager. Thanks!

3
0 387
Question Sebastian Thiele · Oct 6, 2023

Hi community,

I am looking for an implementation strategy to create/update organizations in a local ISC based FHIR server. Thoase organizations do have a certain dependancy to one another. For Organization resources the "partOf" property symbolizes that. It is planned, that a Interoperability Production (supporting FHIR Server) receives a bundle which contains a batch export of all organizations of a customer (Hospital). The task is to bring those data into the FHIR server create and/or update organization.

I was looking at conditional create/update since there a two major challanges.

9
1 503
Question Ashok Kumar T · Sep 24, 2023

I have created a FHIR endpoint and send the FHIR resource to FHIR Interoperability production class which is HS.FHIRServer.Interop.Service through the the created endpoint(/r4). I can able to see/get the HS.SDA3.QuickStream(It use CacheTemp.HS.Stream temporary globalon the fly(In between the process). I'm unable to get the FHIR resource from the QuickStream once the process completed. Is this HS.SDA3.QuickStream is wiped out from the system once process completed?

Executed the below code. Even tried with zwrite of  ^CacheTemp.HS.Stream is also empty. Tried with IRSITMEP database as well.

1
0 452
Question Minn Bo Bo · Jul 27, 2023

I have been successfully able to transform hand-written medical test results documents to HL7 ORU_R01 v2.x, then to SDA, which will be trasformed to FHIR or C-CDA.
However, I have a category of documents which contains reference range in multiple date formats, which are measured for each gestation period. 
For example, below is one of the documents.
 

Analyte: HCG, Value: 1968, Unit: mlU/mL 

Reference Range:
Week of gestation: 3, Range: 5.8-71.2
Week of gestation: 4, Range: 9.

4
0 395
Question Sebastian Thiele · May 31, 2023

Hi all,

I am looking for a way to serialize fhir content received via interoperability adapter into it´s corresponding ISC model class (e.g. HS.FHIR.DTL.vR4.Model.Resource.DiagnosticReport) for later use. In my opinion the outline to accomplish this would be something like

1) Receive the FHIR data
2) Get quick stream containing the JSON data
3) Examine if bundle or single ressource
4) For resource serialize to coressponding model class (HS.FHIR.DTL.vR4.Model.Resource.*)
5) further use of newly created object of type HS.FHIR.DTL.vR4.Model.Resource.*

Of course something like set tObj = {}.

3
0 326