diff --git a/js/components/cohortbuilder/CriteriaGroup.js b/js/components/cohortbuilder/CriteriaGroup.js
index 78280d603..f5787f87c 100644
--- a/js/components/cohortbuilder/CriteriaGroup.js
+++ b/js/components/cohortbuilder/CriteriaGroup.js
@@ -25,7 +25,7 @@ define(function (require, exports, module) {
if (data.DemographicCriteriaList && data.DemographicCriteriaList.length > 0) {
data.DemographicCriteriaList.forEach(function (d) {
- self.DemographicCriteriaList.push(new DemographicCriteria(d));
+ self.DemographicCriteriaList.push(new DemographicCriteria(d, conceptSets));
});
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/ConditionEra.js b/js/components/cohortbuilder/CriteriaTypes/ConditionEra.js
index 52eb9a7a3..c628944a3 100644
--- a/js/components/cohortbuilder/CriteriaTypes/ConditionEra.js
+++ b/js/components/cohortbuilder/CriteriaTypes/ConditionEra.js
@@ -1,4 +1,4 @@
-define(['knockout', './Criteria', '../InputTypes/Range', 'conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range', 'conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function ConditionEra(data, conceptSets) {
var self = this;
@@ -20,7 +20,6 @@ define(['knockout', './Criteria', '../InputTypes/Range', 'conceptpicker/InputTyp
// Verbatim fields
self.CodesetId = ko.observable(data.CodesetId);
- self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
self.EraStartDate = ko.observable(data.EraStartDate && new Range(data.EraStartDate));
self.EraEndDate = ko.observable(data.EraEndDate && new Range(data.EraEndDate));
@@ -36,6 +35,8 @@ define(['knockout', './Criteria', '../InputTypes/Range', 'conceptpicker/InputTyp
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
+
}
ConditionEra.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/CriteriaTypes/ConditionOccurrence.js b/js/components/cohortbuilder/CriteriaTypes/ConditionOccurrence.js
index c62c8904c..38bccca4c 100644
--- a/js/components/cohortbuilder/CriteriaTypes/ConditionOccurrence.js
+++ b/js/components/cohortbuilder/CriteriaTypes/ConditionOccurrence.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, Text,ConceptSetSelection) {
function ConditionOccurrence(data, conceptSets) {
var self = this;
@@ -29,11 +30,14 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.ConditionTypeExclude = ko.observable(data.ConditionTypeExclude || null);
+ self.ConditionTypeCS = ko.observable(data.ConditionTypeCS && new ConceptSetSelection(data.ConditionTypeCS, conceptSets));
+
self.StopReason = ko.observable(data.StopReason && new Text(data.StopReason));
self.ConditionSourceConcept = ko.observable(data.ConditionSourceConcept != null ? ko.observable(data.ConditionSourceConcept) : null);
self.ConditionStatus = ko.observable(data.ConditionStatus && ko.observableArray(data.ConditionStatus.map(function (d) {
return new Concept(d);
})));
+ self.ConditionStatusCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.ConditionStatusCS, conceptSets));
// Derived Fields
self.First = ko.observable(data.First || null);
@@ -43,14 +47,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/Death.js b/js/components/cohortbuilder/CriteriaTypes/Death.js
index 071742356..d42b1873a 100644
--- a/js/components/cohortbuilder/CriteriaTypes/Death.js
+++ b/js/components/cohortbuilder/CriteriaTypes/Death.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'],
+ function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function Death(data, conceptSets) {
var self = this;
@@ -28,6 +29,8 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.DeathTypeExclude = ko.observable(data.DeathTypeExclude || null);
+ self.DeathTypeCS = ko.observable(data.DeathTypeCS && new ConceptSetSelection(data.DeathTypeCS, conceptSets));
+
self.DeathSourceConcept = ko.observable(data.DeathSourceConcept != null ? ko.observable(data.DeathSourceConcept) : null);
// Derived Fields
self.Age = ko.observable(data.Age && new Range(data.Age));
@@ -36,11 +39,8 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
}
Death.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/CriteriaTypes/DemographicCriteria.js b/js/components/cohortbuilder/CriteriaTypes/DemographicCriteria.js
index 8772c53a2..c7e87ddbd 100644
--- a/js/components/cohortbuilder/CriteriaTypes/DemographicCriteria.js
+++ b/js/components/cohortbuilder/CriteriaTypes/DemographicCriteria.js
@@ -1,4 +1,4 @@
-define(['knockout', '../InputTypes/Range', 'conceptpicker/InputTypes/Concept'], function (ko, Range, Concept) {
+define(['knockout', '../InputTypes/Range', 'conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'], function (ko, Range, Concept, ConceptSetSelection) {
function DemographicCriteria(data, conceptSets) {
var self = this;
@@ -9,14 +9,17 @@ define(['knockout', '../InputTypes/Range', 'conceptpicker/InputTypes/Concept'],
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
self.Race = ko.observable(data.Race && ko.observableArray(data.Race.map(function (d) {
return new Concept(d);
})));
+ self.RaceCS = ko.observable(data.RaceCS && new ConceptSetSelection(data.RaceCS, conceptSets));
self.Ethnicity = ko.observable(data.Ethnicity && ko.observableArray(data.Ethnicity.map(function (d) {
return new Concept(d);
})));
+ self.EthnicityCS = ko.observable(data.EthnicityCS && new ConceptSetSelection(data.EthnicityCS, conceptSets));
self.OccurrenceStartDate = ko.observable(data.OccurrenceStartDate && new Range(data.OccurrenceStartDate));
diff --git a/js/components/cohortbuilder/CriteriaTypes/DeviceExposure.js b/js/components/cohortbuilder/CriteriaTypes/DeviceExposure.js
index cc3cafd51..0283b3775 100644
--- a/js/components/cohortbuilder/CriteriaTypes/DeviceExposure.js
+++ b/js/components/cohortbuilder/CriteriaTypes/DeviceExposure.js
@@ -1,4 +1,4 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text', '../InputTypes/ConceptSetSelection'], function (ko, Criteria, Range, Concept, Text, ConceptSetSelection) {
function DeviceOccurence(data, conceptSets) {
var self = this;
@@ -29,6 +29,8 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.DeviceTypeExclude = ko.observable(data.DeviceTypeExclude || null);
+ self.DeviceTypeCS = ko.observable(data.DeviceTypeCS && new ConceptSetSelection(data.DeviceTypeCS, conceptSets));
+
self.UniqueDeviceId = ko.observable(data.UniqueDeviceId && new Text(data.StopReason));
self.Quantity = ko.observable(data.Quantity && new Range(data.Quantity));
self.DeviceSourceConcept = ko.observable(data.DeviceSourceConcept != null ? ko.observable(data.DeviceSourceConcept) : null);
@@ -41,18 +43,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
-
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
+
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/DoseEra.js b/js/components/cohortbuilder/CriteriaTypes/DoseEra.js
index 1e7678d20..2dbf50d29 100644
--- a/js/components/cohortbuilder/CriteriaTypes/DoseEra.js
+++ b/js/components/cohortbuilder/CriteriaTypes/DoseEra.js
@@ -1,4 +1,4 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function DoseEra(data, conceptSets) {
var self = this;
@@ -26,6 +26,8 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Unit = ko.observable(data.Unit && ko.observableArray(data.Unit.map(function (d) {
return new Concept(d);
})));
+ self.UnitCS = ko.observable(data.UnitCS && new ConceptSetSelection(data.UnitCS, conceptSets));
+
self.DoseValue = ko.observable(data.DoseValue && new Range(data.DoseValue));
self.EraLength = ko.observable(data.EraLength && new Range(data.EraLength));
@@ -38,6 +40,8 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
+
}
DoseEra.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/CriteriaTypes/DrugEra.js b/js/components/cohortbuilder/CriteriaTypes/DrugEra.js
index 3eefeabca..031e421b1 100644
--- a/js/components/cohortbuilder/CriteriaTypes/DrugEra.js
+++ b/js/components/cohortbuilder/CriteriaTypes/DrugEra.js
@@ -1,4 +1,4 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function DrugEra(data, conceptSets) {
var self = this;
@@ -36,6 +36,7 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
}
DrugEra.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/CriteriaTypes/DrugExposure.js b/js/components/cohortbuilder/CriteriaTypes/DrugExposure.js
index ae26fd020..ff1f8e2db 100644
--- a/js/components/cohortbuilder/CriteriaTypes/DrugExposure.js
+++ b/js/components/cohortbuilder/CriteriaTypes/DrugExposure.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text','../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, Text, ConceptSetSelection) {
function DrugExposure(data, conceptSets) {
var self = this;
@@ -29,6 +30,7 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.DrugTypeExclude = ko.observable(data.DrugTypeExclude || null);
+ self.DrugTypeCS = ko.observable(data.DrugTypeCS && new ConceptSetSelection(data.DrugTypeCS, conceptSets));
self.StopReason = ko.observable(data.StopReason && new Text(data.StopReason));
self.Refills = ko.observable(data.Refills && new Range(data.Refills));
self.Quantity = ko.observable(data.Quantity && new Range(data.Quantity));
@@ -36,10 +38,12 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.RouteConcept = ko.observable(data.RouteConcept && ko.observableArray(data.RouteConcept.map(function (d) {
return new Concept(d);
})));
+ self.RouteConceptCS = ko.observable(data.RouteConceptCS && new ConceptSetSelection(data.RouteConceptCS, conceptSets));
self.EffectiveDrugDose = ko.observable(data.EffectiveDrugDose && new Range(data.EffectiveDrugDose));
self.DoseUnit = ko.observable(data.DoseUnit && ko.observableArray(data.DoseUnit.map(function (d) {
return new Concept(d);
})));
+ self.DoseUnitCS = ko.observable(data.DoseUnitCS && new ConceptSetSelection(data.DoseUnitCS, conceptSets));
self.LotNumber = ko.observable(data.LotNumber && new Text(data.LotNumber));
self.DrugSourceConcept = ko.observable(data.DrugSourceConcept != null ? ko.observable(data.DrugSourceConcept) : null);
@@ -51,18 +55,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
-
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
+
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/Measurement.js b/js/components/cohortbuilder/CriteriaTypes/Measurement.js
index 27077cfb8..fb3504174 100644
--- a/js/components/cohortbuilder/CriteriaTypes/Measurement.js
+++ b/js/components/cohortbuilder/CriteriaTypes/Measurement.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function Measurement(data, conceptSets) {
var self = this;
@@ -28,16 +29,20 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.MeasurementTypeExclude = ko.observable(data.MeasurementTypeExclude || null);
+ self.MeasurementTypeCS = ko.observable(data.MeasurementTypeCS && new ConceptSetSelection(data.MeasurementTypeCS, conceptSets));
self.Operator = ko.observable(data.Operator && ko.observableArray(data.Operator.map(function (d) {
return new Concept(d);
})));
+ self.OperatorCS = ko.observable(data.OperatorCS && new ConceptSetSelection(data.OperatorCS, conceptSets));
self.ValueAsNumber = ko.observable(data.ValueAsNumber && new Range(data.ValueAsNumber));
self.ValueAsConcept = ko.observable(data.ValueAsConcept && ko.observableArray(data.ValueAsConcept.map(function (d) {
return new Concept(d);
})));
+ self.ValueAsConceptCS = ko.observable(data.ValueAsConceptCS && new ConceptSetSelection(data.ValueAsConceptCS, conceptSets));
self.Unit = ko.observable(data.Unit && ko.observableArray(data.Unit.map(function (d) {
return new Concept(d);
})));
+ self.UnitCS = ko.observable(data.UnitCS && new ConceptSetSelection(data.UnitCS, conceptSets));
self.RangeLow = ko.observable(data.RangeLow && new Range(data.RangeLow));
self.RangeHigh = ko.observable(data.RangeHigh && new Range(data.RangeHigh));
self.MeasurementSourceConcept = ko.observable(data.MeasurementSourceConcept != null ? ko.observable(data.MeasurementSourceConcept) : null);
@@ -52,18 +57,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
-
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.ProviderSpecialtyCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
+
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.VisitTypeCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/Observation.js b/js/components/cohortbuilder/CriteriaTypes/Observation.js
index e84a91480..94e956b6e 100644
--- a/js/components/cohortbuilder/CriteriaTypes/Observation.js
+++ b/js/components/cohortbuilder/CriteriaTypes/Observation.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, Text, ConceptSetSelection) {
function Observation(data, conceptSets) {
var self = this;
@@ -28,17 +29,21 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.ObservationTypeExclude = ko.observable(data.ObservationTypeExclude || null);
+ self.ObservationTypeCS = ko.observable(data.ObservationTypeCS && new ConceptSetSelection(data.ObservationTypeCS, conceptSets));
self.ValueAsNumber = ko.observable(data.ValueAsNumber && new Range(data.ValueAsNumber));
self.ValueAsString = ko.observable(data.ValueAsString && new Text(data.ValueAsString));
self.ValueAsConcept = ko.observable(data.ValueAsConcept && ko.observableArray(data.ValueAsConcept.map(function (d) {
return new Concept(d);
})));
+ self.ValueAsConceptCS = ko.observable(data.ValueAsConceptCS && new ConceptSetSelection(data.ValueAsConceptCS, conceptSets));
self.Qualifier = ko.observable(data.Qualifier && ko.observableArray(data.Qualifier.map(function (d) {
return new Concept(d);
})));
+ self.QualifierCS = ko.observable(data.QualifierCS && new ConceptSetSelection(data.QualifierCS, conceptSets));
self.Unit = ko.observable(data.Unit && ko.observableArray(data.Unit.map(function (d) {
return new Concept(d);
})));
+ self.UnitCS = ko.observable(data.UnitCS && new ConceptSetSelection(data.UnitCS, conceptSets));
self.ObservationSourceConcept = ko.observable(data.ObservationSourceConcept != null ? ko.observable(data.ObservationSourceConcept) : null);
// Derived Fields
@@ -49,18 +54,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
-
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.ProviderSpecialtyCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
+
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.VisitTypeCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/ObservationPeriod.js b/js/components/cohortbuilder/CriteriaTypes/ObservationPeriod.js
index 428dfd36d..8e65f55b9 100644
--- a/js/components/cohortbuilder/CriteriaTypes/ObservationPeriod.js
+++ b/js/components/cohortbuilder/CriteriaTypes/ObservationPeriod.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period', 'conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Period, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period', 'conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Period, Concept, ConceptSetSelection) {
function ObservationPeriod(data, conceptSets) {
var self = this;
data = data || {};
@@ -11,6 +12,8 @@ define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period',
self.PeriodType = ko.observable(data.PeriodType && ko.observableArray(data.PeriodType.map(function (d) {
return new Concept(d);
})));
+ self.PeriodTypeCS = ko.observable(data.PeriodTypeCS && new ConceptSetSelection(data.PeriodTypeCS, conceptSets));
+
self.UserDefinedPeriod = ko.observable(data.UserDefinedPeriod && new Period(data.UserDefinedPeriod));
// Derived Fields
diff --git a/js/components/cohortbuilder/CriteriaTypes/PayerPlanPeriod.js b/js/components/cohortbuilder/CriteriaTypes/PayerPlanPeriod.js
index ac81f4b01..a32503af9 100644
--- a/js/components/cohortbuilder/CriteriaTypes/PayerPlanPeriod.js
+++ b/js/components/cohortbuilder/CriteriaTypes/PayerPlanPeriod.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period', 'conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Period, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period', 'conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Period, Concept, ConceptSetSelection) {
function PayerPlanPeriod(data, conceptSets) {
var self = this;
data = data || {};
@@ -39,6 +40,7 @@ define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/Period',
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
self.PayerConcept = ko.observable(data.PayerConcept != null ? ko.observable(data.PayerConcept) : null);
self.PlanConcept = ko.observable(data.PlanConcept != null ? ko.observable(data.PlanConcept) : null);
self.SponsorConcept = ko.observable(data.SponsorConcept != null ? ko.observable(data.SponsorConcept) : null);
diff --git a/js/components/cohortbuilder/CriteriaTypes/ProcedureOccurrence.js b/js/components/cohortbuilder/CriteriaTypes/ProcedureOccurrence.js
index c3853a4c8..87fc37f0c 100644
--- a/js/components/cohortbuilder/CriteriaTypes/ProcedureOccurrence.js
+++ b/js/components/cohortbuilder/CriteriaTypes/ProcedureOccurrence.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept'], function (ko, Criteria, Range, Concept) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function ProcedureOccurrence(data, conceptSets) {
var self = this;
@@ -28,10 +29,12 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.ProcedureTypeExclude = ko.observable(data.ProcedureTypeExclude || null);
-
+ self.ProcedureTypeCS = ko.observable(data.ProcedureTypeCS && new ConceptSetSelection(data.ProcedureTypeCS, conceptSets));
+
self.Modifier = ko.observable(data.Modifier && ko.observableArray(data.Modifier.map(function (d) {
return new Concept(d);
})));
+ self.ModifierCS = ko.observable(data.ModifierCS && new ConceptSetSelection(data.ModifierCS, conceptSets));
self.Quantity = ko.observable(data.Quantity && new Range(data.Quantity));
@@ -45,18 +48,17 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
-
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
+
self.VisitType = ko.observable(data.VisitType && ko.observableArray(data.VisitType.map(function (d) {
return new Concept(d);
})));
+ self.VisitTypeCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
}
diff --git a/js/components/cohortbuilder/CriteriaTypes/Specimen.js b/js/components/cohortbuilder/CriteriaTypes/Specimen.js
index 5fe50987c..ec54f35db 100644
--- a/js/components/cohortbuilder/CriteriaTypes/Specimen.js
+++ b/js/components/cohortbuilder/CriteriaTypes/Specimen.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text', '../InputTypes/ConceptSetSelection'
+], function (ko, Criteria, Range, Concept, Text, ConceptSetSelection) {
function Specimen(data, conceptSets) {
var self = this;
@@ -26,17 +27,21 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.SpecimenType = ko.observable(data.SpecimenType && ko.observableArray(data.SpecimenType.map(function (d) {
return new Concept(d);
})));
+ self.SpecimenTypeCS = ko.observable(data.SpecimenTypeCS && new ConceptSetSelection(data.SpecimenTypeCS, conceptSets));
self.SpecimenTypeExclude = ko.observable(data.SpecimenTypeExclude || null);
self.Quantity = ko.observable(data.Quantity && new Range(data.Quantity));
self.Unit = ko.observable(data.Unit && ko.observableArray(data.Unit.map(function (d) {
return new Concept(d);
})));
+ self.UnitCS = ko.observable(data.UnitCS && new ConceptSetSelection(data.UnitCS, conceptSets));
self.AnatomicSite = ko.observable(data.AnatomicSite && ko.observableArray(data.AnatomicSite.map(function (d) {
return new Concept(d);
})));
+ self.AnatomicSiteCS = ko.observable(data.AnatomicSiteCS && new ConceptSetSelection(data.AnatomicSiteCS, conceptSets));
self.DiseaseStatus = ko.observable(data.DiseaseStatus && ko.observableArray(data.DiseaseStatus.map(function (d) {
return new Concept(d);
})));
+ self.DiseaseStatusCS = ko.observable(data.DiseaseStatusCS && new ConceptSetSelection(data.DiseaseStatusCS, conceptSets));
self.SourceId = ko.observable(data.SourceId && new Text(data.SourceId));
// Derived Fields
@@ -47,6 +52,7 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
}
Specimen.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/CriteriaTypes/VisitDetail.js b/js/components/cohortbuilder/CriteriaTypes/VisitDetail.js
index 565a250d6..509d55dc1 100644
--- a/js/components/cohortbuilder/CriteriaTypes/VisitDetail.js
+++ b/js/components/cohortbuilder/CriteriaTypes/VisitDetail.js
@@ -27,7 +27,6 @@ define(['knockout', './Criteria', '../InputTypes/Range', '../InputTypes/ConceptS
self.VisitDetailStartDate = ko.observable(data.VisitDetailStartDate && new Range(data.VisitDetailStartDate));
self.VisitDetailEndDate = ko.observable(data.VisitDetailEndDate && new Range(data.VisitDetailEndDate));
self.VisitDetailTypeCS = ko.observable(data.VisitDetailTypeCS && new ConceptSetSelection(data.VisitDetailTypeCS, conceptSets));
- self.VisitDetailTypeExclude = ko.observable(data.VisitDetailTypeExclude || null);
self.VisitDetailSourceConcept = ko.observable(data.VisitDetailSourceConcept != null ? ko.observable(data.VisitDetailSourceConcept) : null);
self.VisitDetailLength = ko.observable(data.VisitDetailLength && new Range(data.VisitDetailLength));
diff --git a/js/components/cohortbuilder/CriteriaTypes/VisitOccurrence.js b/js/components/cohortbuilder/CriteriaTypes/VisitOccurrence.js
index 041c9c16a..a5eff1c7d 100644
--- a/js/components/cohortbuilder/CriteriaTypes/VisitOccurrence.js
+++ b/js/components/cohortbuilder/CriteriaTypes/VisitOccurrence.js
@@ -1,4 +1,5 @@
-define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/Text'], function (ko, Criteria, Range, Concept, Text) {
+define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputTypes/Concept', '../InputTypes/ConceptSetSelection',
+], function (ko, Criteria, Range, Concept, ConceptSetSelection) {
function VisitOccurence(data, conceptSets) {
var self = this;
@@ -29,6 +30,7 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
return new Concept(d);
})));
self.VisitTypeExclude = ko.observable(data.VisitTypeExclude || null);
+ self.VisitTypeCS = ko.observable(data.VisitTypeCS && new ConceptSetSelection(data.VisitTypeCS, conceptSets));
self.VisitSourceConcept = ko.observable(data.VisitSourceConcept != null ? ko.observable(data.VisitSourceConcept) : null);
self.VisitLength = ko.observable(data.VisitLength && new Range(data.VisitLength));
@@ -40,22 +42,19 @@ define(['knockout', './Criteria', '../InputTypes/Range','conceptpicker/InputType
self.Gender = ko.observable(data.Gender && ko.observableArray(data.Gender.map(function (d) {
return new Concept(d);
})));
+ self.GenderCS = ko.observable(data.GenderCS && new ConceptSetSelection(data.GenderCS, conceptSets));
- /* Do we still need prior enroll days inside the individual criteria?
- self.PriorEnrollDays = ko.observable((typeof data.PriorEnrollDays == "number") ? data.PriorEnrollDays : null);
- self.AfterEnrollDays = ko.observable((typeof data.AfterEnrollDays == "number") ? data.AfterEnrollDays : null);
- */
-
self.ProviderSpecialty = ko.observable(data.ProviderSpecialty && ko.observableArray(data.ProviderSpecialty.map(function (d) {
return new Concept(d);
})));
+ self.ProviderSpecialtyCS = ko.observable(data.ProviderSpecialtyCS && new ConceptSetSelection(data.ProviderSpecialtyCS, conceptSets));
self.PlaceOfService = ko.observable(data.PlaceOfService && ko.observableArray(data.PlaceOfService.map(function (d) {
return new Concept(d);
})));
+ self.PlaceOfServiceCS = ko.observable(data.PlaceOfServiceCS && new ConceptSetSelection(data.PlaceOfServiceCS, conceptSets));
self.PlaceOfServiceLocation = ko.observable(data.PlaceOfServiceLocation != null ? ko.observable(data.PlaceOfServiceLocation) : null);
- self.PlaceOfServiceDistance = ko.observable(data.PlaceOfServiceDistance && new Range(data.PlaceOfServiceDistance));
}
VisitOccurence.prototype = new Criteria();
diff --git a/js/components/cohortbuilder/components/ConditionEra.js b/js/components/cohortbuilder/components/ConditionEra.js
index 5bc184440..2946e4752 100644
--- a/js/components/cohortbuilder/components/ConditionEra.js
+++ b/js/components/cohortbuilder/components/ConditionEra.js
@@ -4,10 +4,11 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./ConditionEraTemplate.html",
"../const",
-], function (ko, options, utils, Range, DateAdjustment, CriteriaGroup, template, constants) {
+], function (ko, options, utils, Range, DateAdjustment, ConceptSetSelection, CriteriaGroup, template, constants) {
function ConditionEraViewModel(params) {
var self = this;
self.expression = ko.utils.unwrapObservable(params.expression);
@@ -57,6 +58,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.eraAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.eraAttributes.addStartDate,
selected: false,
diff --git a/js/components/cohortbuilder/components/ConditionEraTemplate.html b/js/components/cohortbuilder/components/ConditionEraTemplate.html
index 1a537a9bd..d9819ebbc 100644
--- a/js/components/cohortbuilder/components/ConditionEraTemplate.html
+++ b/js/components/cohortbuilder/components/ConditionEraTemplate.html
@@ -104,6 +104,18 @@
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/ConditionOccurrence.js b/js/components/cohortbuilder/components/ConditionOccurrence.js
index 46b53fe7d..161adb007 100644
--- a/js/components/cohortbuilder/components/ConditionOccurrence.js
+++ b/js/components/cohortbuilder/components/ConditionOccurrence.js
@@ -5,6 +5,7 @@ define([
"../InputTypes/Range",
"../InputTypes/Text",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./ConditionOccurrenceTemplate.html",
"../const",
@@ -16,6 +17,7 @@ define([
Range,
Text,
DateAdjustment,
+ ConceptSetSelection,
CriteriaGroup,
template,
constants
@@ -60,6 +62,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.occurrenceAttributes.addConditionStatus,
selected: false,
@@ -68,6 +78,14 @@ define([
self.Criteria.ConditionStatus(ko.observableArray());
}
},
+ {
+ ...constants.occurrenceAttributes.addConditionStatusCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ConditionStatusCS() == null)
+ self.Criteria.ConditionStatusCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ }
+ },
{
...constants.occurrenceAttributes.addStartDate,
selected: false,
@@ -107,6 +125,14 @@ define([
self.Criteria.ConditionType(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ConditionTypeCS() == null)
+ self.Criteria.ConditionTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.occurrenceAttributes.addVisit,
selected: false,
@@ -115,6 +141,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.occurrenceAttributes.addStopReason,
selected: false,
@@ -143,6 +177,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.occurrenceAttributes.addNested,
selected: false,
diff --git a/js/components/cohortbuilder/components/ConditionOccurrenceTemplate.html b/js/components/cohortbuilder/components/ConditionOccurrenceTemplate.html
index 06d15cb76..aa49a0343 100644
--- a/js/components/cohortbuilder/components/ConditionOccurrenceTemplate.html
+++ b/js/components/cohortbuilder/components/ConditionOccurrenceTemplate.html
@@ -76,6 +76,19 @@
|
+
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -88,6 +101,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -129,24 +154,18 @@
|
-
|
@@ -159,6 +178,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -169,6 +200,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/CriteriaGroupTemplate.html b/js/components/cohortbuilder/components/CriteriaGroupTemplate.html
index c3205f73d..ecb8d9f5e 100644
--- a/js/components/cohortbuilder/components/CriteriaGroupTemplate.html
+++ b/js/components/cohortbuilder/components/CriteriaGroupTemplate.html
@@ -51,8 +51,6 @@
-
|
@@ -81,7 +79,7 @@
data-bind="text: ko.i18n('components.criteriaGroup.withFollowingCriteria', 'with the following event criteria:')">
-
+
diff --git a/js/components/cohortbuilder/components/Death.js b/js/components/cohortbuilder/components/Death.js
index 0ab798585..9ed29eaf1 100644
--- a/js/components/cohortbuilder/components/Death.js
+++ b/js/components/cohortbuilder/components/Death.js
@@ -4,6 +4,7 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./DeathTemplate.html",
"../const",
@@ -13,6 +14,7 @@ define([
utils,
Range,
DateAdjustment,
+ ConceptSetSelection,
CriteriaGroup,
template,
constants
@@ -36,6 +38,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deathAttributes.addDate,
selected: false,
@@ -63,6 +73,14 @@ define([
self.Criteria.DeathType(ko.observableArray());
},
},
+ {
+ ...constants.deathAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.DeathTypeCS() == null)
+ self.Criteria.DeathTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deathAttributes.addSourceConcept,
selected: false,
diff --git a/js/components/cohortbuilder/components/DeathTemplate.html b/js/components/cohortbuilder/components/DeathTemplate.html
index 9642f79d3..36ec5dc12 100644
--- a/js/components/cohortbuilder/components/DeathTemplate.html
+++ b/js/components/cohortbuilder/components/DeathTemplate.html
@@ -62,6 +62,18 @@
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -95,6 +107,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -103,20 +127,6 @@
|
-
\ No newline at end of file
diff --git a/js/components/cohortbuilder/components/DemographicCriteria.js b/js/components/cohortbuilder/components/DemographicCriteria.js
index 10343255e..7148a4f73 100644
--- a/js/components/cohortbuilder/components/DemographicCriteria.js
+++ b/js/components/cohortbuilder/components/DemographicCriteria.js
@@ -3,12 +3,14 @@ define([
"../options",
"../InputTypes/Range",
"../utils",
+ '../InputTypes/ConceptSetSelection',
"text!./DemographicCriteriaTemplate.html",
"../const",
"./ConceptSetSelector",
-], function (ko, options, Range, utils, template, constants) {
+], function (ko, options, Range, utils, ConceptSetSelection, template, constants, ) {
function DemographicCriteriaViewModel(params) {
var self = this;
+ self.expression = ko.utils.unwrapObservable(params.expression);
self.Criteria = ko.utils.unwrapObservable(params.criteria);
self.options = options;
self.formatOption = utils.formatDropDownOption;
@@ -28,6 +30,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.demographicAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.demographicAttributes.addStartDate,
selected: false,
@@ -60,6 +70,14 @@ define([
self.Criteria.Race(ko.observableArray());
},
},
+ {
+ ...constants.demographicAttributes.addRaceCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.RaceCS() == null)
+ self.Criteria.RaceCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.demographicAttributes.addEthnicity,
selected: false,
@@ -68,6 +86,14 @@ define([
self.Criteria.Ethnicity(ko.observableArray());
},
},
+ {
+ ...constants.demographicAttributes.addEthnicityCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.EthnicityCS() == null)
+ self.Criteria.EthnicityCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
];
self.removeCriterion = function (propertyName) {
diff --git a/js/components/cohortbuilder/components/DemographicCriteriaTemplate.html b/js/components/cohortbuilder/components/DemographicCriteriaTemplate.html
index 140cf19bb..e28741d76 100644
--- a/js/components/cohortbuilder/components/DemographicCriteriaTemplate.html
+++ b/js/components/cohortbuilder/components/DemographicCriteriaTemplate.html
@@ -34,6 +34,18 @@
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -43,6 +55,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -52,6 +76,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
diff --git a/js/components/cohortbuilder/components/DeviceExposure.js b/js/components/cohortbuilder/components/DeviceExposure.js
index 35a9938ae..e650af157 100644
--- a/js/components/cohortbuilder/components/DeviceExposure.js
+++ b/js/components/cohortbuilder/components/DeviceExposure.js
@@ -5,6 +5,7 @@ define([
"../InputTypes/Range",
"../InputTypes/Text",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./DeviceExposureTemplate.html",
"../const",
@@ -15,6 +16,7 @@ define([
Range,
Text,
DateAdjustment,
+ ConceptSetSelection,
CriteriaGroup,
template,
constants
@@ -56,6 +58,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.deviceAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deviceAttributes.addStartDate,
selected: false,
@@ -95,6 +105,14 @@ define([
self.Criteria.DeviceType(ko.observableArray());
},
},
+ {
+ ...constants.deviceAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.DeviceTypeCS() == null)
+ self.Criteria.DeviceTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deviceAttributes.addVisit,
selected: false,
@@ -103,6 +121,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.deviceAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deviceAttributes.addUniqueId,
selected: false,
@@ -143,6 +169,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.deviceAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.deviceAttributes.addNested,
selected: false,
diff --git a/js/components/cohortbuilder/components/DeviceExposureTemplate.html b/js/components/cohortbuilder/components/DeviceExposureTemplate.html
index 4b2e71060..de0bfa4f7 100644
--- a/js/components/cohortbuilder/components/DeviceExposureTemplate.html
+++ b/js/components/cohortbuilder/components/DeviceExposureTemplate.html
@@ -78,6 +78,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -124,6 +136,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -137,6 +161,18 @@
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -146,6 +182,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/DoseEra.js b/js/components/cohortbuilder/components/DoseEra.js
index 9fede622c..ded07ef9b 100644
--- a/js/components/cohortbuilder/components/DoseEra.js
+++ b/js/components/cohortbuilder/components/DoseEra.js
@@ -4,10 +4,11 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./DoseEraTemplate.html",
"../const",
-], function (ko, options, utils, Range, DateAdjustment, CriteriaGroup, template, constants) {
+], function (ko, options, utils, Range, DateAdjustment, ConceptSetSelection, CriteriaGroup, template, constants) {
function DoseEraViewModel(params) {
var self = this;
self.expression = ko.utils.unwrapObservable(params.expression);
@@ -45,6 +46,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.doseAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.doseAttributes.addStartDate,
selected: false,
@@ -84,6 +93,14 @@ define([
self.Criteria.Unit(ko.observableArray());
},
},
+ {
+ ...constants.doseAttributes.addUnitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.UnitCS() == null)
+ self.Criteria.UnitCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.doseAttributes.addLength,
selected: false,
diff --git a/js/components/cohortbuilder/components/DoseEraTemplate.html b/js/components/cohortbuilder/components/DoseEraTemplate.html
index bdf8ae576..6dd8e4018 100644
--- a/js/components/cohortbuilder/components/DoseEraTemplate.html
+++ b/js/components/cohortbuilder/components/DoseEraTemplate.html
@@ -74,6 +74,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -120,7 +132,20 @@
|
-
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+
|
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/DrugExposure.js b/js/components/cohortbuilder/components/DrugExposure.js
index e1674c2c1..02962de48 100644
--- a/js/components/cohortbuilder/components/DrugExposure.js
+++ b/js/components/cohortbuilder/components/DrugExposure.js
@@ -4,6 +4,7 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../InputTypes/Text",
"../CriteriaGroup",
"text!./DrugExposureTemplate.html",
@@ -14,6 +15,7 @@ define([
utils,
Range,
DateAdjustment,
+ ConceptSetSelection,
Text,
CriteriaGroup,
template,
@@ -55,6 +57,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addStartDate,
selected: false,
@@ -94,6 +104,14 @@ define([
self.Criteria.DrugType(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.DrugTypeCS() == null)
+ self.Criteria.DrugTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addVisit,
selected: false,
@@ -102,6 +120,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addStopReason,
selected: false,
@@ -158,6 +184,14 @@ define([
self.Criteria.RouteConcept(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addRouteCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.RouteConceptCS() == null)
+ self.Criteria.RouteConceptCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addEffective,
selected: false,
@@ -178,6 +212,14 @@ define([
self.Criteria.DoseUnit(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addUnitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.DoseUnitCS() == null)
+ self.Criteria.DoseUnitCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addLotNumber,
selected: false,
@@ -206,6 +248,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.drugexposureAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.drugexposureAttributes.addNested,
selected: false,
diff --git a/js/components/cohortbuilder/components/DrugExposureTemplate.html b/js/components/cohortbuilder/components/DrugExposureTemplate.html
index d7a4b7878..c1211a8cb 100644
--- a/js/components/cohortbuilder/components/DrugExposureTemplate.html
+++ b/js/components/cohortbuilder/components/DrugExposureTemplate.html
@@ -81,6 +81,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -127,6 +139,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -146,6 +170,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -189,20 +225,18 @@
|
-
|
@@ -216,6 +250,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -226,6 +272,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/Measurement.js b/js/components/cohortbuilder/components/Measurement.js
index d98991d00..741d04170 100644
--- a/js/components/cohortbuilder/components/Measurement.js
+++ b/js/components/cohortbuilder/components/Measurement.js
@@ -4,10 +4,11 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./MeasurementTemplate.html",
"../const"
-], function (ko, options, utils, Range, DateAdjustment, CriteriaGroup, template, constants) {
+], function (ko, options, utils, Range, DateAdjustment, ConceptSetSelection, CriteriaGroup, template, constants) {
function MeasurementViewModel(params) {
var self = this;
@@ -38,6 +39,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addDate,
selected: false,
@@ -65,6 +74,14 @@ define([
self.Criteria.MeasurementType(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.MeasurementTypeCS() == null)
+ self.Criteria.MeasurementTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addVisit,
selected: false,
@@ -73,6 +90,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addOperator,
selected: false,
@@ -81,6 +106,14 @@ define([
self.Criteria.Operator(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addOperatorCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.OperatorCS() == null)
+ self.Criteria.OperatorCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addValue,
selected: false,
@@ -97,6 +130,14 @@ define([
self.Criteria.ValueAsConcept(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addValueAsConceptCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ValueAsConceptCS() == null)
+ self.Criteria.ValueAsConceptCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addUnit,
selected: false,
@@ -105,6 +146,14 @@ define([
self.Criteria.Unit(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addUnitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.UnitCS() == null)
+ self.Criteria.UnitCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addAbnormal,
selected: false,
@@ -152,6 +201,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.measurementAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.measurementAttributes.addSourceConcept,
selected: false,
diff --git a/js/components/cohortbuilder/components/MeasurementTemplate.html b/js/components/cohortbuilder/components/MeasurementTemplate.html
index 85c349a2e..b1edd4dec 100644
--- a/js/components/cohortbuilder/components/MeasurementTemplate.html
+++ b/js/components/cohortbuilder/components/MeasurementTemplate.html
@@ -57,6 +57,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -65,6 +77,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -80,6 +104,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -88,6 +124,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -156,20 +204,18 @@
|
-
|
@@ -180,6 +226,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -188,6 +246,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/Observation.js b/js/components/cohortbuilder/components/Observation.js
index 975b50637..b697cad22 100644
--- a/js/components/cohortbuilder/components/Observation.js
+++ b/js/components/cohortbuilder/components/Observation.js
@@ -4,11 +4,12 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../InputTypes/Text",
"../CriteriaGroup",
"text!./ObservationTemplate.html",
"../const"
-], function (ko, options, utils, Range, DateAdjustment, Text, CriteriaGroup, template, constants) {
+], function (ko, options, utils, Range, DateAdjustment, ConceptSetSelection, Text, CriteriaGroup, template, constants) {
function ObservationViewModel(params) {
var self = this;
self.addActions = [
@@ -34,6 +35,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addDate,
selected: false,
@@ -61,6 +70,14 @@ define([
self.Criteria.ObservationType(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ObservationTypeCS() == null)
+ self.Criteria.ObservationTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addVisit,
selected: false,
@@ -69,6 +86,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addValue,
selected: false,
@@ -101,6 +126,14 @@ define([
self.Criteria.ValueAsConcept(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addValueAsConceptCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ValueAsConceptCS() == null)
+ self.Criteria.ValueAsConceptCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addQualifier,
selected: false,
@@ -109,6 +142,14 @@ define([
self.Criteria.Qualifier(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addQualifierCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.QualifierCS() == null)
+ self.Criteria.QualifierCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addUnit,
selected: false,
@@ -117,6 +158,14 @@ define([
self.Criteria.Unit(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addUnitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.UnitCS() == null)
+ self.Criteria.UnitCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addSourceConcept,
selected: false,
@@ -133,6 +182,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.observationAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationAttributes.addNested,
selected: false,
diff --git a/js/components/cohortbuilder/components/ObservationPeriod.js b/js/components/cohortbuilder/components/ObservationPeriod.js
index a1d4229af..5722a3a56 100644
--- a/js/components/cohortbuilder/components/ObservationPeriod.js
+++ b/js/components/cohortbuilder/components/ObservationPeriod.js
@@ -3,11 +3,12 @@ define([
"../options",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../InputTypes/Period",
"../CriteriaGroup",
"text!./ObservationPeriodTemplate.html",
"../const"
-], function (ko, options, Range, DateAdjustment, Period, CriteriaGroup, template, constants) {
+], function (ko, options, Range, DateAdjustment, ConceptSetSelection, Period, CriteriaGroup, template, constants) {
function ObservationPeriodViewModel(params) {
var self = this;
@@ -86,6 +87,14 @@ define([
self.Criteria.PeriodType(ko.observableArray());
},
},
+ {
+ ...constants.observationPeriodAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.PeriodTypeCS() == null)
+ self.Criteria.PeriodTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.observationPeriodAttributes.addLength,
selected: false,
diff --git a/js/components/cohortbuilder/components/ObservationPeriodTemplate.html b/js/components/cohortbuilder/components/ObservationPeriodTemplate.html
index 29161da04..40566f3d7 100644
--- a/js/components/cohortbuilder/components/ObservationPeriodTemplate.html
+++ b/js/components/cohortbuilder/components/ObservationPeriodTemplate.html
@@ -77,6 +77,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/ObservationTemplate.html b/js/components/cohortbuilder/components/ObservationTemplate.html
index ff9a3d042..6d04700d2 100644
--- a/js/components/cohortbuilder/components/ObservationTemplate.html
+++ b/js/components/cohortbuilder/components/ObservationTemplate.html
@@ -52,7 +52,6 @@
|
-
|
@@ -62,6 +61,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -88,6 +99,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -98,6 +121,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -108,6 +143,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -137,20 +184,18 @@
|
-
|
@@ -161,6 +206,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -169,6 +226,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/PayerPlanPeriod.js b/js/components/cohortbuilder/components/PayerPlanPeriod.js
index 3709dfb4c..e80a3f71b 100644
--- a/js/components/cohortbuilder/components/PayerPlanPeriod.js
+++ b/js/components/cohortbuilder/components/PayerPlanPeriod.js
@@ -3,11 +3,12 @@ define([
"../options",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../InputTypes/Period",
"../CriteriaGroup",
"text!./PayerPlanPeriodTemplate.html",
"../const"
-], function (ko, options, Range, DateAdjustment, Period, CriteriaGroup, template, constants) {
+], function (ko, options, Range, DateAdjustment, ConceptSetSelection, Period, CriteriaGroup, template, constants) {
function PayerPlanPeriodViewModel(params) {
var self = this;
@@ -94,6 +95,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.payerPlanAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.payerPlanAttributes.addPayerConcept,
selected: false,
diff --git a/js/components/cohortbuilder/components/PayerPlanPeriodTemplate.html b/js/components/cohortbuilder/components/PayerPlanPeriodTemplate.html
index 75d75a3eb..e7a3410b3 100644
--- a/js/components/cohortbuilder/components/PayerPlanPeriodTemplate.html
+++ b/js/components/cohortbuilder/components/PayerPlanPeriodTemplate.html
@@ -79,6 +79,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/ProcedureOccurrence.js b/js/components/cohortbuilder/components/ProcedureOccurrence.js
index 8b317bc89..9e5647584 100644
--- a/js/components/cohortbuilder/components/ProcedureOccurrence.js
+++ b/js/components/cohortbuilder/components/ProcedureOccurrence.js
@@ -4,6 +4,7 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./ProcedureOccurrenceTemplate.html",
"../const",
@@ -13,6 +14,7 @@ define([
utils,
Range,
DateAdjustment,
+ ConceptSetSelection,
CriteriaGroup,
template,
constants
@@ -42,6 +44,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.occurrenceAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.procedureOccurrenceAttributes.addDate,
selected: false,
@@ -69,6 +79,14 @@ define([
self.Criteria.ProcedureType(ko.observableArray());
},
},
+ {
+ ...constants.procedureOccurrenceAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProcedureTypeCS() == null)
+ self.Criteria.ProcedureTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.procedureOccurrenceAttributes.addVisit,
selected: false,
@@ -77,6 +95,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.procedureOccurrenceAttributes.addVisitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.procedureOccurrenceAttributes.addModifier,
selected: false,
@@ -85,6 +111,14 @@ define([
self.Criteria.Modifier(ko.observableArray());
},
},
+ {
+ ...constants.procedureOccurrenceAttributes.addModifierCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ModifierCS() == null)
+ self.Criteria.ModifierCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.procedureOccurrenceAttributes.addQuantity,
selected: false,
@@ -113,6 +147,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.procedureOccurrenceAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.procedureOccurrenceAttributes.addNested,
selected: false,
diff --git a/js/components/cohortbuilder/components/ProcedureOccurrenceTemplate.html b/js/components/cohortbuilder/components/ProcedureOccurrenceTemplate.html
index e073b0ff8..8fe4372e5 100644
--- a/js/components/cohortbuilder/components/ProcedureOccurrenceTemplate.html
+++ b/js/components/cohortbuilder/components/ProcedureOccurrenceTemplate.html
@@ -64,6 +64,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -71,6 +83,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -106,20 +130,18 @@
|
-
|
@@ -130,6 +152,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -138,6 +172,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/Specimen.js b/js/components/cohortbuilder/components/Specimen.js
index f32b46eae..0761684e9 100644
--- a/js/components/cohortbuilder/components/Specimen.js
+++ b/js/components/cohortbuilder/components/Specimen.js
@@ -4,11 +4,12 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../InputTypes/Text",
"../CriteriaGroup",
"text!./SpecimenTemplate.html",
"../const"
-], function (ko, options, utils, Range, DateAdjustment, Text, CriteriaGroup, template, constants) {
+], function (ko, options, utils, Range, DateAdjustment, ConceptSetSelection, Text, CriteriaGroup, template, constants) {
function SpecimenViewModel(params) {
var self = this;
self.expression = ko.utils.unwrapObservable(params.expression);
@@ -38,6 +39,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.specimenAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.specimenAttributes.addDate,
selected: false,
@@ -65,6 +74,14 @@ define([
self.Criteria.SpecimenType(ko.observableArray());
},
},
+ {
+ ...constants.specimenAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.SpecimenTypeCS() == null)
+ self.Criteria.SpecimenTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.specimenAttributes.addQuantity,
selected: false,
@@ -85,6 +102,14 @@ define([
self.Criteria.Unit(ko.observableArray());
},
},
+ {
+ ...constants.specimenAttributes.addUnitCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.UnitCS() == null)
+ self.Criteria.UnitCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.specimenAttributes.addAnatomicSite,
selected: false,
@@ -93,6 +118,14 @@ define([
self.Criteria.AnatomicSite(ko.observableArray());
},
},
+ {
+ ...constants.specimenAttributes.addAnatomicSiteCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.AnatomicSiteCS() == null)
+ self.Criteria.AnatomicSiteCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.specimenAttributes.addDiseaseStatus,
selected: false,
@@ -101,6 +134,14 @@ define([
self.Criteria.DiseaseStatus(ko.observableArray());
},
},
+ {
+ ...constants.specimenAttributes.addDiseaseStatusCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.DiseaseStatusCS() == null)
+ self.Criteria.DiseaseStatusCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.specimenAttributes.addSourceId,
selected: false,
diff --git a/js/components/cohortbuilder/components/SpecimenTemplate.html b/js/components/cohortbuilder/components/SpecimenTemplate.html
index 6686a1a23..e5930e1dd 100644
--- a/js/components/cohortbuilder/components/SpecimenTemplate.html
+++ b/js/components/cohortbuilder/components/SpecimenTemplate.html
@@ -52,7 +52,6 @@
|
-
|
@@ -62,6 +61,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -80,6 +91,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -90,6 +113,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -100,6 +135,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -126,6 +173,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
diff --git a/js/components/cohortbuilder/components/VisitDetail.js b/js/components/cohortbuilder/components/VisitDetail.js
index ed6955adf..3ea184d1c 100644
--- a/js/components/cohortbuilder/components/VisitDetail.js
+++ b/js/components/cohortbuilder/components/VisitDetail.js
@@ -40,7 +40,7 @@ define([
},
},
{
- ...constants.visitDetailAttributes.addGender,
+ ...constants.visitDetailAttributes.addGenderCS,
selected: false,
action: function () {
if (self.Criteria.GenderCS() == null)
@@ -79,7 +79,7 @@ define([
},
},
{
- ...constants.visitDetailAttributes.addType,
+ ...constants.visitDetailAttributes.addTypeCS,
selected: false,
action: function () {
if (self.Criteria.VisitDetailTypeCS() == null)
@@ -103,7 +103,7 @@ define([
},
},
{
- ...constants.visitDetailAttributes.addProviderSpecialty,
+ ...constants.visitDetailAttributes.addProviderSpecialtyCS,
selected: false,
action: function () {
if (self.Criteria.ProviderSpecialtyCS() == null)
@@ -111,7 +111,7 @@ define([
},
},
{
- ...constants.visitDetailAttributes.addPlaceService,
+ ...constants.visitDetailAttributes.addPlaceServiceCS,
selected: false,
action: function () {
if (self.Criteria.PlaceOfServiceCS() == null)
diff --git a/js/components/cohortbuilder/components/VisitDetailTemplate.html b/js/components/cohortbuilder/components/VisitDetailTemplate.html
index 2edbb4928..ceb9163db 100644
--- a/js/components/cohortbuilder/components/VisitDetailTemplate.html
+++ b/js/components/cohortbuilder/components/VisitDetailTemplate.html
@@ -68,12 +68,11 @@
| |
-
+
-
+
|
@@ -84,16 +83,15 @@
-
+
|
-
+
|
@@ -110,11 +108,11 @@
|
-
+
-
+
|
@@ -122,12 +120,11 @@
|
-
+
-
+
|
@@ -135,10 +132,10 @@
|
-
+
-
+
|
@@ -149,28 +146,15 @@
-
-
-
-
-
- |
-
-
-
-
-
+
|
|
-
-
+
|
diff --git a/js/components/cohortbuilder/components/VisitOccurrence.js b/js/components/cohortbuilder/components/VisitOccurrence.js
index b0cdce90e..c81c090a5 100644
--- a/js/components/cohortbuilder/components/VisitOccurrence.js
+++ b/js/components/cohortbuilder/components/VisitOccurrence.js
@@ -5,6 +5,7 @@ define([
"../utils",
"../InputTypes/Range",
"../InputTypes/DateAdjustment",
+ "../InputTypes/ConceptSetSelection",
"../CriteriaGroup",
"text!./VisitOccurrenceTemplate.html",
"../const",
@@ -15,6 +16,7 @@ define([
utils,
Range,
DateAdjustment,
+ ConceptSetSelection,
CriteriaGroup,
template,
constants
@@ -44,6 +46,14 @@ define([
self.Criteria.Gender(ko.observableArray());
},
},
+ {
+ ...constants.visitAttributes.addGenderCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.GenderCS() == null)
+ self.Criteria.GenderCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.visitAttributes.addStartDate,
selected: false,
@@ -83,6 +93,14 @@ define([
self.Criteria.VisitType(ko.observableArray());
},
},
+ {
+ ...constants.visitAttributes.addTypeCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.VisitTypeCS() == null)
+ self.Criteria.VisitTypeCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.visitAttributes.addLength,
selected: false,
@@ -107,6 +125,14 @@ define([
self.Criteria.ProviderSpecialty(ko.observableArray());
},
},
+ {
+ ...constants.visitAttributes.addProviderSpecialtyCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.ProviderSpecialtyCS() == null)
+ self.Criteria.ProviderSpecialtyCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.visitAttributes.addPlaceService,
selected: false,
@@ -115,6 +141,14 @@ define([
self.Criteria.PlaceOfService(ko.observableArray());
},
},
+ {
+ ...constants.visitAttributes.addPlaceServiceCS,
+ selected: false,
+ action: function () {
+ if (self.Criteria.PlaceOfServiceCS() == null)
+ self.Criteria.PlaceOfServiceCS(new ConceptSetSelection({}, self.expression.ConceptSets));
+ },
+ },
{
...constants.visitAttributes.addPlaceServiceLocation,
selected: false,
diff --git a/js/components/cohortbuilder/components/VisitOccurrenceTemplate.html b/js/components/cohortbuilder/components/VisitOccurrenceTemplate.html
index bf549e90f..9cd2e181d 100644
--- a/js/components/cohortbuilder/components/VisitOccurrenceTemplate.html
+++ b/js/components/cohortbuilder/components/VisitOccurrenceTemplate.html
@@ -76,6 +76,18 @@
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -117,6 +129,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -130,6 +154,18 @@
|
+
+ |
+
+
+
+
+
+
+
+ |
+
|
@@ -142,26 +178,27 @@
|
-
- |
+
+ |
-
-
-
+
+
+
+
|
-
- |
+
+ |
+ data-bind="text: ko.i18n('components.conditionVisit.conditionSpecimeText_11', 'with a Place of Service located in:')">
-
+
|
diff --git a/js/components/cohortbuilder/const.js b/js/components/cohortbuilder/const.js
index 92cb8edf9..8f7bc4f8f 100644
--- a/js/components/cohortbuilder/const.js
+++ b/js/components/cohortbuilder/const.js
@@ -410,6 +410,68 @@ define(["knockout"], function (ko) {
descriptionDemographic: 'const.eventsList.addGender.desc_demographic',
defaultDescriptionDemographic: 'Filter events based on Gender.',
},
+ addGenderCS: {
+ titleEra: 'const.eventsList.addGenderCS.title_era',
+ defaultTitleEra: 'Add Gender Criteria',
+ descriptionEra: 'const.eventsList.addGenderCS.desc_era',
+ defaultDescriptionEra: 'Filter Condition Eras based on Gender.',
+ titleOccurrence: 'const.eventsList.addGenderCS.title_occurrence',
+ defaultTitleOccurrence: 'Add Gender',
+ descriptionOccurrence: 'const.eventsList.addGenderCS.desc_occurrence',
+ defaultDescriptionOccurrence: 'Filter Condition Occurrences based on Gender.',
+ titleDeath: 'const.eventsList.addGenderCS.title_death',
+ defaultTitleDeath: 'Add Gender Criteria',
+ descriptionDeath: 'const.eventsList.addGenderCS.desc_death',
+ defaultDescriptionDeath: 'Filter Deaths based on Gender.',
+ titleDevice: 'const.eventsList.addGenderCS.title_deviceexposure',
+ defaultTitleDevice: 'Add Gender Criteria',
+ descriptionDevice: 'const.eventsList.addGenderCS.desc_deviceexposure',
+ defaultDescriptionDevice: 'Filter Device Exposures based on Gender.',
+ titleDose: 'const.eventsList.addGenderCS.title_dose',
+ defaultTitleDose: 'Add Gender Criteria',
+ descriptionDose: 'const.eventsList.addGenderCS.desc_dose',
+ defaultDescriptionDose: 'Filter Drug Eras based on Gender.',
+ titleDrug: 'const.eventsList.addGenderCS.title_drug',
+ defaultTitleDrug: 'Add Gender Criteria',
+ descriptionDrug: 'const.eventsList.addGenderCS.desc_drug',
+ defaultDescriptionDrug: 'Filter Drug Eras based on Gender.',
+ titleDrugexposure: 'const.eventsList.addGenderCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Gender Criteria',
+ descriptionDrugexposure: 'const.eventsList.addGenderCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures based on Gender.',
+ titleMeasurement: 'const.eventsList.addGenderCS.title_measurement',
+ defaultTitleMeasurement: 'Add Gender Criteria',
+ descriptionMeasurement: 'const.eventsList.addGenderCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements based on Gender.',
+ titleObservation: 'const.eventsList.addGenderCS.title_observation',
+ defaultTitleObservation: 'Add Gender Criteria',
+ descriptionObservation: 'const.eventsList.addGenderCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations based on Gender.',
+ titlePayerplan: 'const.eventsList.addGenderCS.title_payerplan',
+ defaultTitlePayerplan: 'Add Gender Criteria',
+ descriptionPayerplan: 'const.eventsList.addGenderCS.desc_payerplan',
+ defaultDescriptionPayerplan: 'Filter Payer Plan Periods based on Gender.',
+ titleProcedureoccurrence: 'const.eventsList.addGenderCS.title_procedureoccurrence',
+ defaultTitleProcedureoccurrence: 'Add Gender Criteria',
+ descriptionProcedureoccurrence: 'const.eventsList.addGenderCS.desc_procedureoccurrence',
+ defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences based on Gender.',
+ titleSpecimen: 'const.eventsList.addGenderCS.title_specimen',
+ defaultTitleSpecimen: 'Add Gender Criteria',
+ descriptionSpecimen: 'const.eventsList.addGenderCS.desc_specimen',
+ defaultDescriptionSpecimen: 'Filter specimens based on Gender.',
+ titleVisit: 'const.eventsList.addGenderCS.title_visit',
+ defaultTitleVisit: 'Add Gender Criteria',
+ descriptionVisit: 'const.eventsList.addGenderCS.desc_visit',
+ defaultDescriptionVisit: 'Filter Visit Occurrences based on Gender.',
+ titleVisitdetail: 'const.eventsList.addGenderCS.title_visitDetail',
+ defaultTitleVisitdetail: 'Add Gender Criteria',
+ descriptionVisitdetail: 'const.eventsList.addGenderCS.desc_visitDetail',
+ defaultDescriptionVisitdetail: 'Filter Visit Detail based on Gender.',
+ titleDemographic: 'const.eventsList.addGenderCS.title_demographic',
+ defaultTitleDemographic: 'Add Gender Criteria',
+ descriptionDemographic: 'const.eventsList.addGenderCS.desc_demographic',
+ defaultDescriptionDemographic: 'Filter events based on Gender.',
+ },
addDate:{
titleDeath: 'const.eventsList.addDate.title_death',
defaultTitleDeath: 'Add Death Date Criteria',
@@ -552,6 +614,28 @@ define(["knockout"], function (ko) {
descriptionSpecimen: 'const.eventsList.addUnit.desc_specimen',
defaultDescriptionSpecimen: 'Filter Specimens by Unit.',
},
+ addUnitCS: {
+ titleDose: 'const.eventsList.addUnitCS.title_dose',
+ defaultTitleDose: 'Add Dose Unit Concept Set Criteria',
+ descriptionDose: 'const.eventsList.addUnitCS.desc_dose',
+ defaultDescriptionDose: 'Filter Dose Eras by the Unit.',
+ titleDrugexposure: 'const.eventsList.addUnitCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Dose Unit Concept Set Criteria',
+ descriptionDrugexposure: 'const.eventsList.addUnitCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures by Dose Unit.',
+ titleMeasurement: 'const.eventsList.addUnitCS.title_measurement',
+ defaultTitleMeasurement: 'Add Unit Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addUnitCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements by the Unit.',
+ titleObservation: 'const.eventsList.addUnitCS.title_observation',
+ defaultTitleObservation: 'Add Unit Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addUnitCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations by Unit.',
+ titleSpecimen: 'const.eventsList.addUnitCS.title_specimen',
+ defaultTitleSpecimen: 'Add Unit Concept Set Criteria',
+ descriptionSpecimen: 'const.eventsList.addUnitCS.desc_specimen',
+ defaultDescriptionSpecimen: 'Filter Specimens by Unit.',
+ },
addConditonCount: {
titleEra: 'const.eventsList.addConditonCount.title_era',
defaultTitleEra: 'Add Era Conditon Count Criteria',
@@ -714,6 +798,52 @@ define(["knockout"], function (ko) {
descriptionVisitdetail: 'const.eventsList.addType.desc_visitDetail',
defaultDescriptionVisitdetail: 'Filter Visit details by the Visit Type.',
},
+ addTypeCS: {
+ titleOccurrence: 'const.eventsList.addTypeCS.title_occurrence',
+ defaultTitleOccurrence: 'Add Condition Type Concept Set',
+ descriptionOccurrence: 'const.eventsList.addTypeCS.desc_occurrence',
+ defaultDescriptionOccurrence: 'Filter Condition Occurrences by the Condition Type.',
+ titleDeath: 'const.eventsList.addTypeCS.title_death',
+ defaultTitleDeath: 'Add Death Type Concept Set Criteria',
+ descriptionDeath: 'const.eventsList.addTypeCS.desc_death',
+ defaultDescriptionDeath: 'Filter by Death Type.',
+ titleDevice: 'const.eventsList.addTypeCS.title_deviceexposure',
+ defaultTitleDevice: 'Add Device Type Concept Set Criteria',
+ descriptionDevice: 'const.eventsList.addTypeCS.desc_deviceexposure',
+ defaultDescriptionDevice: 'Filter Device Exposures by the Exposure Type.',
+ titleDrugexposure: 'const.eventsList.addTypeCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Drug Type Concept Set Criteria',
+ descriptionDrugexposure: 'const.eventsList.addTypeCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures by the Drug Type.',
+ titleMeasurement: 'const.eventsList.addTypeCS.title_measurement',
+ defaultTitleMeasurement: 'Add Measurement Type Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addTypeCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements by the Measurement Type.',
+ titleObservation: 'const.eventsList.addTypeCS.title_observation',
+ defaultTitleObservation: 'Add Observation Type Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addTypeCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations by the Type.',
+ titleObservationperiod: 'const.eventsList.addTypeCS.title_observationperiod',
+ defaultTitleObservationperiod: 'Add Period Type Concept Set Criteria',
+ descriptionObservationperiod: 'const.eventsList.addTypeCS.desc_observationperiod',
+ defaultDescriptionObservationperiod: 'Filter Obsevation Periods by Type.',
+ titleProcedureoccurrence: 'const.eventsList.addTypeCS.title_procedureoccurrence',
+ defaultTitleProcedureoccurrence: 'Add Procedure Type Concept Set Criteria',
+ descriptionProcedureoccurrence: 'const.eventsList.addTypeCS.desc_procedureoccurrence',
+ defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences by the Procedure Type.',
+ titleSpecimen: 'const.eventsList.addTypeCS.title_specimen',
+ defaultTitleSpecimen: 'Add Specimen Type Concept Set Criteria',
+ descriptionSpecimen: 'const.eventsList.addTypeCS.desc_specimen',
+ defaultDescriptionSpecimen: 'Filter Specimen by the Type.',
+ titleVisit: 'const.eventsList.addTypeCS.title_visit',
+ defaultTitleVisit: 'Add Visit Type Concept Set Criteria',
+ descriptionVisit: 'const.eventsList.addTypeCS.desc_visit',
+ defaultDescriptionVisit: 'Filter Visit Occurrences by the Visit Type.',
+ titleVisitdetail: 'const.eventsList.addTypeCS.title_visitDetail',
+ defaultTitleVisitdetail: 'Add Visit detail Type Concept Set Criteria',
+ descriptionVisitdetail: 'const.eventsList.addTypeCS.desc_visitDetail',
+ defaultDescriptionVisitdetail: 'Filter Visit details by the Visit Type.',
+ },
addUserDefined: {
titleObservationperiod: 'const.eventsList.addUserDefined.title_observationperiod',
defaultTitleObservationperiod: '"Specify Start and End Dates',
@@ -798,20 +928,66 @@ define(["knockout"], function (ko) {
descriptionVisitdetail: 'const.eventsList.addProviderSpecialty.desc_visitDetail',
defaultDescriptionVisitdetail: 'Filter Visit detail based on provider specialty.',
},
+ addProviderSpecialtyCS: {
+ titleOccurrence: 'const.eventsList.addProviderSpecialtyCS.title_occurrence',
+ defaultTitleOccurrence: 'Add Provider Specialty Concept Set',
+ descriptionOccurrence: 'const.eventsList.addProviderSpecialtyCS.desc_occurrence',
+ defaultDescriptionOccurrence: 'Filter Condition Occurrences based on provider specialty Concept Set.',
+ titleDevice: 'const.eventsList.addProviderSpecialtyCS.title_deviceexposure',
+ defaultTitleDevice: 'Add Provider Specialty Concept Set Criteria',
+ descriptionDevice: 'const.eventsList.addProviderSpecialtyCS.desc_deviceexposure',
+ defaultDescriptionDevice: 'Filter Device Exposures based on provider specialty.',
+ titleDrugexposure: 'const.eventsList.addProviderSpecialtyCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Provider Specialty Concept Set Criteria',
+ descriptionDrugexposure: 'const.eventsList.addProviderSpecialtyCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures based on provider specialty.',
+ titleMeasurement: 'const.eventsList.addProviderSpecialtyCS.title_measurement',
+ defaultTitleMeasurement: 'Add Provider Specialty Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addProviderSpecialtyCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements based on provider specialty.',
+ titleObservation: 'const.eventsList.addProviderSpecialtyCS.title_observation',
+ defaultTitleObservation: 'Add Provider Specialty Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addProviderSpecialtyCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations based on provider specialty.',
+ titleProcedureoccurrence: 'const.eventsList.addProviderSpecialtyCS.title_procedureoccurrence',
+ defaultTitleProcedureoccurrence: 'Add Provider Specialty Concept Set Criteria',
+ descriptionProcedureoccurrence: 'const.eventsList.addProviderSpecialtyCS.desc_procedureoccurrence',
+ defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences based on provider specialty.',
+ titleVisit: 'const.eventsList.addProviderSpecialtyCS.title_visit',
+ defaultTitleVisit: 'Add Provider Specialty Concept Set Criteria',
+ descriptionVisit: 'const.eventsList.addProviderSpecialtyCS.desc_visit',
+ defaultDescriptionVisit: 'Filter Visit Occurrences based on provider specialty.',
+ titleVisitdetail: 'const.eventsList.addProviderSpecialtyCS.title_visitDetail',
+ defaultTitleVisitdetail: 'Add Provider Specialty Concept Set Criteria',
+ descriptionVisitdetail: 'const.eventsList.addProviderSpecialtyCS.desc_visitDetail',
+ defaultDescriptionVisitdetail: 'Filter Visit detail based on provider specialty.',
+ },
addConditionStatus: {
titleOccurrence: 'const.eventsList.addConditionStatus.title_occurrence',
defaultTitleOccurrence: 'Add Condition Status',
descriptionOccurrence: 'const.eventsList.addConditionStatus.desc_occurrence',
defaultDescriptionOccurrence: 'Filter Condition Occurrences based on condition status.',
},
+ addConditionStatusCS: {
+ titleOccurrence: 'const.eventsList.addConditionStatusCS.title_occurrence',
+ defaultTitleOccurrence: 'Add Condition Status Concept Set',
+ descriptionOccurrence: 'const.eventsList.addConditionStatus.desc_occurrence',
+ defaultDescriptionOccurrence: 'Filter Condition Occurrences based on condition status.',
+ },
addPlaceService: {
titleVisit: 'const.eventsList.addPlaceService.title_visit',
defaultTitleVisit: 'Add Place of Service Criteria',
descriptionVisit: 'const.eventsList.addPlaceService.desc_visit',
defaultDescriptionVisit: 'Filter Visit Occurrences based on Place of Service.',
- titleVisitdetail: 'const.eventsList.addPlaceService.title_visitDetail',
- defaultTitleVisitdetail: 'Add Place of Service Criteria',
- descriptionVisitdetail: 'const.eventsList.addPlaceService.desc_visitDetail',
+ },
+ addPlaceServiceCS: {
+ titleVisit: 'const.eventsList.addPlaceServiceCS.title_visit',
+ defaultTitleVisit: 'Add Place of Service Concept Set Criteria',
+ descriptionVisit: 'const.eventsList.addPlaceServiceCS.desc_visit',
+ defaultDescriptionVisit: 'Filter Visit Occurrences based on Place of Service.',
+ titleVisitdetail: 'const.eventsList.addPlaceServiceCS.title_visitDetail',
+ defaultTitleVisitdetail: 'Add Place of Service Concept Set Criteria',
+ descriptionVisitdetail: 'const.eventsList.addPlaceServiceCS.desc_visitDetail',
defaultDescriptionVisitdetail: 'Filter Visit detail based on Place of Service.',
},
addPlaceServiceLocation: {
@@ -876,6 +1052,12 @@ define(["knockout"], function (ko) {
descriptionDrugexposure: 'const.eventsList.addRoute.desc_drugexposure',
defaultDescriptionDrugexposure: 'Filter Drug Exposures by Route.'
},
+ addRouteCS: {
+ titleDrugexposure: 'const.eventsList.addRouteCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Route Concept Set Criteria',
+ descriptionDrugexposure: 'const.eventsList.addRouteCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures by Route.'
+ },
addEffective: {
titleDrugexposure: 'const.eventsList.addEffective.title_drugexposure',
defaultTitleDrugexposure: 'Add Effective Dose Criteria',
@@ -900,6 +1082,12 @@ define(["knockout"], function (ko) {
descriptionMeasurement: 'const.eventsList.addOperator.desc_measurement',
defaultDescriptionMeasurement: 'Filter Measurements by Operator.'
},
+ addOperatorCS: {
+ titleMeasurement: 'const.eventsList.addOperatorCS.title_measurement',
+ defaultTitleMeasurement: 'Add Operator Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addOperatorCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements by Operator.'
+ },
addValueAsString: {
titleObservation: 'const.eventsList.addValueAsString.title_observation',
defaultTitleObservation: 'Add Value As String Criteria',
@@ -916,6 +1104,16 @@ define(["knockout"], function (ko) {
descriptionObservation: 'const.eventsList.addValueAsConcept.desc_observation',
defaultDescriptionObservation: 'Filter Observations by the Value As Concept.',
},
+ addValueAsConceptCS: {
+ titleMeasurement: 'const.eventsList.addValueAsConceptCS.title_measurement',
+ defaultTitleMeasurement: 'Add Value as Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addValueAsConceptCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements by Value as Concept.',
+ titleObservation: 'const.eventsList.addValueAsConceptCS.title_observation',
+ defaultTitleObservation: 'Add Value as Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addValueAsConceptCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations by the Value As Concept.',
+ },
addAbnormal: {
titleMeasurement: 'const.eventsList.addAbnormal.title_measurement',
defaultTitleMeasurement: 'Add Abnormal Result Criteria',
@@ -928,6 +1126,12 @@ define(["knockout"], function (ko) {
descriptionObservation: 'const.eventsList.addQualifier.desc_observation',
defaultDescriptionObservation: 'Filter Observations by Qualifier.',
},
+ addQualifierCS: {
+ titleObservation: 'const.eventsList.addQualifierCS.title_observation',
+ defaultTitleObservation: 'Add Qualifier Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addQualifierCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations by Qualifier.',
+ },
addRangeLow: {
titleMeasurement: 'const.eventsList.addRangeLow.title_measurement',
defaultTitleMeasurement: 'Add Low Range Criteria',
@@ -1006,18 +1210,36 @@ define(["knockout"], function (ko) {
descriptionProcedureoccurrence: 'const.eventsList.addModifier.desc_procedureoccurrence',
defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences by the Modifier.',
},
+ addModifierCS: {
+ titleProcedureoccurrence: 'const.eventsList.addModifierCS.title_procedureoccurrence',
+ defaultTitleProcedureoccurrence: 'Add Modifier Concept Set Criteria',
+ descriptionProcedureoccurrence: 'const.eventsList.addModifierCS.desc_procedureoccurrence',
+ defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences by the Modifier.',
+ },
addAnatomicSite: {
titleSpecimen: 'const.eventsList.addAnatomicSite.title_specimen',
defaultTitleSpecimen: 'Add Anatomic Site Criteria',
descriptionSpecimen: 'const.eventsList.addAnatomicSite.desc_specimen',
defaultDescriptionSpecimen: 'Filter Specimens by the Anatomic Site.',
},
+ addAnatomicSiteCS: {
+ titleSpecimen: 'const.eventsList.addAnatomicSiteCS.title_specimen',
+ defaultTitleSpecimen: 'Add Anatomic Site Concept Set Criteria',
+ descriptionSpecimen: 'const.eventsList.addAnatomicSiteCS.desc_specimen',
+ defaultDescriptionSpecimen: 'Filter Specimens by the Anatomic Site.',
+ },
addDiseaseStatus: {
titleSpecimen: 'const.eventsList.addDiseaseStatus.title_specimen',
defaultTitleSpecimen: 'Add Disease Status Criteria',
descriptionSpecimen: 'const.eventsList.addDiseaseStatus.desc_specimen',
defaultDescriptionSpecimen: 'Filter Specimens by the Disease Status.',
},
+ addDiseaseStatusCS: {
+ titleSpecimen: 'const.eventsList.addDiseaseStatusCS.title_specimen',
+ defaultTitleSpecimen: 'Add Disease Status Concept Set Criteria',
+ descriptionSpecimen: 'const.eventsList.addDiseaseStatusCS.desc_specimen',
+ defaultDescriptionSpecimen: 'Filter Specimens by the Disease Status.',
+ },
addSourceId: {
titleSpecimen: 'const.eventsList.addSourceId.title_specimen',
defaultTitleSpecimen: 'Add Source ID Criteria',
@@ -1030,12 +1252,24 @@ define(["knockout"], function (ko) {
descriptionDemographic: 'const.eventsList.addRace.desc_demographic',
defaultDescriptionDemographic: 'Filter events based on Race.',
},
+ addRaceCS: {
+ titleDemographic: 'const.eventsList.addRaceCS.title_demographic',
+ defaultTitleDemographic: 'Add Race Concept Set Criteria',
+ descriptionDemographic: 'const.eventsList.addRace.desc_demographic',
+ defaultDescriptionDemographic: 'Filter events based on Race.',
+ },
addEthnicity: {
titleDemographic: 'const.eventsList.addEthnicity.title_demographic',
defaultTitleDemographic: 'Add Ethnicity Criteria',
descriptionDemographic: 'const.eventsList.addEthnicity.desc_demographic',
defaultDescriptionDemographic: 'Filter events based on Ethnicity.',
},
+ addEthnicityCS: {
+ titleDemographic: 'const.eventsList.addEthnicityCS.title_demographic',
+ defaultTitleDemographic: 'Add Ethnicity Concept Set Criteria',
+ descriptionDemographic: 'const.eventsList.addEthnicity.desc_demographic',
+ defaultDescriptionDemographic: 'Filter events based on Ethnicity.',
+ },
addGroup: {
title: 'const.eventsList.addGroup.title',
defaultTitle: 'Add Group',
@@ -1064,6 +1298,32 @@ define(["knockout"], function (ko) {
descriptionGroup: 'const.eventsList.addLocationRegion.desc_group',
defaultDescriptionGroup: 'Find patients within geographical area.',
},
+ addVisitCS: {
+ titleOccurrence: 'const.eventsList.addVisitCS.title_occurrence',
+ defaultTitleOccurrence: 'Add Visit Occurrence Concept Set',
+ descriptionOccurrence: 'const.eventsList.addVisitCS.desc_occurrence',
+ defaultDescriptionOccurrence: 'Filter Condition Occurrences based on visit occurrence of diagnosis.',
+ titleDevice: 'const.eventsList.addVisitCS.title_deviceexposure',
+ defaultTitleDevice: 'Add Visit Concept Set Criteria',
+ descriptionDevice: 'const.eventsList.addVisitCS.desc_deviceexposure',
+ defaultDescriptionDevice: 'Filter Device Exposures based on visit occurrence of exposure.',
+ titleDrugexposure: 'const.eventsList.addVisitCS.title_drugexposure',
+ defaultTitleDrugexposure: 'Add Visit Concept Set Criteria',
+ descriptionDrugexposure: 'const.eventsList.addVisitCS.desc_drugexposure',
+ defaultDescriptionDrugexposure: 'Filter Drug Exposures based on visit occurrence of drug exposure.',
+ titleMeasurement: 'const.eventsList.addVisitCS.title_measurement',
+ defaultTitleMeasurement: 'Add Visit Concept Set Criteria',
+ descriptionMeasurement: 'const.eventsList.addVisitCS.desc_measurement',
+ defaultDescriptionMeasurement: 'Filter Measurements based on visit occurrence of measurement.',
+ titleObservation: 'const.eventsList.addVisitCS.title_observation',
+ defaultTitleObservation: 'Add Visit Concept Set Criteria',
+ descriptionObservation: 'const.eventsList.addVisitCS.desc_observation',
+ defaultDescriptionObservation: 'Filter Observations based on visit occurrence of observation.',
+ titleProcedureoccurrence: 'const.eventsList.addVisitCS.title_procedureoccurrence',
+ defaultTitleProcedureoccurrence: 'Add Visit Concept Set Criteria',
+ descriptionProcedureoccurrence: 'const.eventsList.addVisitCS.desc_procedureoccurrence',
+ defaultDescriptionProcedureoccurrence: 'Filter Procedure Occurrences based on visit occurrence of procedure.',
+ },
};
@@ -1149,6 +1409,7 @@ define(["knockout"], function (ko) {
'addAgeAtEnd',
"addDateAdjustment",
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addConditonCount',
@@ -1159,23 +1420,30 @@ define(["knockout"], function (ko) {
'addFirstDiagnosis',
'addAge',
'addGender',
+ 'addGenderCS',
'addConditionStatus',
+ 'addConditionStatusCS',
'addStartDate',
'addEndDate',
'addDateAdjustment',
'addType',
+ 'addTypeCS',
'addVisit',
+ 'addVisitCS',
'addStopReason',
'addSourceConcept',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addNested',
];
const deathAttributesList = [
'addDateAdjustment',
'addAge',
'addGender',
+ 'addGenderCS',
'addDate',
'addType',
+ 'addTypeCS',
'addSourceConcept',
'addNested',
];
@@ -1184,14 +1452,18 @@ define(["knockout"], function (ko) {
'addFirstDiagnosis',
'addAge',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addType',
+ 'addTypeCS',
'addVisit',
+ 'addVisitCS',
'addUniqueId',
'addQuantity',
- 'addSourceConcept',
'addProviderSpecialty',
+ 'addSourceConcept',
+ 'addProviderSpecialtyCS',
'addNested',
];
const doseAttributesList = [
@@ -1200,9 +1472,11 @@ define(["knockout"], function (ko) {
'addAgeAtStart',
'addAgeAtEnd',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addUnit',
+ 'addUnitCS',
'addLength',
'addValue',
'addNested',
@@ -1213,6 +1487,7 @@ define(["knockout"], function (ko) {
'addAgeAtStart',
'addAgeAtEnd',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addLength',
@@ -1224,19 +1499,26 @@ define(["knockout"], function (ko) {
'addFirstDiagnosis',
'addAge',
'addGender',
+ 'addGenderCS',
'addDate',
'addType',
+ 'addTypeCS',
'addVisit',
+ 'addVisitCS',
'addOperator',
+ 'addOperatorCS',
'addValue',
'addValueAsConcept',
+ 'addValueAsConceptCS',
'addUnit',
+ 'addUnitCS',
'addAbnormal',
'addRangeLow',
'addRangeHigh',
'addRangeLowRatio',
'addRangeHighRatio',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addSourceConcept',
'addNested'
];
@@ -1245,20 +1527,26 @@ define(["knockout"], function (ko) {
'addFirstDiagnosis',
'addAge',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addType',
+ 'addTypeCS',
'addVisit',
+ 'addVisitCS',
'addStopReason',
'addRefills',
'addQuantity',
'addDaysSupply',
'addRoute',
+ 'addRouteCS',
'addEffective',
'addUnit',
+ 'addUnitCS',
'addLotNumber',
'addSource',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addNested',
];
const observationAttributesList = [
@@ -1266,16 +1554,23 @@ define(["knockout"], function (ko) {
'addFirstDiagnosis',
'addAge',
'addGender',
+ 'addGenderCS',
'addDate',
'addType',
+ 'addTypeCS',
'addVisit',
+ 'addVisitCS',
'addValue',
'addValueAsString',
'addValueAsConcept',
+ 'addValueAsConceptCS',
'addQualifier',
+ 'addQualifierCS',
'addUnit',
+ 'addUnitCS',
'addSourceConcept',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addNested',
];
const observationPeriodAttributesList = [
@@ -1287,6 +1582,7 @@ define(["knockout"], function (ko) {
'addStartDate',
'addEndDate',
'addType',
+ 'addTypeCS',
'addLength',
'addNested',
];
@@ -1297,6 +1593,7 @@ define(["knockout"], function (ko) {
'addAgeAtEnd',
'addLength',
'addGender',
+ 'addGenderCS',
'addUserDefined',
'addStartDate',
'addEndDate',
@@ -1314,69 +1611,84 @@ define(["knockout"], function (ko) {
'addDateAdjustment',
'addFirstDiagnosis',
'addVisit',
+ 'addVisitCS',
'addGender',
+ 'addGenderCS',
'addAge',
'addType',
+ 'addTypeCS',
'addSourceConcept',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addDate',
'addQuantity',
'addModifier',
+ 'addModifierCS',
'addNested',
];
const specimenAttributesList = [
'addDateAdjustment',
'addFirstDiagnosis',
'addGender',
+ 'addGenderCS',
'addNested',
'addAge',
'addType',
+ 'addTypeCS',
'addDate',
'addQuantity',
'addUnit',
+ 'addUnitCS',
'addAnatomicSite',
+ 'addAnatomicSiteCS',
'addDiseaseStatus',
+ 'addDiseaseStatusCS',
'addSourceId',
];
const visitAttributesList = [
'addDateAdjustment',
'addFirstDiagnosis',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addLength',
'addAge',
'addType',
+ 'addTypeCS',
'addSourceConcept',
'addProviderSpecialty',
+ 'addProviderSpecialtyCS',
'addPlaceService',
+ 'addPlaceServiceCS',
'addPlaceServiceLocation',
- 'addPlaceServiceDistance',
'addNested',
];
const visitDetailAttributesList = [
'addDateAdjustment',
'addFirstDiagnosis',
- 'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addLength',
'addAge',
- 'addType',
+ 'addTypeCS',
'addSourceConcept',
- 'addProviderSpecialty',
- 'addPlaceService',
+ 'addProviderSpecialtyCS',
+ 'addPlaceServiceCS',
'addPlaceServiceLocation',
- 'addPlaceServiceDistance',
'addNested',
];
const demographicAttributesList = [
'addAge',
'addGender',
+ 'addGenderCS',
'addStartDate',
'addEndDate',
'addRace',
+ 'addRaceCS',
'addEthnicity',
+ 'addEthnicityCS',
];
const windowedpAttributesList = [
'addDemographic',
diff --git a/js/components/cohortdefinitionviewer/components/ConditionEra.js b/js/components/cohortdefinitionviewer/components/ConditionEra.js
index ff100368a..1015cd25b 100644
--- a/js/components/cohortdefinitionviewer/components/ConditionEra.js
+++ b/js/components/cohortdefinitionviewer/components/ConditionEra.js
@@ -1,4 +1,4 @@
-define(['knockout', 'components/cohortbuilder/options', 'text!./ConditionEraTemplate.html'], function (ko, options, template) {
+define(['knockout', 'components/cohortbuilder/options', "components/cohortbuilder/utils", 'text!./ConditionEraTemplate.html'], function (ko, options, utils, template) {
function ConditionEraViewModel(params) {
@@ -7,15 +7,16 @@ define(['knockout', 'components/cohortbuilder/options', 'text!./ConditionEraTemp
self.Criteria = params.criteria.ConditionEra;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().find(function (item) { return item.id == codesetId });
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.pureComputed(() => {
+ var anyCondition = ko.i18n('components.conditionEra.anyConditionButton', 'Any Condition');
+ var message = ko.i18n('components.conditionEra.returnText_1', 'The index date refers to the condition era of');
+ var conceptSetName = utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ anyCondition()
+ );
+ return `${message()} ${conceptSetName}.`;
+ });
}
// return compoonent definition
diff --git a/js/components/cohortdefinitionviewer/components/ConditionEraTemplate.html b/js/components/cohortdefinitionviewer/components/ConditionEraTemplate.html
index 39059a6ca..e3cc42405 100644
--- a/js/components/cohortdefinitionviewer/components/ConditionEraTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/ConditionEraTemplate.html
@@ -50,8 +50,17 @@
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/ConditionOccurrence.js b/js/components/cohortdefinitionviewer/components/ConditionOccurrence.js
index 2f2ead08b..760899e7e 100644
--- a/js/components/cohortdefinitionviewer/components/ConditionOccurrence.js
+++ b/js/components/cohortdefinitionviewer/components/ConditionOccurrence.js
@@ -1,4 +1,5 @@
-define(['knockout', 'components/cohortbuilder/options', 'components/cohortbuilder/InputTypes/Range', 'components/cohortbuilder/InputTypes/Text', 'text!./ConditionOccurrenceTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout', 'components/cohortbuilder/options', "components/cohortbuilder/utils", 'text!./ConditionOccurrenceTemplate.html'
+], function (ko, options, utils, template) {
function ConditionOccurrenceViewModel(params) {
@@ -7,15 +8,17 @@ define(['knockout', 'components/cohortbuilder/options', 'components/cohortbuilde
self.Criteria = params.criteria.ConditionOccurrence;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionOccurrence.indexDataText',
+ 'The index date refers to the condition occurrence of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionOccurrence.anyCondition', 'Any Condition')
+ )),
+ }
+ );
}
// return compoonent definition
diff --git a/js/components/cohortdefinitionviewer/components/ConditionOccurrenceTemplate.html b/js/components/cohortdefinitionviewer/components/ConditionOccurrenceTemplate.html
index 8cd586232..dfb2400ee 100644
--- a/js/components/cohortdefinitionviewer/components/ConditionOccurrenceTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/ConditionOccurrenceTemplate.html
@@ -26,11 +26,35 @@
data-bind="text: ko.i18n('components.conditionOccurrence.conditionOccurrenceText_4', 'occurrence end is:')">
+
+
+ with a condition status of:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -51,18 +75,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/CriteriaGroup.js b/js/components/cohortdefinitionviewer/components/CriteriaGroup.js
index 6ebbc1a60..79e4fe53d 100644
--- a/js/components/cohortdefinitionviewer/components/CriteriaGroup.js
+++ b/js/components/cohortdefinitionviewer/components/CriteriaGroup.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/CriteriaTypes','components/cohortbuilder/CriteriaGroup','components/cohortbuilder/AdditionalCriteria','components/cohortbuilder/options', 'text!./CriteriaGroupTemplate.html'], function (ko, criteriaTypes, CriteriaGroup, AdditionalCriteria, options, template) {
+define(['knockout','components/cohortbuilder/options', 'text!./CriteriaGroupTemplate.html'
+], function (ko, options, template) {
function CriteriaGroupViewModel(params) {
var self = this;
@@ -7,7 +8,7 @@ define(['knockout','components/cohortbuilder/CriteriaTypes','components/cohortbu
self.group = params.group;
self.parentGroup = params.parentGroup;
self.options = options;
- self.selectedFragment = params.selectedFragment;
+ self.indexMessage = params.indexMessage;
self.getCriteriaComponent = function (data) {
diff --git a/js/components/cohortdefinitionviewer/components/CriteriaGroupTemplate.html b/js/components/cohortdefinitionviewer/components/CriteriaGroupTemplate.html
index 120d4d844..13d331907 100644
--- a/js/components/cohortdefinitionviewer/components/CriteriaGroupTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/CriteriaGroupTemplate.html
@@ -20,7 +20,7 @@
-
+
@@ -49,6 +49,7 @@
+
diff --git a/js/components/cohortdefinitionviewer/components/Death.js b/js/components/cohortdefinitionviewer/components/Death.js
index d7d686fe1..c8e4dd7b3 100644
--- a/js/components/cohortdefinitionviewer/components/Death.js
+++ b/js/components/cohortdefinitionviewer/components/Death.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./DeathTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout','components/cohortbuilder/options','components/cohortbuilder/utils', 'text!./DeathTemplate.html'
+], function (ko, options, utils, template) {
function DeathViewModel(params) {
var self = this;
@@ -7,15 +8,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.Death;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionDeath.indexDataText',
+ 'The index date refers to the death event of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionDeath.anyDeath', 'Any Death')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/DeathTemplate.html b/js/components/cohortdefinitionviewer/components/DeathTemplate.html
index ed3a0f972..f299337ad 100644
--- a/js/components/cohortdefinitionviewer/components/DeathTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DeathTemplate.html
@@ -14,10 +14,19 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -34,8 +43,17 @@
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/DemographicCriteria.js b/js/components/cohortdefinitionviewer/components/DemographicCriteria.js
index c56182c46..9a6b76992 100644
--- a/js/components/cohortdefinitionviewer/components/DemographicCriteria.js
+++ b/js/components/cohortdefinitionviewer/components/DemographicCriteria.js
@@ -1,11 +1,12 @@
-define(['knockout', 'text!./DemographicCriteriaTemplate.html',
-], function (ko, template) {
+define(['knockout','components/cohortbuilder/options', 'text!./DemographicCriteriaTemplate.html',
+], function (ko, options, template) {
function DemographicCriteriaViewModel(params) {
var self = this;
self.Criteria = params.criteria;
-
+ self.expression = ko.utils.unwrapObservable(params.expression);
+ self.options = options;
}
// return compoonent definition
diff --git a/js/components/cohortdefinitionviewer/components/DemographicCriteriaTemplate.html b/js/components/cohortdefinitionviewer/components/DemographicCriteriaTemplate.html
index 58cce4fe1..bf4ef64fb 100644
--- a/js/components/cohortdefinitionviewer/components/DemographicCriteriaTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DemographicCriteriaTemplate.html
@@ -10,16 +10,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/components/cohortdefinitionviewer/components/DeviceExposure.js b/js/components/cohortdefinitionviewer/components/DeviceExposure.js
index 619c18ced..54d0c4c55 100644
--- a/js/components/cohortdefinitionviewer/components/DeviceExposure.js
+++ b/js/components/cohortdefinitionviewer/components/DeviceExposure.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./DeviceExposureTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout','components/cohortbuilder/options','components/cohortbuilder/utils', 'text!./DeviceExposureTemplate.html'
+], function (ko, options, utils, template) {
function DeviceExposureViewModel(params) {
var self = this;
@@ -7,15 +8,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.DeviceExposure;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionDevice.indexDataText',
+ 'The index date refers to the device exposure of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionDevice.anyDevice', 'Any Device')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/DeviceExposureTemplate.html b/js/components/cohortdefinitionviewer/components/DeviceExposureTemplate.html
index f318c238c..5b5ff264f 100644
--- a/js/components/cohortdefinitionviewer/components/DeviceExposureTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DeviceExposureTemplate.html
@@ -28,6 +28,15 @@
+
+
+
+
+
+
+
+
@@ -48,18 +57,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/DoseEra.js b/js/components/cohortdefinitionviewer/components/DoseEra.js
index a6105ff0b..f6bb5621e 100644
--- a/js/components/cohortdefinitionviewer/components/DoseEra.js
+++ b/js/components/cohortdefinitionviewer/components/DoseEra.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range', 'text!./DoseEraTemplate.html'], function (ko, options, Range, template) {
+define(['knockout', 'components/cohortbuilder/options', 'components/cohortbuilder/utils', 'text!./DoseEraTemplate.html'
+], function (ko, options, utils, template) {
function DoseEraViewModel(params) {
@@ -7,15 +8,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.DoseEra;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionDose.indexDataText',
+ 'The index date refers to the dose era of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionDose.anyDoseEra', 'Any Dose Era')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/DoseEraTemplate.html b/js/components/cohortdefinitionviewer/components/DoseEraTemplate.html
index 9b887f8f5..94e78962b 100644
--- a/js/components/cohortdefinitionviewer/components/DoseEraTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DoseEraTemplate.html
@@ -28,6 +28,15 @@
+
+
+
+
+
+
+
+
@@ -53,8 +62,17 @@
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/DrugEra.js b/js/components/cohortdefinitionviewer/components/DrugEra.js
index ff8da2415..5c4e6a584 100644
--- a/js/components/cohortdefinitionviewer/components/DrugEra.js
+++ b/js/components/cohortdefinitionviewer/components/DrugEra.js
@@ -7,15 +7,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.DrugEra;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionDrug.indexDataText',
+ 'The index date refers to the drug era of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionDrug.anyDrug', 'Any Drug')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/DrugEraTemplate.html b/js/components/cohortdefinitionviewer/components/DrugEraTemplate.html
index 129248c3a..66af2164d 100644
--- a/js/components/cohortdefinitionviewer/components/DrugEraTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DrugEraTemplate.html
@@ -53,8 +53,17 @@
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/DrugExposure.js b/js/components/cohortdefinitionviewer/components/DrugExposure.js
index 2d939ac28..7766bb1c4 100644
--- a/js/components/cohortdefinitionviewer/components/DrugExposure.js
+++ b/js/components/cohortdefinitionviewer/components/DrugExposure.js
@@ -7,15 +7,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.DrugExposure;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionDrugExposure.indexDataText',
+ 'The index date refers to the drug exposure of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionDrugExposure.anyDrug', 'Any Drug')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/DrugExposureTemplate.html b/js/components/cohortdefinitionviewer/components/DrugExposureTemplate.html
index b891f7166..e04997ffe 100644
--- a/js/components/cohortdefinitionviewer/components/DrugExposureTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/DrugExposureTemplate.html
@@ -28,6 +28,15 @@
+
+
+
+
+
+
+
+
@@ -53,6 +62,15 @@
+
+
+
+
+
+
+
+
@@ -63,6 +81,15 @@
+
+
+
+
+
+
+
+
@@ -83,18 +110,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/Measurement.js b/js/components/cohortdefinitionviewer/components/Measurement.js
index e3fb42bb6..c426d7857 100644
--- a/js/components/cohortdefinitionviewer/components/Measurement.js
+++ b/js/components/cohortdefinitionviewer/components/Measurement.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./MeasurementTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout','components/cohortbuilder/options','components/cohortbuilder/utils', 'text!./MeasurementTemplate.html'
+], function (ko, options, utils, template) {
function MeasurementViewModel(params) {
var self = this;
@@ -7,15 +8,14 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.Measurement;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.pureComputed(() => {
+ var conceptSetName = utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ""
+ );
+ return `${conceptSetName}.`;
+ });
}
diff --git a/js/components/cohortdefinitionviewer/components/MeasurementTemplate.html b/js/components/cohortdefinitionviewer/components/MeasurementTemplate.html
index 535d72dac..da349cadb 100644
--- a/js/components/cohortdefinitionviewer/components/MeasurementTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/MeasurementTemplate.html
@@ -23,11 +23,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -36,13 +54,31 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -83,18 +119,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/Observation.js b/js/components/cohortdefinitionviewer/components/Observation.js
index e5e2bef9d..78502a5d9 100644
--- a/js/components/cohortdefinitionviewer/components/Observation.js
+++ b/js/components/cohortdefinitionviewer/components/Observation.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./ObservationTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout', 'components/cohortbuilder/options', 'components/cohortbuilder/utils', 'text!./ObservationTemplate.html'
+], function (ko, options, utils, template) {
function ObservationViewModel(params) {
var self = this;
@@ -7,16 +8,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.Observation;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
-
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionObservation.indexDataText',
+ 'The index date refers to the observation of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionObservation.anyObservation', 'Any Observation')
+ ))
+ }
+ );
}
// return compoonent definition
diff --git a/js/components/cohortdefinitionviewer/components/ObservationPeriod.js b/js/components/cohortdefinitionviewer/components/ObservationPeriod.js
index d55f75d8b..5c9a15ce5 100644
--- a/js/components/cohortdefinitionviewer/components/ObservationPeriod.js
+++ b/js/components/cohortdefinitionviewer/components/ObservationPeriod.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range', 'text!./ObservationPeriodTemplate.html'], function (ko, options, Range, template) {
+define(['knockout','components/cohortbuilder/options','components/cohortbuilder/utils', 'text!./ObservationPeriodTemplate.html'
+], function (ko, options, utils, template) {
function ObservationPeriodViewModel(params) {
var self = this;
@@ -6,17 +7,6 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.expression = ko.utils.unwrapObservable(params.expression);
self.Criteria = params.criteria.ObservationPeriod;
self.options = options;
-
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
-
}
// return compoonent definition
diff --git a/js/components/cohortdefinitionviewer/components/ObservationPeriodTemplate.html b/js/components/cohortdefinitionviewer/components/ObservationPeriodTemplate.html
index d3ced30a8..58c542e1d 100644
--- a/js/components/cohortdefinitionviewer/components/ObservationPeriodTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/ObservationPeriodTemplate.html
@@ -32,6 +32,15 @@
+
+
+
+
+
+
+
+
@@ -48,7 +57,7 @@
-
+
diff --git a/js/components/cohortdefinitionviewer/components/ObservationTemplate.html b/js/components/cohortdefinitionviewer/components/ObservationTemplate.html
index 3882c6414..092be2418 100644
--- a/js/components/cohortdefinitionviewer/components/ObservationTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/ObservationTemplate.html
@@ -23,6 +23,15 @@
+
+
+
+
+
+
+
+
@@ -36,18 +45,45 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -58,15 +94,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
diff --git a/js/components/cohortdefinitionviewer/components/PayerPlanPeriod.js b/js/components/cohortdefinitionviewer/components/PayerPlanPeriod.js
index a187b6680..6321aedcc 100644
--- a/js/components/cohortdefinitionviewer/components/PayerPlanPeriod.js
+++ b/js/components/cohortdefinitionviewer/components/PayerPlanPeriod.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range', 'text!./PayerPlanPeriodTemplate.html'], function (ko, options, Range, template) {
+define(['knockout','components/cohortbuilder/options', 'text!./PayerPlanPeriodTemplate.html'
+], function (ko, options, template) {
function PayerPlanPeriodViewModel(params) {
var self = this;
@@ -6,15 +7,7 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.PayerPlanPeriod;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18n('components.conditionPayerPlanPeriod.indexDataText', 'The index date refers to the payer plan period.');
}
return {
diff --git a/js/components/cohortdefinitionviewer/components/PayerPlanPeriodTemplate.html b/js/components/cohortdefinitionviewer/components/PayerPlanPeriodTemplate.html
index 2dca1a133..db4dfed97 100644
--- a/js/components/cohortdefinitionviewer/components/PayerPlanPeriodTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/PayerPlanPeriodTemplate.html
@@ -48,6 +48,15 @@
+
+
+
+
+
+
+
+
@@ -87,7 +96,7 @@
-
+
\ No newline at end of file
diff --git a/js/components/cohortdefinitionviewer/components/ProcedureOccurrence.js b/js/components/cohortdefinitionviewer/components/ProcedureOccurrence.js
index 11c735577..7809620c8 100644
--- a/js/components/cohortdefinitionviewer/components/ProcedureOccurrence.js
+++ b/js/components/cohortdefinitionviewer/components/ProcedureOccurrence.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./ProcedureOccurrenceTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout', 'components/cohortbuilder/options', 'components/cohortbuilder/utils', 'text!./ProcedureOccurrenceTemplate.html'
+], function (ko, options, utils, template) {
function ProcedureOccurrenceViewModel(params) {
var self = this;
@@ -7,15 +8,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.ProcedureOccurrence;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionProcedureOccurrence.indexDataText',
+ 'The index date refers to the procedure of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionProcedureOccurrence.anyProcedure', 'Any Procedure')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/ProcedureOccurrenceTemplate.html b/js/components/cohortdefinitionviewer/components/ProcedureOccurrenceTemplate.html
index 94e1dc227..1b56a1296 100644
--- a/js/components/cohortdefinitionviewer/components/ProcedureOccurrenceTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/ProcedureOccurrenceTemplate.html
@@ -23,11 +23,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -48,18 +67,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/Specimen.js b/js/components/cohortdefinitionviewer/components/Specimen.js
index 15ffdb5a2..df4cd8fb4 100644
--- a/js/components/cohortdefinitionviewer/components/Specimen.js
+++ b/js/components/cohortdefinitionviewer/components/Specimen.js
@@ -1,4 +1,5 @@
-define(['knockout','components/cohortbuilder/options','components/cohortbuilder/InputTypes/Range','components/cohortbuilder/InputTypes/Text', 'text!./SpecimenTemplate.html'], function (ko, options, Range, Text, template) {
+define(['knockout','components/cohortbuilder/options','components/cohortbuilder/utils', 'text!./SpecimenTemplate.html'
+], function (ko, options, utils, template) {
function SpecimenViewModel(params) {
var self = this;
@@ -6,15 +7,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.Specimen;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionSpecimen.indexDataText',
+ 'The index date refers to the specimen of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionSpecimen.anySpecimen', 'Any Specimen')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/SpecimenTemplate.html b/js/components/cohortdefinitionviewer/components/SpecimenTemplate.html
index f7afc8011..860358df8 100644
--- a/js/components/cohortdefinitionviewer/components/SpecimenTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/SpecimenTemplate.html
@@ -24,6 +24,15 @@
+
+
+
+
+
+
+
+
@@ -34,16 +43,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,8 +95,17 @@
+
+
+
+
+
+
+
+
-
+
diff --git a/js/components/cohortdefinitionviewer/components/VisitDetail.js b/js/components/cohortdefinitionviewer/components/VisitDetail.js
index cc5353d92..0e19c228f 100644
--- a/js/components/cohortdefinitionviewer/components/VisitDetail.js
+++ b/js/components/cohortdefinitionviewer/components/VisitDetail.js
@@ -1,10 +1,12 @@
define([
"knockout",
'components/cohortbuilder/options',
+ "components/cohortbuilder/utils",
"text!./VisitDetailTemplate.html",
], function (
ko,
options,
+ utils,
template
) {
function VisitDetailViewModel(params) {
diff --git a/js/components/cohortdefinitionviewer/components/VisitDetailTemplate.html b/js/components/cohortdefinitionviewer/components/VisitDetailTemplate.html
index fdf25984c..1c1abe775 100644
--- a/js/components/cohortdefinitionviewer/components/VisitDetailTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/VisitDetailTemplate.html
@@ -30,11 +30,11 @@
-
+
+ defaultName: ko.i18n('components.cohortCriteria.anyVisitDetailType', 'Any Visit Detail Type')">
@@ -59,29 +59,29 @@
-
+
+ defaultName: ko.i18n('components.cohortCriteria.anyGender', 'Any Gender')">
-
+
+ defaultName: ko.i18n('components.cohortCriteria.anyProviderSpeciality', 'Any Provider Specialty')">
-
+
+ defaultName: ko.i18n('components.cohortCriteria.anyPlaceOfService', 'Any Place of Service')">
@@ -90,6 +90,9 @@
-
-
+
+
+
+
+
diff --git a/js/components/cohortdefinitionviewer/components/VisitOccurrence.js b/js/components/cohortdefinitionviewer/components/VisitOccurrence.js
index 084451681..c682d4c76 100644
--- a/js/components/cohortdefinitionviewer/components/VisitOccurrence.js
+++ b/js/components/cohortdefinitionviewer/components/VisitOccurrence.js
@@ -7,15 +7,17 @@ define(['knockout','components/cohortbuilder/options','components/cohortbuilder/
self.Criteria = params.criteria.VisitOccurrence;
self.options = options;
- self.getCodesetName = function(codesetId, defaultName) {
- if (codesetId != null)
- {
- var selectedConceptSet = self.expression.ConceptSets().filter(function (item) { return item.id == codesetId })[0];
- return ko.utils.unwrapObservable(selectedConceptSet.name);
- }
- else
- return defaultName;
- };
+ self.indexMessage = ko.i18nformat(
+ 'components.conditionVisit.indexDataText',
+ 'The index date refers to the visit of <%= conceptSetName %>.',
+ {
+ conceptSetName: ko.pureComputed(() => utils.getConceptSetName(
+ self.Criteria.CodesetId,
+ self.expression.ConceptSets,
+ ko.i18n('components.conditionVisit.anyVisit', 'Any Visit')
+ ))
+ }
+ );
}
diff --git a/js/components/cohortdefinitionviewer/components/VisitOccurrenceTemplate.html b/js/components/cohortdefinitionviewer/components/VisitOccurrenceTemplate.html
index bc0c545b6..3c5a33fb1 100644
--- a/js/components/cohortdefinitionviewer/components/VisitOccurrenceTemplate.html
+++ b/js/components/cohortdefinitionviewer/components/VisitOccurrenceTemplate.html
@@ -29,6 +29,15 @@
+
+
+
+
+
+
+
+
@@ -49,23 +58,51 @@
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+