ohif-viewer/Packages/lesiontracker/server/removeCollections.js

54 lines
1.8 KiB
JavaScript

Meteor.methods({
"removeMeasurement": function(id) {
console.log(Measurements.find().fetch());
console.log("Removing: " + id);
Measurements.remove(id);
console.log(Measurements.find().fetch());
},
"removeMeasurementsByPatientId": function(patientId) {
Measurements.remove({patientId: patientId});
},
// TODO= Check where this is used? Seems like nowhere..
"removePatientMeasurement": function(lesionObject) {
// Find patient data
var measurementData = Measurements.findOne({
patientId: lesionObject.patientId,
isTarget: lesionObject.isTarget,
lesionNumber: lesionObject.lesionNumber
});
// Get timepoints
var timepoints = measurementData.timepoints;
// Create an array to hold keys of timepoints
var timepointsIds = Object.keys(timepoints).slice(0);
timepointsIds.forEach(function(timepointId) {
if (timepointId === lesionObject.timepointId) {
delete timepoints[timepointId];
}
});
var newTimepointsIds = Object.keys(timepoints);
// If there is no timepoints object, remove measurement data
if (newTimepointsIds.length) {
//Update measurement timepoints
Measurements.update({
patientId: lesionObject.patientId,
isTarget: lesionObject.isTarget,
lesionNumber: lesionObject.lesionNumber
}, {
$set: {
timepoints: timepoints
}
});
} else {
// Remove all data
Measurements.remove({
patientId: lesionObject.patientId,
isTarget: lesionObject.isTarget,
lesionNumber: lesionObject.lesionNumber
});
}
}
});