LT-92: Adjusting some inappropriate class and method names

This commit is contained in:
Bruno Alves de Faria 2017-01-13 13:50:10 -02:00
parent e3b8dd001a
commit b8c397a9b4
10 changed files with 63 additions and 63 deletions

View File

@ -1,15 +1,15 @@
export class BaseChecker {
constructor() {
this.criterias = [];
this.criteria = [];
}
check(data) {
const nonconformity = [];
this.criterias.forEach(criteria => {
const criteriaResult = criteria.check(data);
if (!criteriaResult.passed) {
nonconformity.push(criteriaResult);
this.criteria.forEach(criterion => {
const criterionResult = criterion.evaluate(data);
if (!criterionResult.passed) {
nonconformity.push(criterionResult);
}
});
return nonconformity;

View File

@ -1,36 +1,36 @@
import { BaseChecker } from './BaseChecker';
import { MaxTargetPerOrganCriteria } from '../criterias/MaxTargetPerOrganCriteria';
import { MaxTargetsCriteria } from '../criterias/MaxTargetsCriteria';
import { MeasurementsLengthCriteria } from '../criterias/MeasurementsLengthCriteria';
import { ModalityCriteria } from '../criterias/ModalityCriteria';
import { NonTargetResponseCriteria } from '../criterias/NonTargetResponseCriteria';
import { TargetTypeCriteria } from '../criterias/TargetTypeCriteria';
import { MaxTargetPerOrganCriterion } from '../criteria/MaxTargetPerOrgan';
import { MaxTargetsCriterion } from '../criteria/MaxTargets';
import { MeasurementsLengthCriterion } from '../criteria/MeasurementsLength';
import { ModalityCriterion } from '../criteria/Modality';
import { NonTargetResponseCriterion } from '../criteria/NonTargetResponse';
import { TargetTypeCriterion } from '../criteria/TargetType';
export class RecistChecker extends BaseChecker {
constructor() {
super();
const addCriteria = criteria => this.criterias.push(criteria);
const addCriterion = criterion => this.criteria.push(criterion);
addCriteria(new MaxTargetsCriteria(5));
addCriteria(new MaxTargetPerOrganCriteria(2));
addCriteria(new ModalityCriteria(this.getModalityCriteriaOptions()));
addCriteria(new NonTargetResponseCriteria());
addCriteria(new TargetTypeCriteria());
addCriteria(new MeasurementsLengthCriteria(this.getExtranodalLengthCriteriaOptions()));
addCriteria(new MeasurementsLengthCriteria(this.getExtranodalXrayLengthCriteriaOptions()));
addCriteria(new MeasurementsLengthCriteria(this.getNodalLengthCriteriaOptions()));
addCriterion(new MaxTargetsCriterion(5));
addCriterion(new MaxTargetPerOrganCriterion(2));
addCriterion(new ModalityCriterion(this.getModalityOptions()));
addCriterion(new NonTargetResponseCriterion());
addCriterion(new TargetTypeCriterion());
addCriterion(new MeasurementsLengthCriterion(this.getExtranodalLengthOptions()));
addCriterion(new MeasurementsLengthCriterion(this.getExtranodalXrayLengthOptions()));
addCriterion(new MeasurementsLengthCriterion(this.getNodalLengthOptions()));
}
getModalityCriteriaOptions() {
getModalityOptions() {
return {
method: 'restrict',
modalities: ['US']
};
}
getExtranodalLengthCriteriaOptions() {
getExtranodalLengthOptions() {
return {
longAxis: 10,
longAxisSliceThicknessMultiplier: 2,
@ -41,7 +41,7 @@ export class RecistChecker extends BaseChecker {
};
}
getExtranodalXrayLengthCriteriaOptions() {
getExtranodalXrayLengthOptions() {
return {
shortAxis: 20,
longAxis: 20,
@ -52,7 +52,7 @@ export class RecistChecker extends BaseChecker {
};
}
getNodalLengthCriteriaOptions() {
getNodalLengthOptions() {
return {
shortAxis: 15,
shortAxisSliceThicknessMultiplier: 2,

View File

@ -0,0 +1,14 @@
export class BaseCriterion {
constructor() {}
generateResponse(message, measurements) {
const passed = !message;
return {
passed,
message,
measurements
};
}
}

View File

@ -1,13 +1,13 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
export class MaxTargetPerOrganCriteria extends BaseCriteria {
export class MaxTargetPerOrganCriterion extends BaseCriterion {
constructor(targetsLimit) {
super();
this.targetsLimit = targetsLimit;
}
check(data) {
evaluate(data) {
const targetsPerOrgan = {};
let message;
let measurements = [];
@ -29,7 +29,7 @@ export class MaxTargetPerOrganCriteria extends BaseCriteria {
message = `Each organ should not have more than ${this.targetsLimit} targets.`;
}
return this.respond(message, measurements);
return this.generateResponse(message, measurements);
}
}

View File

@ -1,14 +1,14 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
import { _ } from 'meteor/underscore';
export class MaxTargetsCriteria extends BaseCriteria {
export class MaxTargetsCriterion extends BaseCriterion {
constructor(targetsLimit) {
super();
this.targetsLimit = targetsLimit;
}
check(data) {
evaluate(data) {
const measurementNumbers = _.uniq(_.map(data.targets, target => {
return target.measurement.measurementNumber;
}));
@ -18,7 +18,7 @@ export class MaxTargetsCriteria extends BaseCriteria {
message = `The study should not have more than ${this.targetsLimit} targets.`;
}
return this.respond(message);
return this.generateResponse(message);
}
}

View File

@ -1,13 +1,13 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
export class MeasurementsLengthCriteria extends BaseCriteria {
export class MeasurementsLengthCriterion extends BaseCriterion {
constructor(options) {
super();
this.options = options;
}
check(data) {
evaluate(data) {
let message;
let measurements = [];
const { options } = this;
@ -49,7 +49,7 @@ export class MeasurementsLengthCriteria extends BaseCriteria {
message = options.message;
}
return this.respond(message, measurements);
return this.generateResponse(message, measurements);
}
}

View File

@ -1,4 +1,4 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
import { _ } from 'meteor/underscore';
/*
@ -8,14 +8,14 @@ import { _ } from 'meteor/underscore';
* method (string): allow, restrict
* modalities (string[]): list of allowed/restricted modalities
*/
export class ModalityCriteria extends BaseCriteria {
export class ModalityCriterion extends BaseCriterion {
constructor(options) {
super();
this.options = options;
}
check(data) {
evaluate(data) {
const measurementTypes = this.options.measurementTypes || ['targets'];
const modalitiesSet = new Set(this.options.modalities);
const validationMethod = this.options.method;
@ -31,7 +31,7 @@ export class ModalityCriteria extends BaseCriteria {
const metadata = item.metadata;
const modality = metadata.modality.toUpperCase();
if (((validationMethod === 'allow') && !modalitiesSet.has(modality)) ||
if (((validationMethod === 'allow') && !modalitiesSet.has(modality)) ||
((validationMethod === 'restrict') && modalitiesSet.has(modality))) {
measurements.push(measurement);
invalidModalities.push(modality);
@ -47,7 +47,7 @@ export class ModalityCriteria extends BaseCriteria {
message = `The ${modalityText} ${uniqueModalitiesText} should not be used as a method of measurement`;
}
return this.respond(message, measurements);
return this.generateResponse(message, measurements);
}
};

View File

@ -1,12 +1,12 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
export class NonTargetResponseCriteria extends BaseCriteria {
export class NonTargetResponseCriterion extends BaseCriterion {
constructor() {
super();
}
check(data) {
evaluate(data) {
const items = data.nonTargets;
const measurements = [];
let message;
@ -26,7 +26,7 @@ export class NonTargetResponseCriteria extends BaseCriteria {
message = 'Non-targets can only be assessed as "present"';
}
return this.respond(message, measurements);
return this.generateResponse(message, measurements);
}
}

View File

@ -1,12 +1,12 @@
import { BaseCriteria } from './BaseCriteria';
import { BaseCriterion } from './BaseCriterion';
export class TargetTypeCriteria extends BaseCriteria {
export class TargetTypeCriterion extends BaseCriterion {
constructor() {
super();
}
check(data) {
evaluate(data) {
const items = data.targets;
const measurements = [];
let message;
@ -26,7 +26,7 @@ export class TargetTypeCriteria extends BaseCriteria {
message = 'Target lesions must have measurements (cannot be assessed as CR, UN/NE, EX)';
}
return this.respond(message, measurements);
return this.generateResponse(message, measurements);
}
}

View File

@ -1,14 +0,0 @@
export class BaseCriteria {
constructor() {}
respond(response, measurements) {
const passed = !response;
return {
passed,
message: response,
measurements
};
}
}