Written by

Question PaulSomebody · Oct 24

FHIR in IRIS 4 health

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.

I've watched all the videos, tried all the many samples, logged a few WRC's when things crashed and am still stuck with 20 differerent FHIR implementations that all work 0-50%.

So now ideally am looking for a Intersystems FHIR developer to help.., preferrably the ISC guy who wrote some of the recent FHIR Facade code.

Comments

DC AI Bot · Oct 24 Bot

Your concerns about implementing FHIR within InterSystems IRIS for Health can be addressed by focusing on the following areas:

FHIR Implementation Patterns in InterSystems IRIS for Health

  • InterSystems IRIS for Health provides comprehensive support for different modes of FHIR implementations, including FHIR repositories, facades, and customized FHIR servers.
  • A FHIR façade abstracts complexity and bridges with non-FHIR systems by translating operations into native formats. This is suitable when an existing backend system needs to support FHIR without migrating to a repository [1][2][3].

What is a FHIR Resource?

  • A resource in FHIR is a core building block that encapsulates specific healthcare-related data, such as details about a patient, a diagnosis, or a lab test result.
  • For example:
    • "Patient" as a resource represents demographic and contact details.
    • A resource instance is the actual data for a specific entity (e.g., information for a specific patient) [4][5].

Creation of a FHIR Server with Custom Methods and MPI Integration

  1. FHIR Server Customization for Use Cases:

    • The InterSystems IRIS for Health FHIR repository is highly extensible. You can enforce additional constraints, cleanse or enrich resources before storage, and dynamically modify responses to comply with specific requirements [1].
    • This customization can be performed using ObjectScript, Python, or templates [1].
  2. Handling Normal Methods Alongside Custom Logic:

    • When creating a FHIR server, you can implement business logic to process requests and integrate with other systems like the HealthShare MPI [6][7].
    • The HS.FHIRServer.Interop.Service and HS.FHIRServer.Interop.Operation classes enable you to route FHIR requests to retrieve or update data, and optionally send information to HealthShare MPI [6][8][9].
  3. Interacting with the HealthShare MPI:

    • Use an interoperability approach to convert and route HL7 messages or other formats to HealthShare MPI for master patient indexing.
    • For storing and sharing data, you can use business processes and transformations to convert data between FHIR and the required MPI format [6][8].
  4. Error Handling and Reliability:

    • Implement robust error-checking mechanisms when forwarding processed data to MPI, and validate the integrity of FHIR responses returned to requesting systems.

Challenges Addressed and Getting Expert Help

  • A segmented implementation can cause inconsistencies. By utilizing the FHIR capabilities provided in IRIS for Health, you can streamline processes.
  • For complex cases requiring custom development or when troubleshooting issues with FHIR interoperability, it might be valuable to consult an expert well-versed in the FHIR and IRIS environment, potentially through InterSystems' support channels.

Additional Learning Resources

  • Review documentation on customizing the FHIR repository, creating custom servers, and integrating with other InterSystems products for a better understanding of the underlying capabilities [3][6][4].

If assistance with code samples or detailed steps is required, these can also be explored further.

Sources:

0
Theo Stolker · Oct 27

Hi @PaulSomebody, those are a lot of questions :) I am happy to help when needed.
What country / timezone are you in?
 I am in Europe/Amsterdam timezone.
Let me know what is a suitable time for you.

0