Update search diagnostic
This commit is contained in:
@ -25,7 +25,7 @@ export class DiagnosisController {
|
|||||||
"bearerAuth": []
|
"bearerAuth": []
|
||||||
}]
|
}]
|
||||||
#swagger.parameters['filter'] = {
|
#swagger.parameters['filter'] = {
|
||||||
description: 'Filter: JSON object; Diagnosis.code and Diagnosis.diagnosis are combined with OR; other fields use AND.',
|
description: 'Filter: JSON object; Diagnosis.code, Diagnosis.diagnosis, and Diagnosis.type are combined with OR; other fields use AND.',
|
||||||
in: 'query',
|
in: 'query',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
}
|
}
|
||||||
@ -74,15 +74,18 @@ export class DiagnosisController {
|
|||||||
|
|
||||||
const codeKey = "Diagnosis.code";
|
const codeKey = "Diagnosis.code";
|
||||||
const diagnosisKey = "Diagnosis.diagnosis";
|
const diagnosisKey = "Diagnosis.diagnosis";
|
||||||
|
const typeKey = "Diagnosis.type";
|
||||||
const orCode = filter[codeKey];
|
const orCode = filter[codeKey];
|
||||||
const orDiagnosis = filter[diagnosisKey];
|
const orDiagnosis = filter[diagnosisKey];
|
||||||
|
const orType = filter[typeKey];
|
||||||
const restFilter = { ...filter };
|
const restFilter = { ...filter };
|
||||||
delete restFilter[codeKey];
|
delete restFilter[codeKey];
|
||||||
delete restFilter[diagnosisKey];
|
delete restFilter[diagnosisKey];
|
||||||
|
delete restFilter[typeKey];
|
||||||
|
|
||||||
var query = await DiagnosisModel.list(restFilter);
|
var query = await DiagnosisModel.list(restFilter);
|
||||||
|
|
||||||
if (orCode !== undefined || orDiagnosis !== undefined) {
|
if (orCode !== undefined || orDiagnosis !== undefined || orType !== undefined) {
|
||||||
query.andWhere(
|
query.andWhere(
|
||||||
new Brackets((qb) => {
|
new Brackets((qb) => {
|
||||||
let isFirst = true;
|
let isFirst = true;
|
||||||
@ -110,6 +113,7 @@ export class DiagnosisController {
|
|||||||
};
|
};
|
||||||
if (orCode !== undefined) addOr("Diagnosis.code", "diag_or_code", orCode);
|
if (orCode !== undefined) addOr("Diagnosis.code", "diag_or_code", orCode);
|
||||||
if (orDiagnosis !== undefined) addOr("Diagnosis.diagnosis", "diag_or_diagnosis", orDiagnosis);
|
if (orDiagnosis !== undefined) addOr("Diagnosis.diagnosis", "diag_or_diagnosis", orDiagnosis);
|
||||||
|
if (orType !== undefined) addOr("Diagnosis.type", "diag_or_type", orType);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user