diff --git a/LesionTracker/.meteor/versions b/LesionTracker/.meteor/versions index 5e415f22b..3045839db 100644 --- a/LesionTracker/.meteor/versions +++ b/LesionTracker/.meteor/versions @@ -1,5 +1,6 @@ accounts-base@1.2.8 accounts-password@1.1.13 +aldeed:simple-schema@1.5.3 aldeed:template-extension@4.0.0 allow-deny@1.0.5 anti:gagarin@0.4.11 @@ -70,6 +71,7 @@ lesiontracker@0.0.1 livedata@1.0.18 localstorage@1.0.11 logging@1.0.14 +mdg:validation-error@0.5.1 meteor@1.1.16 meteor-base@1.0.4 meteor-platform@1.2.6 @@ -97,6 +99,7 @@ promise@0.7.3 random@1.0.10 rate-limit@1.0.5 reactive-dict@1.1.8 +reactive-form-controls@0.0.1 reactive-var@1.0.10 reload@1.1.10 retry@1.0.8 diff --git a/Packages/cornerstone/package.js b/Packages/cornerstone/package.js index a63763939..d084bce88 100644 --- a/Packages/cornerstone/package.js +++ b/Packages/cornerstone/package.js @@ -5,7 +5,7 @@ Package.describe({ }); Package.onUse(function(api) { - api.versionsFrom('1.2.0.2'); + api.versionsFrom('1.3.4.1'); api.use('jquery'); api.use('dicomweb'); diff --git a/Packages/design/package.js b/Packages/design/package.js index af9943905..7d150992e 100644 --- a/Packages/design/package.js +++ b/Packages/design/package.js @@ -5,7 +5,7 @@ Package.describe({ }); Package.onUse(function(api) { - api.versionsFrom('1.2.1'); + api.versionsFrom('1.3.4.1'); api.use('ecmascript'); api.use('standard-app-packages'); diff --git a/Packages/hangingprotocols/package.js b/Packages/hangingprotocols/package.js index af1bbca66..bf0dbe908 100755 --- a/Packages/hangingprotocols/package.js +++ b/Packages/hangingprotocols/package.js @@ -5,7 +5,7 @@ Package.describe({ }); Package.onUse(function(api) { - api.versionsFrom('1.2.1'); + api.versionsFrom('1.3.4.1'); api.use('standard-app-packages'); api.use('ecmascript'); diff --git a/Packages/lesiontracker/both/collections.js b/Packages/lesiontracker/both/collections.js index 12cd17f08..d443a427d 100644 --- a/Packages/lesiontracker/both/collections.js +++ b/Packages/lesiontracker/both/collections.js @@ -1,7 +1,14 @@ Timepoints = new Meteor.Collection('timepoints'); Studies = new Meteor.Collection('studies'); Measurements = new Meteor.Collection('measurements'); + +// ImageMeasurements describe temporary measurements that aren't +// specifically listed in the Lesion Table ImageMeasurements = new Meteor.Collection('imageMeasurements'); +// Additional Findings stores details from the Additional Findings +// panel, and represents items such as data quality, +AdditionalFindings = new Meteor.Collection('additionalFindings'); + WorklistSubscriptions = ['studies', 'timepoints']; Reviewers = new Meteor.Collection('reviewers'); diff --git a/Packages/lesiontracker/both/schema/additionalFinding.js b/Packages/lesiontracker/both/schema/additionalFinding.js new file mode 100644 index 000000000..3175b4d63 --- /dev/null +++ b/Packages/lesiontracker/both/schema/additionalFinding.js @@ -0,0 +1,58 @@ +import { SimpleSchema } from 'meteor/aldeed:simple-schema'; + +SimpleSchema.extendOptions({ + allowedSelect2Values: Match.Optional(Array), +}); + +export const AdditionalFinding = new SimpleSchema({ + measurableDisease: { + type: String, + label: 'Measurable Disease', + allowedValues: ['Present', 'Absent'], + defaultValue: 'Absent', + optional: true + }, + // TODO: Add check so that the value cannot be None & something other region + regionsOfMetastaticDisease: { + type: [String], + label: 'Regions of Metastatic Disease', + allowedSelect2Values: ['None', 'Lymph Node'], // allowedValues doesn't seem show up in the Schema since this is an Array. There may be a better way to do this + defaultValue: ['None'], + optional: true + }, + tracerRelatedToMetastaticDisease: { + type: String, + label: 'Tracer Related to Metastatic Disease?', + allowedValues: ['Yes', 'No'], + defaultValue: 'Yes', + optional: true + }, + numberOfBoneLesions: { + type: String, + label: 'Number of Bone Lesions', + allowedValues: ['0', '1-2', '2-4', '>5'], + defaultValue: '0', + optional: true + }, + acceptableImageQuality: { + type: String, + label: 'Acceptable Image Quality', + allowedValues: ['Yes', 'No'], + defaultValue: 'Yes', + optional: true + }, + adequateAnatomicalCoverage: { + type: String, + label: 'Adequate Anatomical Coverage', + allowedValues: ['Yes', 'No'], + defaultValue: 'Yes', + optional: true + }, + presenceOfContrast: { + type: String, + label: 'Presence of Contrast', + allowedValues: ['Yes', 'No'], + defaultValue: 'Yes', + optional: true + } +}); diff --git a/Packages/lesiontracker/client/components/additionalMeasurements/additionalMeasurements.html b/Packages/lesiontracker/client/components/additionalFindings/additionalFindings.html similarity index 53% rename from Packages/lesiontracker/client/components/additionalMeasurements/additionalMeasurements.html rename to Packages/lesiontracker/client/components/additionalFindings/additionalFindings.html index f0972d025..1f7c4c61e 100644 --- a/Packages/lesiontracker/client/components/additionalMeasurements/additionalMeasurements.html +++ b/Packages/lesiontracker/client/components/additionalFindings/additionalFindings.html @@ -1,48 +1,34 @@ -