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
I have been using embedded python for more than 2 years now on a daily basis.
May be it's time to share some feedback about this journey.
Why write this feedback? Because, I guess, I'm like most of the people here, an ObjectScript developer, and I think that the community would benefit from this feedback and could better understand the pros & cons of chosing embedded python for developing stuff in IRIS. And also avoid some pitfalls.
Watch this video to get an overview of how UC Davis Health uses HealthShare and Smart on FHIR to integrate genomics results into medical records as interactive discrete result pages:
https://www.youtube.com/embed/A-IEsfaDcbY [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
Recently, I've been working on a Business Process that processes a large JSON FHIR message containing up to 50k requests in an array within the JSON.
Currently, the code imports the JSON as a dynamic object from the original message stream, obtains an iterator from it, and processes each request one at a time in a loop.
I recently participated in a fantastically organized hands-on by @Patrick Jamieson in which an Angular application was configured together with an IRIS FHIR server following the protocols defined by SMART On FHIR and I found it really interesting, so I decided to develop my own Angular application and thus take advantage of what I learned to publish it in the Community.
SMART On FHIR
Let's see what Google tells us about SMART On FHIR:
In the last article we presented the architecture of our SMART On FHIR project, so it's time to get down to business and start configuring all the elements that we are going to need.
We will first start with Auth0.
AUTH0 configuration
We will start by creating an Auth0 account with a valid email, once registered we will have to create our first application, and we will do it from the menu on the left:
Sometimes we need to convert FHIR message to HL7 V2, e.g. to register a patient to the PACS system. In this article, I will explain the steps to achieve the desired by using IRIS FHIR Server production.
Below are the steps we need to follow:
Make sure FHIRServer production is started.
Register Business Service with FHIRServer endpoint.
Define Business Processes to convert FHIR message to SDA and then Convert SDA to HL7 v2.
Post JSON resource to FHIRServer endpoint and get HL7 V2 response.
Let's review the steps in detail.
Step 1. Make sure FHIRServer production is started
Open the production page and make sure Production is started. In the next step, we need to make sure business service HS.FHIRServer.Interop.Service is registered with FHIRServer
We conclude this series of SMART On FHIR articles with Auth0 and InterSystems IRIS FHIR Repository by reviewing our application developed in Angular 16.
Let's remember what the architecture defined for our solution is like:
Our front-end application corresponds to the second column and as you can see it will be in charge of two things:
According Wikipedia a mind map is a diagram used to visually organize information into a hierarchy, showing relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those major ideas.
https://www.youtube.com/embed/1QsLDaUQ4sw [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
https://www.youtube.com/embed/zmtIpvG6Wcg [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
In 2021, I participated as an InterSystems mentor in a hackathon, where a newcomer to FHIR asked me if there was a tool to transform generic JSON data containing basic patient information into FHIR format. I informed her that I didn't know anything like that, unfortunately.
But that idea stays in my mind...
Several months later, in 2022, I came up with an idea to experiment: to train a named entity recognition (NER) to identify FHIR elements into generic texts. The training involved synthetic FHIR data generated by Synthea and the spaCy Python library.
All FHIR resources have a Meta element containing metadata about the resource. Some attributes are updated by the server, others are populated by the app constructing the resource.
Starting a FHIR repository project with IRIS for Health, what are the pros and cons to use R5 instead of R4 ? What is the effort to migrate from R4 to R5 the FHIR repo ? What are the risks or disadvantages to use R5 ?
I was discussing the interoperability side of FHIR as part of a discussion about the best resource/s that should be used in order to represent Antibiotic resilience, and although we've reached an agreement, that got me thinking of two thing, and I'd love to know your thoughts on those matters.
https://www.youtube.com/embed/sql8Pgozsmk [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
https://www.youtube.com/embed/S1vuMAiI8_k [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
I created this application considering how to convert images such as prescription forms into FHIR messages
It recognizes the text in the image through OCR technology and extracts it, which is then transformed into fhir messages through AI (LLA language model).
Finally, sending the message to the fhir server of IntereSystems can verify whether the message meets the fhir requirements. If approved, it can be viewed on the select page.
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."
https://www.youtube.com/embed/e7kHwsmRY7U [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]
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.
In a world where healthcare technology is rapidly evolving, the importance of efficient, reliable, and interoperable healthcare applications has never been greater.
Watch this video to learn how to deploy your FHIR server using AWS, EKS, and Kubernetes: advantages and disadvantages of cloud deployment and demo a deployment:
https://www.youtube.com/embed/hP6V0UbyV7Y [This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]