Article José Pereira · Jun 5, 2021 6m read

Introduction

In the first article, a simple tutorial helped you to set up your FHIRaaS deployment.

Now, let's move forward and introduce a JS library to access the FHIR resource.

In the end, two examples of usage of this library will be presented, exploring the Appointment FHIR resource type.

SMART on FHIR JavaScript Library

FHIR is a REST API, so you can use any HTTP client in order to use it. But, it’s always a good idea to have help.

Furthermore, there is a cool initiative called SMART which aims to provide standards for easy access to health data stored over health systems.

0
0 1682
Article José Pereira · Jun 5, 2021 8m read

Introduction

This article aims to provide an overview of InterSystems IRIS FHIR Accelerator Service (FHIRaaS) driven by the implementation of application iris-on-fhir, available in OEX developed for the FHIRaaS contest.

A basic tutorial will guide you in configuring a function FHIRaaS deployment, including an API key and an OAuth 2.0 server.

A library to use FHIR resources through FHIRaaS also is briefly discussed.

Finally, some features of the iris-on-fhir application are shown in separted articles. You can check out the full code at the application’s github repository.

0
0 537
Article José Pereira · Feb 2, 2021 12m read

Image search like Google's is a nice feature that wonder me - as almost anything related to image processing.

A few months ago, InterSystems released a preview for Python Embedded. As Python has a lot of libs for deal with image processing, I decided to start my own attemptive to play with a sort of image search - a much more modest version in deed :-)


A tast of theory 🤓

In order to do an image search system, fist it's necessary select a set of features to be extracted from images - these features are also called descriptors.

0
0 468
Article José Pereira · Dec 27, 2020 2m read

Hi guys.

That time I'll show you a way to use a machine learning model implemented using IntegradeML as source for an IRIS analytics cube dimension.

Creating the ML model:

Execute this SQL in order to create a new ML model using IntegratedML SQL extension:

CREATE MODEL AppointmentsPredection 
PREDICTING (Show) 
FROM (SELECT 
  Canal, 
  CreacionDate, 
  CreacionHora, 
  Edad, 
  Especialidad, 
  Latencia, 
  ReservaDate, 
  ReservaHora, 
  Sexo, 
  Tipo 
FROM dc_myapp_model.MedicalAppointments

Now, you can train you model:

TRAIN MODEL AppointmentsPredection FROM dc_myapp_model.MedicalAppointmentsTrain
0
0 274
Article José Pereira · Dec 25, 2020 2m read

Hi guys!

I'd like to present you my new project: iris-analytics-notebook, a notebook approach to use IRIS analytics capabilities.

Project description

In past few years, notebooks tools like Jupyter are gaining popularity due its natural way to express ideias.

An almost unipresent tool for data scientists, notebook can also help to improve the impact of analytics tools for all sort of users.

This project is my attemp to implement a simple notebook system, combining IRIS Analytics capabilities, with a custom notebook system - largelly inspired by Jupyter notebooks.

0
0 299
Article José Pereira · Nov 16, 2020 3m read

Update: added support for regression model Hi everyone!

In this brief article, I'll show you how to write an adapter for IRIS Interoperability for use ML models managed by IRIS IntegratedML.

The adapter

The adapter just uses IntegratedML SQL functions PREDICT and PROBABILITY, to get the predicted class from model and its probability. It's just a simple SQL:
![code1][code1] [code1]: https://raw.githubusercontent.com/jrpereirajr/interoperability-integratedml-adapter/master/img/how-it-works-1.png
Notice that the model name is referenced by Model property.

0
1 425
Article José Pereira · Aug 29, 2020 1m read

The fhir-react project defines a unique component which renders the interface based on FHIR resource type. There's no need for any configuration because the library uses the standard of defined by the resource type.

So, I decided to apply the same idea, but for charts. The basic idea is depicted below:

For instance, some FHIR resources like Observation, Condition etc., has a code. Thus, we can aggregate all codes and count them.

Such aggregation creates a standard data model.

Finally, this model could be adapted for any char library.

0
1 616
Article José Pereira · Aug 29, 2020 2m read

The fhir-react project is a React UI framework based on Google Material Design, which covers almost all FHIR resources for versions DSTU2, STU3 and R4.

It design it's really friendly - there's just one component! As FHIR resource types are standards, the framework resolves internally what rendering class must be used.

To display your FHIR resource just write this component:

<FhirResource fhirResource={fhirResource} fhirVersion={fhirVersions.STU3} />

Where fhirResource is a JSON containing any FHIR resource.

0
1 2688
Article José Pereira · Aug 28, 2020 5m read

As I said in the previous article, I started to learn about FHIR for the contest, and I'd like to share an update in my application: detection of inconsistencies in FHIR data.

Note: This document it's also availble in GitHub.

A useful usage for FHIR unified schema is search for inconsistencies. As suggested by @Qi Li, one example could be find patients with records for diabetes medication, however, without diabetes condition.

Another example is search conditions with findings (like diabetes, for instance) and a record for resources denoting "no known problems", e.g.

0
0 428
Article José Pereira · Aug 26, 2020 3m read

Hi guys.

Recently, I get interest in FHIR in order to run for the IRIS for Health FHIR contest. As a beginner on this topic, I've heard somewhat about it, but I didn't know how complex and powerful was FHIR. As pointed out by @Henrique.GonçalvesDias here, you can model several aspects of the patient history and other related entities.

Fortunately, the DC provide very nice material about FHIR and how IRIS for Health could help us to deal with such complexity.

5
0 426
Article José Pereira · Jul 17, 2020 8m read

Following up the previous part, it's time to take advantages for IntegratedML VALIDATION MODEL statement, to provide information in order to monitor your ML models. You can watch it in action here

The code presented here was derived from examples provided by either InterSystems IntegragedML Template or IRIS documentation, my contribution was mainly mashing up such codes. It's a simple example intended to be a start for discussions and future works.

Note: The code presented here is for explanation purpose only.

0
1 344
Article José Pereira · Jul 15, 2020 5m read

A few months ago, I read this interesting article from MIT Technology Review, explaing how COVID-19 pandemic are issuing challenges to IT teams worldwide regarding their machine learning (ML) systems.

Such article inspire me to think about how to deal with performance issues after a ML model was deployed.

I simulated a simple performance issue scenario in an Open Exchange technology example application - iris-integratedml-monitor-example, which is competing in the InterSystems IRIS AI Contest. Please, after read this article, you can check it out and, if you like it, vote for me

2
0 547
Question José Pereira · Jul 6, 2018

Hi everyone.

I have a cube with two dimensions, DimA and DimB, with the following structure:

DimA/H1/LevelA

DimA/H1/LevelC

DimB/H1/LevelB

DimB/H1/LevelC

LevelC is modeled in such way because its bound property (C) is group by properties A and B in transactional database, but A and B haven't relation.

I can use DeepSee REST API service /Info/FilterMembers/:datasource/:filterSpec specifying each dimension one filterSpec parameter and handle the results.

But, I would like to have the results for both dimension in only on service call.

Is that possible?

4
1 358
Question José Pereira · Jun 29, 2018

Hi.

I would like to know if DeepSee has some feature regarding synchronization which could help me with this:

I have two tables, TableA and TableB in a 1:n relationship, and one cube for each table, CubeA and CubeB.
CubeA have a list dimension based on records from TableB.
Both tables has DSTIME parameter set to "AUTO".

Some application proccess updates data only on TableB, leading an entry on ^OBJ.DSTIME global for synchronization of CubeB.
However, as the TableA wasn't updated, there isn't such entry for CubeA.

Thus, filtering on CubeA dimension which depends on records from TableB is affected.

2
1 315
Question José Pereira · Oct 10, 2017

Hi everyone! My company has a Zen ERP application with CSP delegated authentication. Now, we're developing a separated BI application, using Angular, which consumes DeepSee REST API services. Both applications access the same Caché database.

How to implement single sign-on strategy in order to allow an already authenticated ERP user to access DeepSee REST services? Has anyone already implemented something like that?

Thanks in advanced.

3
0 667