Set lesion table row data in correct columns

Populate Measurements collection according to lesion table columns
This commit is contained in:
Aysel Afsar committed 2015-10-29 15:40:20 -04:00
1 parent 074f043a65
commit 78faa2a8f9
8 files changed
+87 -44

No files matched your search

@@ -87,53 +87,71 @@ var measurementManagerDAL = (function () {
return Session.get("activeContentId");
}
function getTimepointsOfTab (){
var contentId = getContentId();
var tabData = TabsTimepoints.find({contentId: contentId}).fetch();
return tabData[0].timepoints;
}
// Adds new timepoint item to tiemepoints array
function addLesionData (lesionData) {
// TODO: if find lesionNumber, add
// TODO: Unless create new object
var contentId = getContentId();
var timepointID = lesionData.timepointID;
var tabMeasurements = Measurements.find({contentId: contentId}).fetch();
var existingMeasurement;
if(tabMeasurements != undefined && tabMeasurements.length > 0) {
var tabLesionData = tabMeasurements.filter(function(item){return (item.lesionData.lesionNumber == lesionData.lesionNumber);} )[0];
if(tabLesionData != undefined) {
existingMeasurement = tabLesionData.lesionData;
var tabMeasurements = Measurements.find({contentId: contentId, "lesionData.lesionNumber": lesionData.lesionNumber}).fetch();
var tabMeasurementsData = tabMeasurements[0];
if (tabMeasurements != undefined && tabMeasurements.length > 0) {
// Update timepoint
var timepointArr = tabMeasurementsData.lesionData.timepoints;
for(var i=0; i< timepointArr.length; i++) {
var timepoint = timepointArr[i];
if(timepoint[timepointID] != undefined) {
timepoint[timepointID].longestDiameter = lesionData.measurementText;
}
}
}
if (existingMeasurement != undefined) {
var existingTimepoint = existingMeasurement.timepoints;
existingTimepoint[timepointID] = {longestDiameter: lesionData.measurementText};
Measurements.update(
{ contentId: contentId, "lesionData.lesionNumber": lesionData.lesionNumber},
{
$set: {
"lesionData.timepoints": existingTimepoint
"lesionData.timepoints": timepointArr
}
}, {multi: true}
);
console.log(Measurements.find())
} else {
var timepointArr = {};
timepointArr[timepointID] = {longestDiameter: lesionData.measurementText};
// Add new measurement data
var timepointsOfTab = getTimepointsOfTab();
var timepointsArr = [];
for(var i=0; i< timepointsOfTab.length; i++) {
var timepointId = timepointsOfTab[i].timepointID;
var lesionTimepointId = lesionData.timepointID;
if (timepointId === lesionTimepointId) {
// Add real mesurement
var timepointObject = {};
timepointObject[timepointId] = {longestDiameter: lesionData.measurementText};
timepointsArr.push(timepointObject);
} else {
// Add null measurement
var timepointObject = {};
timepointObject[timepointId] = {longestDiameter: ""};
timepointsArr.push(timepointObject);
}
}
var lesionDataCollectionObject = {
lesionNumber: lesionData.lesionNumber,
isTarget: true,
location: getLocationName(lesionData.locationUID),
timepoints: timepointArr
timepoints: timepointsArr
};
Measurements.insert({contentId: contentId, lesionData: lesionDataCollectionObject});
console.log(Measurements.find());
}
// Populate timepoints array
var roi = {
uid: lesionData.uid,