This TypeScript library communicates with the RADx MARS ReportStream Hub. It
depends on the base RADx MARS Library radx-mars-lib
available on the NIBIB
GitHub.
This library generates a JSON Web Token (JWT) and uses it to authenticate with a server to submit HL7 data. The process involves three primary steps:
- JWT Generation: Creates a signed JWT using a private key and other required details.
- JWT Exchange: Exchanges the generated JWT for a bearer token.
- Data Submission: Submits HL7 data using the bearer token for authentication.
Generates a JWT using the specified private key, client ID, key identifier, and algorithm. It sets a 5-minute expiration for the token.
Exchanges the generated JWT for a bearer token from the authentication server. This token is then used for subsequent authenticated requests.
Submits HL7 data to a specific server endpoint. It requires a bearer token for authentication and the file path to the HL7 data.
This library provides a ReportStreamHubProvider
class that is capable of submitting to
the ReportStream MARS hub via its submitTest
method.
Its functionality is demonstrated in the
demo project.