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 { export class BaseChecker {
constructor() { constructor() {
this.criterias = []; this.criteria = [];
} }
check(data) { check(data) {
const nonconformity = []; const nonconformity = [];
this.criterias.forEach(criteria => { this.criteria.forEach(criterion => {
const criteriaResult = criteria.check(data); const criterionResult = criterion.evaluate(data);
if (!criteriaResult.passed) { if (!criterionResult.passed) {
nonconformity.push(criteriaResult); nonconformity.push(criterionResult);
} }
}); });
return nonconformity; return nonconformity;

View File

@ -1,36 +1,36 @@
import { BaseChecker } from './BaseChecker'; import { BaseChecker } from './BaseChecker';
import { MaxTargetPerOrganCriteria } from '../criterias/MaxTargetPerOrganCriteria'; import { MaxTargetPerOrganCriterion } from '../criteria/MaxTargetPerOrgan';
import { MaxTargetsCriteria } from '../criterias/MaxTargetsCriteria'; import { MaxTargetsCriterion } from '../criteria/MaxTargets';
import { MeasurementsLengthCriteria } from '../criterias/MeasurementsLengthCriteria'; import { MeasurementsLengthCriterion } from '../criteria/MeasurementsLength';
import { ModalityCriteria } from '../criterias/ModalityCriteria'; import { ModalityCriterion } from '../criteria/Modality';
import { NonTargetResponseCriteria } from '../criterias/NonTargetResponseCriteria'; import { NonTargetResponseCriterion } from '../criteria/NonTargetResponse';
import { TargetTypeCriteria } from '../criterias/TargetTypeCriteria'; import { TargetTypeCriterion } from '../criteria/TargetType';
export class RecistChecker extends BaseChecker { export class RecistChecker extends BaseChecker {
constructor() { constructor() {
super(); super();
const addCriteria = criteria => this.criterias.push(criteria); const addCriterion = criterion => this.criteria.push(criterion);
addCriteria(new MaxTargetsCriteria(5)); addCriterion(new MaxTargetsCriterion(5));
addCriteria(new MaxTargetPerOrganCriteria(2)); addCriterion(new MaxTargetPerOrganCriterion(2));
addCriteria(new ModalityCriteria(this.getModalityCriteriaOptions())); addCriterion(new ModalityCriterion(this.getModalityOptions()));
addCriteria(new NonTargetResponseCriteria()); addCriterion(new NonTargetResponseCriterion());
addCriteria(new TargetTypeCriteria()); addCriterion(new TargetTypeCriterion());
addCriteria(new MeasurementsLengthCriteria(this.getExtranodalLengthCriteriaOptions())); addCriterion(new MeasurementsLengthCriterion(this.getExtranodalLengthOptions()));
addCriteria(new MeasurementsLengthCriteria(this.getExtranodalXrayLengthCriteriaOptions())); addCriterion(new MeasurementsLengthCriterion(this.getExtranodalXrayLengthOptions()));
addCriteria(new MeasurementsLengthCriteria(this.getNodalLengthCriteriaOptions())); addCriterion(new MeasurementsLengthCriterion(this.getNodalLengthOptions()));
} }
getModalityCriteriaOptions() { getModalityOptions() {
return { return {
method: 'restrict', method: 'restrict',
modalities: ['US'] modalities: ['US']
}; };
} }
getExtranodalLengthCriteriaOptions() { getExtranodalLengthOptions() {
return { return {
longAxis: 10, longAxis: 10,
longAxisSliceThicknessMultiplier: 2, longAxisSliceThicknessMultiplier: 2,
@ -41,7 +41,7 @@ export class RecistChecker extends BaseChecker {
}; };
} }
getExtranodalXrayLengthCriteriaOptions() { getExtranodalXrayLengthOptions() {
return { return {
shortAxis: 20, shortAxis: 20,
longAxis: 20, longAxis: 20,
@ -52,7 +52,7 @@ export class RecistChecker extends BaseChecker {
}; };
} }
getNodalLengthCriteriaOptions() { getNodalLengthOptions() {
return { return {
shortAxis: 15, shortAxis: 15,
shortAxisSliceThicknessMultiplier: 2, 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) { constructor(targetsLimit) {
super(); super();
this.targetsLimit = targetsLimit; this.targetsLimit = targetsLimit;
} }
check(data) { evaluate(data) {
const targetsPerOrgan = {}; const targetsPerOrgan = {};
let message; let message;
let measurements = []; let measurements = [];
@ -29,7 +29,7 @@ export class MaxTargetPerOrganCriteria extends BaseCriteria {
message = `Each organ should not have more than ${this.targetsLimit} targets.`; 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'; import { _ } from 'meteor/underscore';
export class MaxTargetsCriteria extends BaseCriteria { export class MaxTargetsCriterion extends BaseCriterion {
constructor(targetsLimit) { constructor(targetsLimit) {
super(); super();
this.targetsLimit = targetsLimit; this.targetsLimit = targetsLimit;
} }
check(data) { evaluate(data) {
const measurementNumbers = _.uniq(_.map(data.targets, target => { const measurementNumbers = _.uniq(_.map(data.targets, target => {
return target.measurement.measurementNumber; return target.measurement.measurementNumber;
})); }));
@ -18,7 +18,7 @@ export class MaxTargetsCriteria extends BaseCriteria {
message = `The study should not have more than ${this.targetsLimit} targets.`; 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) { constructor(options) {
super(); super();
this.options = options; this.options = options;
} }
check(data) { evaluate(data) {
let message; let message;
let measurements = []; let measurements = [];
const { options } = this; const { options } = this;
@ -49,7 +49,7 @@ export class MeasurementsLengthCriteria extends BaseCriteria {
message = options.message; 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'; import { _ } from 'meteor/underscore';
/* /*
@ -8,14 +8,14 @@ import { _ } from 'meteor/underscore';
* method (string): allow, restrict * method (string): allow, restrict
* modalities (string[]): list of allowed/restricted modalities * modalities (string[]): list of allowed/restricted modalities
*/ */
export class ModalityCriteria extends BaseCriteria { export class ModalityCriterion extends BaseCriterion {
constructor(options) { constructor(options) {
super(); super();
this.options = options; this.options = options;
} }
check(data) { evaluate(data) {
const measurementTypes = this.options.measurementTypes || ['targets']; const measurementTypes = this.options.measurementTypes || ['targets'];
const modalitiesSet = new Set(this.options.modalities); const modalitiesSet = new Set(this.options.modalities);
const validationMethod = this.options.method; const validationMethod = this.options.method;
@ -47,7 +47,7 @@ export class ModalityCriteria extends BaseCriteria {
message = `The ${modalityText} ${uniqueModalitiesText} should not be used as a method of measurement`; 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() { constructor() {
super(); super();
} }
check(data) { evaluate(data) {
const items = data.nonTargets; const items = data.nonTargets;
const measurements = []; const measurements = [];
let message; let message;
@ -26,7 +26,7 @@ export class NonTargetResponseCriteria extends BaseCriteria {
message = 'Non-targets can only be assessed as "present"'; 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() { constructor() {
super(); super();
} }
check(data) { evaluate(data) {
const items = data.targets; const items = data.targets;
const measurements = []; const measurements = [];
let message; 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)'; 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
};
}
}