function extractPatientCompartmentSearchParams()

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;
}