ehr-launcher-lib
v1.3.3
Published
Helper Library to handle execution of authorization of EHR embedded applications.
Downloads
21
Readme
EHR Launcher Library
Requirements
- NodeJS
- We recommend using nvm
- React
Installation
# with npm
npm install ehr-launcher-lib
# with yarn
yarn add ehr-launcher-lib
Library Usage
For a full breakdown visit our docs.
withLauncher
withLauncher
is a higher order component that will wrap around any react component you would like to handle the launch sequence for the application.
Breakdown
withLauncher(Component, Credentials, Options);
For a breakdown of available types see docs for more info.
Example Usage
import React from "react";
// import component and types
import { withLauncher, WithLauncherProps } from "ehr-launcher-lib";
// Type the props that will be passed to the component from the higher order component
// NOTE: WithLauncherProps is an interface that can be extended to include additonal props
function App({ isFetchingContext, error, context }: Readonly<WithLauncherProps>) {
return (
<div className="App">
{isFetchingContext && <p>Loading...</p>}
{error && <p>{error}</p>}
</div>
);
}
// Wrap the component with the higher order component and provide the required details
export default withLauncher(
App,
{
athena: {
serverUsername: "",
serverPassword: "",
redirectURI: "",
tokenURI: "",
authorizationURI: "",
aud: "",
},
cerner: {
clientId: "",
clientSecret: "",
scope: "",
},
},
{
enableLogging: false,
},
);
Development Guides
Node Version
Make sure you are on the correct node and npm version. This project keeps an .nvmrc
file in the root to help developers switch versions more easily. See this section of the nvm docs for more information on using it. The node and npm versions are also tracked in package.json
in the engines
field.
Note: When updating node and npm versions, we need to keep the following in sync: .nvmrc
and package.json
engines.
Available Scripts
In the project directory, you can run:
npm start
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
npm test
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
npm build
Builds the app for production to the dist
folder.
Current leverage tsup for bundling.
Configuration for tsup can be found in tsup.config.ts.
npm lint
Runs eslint for validating code quality.
docs
Uses typedoc to generate docs automatically based on tsdocs found in source code.
version
Uses standard-release to generate release versions along with changelog.
Additonal commands can be found for
- dry
- This will dry run a versioning
- patch
- versions as a patch
- minor
- version as a minor
- major
- versions as a major
release
Uses np to handle publishing to NPM registry.