1.2.0 • Published 6 months ago

@aehrc/sdc-assemble v1.2.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

SDC-Assemble

A Typescript reference implementation of the $assemble operation from the HL7 FHIR Structured Data Capture Specification and is designed for Modular Questionnaires.

Usage

You would need to implement the following interfaces:

InputParameters - Input parameters for the $assemble operation

{
    resourceType: 'Parameters'
    parameter: [ 
      {
        name: 'questionnaire',
        resource: YOUR_QUESTIONNAIRE_RESOURCE
      }
    ]
} 

FetchQuestionnaireCallback - A callback to fetch resources from your FHIR server

function fetchQuestionnaireCallback (canonicalUrl: string, requestConfig: any) {
  const { endpoint, token } = requestConfig;
  return axios.get(`${endpoint}/Questionnaire?url=${canonicalUrl}`, {
    method: 'GET',
    headers: { Accept: 'application/json+fhir; charset=utf-8', Authorization: `Bearer ${token}`, }
  });
};

Both of these interfaces are required to be implement as arguments to the assemble() function.

Note for Vite users (or if you facing CommonJS/ESM issues)

If you are using Vite, you will need to add the following to your vite.config.ts file: This package is a CommonJS module for backwards compatibility with Node.js, so this configuration is required so that Vite can correctly bundle the module.

export default defineConfig({
  // ...
  optimizeDeps: {
    include: [
      '@aehrc/sdc-assemble',
      // other modules as required...
    ],
  },
  build: {
    commonjsOptions: {
      include: [
        /node_modules/, 
        '@aehrc/sdc-assemble',
        // other modules as required...
      ]
    }
  }
});

Sample implementation

We have used this module as a microservice in our forms server https://smartforms.csiro.au/api/fhir/Questionnaire/$assemble.

A sample implementation can be found here

1.2.0

6 months ago

1.1.0

6 months ago

1.0.3

7 months ago

1.0.2

9 months ago