1.2.3 • Published 3 years ago

fhir-crud-client v1.2.3

Weekly downloads
71
License
Apache-2.0
Repository
github
Last release
3 years ago

FHIR CRUD Client

A lightweight Promise-based JavaScript FHIR client for CRUD operations

  • read
  • create
  • update
  • delete
  • search
  • transaction

Additionally, the client exposes FHIRClient.metadata() function for triggering a metadata request, and FHIRClient.setAuthToken() for setting an Authorization token

Installation

npm install --save fhir-crud-client
yarn add fhir-crud-client

Usage

const { FHIRClient } = require('fhir-crud-client');

const BASE_URL = 'http://your-server-url';
const HEADERS = {
  Accept: 'application/json',
};

const client = new FHIRClient(BASE_URL, HEADERS);

read

// Read a resource

// With async/await
const resource = await client.read({ resourceType: 'Patient', id: 'my-patient' });
console.log(resource);

// With Promises
client.read({ resourceType: 'Patient', id: 'my-patient' })
  .then((resource) => {
    console.log(resource);
  });

create

// Create a resource

// With async/await
const resource = await client.create({ resourceType: 'Patient', body: myPatientJson });
console.log(resource);

// With Promises
client.create({ resourceType: 'Patient', body: myPatientJson })
  .then((resource) => {
    console.log(resource);
  });

update

// Update a resource

// With async/await
const resource = await client.update({ resourceType: 'Patient', id: 'my-patient', body: myModifiedPatient });
console.log(resource); // resource is the updated Patient

// With Promises
client.update({ resourceType: 'Patient', id: 'my-patient', body: myModifiedPatient })
  .then((resource) => {
    console.log(resource); // resource is the updated Patient
  });

delete

// Delete a resource

// With async/await
const resource = await client.delete({ resourceType: 'Patient', id: 'my-patient' });
console.log(resource); // resource is an OperationOutcome

// With Promises
client.delete({ resourceType: 'Patient', id: 'my-patient' })
  .then((resource) => {
    console.log(resource); // resource is an OperationOutcome
  });

search

// Search for resources

// With async/await
const bundle = await client.search({ resourceType: 'Patient', params: { family: 'test' } });
console.log(bundle);

// With Promises
client.search({ resourceType: 'Patient', params: { family: 'test' } })
  .then((bundle) => {
    console.log(bundle);
  });

transaction

// Upload a transaction Bundle

// With async/await
const bundle = await client.transaction({ body: aTransactionBundle });
console.log(bundle);

// With Promises
client.search({ body: aTransactionBundle })
  .then((bundle) => {
    console.log(bundle);
  });

metadata

// Make a get request to `BASE_URL/metadata`

// With async/await
const response = await client.metadata();
console.log(response);

// With Promises
client.metadata()
  .then((response) => {
    console.log(response);
  });

setAuthToken

// Set an authorization token on the HTTP Client

client.setAuthToken(TOKEN_GOES_HERE)

updateRequestHeaders

// Update the request headers of our HTTP Client

client.updateRequestHeaders(NEW_HEADERS)
1.2.3

3 years ago

1.2.2

3 years ago

1.1.1

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago