Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const acceptedJSONContentTypes = ['application/json+fhir', 'application/fhir+json', 'application/json', 'text/json']
const acceptedXMLContentTypes = ['application/xml+fhir', 'application/fhir+xml', 'application/xml', 'text/xml']
process.title = 'Hearth'
let fhir = null
switch (config.getConf('server:fhirVersion')) {
case 'dstu1':
fhir = new FHIR(FHIR.DSTU1)
break
case 'dstu2':
fhir = new FHIR(FHIR.DSTU2)
break
case 'stu3':
fhir = new FHIR(FHIR.STU3)
break
}
if (config.getConf('createIndexes')) {
matchingIndexes.createMatchingIndexes((err) => {
if (err) {
logger.error(err)
}
logger.info('Matching Indexes created')
})
}
moduleLoader.loadModules()
const fhirResources = moduleLoader.getLoadedModules()
// Load validation profiles
const FHIR = require('fhir')
const config = require('../config')
const profileLoader = require('../fhir/profile-loader')()
let fhir = null
switch (config.getConf('server:fhirVersion')) {
case 'dstu1':
fhir = new FHIR(FHIR.DSTU1)
break
case 'dstu2':
fhir = new FHIR(FHIR.DSTU2)
break
case 'stu3':
fhir = new FHIR(FHIR.STU3)
break
}
module.exports = () => {
return {
hooks: {
before: [
{
resourceType: '*',
interactions: [ 'create', 'update' ],
userType: '*',
function: (interaction, ctx, resourceType, resource, callback) => {
if (!config.getConf('validation:enabled')) {
return callback(null, null)
}