Set lesion table row data in correct columns
Populate Measurements collection according to lesion table columns
This commit is contained in:
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,
|
||||
|
||||
Reference in new issue
Block a user