Article
Ron Sweeney · Sep 30 3m read

FHIRDrop, FHIRBox - Managed File Transfer to FHIR®

A simple production that enables FHIR transaction bundles to be loaded into InterSystems® FHIR® Server via Box and Dropbox.  Using the included MFT Connection Components and a 14 liner Custom Business Process, this production will process your transaction bundles to FHIR Resources for immediate consumption with Harry Potter like wizardry.  Great for Hackathons, Research and FHIR® Cocktail parties.

Ill start with a short video tour of the production, the MFT Connections, and the Oauth2 app configuration for Box and Dropbox on IRIS, and follow up with some step by steppers to get you going with whichever MFT Vendor you fancy and whatever workflow you choose, Desktop, API, or Web Console drag and drop.



Some Gotchas:

  • OAUTH2 Call Backs require SSL Endpoints for IRIS to supply the redirect... best to give this a shot on Health Connect Cloud!
  • Dropbox for Business has challenges with Team based tokens, Personal Dropbox works fine. Not a deal breaker, but requires a little more.
  • Watch the "/" on the baseurl for Dropbox when configuring MFT Connections (make sure it exists).
  • MFT Outbound Adapters need to have a trailing "/" for paths both Box and DropBox.

Now, given the above award winning performance of OBS powered content possibly fell short, below are the steps to follow if the InterSytems Docs are not enough.

Overview of Steps:

  • Create the FHIRDrop or FHIRBox app to a point, then STOP! (Collaborate and Listen)
  • Configure the MFT Connections on your InterSystems FHIR Server, HealthConnect or I4H.
  • Complete your FHIRDrop or FHIRBox app, supplying the re-direct url from the MFT Connection.
  • Authorize your MFT Connections.
  • Build Your Production.
  • Drop it like its Hot 
   

Create the FHIRDrop or FHIRBox app

The idea here is to "start" your app configuration in each of the Box and Dropbox Developer consoles, this gets you to the point of revealing the client id and client secret, then let the tab hang and move on to the IRIS MFT Connections.

   

 

 

(collaborate and listen)
Just gather your clientid and clientsecret, hang the browser tab, and move on to:


Configure the MFT Connection(s)

Base URL: https://api.box.com/2.0

 

Base URL: https://api.dropboxapi.com/2/ (mind the trailing slash)

 

Complete App Registration

Now, head back to the app registration and complete the App.  Make sure you plug in the Redirect URL from the above step, and add scopes that have anything to do with file.read, file.write.

   

Authorize Your managed File Transfer Connections

Head back to your Managed File Transfer Connections and "Authorize" your connections by invoking "Get Access Token".

  

Build Your Production

Production

Source for Custom Business Process, Production is here: https://gitlab.com/isc_cloud/fhir-drop-fhir-box-mft-2-fhir

Drop it Like its Hot!

   


Now, Get FHIR!

image

6
0 208
Discussion (2)2
Log in or sign up to continue

Thank you Ron. That's very helpful.

My understanding is that Box provide a longer living token and that would make it more suitable for production?

How we should refresh tokens?

Thank you,

Régilo 

@Regilo Regilio Guedes de Souza , late 2020 dropbox deprecated long lived tokens , and went to a refresh_token approach instead.  If you use the dropbox sdk the transition gets handled for you, but if not (and pretty sure we do not), what it entails is adding `token_access_type=offline` to the token request... this may need to be included a little deeper under the hood.

I see the MFT api has "IsAuthorized()" so it would be possible to do a check before hand in a process and manually invoke something, but I dont see the magic behind the UI's "GetAccessToken" in the UI.

Ill keep you posted!