in bulkExport/extractPatientCompartmentSearchParams.js [20:40]
function extractPatientCompartmentSearchParams(baseSearchParams, compartmentPatient) {
const baseSearchParamsDict = {};
// example of an item in baseSearchParamsDict: Account-identifier: {resourceType: "Account", path: "identifier"}
baseSearchParams.forEach(param => {
baseSearchParamsDict[`${param.base}-${param.name}`] = param.compiled;
});
// Find the search params needed for patient compartment
const patientCompartmentSearchParams = {};
compartmentPatient.resource.forEach(resource => {
if (resource.param) {
let compiledPaths = [];
resource.param.forEach(param => {
const pathsForThisParam = baseSearchParamsDict[`${resource.code}-${param}`].map(item => item.path);
compiledPaths = compiledPaths.concat(pathsForThisParam);
});
patientCompartmentSearchParams[resource.code] = compiledPaths;
}
});
return patientCompartmentSearchParams;
}