Migrating from DSTU1 to DSTU2

Introduction


This guide walks you through the process of migrating a SMART on FHIR app from HL7 FHIR DSTU1 to DSTU2.

Migrate a Current JavaScript App 

To migrate a JavaScript app which is currently working with an logicahealth DSTU implementation:

  1. If the app is using SMART on FHIR's fhir-client.js, replace it with the latest (DSTU2) fhir-client.js: https://github.com/smart-on-fhir/client-js/blob/master/dist/fhir-client.js
    The fhir-client.js will handle the changes which have be made to the conformance statement structure and the launch sequence for you.
  2. Change the FHIR service endpoint to the logicahealth DSUT2 sandbox: https://api-v5-dstu2.logicahealth.org/hspc5/data/metadata
  3. Some FHIR Resource definitions have changes in DSTU2. You will need to make any needed changes to your queries and usage of FHIR Resources. The DSTU2 specification for the FHIR Resources can be found here: http://hl7.org/fhir/DSTU2/resourcelist.html
  4. The (DSTU2) fhir-client.js has changed in the way you search and retrieve results for FHIR Resource.

    Search Example
            $.when(smart.patient.api.search({type: "Observation", query: {code: 'http://loinc.org|58941-6'}, count: 50}))
                .done(function(obsSearchResult){
                    var observations = [];
                    if (obsSearchResult.data.entry) {
                        obsSearchResult.data.entry.forEach(function(obs){
                            observations.push(obs.resource);
                        });
                    }
    				...
                });

Changes To Be Aware Of

Latest FHIR DSTU2 Specification

The latest version of the FHIR DSTU2 specification can be found searching the directory of releases at: http://hl7.org/fhir/directory.html. The changes most likely to impact an existing app would be any changes to a specific FHIR Resource that an app is using. Refer to the directory above, then find latest dstu2 and go to resources for FHIR Resource changes. If your app loads its own data into the sandbox using FHIR transactions, the transaction specification has several changes. Refer to http://hl7.org/fhir/DSTU2/http.html#transaction for transaction changes.

New Conformance Statement Structure

The structure of the Conformance Statement's automated discovery of OAuth2 endpoints has changed. If you are using the latest (DSTU2) fhir-client.js, the client will handle this and you will not need to modify your app further. Refer to: http://docs.smarthealthit.org/authorization/

New Launch Sequence

The launch sequence has changed. If you are using the latest (DSTU2) fhir-client.js, the client will handle this and you will not need to modify your app further. Refer to: http://docs.smarthealthit.org/authorization/