fhirclient
TypeScript icon, indicating that this package has built-in type declarations

2.5.3 • Public • Published

SMART on FHIR JavaScript Library

This is a JavaScript library for connecting SMART apps to FHIR servers. It works both in browsers (IE 10+) and on the server (Node 10+).

NodeJS Tests Browser Tests Coverage Status npm version types node downloads



Installation

From NPM

npm i fhirclient

From CDN

Include it with a script tag from one of the following locations:

From NPM Release:

Latest development builds from GitHub:

Browser Usage

In the browser you typically have to create two separate pages that correspond to your launch_uri (Launch Page) and redirect_uri (Index Page).

As Library

<!-- launch.html -->
<script src="./node_module/fhirclient/build/fhir-client.js"></script>
<script>
FHIR.oauth2.authorize({
    "client_id": "my_web_app",
    "scope": "patient/*.read"
});
</script>

<!-- index.html -->
<script src="./node_module/fhirclient/build/fhir-client.js"></script>
<script>
FHIR.oauth2.ready()
    .then(client => client.request("Patient"))
    .then(console.log)
    .catch(console.error);
</script>

As Module

import FHIR from "fhirclient"

// Launch Page
FHIR.oauth2.authorize({
    "client_id": "my_web_app",
    "scope": "patient/*.read"
});

// Index Page
FHIR.oauth2.ready()
    .then(client => client.request("Patient"))
    .then(console.log)
    .catch(console.error);

Server Usage

The server is fundamentally different environment than the browser but the API is very similar. Here is a simple Express example:

const fhirClient = require("fhirclient");

// This is what the EHR will call
app.get("/launch", (req, res) => {
    fhirClient(req, res).authorize({
        "client_id": "my_web_app",
        "scope": "patient/*.read"
    });
});

// This is what the Auth server will redirect to
app.get("/", (req, res) => {
    fhirClient(req, res).ready()
        .then(client => client.request("Patient"))
        .then(res.json)
        .catch(res.json);
});

Read the full documentation.


License

Apache 2.0

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.5.3
    2,059
    • latest
  • 2.3.9
    0
    • dev

Version History

Package Sidebar

Install

npm i fhirclient

Weekly Downloads

6,385

Version

2.5.3

License

Apache-2.0

Unpacked Size

4.69 MB

Total Files

52

Last publish

Collaborators

  • dtphelan1
  • smarthealthit-chip