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

    2.4.0 • 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+).

    CircleCI Coverage Status npm version



    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

    Install

    npm i fhirclient

    DownloadsWeekly Downloads

    2,224

    Version

    2.4.0

    License

    Apache-2.0

    Unpacked Size

    3.56 MB

    Total Files

    47

    Last publish

    Collaborators

    • smarthealthit