LT-338: Fix odd hanging protocol subscription issues
This commit is contained in:
parent
dcd7e3f1c5
commit
77e75fe4d9
@ -10,6 +10,7 @@ Template.viewer.onCreated(() => {
|
|||||||
ViewerData = window.ViewerData || ViewerData;
|
ViewerData = window.ViewerData || ViewerData;
|
||||||
|
|
||||||
const instance = Template.instance();
|
const instance = Template.instance();
|
||||||
|
instance.subscribe('hangingprotocols');
|
||||||
|
|
||||||
ValidationErrors.remove({});
|
ValidationErrors.remove({});
|
||||||
|
|
||||||
|
|||||||
@ -1,109 +0,0 @@
|
|||||||
//------------------------------------------------------------------------------
|
|
||||||
// Define Baseline protocol
|
|
||||||
var proto = new HP.Protocol('LT_Baseline');
|
|
||||||
proto.locked = true;
|
|
||||||
|
|
||||||
var isBaseline = new HP.ProtocolMatchingRule();
|
|
||||||
isBaseline.required = true;
|
|
||||||
isBaseline.weight = 1;
|
|
||||||
isBaseline.attribute = 'timepointType';
|
|
||||||
isBaseline.constraint = {
|
|
||||||
equals: {
|
|
||||||
value: 'baseline'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
proto.addProtocolMatchingRule(isBaseline);
|
|
||||||
|
|
||||||
var oneByOne = new HP.ViewportStructure('grid', {
|
|
||||||
rows: 1,
|
|
||||||
columns: 1
|
|
||||||
});
|
|
||||||
|
|
||||||
// Stage 1
|
|
||||||
var single = new HP.Viewport();
|
|
||||||
|
|
||||||
var baseline = new HP.StudyMatchingRule(true);
|
|
||||||
baseline.required = true;
|
|
||||||
baseline.attribute = 'timepointType';
|
|
||||||
baseline.constraint = {
|
|
||||||
equals: {
|
|
||||||
value: 'baseline'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
single.studyMatchingRules.push(baseline);
|
|
||||||
|
|
||||||
var first = new HP.Stage(oneByOne, 'oneByOne');
|
|
||||||
first.viewports.push(single);
|
|
||||||
|
|
||||||
proto.addStage(first);
|
|
||||||
|
|
||||||
HP.lesionTrackerBaselineProtocol = proto;
|
|
||||||
HP.lesionTrackerBaselineProtocol.id = 'lesionTrackerBaselineProtocol';
|
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
|
||||||
// Define Followup Protocol
|
|
||||||
var proto = new HP.Protocol('LT_BaselineFollowup');
|
|
||||||
proto.locked = true;
|
|
||||||
|
|
||||||
var isFollowup = new HP.ProtocolMatchingRule();
|
|
||||||
isFollowup.required = true;
|
|
||||||
isFollowup.weight = 2;
|
|
||||||
isFollowup.attribute = 'timepointType';
|
|
||||||
isFollowup.constraint = {
|
|
||||||
equals: {
|
|
||||||
value: 'followup'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
proto.addProtocolMatchingRule(isFollowup);
|
|
||||||
|
|
||||||
var oneByTwo = new HP.ViewportStructure('grid', {
|
|
||||||
rows: 1,
|
|
||||||
columns: 2
|
|
||||||
});
|
|
||||||
|
|
||||||
// Stage 1
|
|
||||||
var left = new HP.Viewport();
|
|
||||||
var right = new HP.Viewport();
|
|
||||||
|
|
||||||
var baseline = new HP.StudyMatchingRule(true);
|
|
||||||
baseline.required = true;
|
|
||||||
baseline.attribute = 'timepointType';
|
|
||||||
baseline.constraint = {
|
|
||||||
equals: {
|
|
||||||
value: 'baseline'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var followup = new HP.StudyMatchingRule();
|
|
||||||
followup.required = true;
|
|
||||||
followup.attribute = 'timepointType';
|
|
||||||
followup.constraint = {
|
|
||||||
equals: {
|
|
||||||
value: 'followup'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
left.studyMatchingRules.push(followup);
|
|
||||||
right.studyMatchingRules.push(baseline);
|
|
||||||
|
|
||||||
var first = new HP.Stage(oneByTwo, 'oneByTwo');
|
|
||||||
first.viewports.push(left);
|
|
||||||
first.viewports.push(right);
|
|
||||||
|
|
||||||
proto.addStage(first);
|
|
||||||
|
|
||||||
HP.lesionTrackerFollowupProtocol = proto;
|
|
||||||
HP.lesionTrackerFollowupProtocol.id = 'lesionTrackerFollowupProtocol';
|
|
||||||
|
|
||||||
Meteor.call('removeHangingProtocolByID', HP.lesionTrackerBaselineProtocol.id, function() {
|
|
||||||
HangingProtocols.insert(HP.lesionTrackerBaselineProtocol);
|
|
||||||
});
|
|
||||||
|
|
||||||
Meteor.call('removeHangingProtocolByID', HP.lesionTrackerFollowupProtocol.id, function() {
|
|
||||||
HangingProtocols.insert(HP.lesionTrackerFollowupProtocol);
|
|
||||||
});
|
|
||||||
|
|
||||||
HangingProtocols.insert(HP.defaultProtocol);
|
|
||||||
115
LesionTracker/server/lesionTrackerHangingProtocol.js
Normal file
115
LesionTracker/server/lesionTrackerHangingProtocol.js
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
import { Meteor } from 'meteor/meteor';
|
||||||
|
|
||||||
|
Meteor.startup(() => {
|
||||||
|
console.log('Adding Lesion Tracker Hanging Protocols');
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Define Baseline protocol
|
||||||
|
const proto = new HP.Protocol('LT_Baseline');
|
||||||
|
proto.locked = true;
|
||||||
|
|
||||||
|
const isBaseline = new HP.ProtocolMatchingRule();
|
||||||
|
isBaseline.required = true;
|
||||||
|
isBaseline.weight = 1;
|
||||||
|
isBaseline.attribute = 'timepointType';
|
||||||
|
isBaseline.constraint = {
|
||||||
|
equals: {
|
||||||
|
value: 'baseline'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
proto.addProtocolMatchingRule(isBaseline);
|
||||||
|
|
||||||
|
const oneByOne = new HP.ViewportStructure('grid', {
|
||||||
|
rows: 1,
|
||||||
|
columns: 1
|
||||||
|
});
|
||||||
|
|
||||||
|
// Stage 1
|
||||||
|
const single = new HP.Viewport();
|
||||||
|
|
||||||
|
const baseline = new HP.StudyMatchingRule(true);
|
||||||
|
baseline.required = true;
|
||||||
|
baseline.attribute = 'timepointType';
|
||||||
|
baseline.constraint = {
|
||||||
|
equals: {
|
||||||
|
value: 'baseline'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
single.studyMatchingRules.push(baseline);
|
||||||
|
|
||||||
|
const first = new HP.Stage(oneByOne, 'oneByOne');
|
||||||
|
first.viewports.push(single);
|
||||||
|
|
||||||
|
proto.addStage(first);
|
||||||
|
|
||||||
|
HP.lesionTrackerBaselineProtocol = proto;
|
||||||
|
HP.lesionTrackerBaselineProtocol.id = 'lesionTrackerBaselineProtocol';
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Define Followup Protocol
|
||||||
|
const protoFollowup = new HP.Protocol('LT_BaselineFollowup');
|
||||||
|
protoFollowup.locked = true;
|
||||||
|
|
||||||
|
const isFollowup = new HP.ProtocolMatchingRule();
|
||||||
|
isFollowup.required = true;
|
||||||
|
isFollowup.weight = 2;
|
||||||
|
isFollowup.attribute = 'timepointType';
|
||||||
|
isFollowup.constraint = {
|
||||||
|
equals: {
|
||||||
|
value: 'followup'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
protoFollowup.addProtocolMatchingRule(isFollowup);
|
||||||
|
|
||||||
|
const oneByTwo = new HP.ViewportStructure('grid', {
|
||||||
|
rows: 1,
|
||||||
|
columns: 2
|
||||||
|
});
|
||||||
|
|
||||||
|
// Stage 1
|
||||||
|
const left = new HP.Viewport();
|
||||||
|
const right = new HP.Viewport();
|
||||||
|
|
||||||
|
const baseline2 = new HP.StudyMatchingRule(true);
|
||||||
|
baseline2.required = true;
|
||||||
|
baseline2.attribute = 'timepointType';
|
||||||
|
baseline2.constraint = {
|
||||||
|
equals: {
|
||||||
|
value: 'baseline'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const followup = new HP.StudyMatchingRule();
|
||||||
|
followup.required = true;
|
||||||
|
followup.attribute = 'timepointType';
|
||||||
|
followup.constraint = {
|
||||||
|
equals: {
|
||||||
|
value: 'followup'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
left.studyMatchingRules.push(followup);
|
||||||
|
right.studyMatchingRules.push(baseline2);
|
||||||
|
|
||||||
|
const first2 = new HP.Stage(oneByTwo, 'oneByTwo');
|
||||||
|
first2.viewports.push(left);
|
||||||
|
first2.viewports.push(right);
|
||||||
|
|
||||||
|
protoFollowup.addStage(first2);
|
||||||
|
|
||||||
|
HP.lesionTrackerFollowupProtocol = protoFollowup;
|
||||||
|
HP.lesionTrackerFollowupProtocol.id = 'lesionTrackerFollowupProtocol';
|
||||||
|
|
||||||
|
Meteor.call('removeHangingProtocolByID', HP.lesionTrackerBaselineProtocol.id, function() {
|
||||||
|
HangingProtocols.insert(HP.lesionTrackerBaselineProtocol);
|
||||||
|
});
|
||||||
|
|
||||||
|
Meteor.call('removeHangingProtocolByID', HP.lesionTrackerFollowupProtocol.id, function() {
|
||||||
|
HangingProtocols.insert(HP.lesionTrackerFollowupProtocol);
|
||||||
|
});
|
||||||
|
|
||||||
|
HangingProtocols.insert(HP.defaultProtocol);
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue
Block a user