/// <summary>Initializes a new instance of the <see cref="NihHealthBehaviorsAssessmentRuleCollection" /> class.</summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        public NihHealthBehaviorsAssessmentRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
        {
            _assessmentDefinitionRepository = assessmentDefinitionRepository;

            NewItemSkippingRule(() => SkipItem7125038)
            .ForItemInstance <IEnumerable <Lookup> >("7125031")
            .DoesNotContain(NihHealthBehaviorsAssessmentEmploymentStatus.Other)
            .SkipItem(GetItemDefinition("7125038"));

            NewRuleSet(() => ItemUpdatedRuleSet7125031, SkipItem7125038);

            NewItemSkippingRule(() => SkipItem7125041)
            .ForItemInstance <HealthCondition>("7125022")
            .NotEqualTo(HealthCondition.Poor)
            .SkipItem(GetItemDefinition("7125041"));

            NewRuleSet(() => ItemUpdatedRuleSet7125022, SkipItem7125041);

            NewItemSkippingRule(() => SkipItem7125010)
            .ForItemInstance <int>("7125009")
            .EqualTo(0)
            .SkipItem(GetItemDefinition("7125010"));

            NewRuleSet(() => ItemUpdatedRuleSet7125009, SkipItem7125010);
        }
Exemple #2
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="GetSectionDtoByKeyRequestHandler" /> class.
 /// </summary>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 public GetSectionDtoByKeyRequestHandler(
     IAssessmentDefinitionRepository assessmentDefinitionRepository,
     IAssessmentInstanceRepository assessmentInstanceRepository)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateAssessmentRequestHandler" /> class.
 /// </summary>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="dbConnectionFactory">The database connection factory.</param>
 public CreateAssessmentRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository,
                                       IPatientRepository patientRepository,
                                       IDbConnectionFactory dbConnectionFactory)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _patientRepository   = patientRepository;
     _dbConnectionFactory = dbConnectionFactory;
 }
Exemple #4
0
 public SaveAssessmentItemRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository,
                                         IAssessmentInstanceRepository assessmentInstanceRepository,
                                         IAssessmentCompletenessManager assessmentCompletenessManager)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _assessmentCompletenessManager  = assessmentCompletenessManager;
 }
 public GetSectionDtoByKeyRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository,
                                         IAssessmentInstanceRepository assessmentInstanceRepository,
                                         IWorkflowMessageRepository workflowMessageRepository,
                                         IMessageCollector messageCollector)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _workflowMessageRepository      = workflowMessageRepository;
     _messageCollector = messageCollector;
 }
Exemple #6
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="AssessmentInstanceUpdater" /> class.
 /// </summary>
 /// <param name="connectionFactory">The connection factory.</param>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 public AssessmentInstanceUpdater(
     IDbConnectionFactory connectionFactory,
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IAssessmentDefinitionRepository assessmentDefinitionRepository,
     IResourcesManager resourcesManager)
 {
     _connectionFactory              = connectionFactory;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _resourcesManager = resourcesManager;
 }
        /// <summary>Initializes a new instance of the <see cref="PediatricSymptonChecklistRuleCollection" /> class.</summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        public PediatricSymptonChecklistRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
        {
            _assessmentDefinitionRepository = assessmentDefinitionRepository;

            NewItemSkippingRule(() => SkipItem71250040)
            .ForItemInstance <bool>("71250039")
            .EqualTo(false)
            .SkipItem(GetItemDefinition("71250040"));

            NewRuleSet(() => ItemUpdatedRuleSet71250039, SkipItem71250040);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAssessmentReminderByKeyRequestHandler"/> class.
 /// </summary>
 /// <param name="assessmentReminderRepository">The assessment reminder repository.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="resourcesManager">The resources manager.</param>
 public GetAssessmentReminderByKeyRequestHandler(
     IAssessmentReminderRepository assessmentReminderRepository,
     IAssessmentDefinitionRepository assessmentDefinitionRepository,
     IPatientRepository patientRepository,
     IResourcesManager resourcesManager)
 {
     _assessmentReminderRepository   = assessmentReminderRepository;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _patientRepository = patientRepository;
     _resourcesManager  = resourcesManager;
 }
Exemple #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PatientScoreRangeReportUpdater" /> class.
 /// </summary>
 /// <param name="connectionFactory">The connection factory.</param>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 public PatientScoreRangeReportUpdater(
     IDbConnectionFactory connectionFactory,
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IPatientRepository patientRepository,
     IAssessmentDefinitionRepository assessmentDefinitionRepository)
 {
     _connectionFactory              = connectionFactory;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _patientRepository              = patientRepository;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
 }
Exemple #10
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="ReportController" /> class.
 /// </summary>
 /// <param name="requestDispatcherFactory">The request dispatcher factory.</param>
 /// <param name="resourcesManager">The resources manager.</param>
 /// <param name="connectionFactory">The connection factory.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 public ReportController(
     IRequestDispatcherFactory requestDispatcherFactory,
     IResourcesManager resourcesManager,
     IDbConnectionFactory connectionFactory,
     IAssessmentDefinitionRepository assessmentDefinitionRepository)
     : base(requestDispatcherFactory)
 {
     _resourcesManager               = resourcesManager;
     _dbConnectionFactory            = connectionFactory;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
 }
Exemple #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AssessmentReminderUpdater" /> class.
 /// </summary>
 /// <param name="connectionFactory">The connection factory.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 /// <param name="assessmentReminderRepository">The assessment message repository.</param>
 public AssessmentReminderUpdater(
     IDbConnectionFactory connectionFactory,
     IPatientRepository patientRepository,
     IAssessmentDefinitionRepository assessmentDefinitionRepository,
     IAssessmentReminderRepository assessmentReminderRepository)
 {
     _connectionFactory = connectionFactory;
     _patientRepository = patientRepository;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentReminderRepository   = assessmentReminderRepository;
 }
 /// <summary>Initializes a new instance of the <see cref="GetAssessmentSectionSummaryDtoByKeyRequestHandler" /> class.</summary>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 /// <param name="workflowMessageRepository">The workflow message repository.</param>
 /// <param name="messageCollector">The message collector.</param>
 /// <param name="assessmentCompletenessManager">The assessment completeness manager.</param>
 public GetAssessmentSectionSummaryDtoByKeyRequestHandler(
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IAssessmentDefinitionRepository assessmentDefinitionRepository,
     IWorkflowMessageRepository workflowMessageRepository,
     IMessageCollector messageCollector,
     IAssessmentCompletenessManager assessmentCompletenessManager)
 {
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _workflowMessageRepository      = workflowMessageRepository;
     _messageCollector = messageCollector;
     _assessmentCompletenessManager = assessmentCompletenessManager;
 }
        /// <summary>Initializes a new instance of the <see cref="GainShortScreenerRuleCollection" /> class.</summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        public GainShortScreenerRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
        {
            _assessmentDefinitionRepository = assessmentDefinitionRepository;

            NewItemSkippingRule(() => SkipItem6125031)
            .ForItemInstance <bool>("6125030")
            .EqualTo(false)
            .SkipItem(GetItemDefinition("6125031"));

            NewRuleSet(() => ItemUpdatedRuleSet6125030, SkipItem6125031);

            NewItemSkippingRule(() => SkipItem6125033)
            .ForItemInstance <GainShortScreenerGender>("6125032")
            .NotEqualTo(GainShortScreenerGender.Other)
            .SkipItem(GetItemDefinition("6125033"));

            NewRuleSet(() => ItemUpdatedRuleSet6125032, SkipItem6125033);
        }
        /// <summary>Initializes a new instance of the <see cref="NidaAssessFurtherRuleCollection" /> class.</summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        public NidaAssessFurtherRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
        {
            _assessmentDefinitionRepository = assessmentDefinitionRepository;

            NewItemSkippingRule(() => SkipItem3269984)
            .ForItemInstance <string> ("3269985")
            .Null()
            .SkipItem(GetItemDefinition("3269984"));

            NewRuleSet(() => ItemUpdatedRuleSet3269985, SkipItem3269984);

            NewItemSkippingRule(() => SkipItem3269986)
            .ForItemInstance <bool> ("3269978")
            .EqualTo(false)
            .SkipItem(GetItemDefinition("3269986"));

            NewRuleSet(() => ItemUpdatedRuleSet3269978, SkipItem3269986);
        }
Exemple #15
0
 public CreateAssessmentRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
 }
Exemple #16
0
 /// <summary>Initializes a new instance of the <see cref="YouthPediatricSymptonChecklistRuleCollection" /> class.</summary>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 public YouthPediatricSymptonChecklistRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
 }
 /// <summary>
 ///     Initializes a new instance of the <see cref="GetItemDtoByKeyRequestHandler" /> class.
 /// </summary>
 /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
 public GetItemDtoByKeyRequestHandler(
     IAssessmentDefinitionRepository assessmentDefinitionRepository)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
 }
Exemple #18
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NidaWorkflowRuleCollection"/> class.
        /// </summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        /// <param name="repository">The repository.</param>
        /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
        /// <param name="resourcesManager">The resources manager.</param>
        public NidaWorkflowRuleCollection(
            IAssessmentDefinitionRepository assessmentDefinitionRepository,
            IWorkflowMessageRepository repository,
            IAssessmentInstanceRepository assessmentInstanceRepository,
            IResourcesManager resourcesManager = null)
        {
            _resourcesManager = resourcesManager;
            NewRule(() => ShouldRecommendDastRule).When(assessment => (int)assessment.Score.Value > 0)
            .Then(
                (assessment, ctx) =>
            {
                var messageReporter =
                    ctx.WorkingMemory.GetContextObject <IMessageCollector> ("MessageCollector");
                var assessmentDefinitionKey =
                    assessmentDefinitionRepository.GetKeyByCode(DrugAbuseScreeningTest.AssessmentCodedConcept.Code);
                WorkflowMessage message = null;
                if (assessment.WorkflowKey.HasValue)
                {
                    message = repository.GetByKey(assessment.WorkflowKey.Value);
                }
                message = message ?? new WorkflowMessage(
                    assessment.PatientKey,
                    assessment.Key,
                    NidaSingleQuestionScreener.AssessmentCodedConcept.Code,
                    assessmentDefinitionKey,
                    DrugAbuseScreeningTest.AssessmentCodedConcept.Code,
                    assessment.Score);
                if (assessment.CanSelfAdminister)
                {
                    message.AllowSelfAdministration();
                }
                assessment.AddToWorkflow(message.Key);
                messageReporter.AddMessage(message);
            })
            .ElseThen(
                (assessment, ctx) =>
            {
                WorkflowMessage message = null;
                if (assessment.WorkflowKey.HasValue)
                {
                    message = repository.GetByKey(assessment.WorkflowKey.Value);
                }
                message = message ?? new WorkflowMessage(
                    assessment.PatientKey,
                    assessment.Key,
                    NidaSingleQuestionScreener.AssessmentCodedConcept.Code,
                    Guid.Empty,
                    null,
                    assessment.Score);

                if (assessment.CanSelfAdminister)
                {
                    message.AllowSelfAdministration();
                }

                message.Complete(NidaPatientSummaryReportModelBuilder.GetGreenReportModel());
            });

            NewRuleSet(() => NidaSingleQuestionScreenerRuleSet, ShouldRecommendDastRule);

            NewRule(() => ShouldRecommendNidaAssessFurtherRule).When(assessment => assessment.WorkflowKey.HasValue)
            .Then(
                (assessment, ctx) =>
            {
                var messageReporter =
                    ctx.WorkingMemory
                    .GetContextObject <IMessageCollector> ("MessageCollector");
                var assessmentDefinitionKey =
                    assessmentDefinitionRepository.GetKeyByCode(NidaAssessFurther.AssessmentCodedConcept.Code);
                var message = repository.GetByKey(assessment.WorkflowKey.Value);
                message.Advance(
                    assessment.Key,
                    DrugAbuseScreeningTest.AssessmentCodedConcept.Code,
                    assessmentDefinitionKey,
                    NidaAssessFurther.AssessmentCodedConcept.Code,
                    assessment.Score);
                messageReporter.AddMessage(message);
            });

            NewRuleSet(() => DrugAbuseScreeningTestRuleSet, ShouldRecommendNidaAssessFurtherRule);

            NewRule(() => ShouldCompleteWorkflowStatusRule).When(assessment => assessment.WorkflowKey.HasValue)
            .Then(
                (assessment, ctx) =>
            {
                var message      = repository.GetByKey(assessment.WorkflowKey.Value);
                var dastKey      = message.GetAssessmentKeyforCodeInWorkflow(DrugAbuseScreeningTest.AssessmentCodedConcept.Code);
                var dastInstance = assessmentInstanceRepository.GetByKey(dastKey.Value);
                ReportModel reportModel;
                if (((long)dastInstance.Score.Value) <= 2 && !(((NidaAssessFurtherScoring)assessment.Score.Value).TotalScore))
                {
                    reportModel = NidaPatientSummaryReportModelBuilder.GetAmberReportModel(
                        _resourcesManager,
                        dastInstance,
                        assessment);
                }
                else
                {
                    reportModel = NidaPatientSummaryReportModelBuilder.GetRedReportModel(
                        _resourcesManager,
                        dastInstance,
                        assessment);
                }
                message.Complete(reportModel);
            });
            NewRuleSet(() => NidaAssessFurtherRuleSet, ShouldCompleteWorkflowStatusRule);
        }
Exemple #19
0
        /// <summary>Initializes a new instance of the <see cref="GpraInterviewRuleCollection" /> class.</summary>
        /// <param name="assessmentDefinitionRepository">The assessment definition repository.</param>
        public GpraInterviewRuleCollection(IAssessmentDefinitionRepository assessmentDefinitionRepository)
        {
            _assessmentDefinitionRepository = assessmentDefinitionRepository;

            #region InterviewInformationSectionRules

            NewItemSkippingRule(() => SkipItem0000004)
            .ForItemInstance <Lookup> ("0000003")
            .EqualTo(InterviewInformationLookups.Intake)
            .SkipItem(GetItemDefinition("0000004"));

            NewItemSkippingRule(() => SkipDemographicsSection)
            .ForItemInstance <Lookup> ("0000003")
            .NotEqualTo(InterviewInformationLookups.Intake)
            .SkipItem(GetItemDefinition(_demographicsSection));

            NewRuleSet(() => ItemUpdatedRuleSet0000003, SkipItem0000004, SkipDemographicsSection);

            #endregion

            #region PlannedServicesSectionRules

            NewItemSkippingRule(() => SkipItem0000020).ForItemInstance <bool> ("0000019").EqualTo(false).SkipItem(GetItemDefinition("0000020"));

            NewRuleSet(() => ItemUpdatedRuleSet0000019, SkipItem0000020);

            NewItemSkippingRule(() => SkipItem0000034).ForItemInstance <bool> ("0000033").EqualTo(false).SkipItem(GetItemDefinition("0000034"));

            NewRuleSet(() => ItemUpdatedRuleSet0000033, SkipItem0000034);

            NewItemSkippingRule(() => SkipItem0000044).ForItemInstance <bool> ("0000043").EqualTo(false).SkipItem(GetItemDefinition("0000044"));

            NewRuleSet(() => ItemUpdatedRuleSet0000043, SkipItem0000044);

            NewItemSkippingRule(() => SkipItem0000049).ForItemInstance <bool> ("0000048").EqualTo(false).SkipItem(GetItemDefinition("0000049"));

            NewRuleSet(() => ItemUpdatedRuleSet0000048, SkipItem0000049);

            NewItemSkippingRule(() => SkipItem0000056).ForItemInstance <bool> ("0000055").EqualTo(false).SkipItem(GetItemDefinition("0000056"));

            NewRuleSet(() => ItemUpdatedRuleSet0000055, SkipItem0000056);

            NewItemSkippingRule(() => SkipItem0000060).ForItemInstance <bool> ("0000059").EqualTo(false).SkipItem(GetItemDefinition("0000060"));

            NewRuleSet(() => ItemUpdatedRuleSet0000059, SkipItem0000060);

            NewItemSkippingRule(() => SkipItem0000066).ForItemInstance <bool> ("0000065").EqualTo(false).SkipItem(GetItemDefinition("0000066"));

            NewRuleSet(() => ItemUpdatedRuleSet0000065, SkipItem0000066);

            #endregion

            #region DemographicsSectionRules

            NewItemSkippingRule(() => SkipItem0000068).ForItemInstance <Lookup> ("0000067").NotEqualTo(Gender.Other).SkipItem(GetItemDefinition("0000068"));

            NewRuleSet(() => ItemUpdatedRuleSet0000067, SkipItem0000068);

            NewItemSkippingRule(() => SkipItem0000070To0000077)
            .ForItemInstance <bool> ("0000069")
            .EqualTo(false)
            .SkipItem(GetItemDefinition("0000070", "0000071", "0000072", "0000073", "0000074", "0000075", "0000076"));

            NewRuleSet(() => ItemUpdatedRuleSet0000069, SkipItem0000070To0000077);

            NewItemSkippingRule(() => SkipItem0000077)
            .ForItemInstance <bool> ("0000076")
            .EqualTo(false)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000077"));

            NewRuleSet(() => ItemUpdatedRuleSet0000076, SkipItem0000077);

            #endregion

            #region DrugAlcoholSectionRules

            NewItemSkippingRule(() => SkipItem0000092)
            .ForItemInstance <int> ("0000091")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000092"));

            NewRuleSet(() => ItemUpdatedRuleSet0000091, SkipItem0000092);

            NewItemSkippingRule(() => SkipItem0000094)
            .ForItemInstance <int> ("0000093")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000094"));

            NewRuleSet(() => ItemUpdatedRuleSet0000093, SkipItem0000094);

            NewItemSkippingRule(() => SkipItem0000096)
            .ForItemInstance <int> ("0000095")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000096"));

            NewRuleSet(() => ItemUpdatedRuleSet0000095, SkipItem0000096);

            NewItemSkippingRule(() => SkipItem0000098)
            .ForItemInstance <int> ("0000097")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000098"));

            NewRuleSet(() => ItemUpdatedRuleSet0000097, SkipItem0000098);

            NewItemSkippingRule(() => SkipItem0000100)
            .ForItemInstance <int> ("0000099")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000100"));

            NewRuleSet(() => ItemUpdatedRuleSet0000099, SkipItem0000100);

            NewItemSkippingRule(() => SkipItem0000102)
            .ForItemInstance <int> ("0000101")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000102"));

            NewRuleSet(() => ItemUpdatedRuleSet0000101, SkipItem0000102);

            NewItemSkippingRule(() => SkipItem0000104)
            .ForItemInstance <int> ("0000103")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000104"));

            NewRuleSet(() => ItemUpdatedRuleSet0000103, SkipItem0000104);

            NewItemSkippingRule(() => SkipItem0000106)
            .ForItemInstance <int> ("0000105")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000106"));

            NewRuleSet(() => ItemUpdatedRuleSet0000105, SkipItem0000106);

            NewItemSkippingRule(() => SkipItem0000108)
            .ForItemInstance <int> ("0000107")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000108"));

            NewRuleSet(() => ItemUpdatedRuleSet0000107, SkipItem0000108);

            NewItemSkippingRule(() => SkipItem0000110)
            .ForItemInstance <int> ("0000109")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000110"));

            NewRuleSet(() => ItemUpdatedRuleSet0000109, SkipItem0000110);

            NewItemSkippingRule(() => SkipItem0000112)
            .ForItemInstance <int> ("0000111")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000112"));

            NewRuleSet(() => ItemUpdatedRuleSet0000111, SkipItem0000112);

            NewItemSkippingRule(() => SkipItem0000114)
            .ForItemInstance <int> ("0000113")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000114"));

            NewRuleSet(() => ItemUpdatedRuleSet0000113, SkipItem0000114);

            NewItemSkippingRule(() => SkipItem0000116)
            .ForItemInstance <int> ("0000115")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000116"));

            NewRuleSet(() => ItemUpdatedRuleSet0000115, SkipItem0000116);

            NewItemSkippingRule(() => SkipItem0000118)
            .ForItemInstance <int> ("0000117")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000118"));

            NewRuleSet(() => ItemUpdatedRuleSet0000117, SkipItem0000118);

            NewItemSkippingRule(() => SkipItem0000120)
            .ForItemInstance <int> ("0000119")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000120"));

            NewRuleSet(() => ItemUpdatedRuleSet0000119, SkipItem0000120);

            NewItemSkippingRule(() => SkipItem0000122)
            .ForItemInstance <int> ("0000121")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000122"));

            NewRuleSet(() => ItemUpdatedRuleSet0000121, SkipItem0000122);

            NewItemSkippingRule(() => SkipItem0000124)
            .ForItemInstance <int> ("0000123")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000124"));

            NewRuleSet(() => ItemUpdatedRuleSet0000123, SkipItem0000124);

            NewItemSkippingRule(() => SkipItem0000126)
            .ForItemInstance <int> ("0000125")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000126"));

            NewRuleSet(() => ItemUpdatedRuleSet0000125, SkipItem0000126);

            NewItemSkippingRule(() => SkipItem0000128)
            .ForItemInstance <int> ("0000127")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000128"));

            NewRuleSet(() => ItemUpdatedRuleSet0000127, SkipItem0000128);

            NewItemSkippingRule(() => SkipItem0000130)
            .ForItemInstance <int> ("0000129")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000130"));

            NewRuleSet(() => ItemUpdatedRuleSet0000129, SkipItem0000130);

            NewItemSkippingRule(() => SkipItem0000132And0000133)
            .ForItemInstance <int> ("0000131")
            .LessThen(1)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000132", "0000133"));

            NewRuleSet(() => ItemUpdatedRuleSet0000131, SkipItem0000132And0000133);

            #endregion

            #region FamilyLivingSituationSectionRules

            NewItemSkippingRule(() => SkipItem0000137)
            .ForItemInstance <Lookup> ("0000136")
            .NotEqualTo(FamilyLivingSitationLookups.Housed)
            .SkipItem(GetItemDefinition("0000137"));

            NewRuleSet(() => ItemUpdatedRuleSet0000136, SkipItem0000137);

            NewItemSkippingRule(() => SkipItem0000138)
            .ForItemInstance <Lookup> ("0000137")
            .NotEqualTo(FamilyLivingSitationLookups.Other)
            .SkipItem(GetItemDefinition("0000138"));

            NewRuleSet(() => ItemUpdatedRuleSet0000137, SkipItem0000138);

            #endregion

            #region ProfessionalInformationSectionRules

            NewItemSkippingRule(() => SkipItem0000149)
            .ForItemInstance <Lookup> ("0000148")
            .NotEqualTo(ProfessionalInformationLookups.Other)
            .SkipItem(GetItemDefinition("0000149"));

            NewRuleSet(() => ItemUpdatedRuleSet0000148, SkipItem0000149);

            NewItemSkippingRule(() => SkipItem0000152)
            .ForItemInstance <Lookup> ("0000151")
            .NotEqualTo(ProfessionalInformationLookups.EmploymentOther)
            .SkipItem(GetItemDefinition("0000152"));

            NewRuleSet(() => ItemUpdatedRuleSet0000151, SkipItem0000152);

            NewItemSkippingRule(() => SkipItem0000160).ForItemInstance <int> ("0000159").LessThen(1).SkipItem(GetItemDefinition("0000160"));

            NewRuleSet(() => ItemUpdatedRuleSet0000159, SkipItem0000160);

            #endregion

            #region CriminalJusticeSectionRules

            NewItemSkippingRule(() => SkipItem0000162).ForItemInstance <int> ("0000161").LessThen(1).SkipItem(GetItemDefinition("0000162"));

            NewRuleSet(() => ItemUpdatedRuleSet0000161, SkipItem0000162);

            #endregion

            #region TreatmentRecoverySection

            NewItemSkippingRule(() => SkipItem0000169).ForItemInstance <bool> ("0000168").EqualTo(false).SkipItem(GetItemDefinition("0000169"));

            NewRuleSet(() => ItemUpdatedRuleSet0000168, SkipItem0000169);

            NewItemSkippingRule(() => SkipItem0000171).ForItemInstance <bool> ("0000170").EqualTo(false).SkipItem(GetItemDefinition("0000171"));

            NewRuleSet(() => ItemUpdatedRuleSet0000170, SkipItem0000171);

            NewItemSkippingRule(() => SkipItem0000173).ForItemInstance <bool> ("0000172").EqualTo(false).SkipItem(GetItemDefinition("0000173"));

            NewRuleSet(() => ItemUpdatedRuleSet0000172, SkipItem0000173);

            NewItemSkippingRule(() => SkipItem0000175).ForItemInstance <bool> ("0000174").EqualTo(false).SkipItem(GetItemDefinition("0000175"));

            NewRuleSet(() => ItemUpdatedRuleSet0000174, SkipItem0000175);

            NewItemSkippingRule(() => SkipItem0000177).ForItemInstance <bool> ("0000176").EqualTo(false).SkipItem(GetItemDefinition("0000177"));

            NewRuleSet(() => ItemUpdatedRuleSet0000176, SkipItem0000177);

            NewItemSkippingRule(() => SkipItem0000179).ForItemInstance <bool> ("0000178").EqualTo(false).SkipItem(GetItemDefinition("0000179"));

            NewRuleSet(() => ItemUpdatedRuleSet0000178, SkipItem0000179);

            NewItemSkippingRule(() => SkipItem0000181).ForItemInstance <bool> ("0000180").EqualTo(false).SkipItem(GetItemDefinition("0000181"));

            NewRuleSet(() => ItemUpdatedRuleSet0000180, SkipItem0000181);

            NewItemSkippingRule(() => SkipItem0000183).ForItemInstance <bool> ("0000182").EqualTo(false).SkipItem(GetItemDefinition("0000183"));

            NewRuleSet(() => ItemUpdatedRuleSet0000182, SkipItem0000183);

            NewItemSkippingRule(() => SkipItem0000185).ForItemInstance <bool> ("0000184").EqualTo(false).SkipItem(GetItemDefinition("0000185"));

            NewRuleSet(() => ItemUpdatedRuleSet0000184, SkipItem0000185);

            NewItemSkippingRule(() => SkipItem0000187To0000191)
            .ForItemInstance <bool> ("0000186")
            .EqualTo(false)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000187", "0000188", "0000189", "0000190", "0000191"));

            NewRuleSet(() => ItemUpdatedRuleSet0000186, SkipItem0000187To0000191);

            NewItemSkippingRule(() => SkipItem0000193)
            .ForItemInstance <bool> ("0000192")
            .EqualTo(false)
            .OrNonResponse(_nonResponseList)
            .SkipItem(GetItemDefinition("0000193"));

            NewRuleSet(() => ItemUpdatedRuleSet0000192, SkipItem0000193);

            #endregion

            #region SocialConnectednessSection

            NewItemSkippingRule(() => SkipItem0000203).ForItemInstance <bool> ("0000202").EqualTo(false).SkipItem(GetItemDefinition("0000203"));

            NewRuleSet(() => ItemUpdatedRuleSet0000202, SkipItem0000203);

            NewItemSkippingRule(() => SkipItem0000205).ForItemInstance <bool> ("0000204").EqualTo(false).SkipItem(GetItemDefinition("0000205"));

            NewRuleSet(() => ItemUpdatedRuleSet0000204, SkipItem0000205);

            NewItemSkippingRule(() => SkipItem0000207).ForItemInstance <bool> ("0000206").EqualTo(false).SkipItem(GetItemDefinition("0000207"));

            NewRuleSet(() => ItemUpdatedRuleSet0000206, SkipItem0000207);

            NewItemSkippingRule(() => SkipItem0000210).ForItemInstance <Lookup> ("0000209").NotEqualTo(Gender.Other).SkipItem(GetItemDefinition("0000210"));

            NewRuleSet(() => ItemUpdatedRuleSet0000209, SkipItem0000210);

            #endregion

            #region FollowUpSectionRules

            NewItemSkippingRule(() => SkipItem0000212)
            .ForItemInstance <Lookup> ("0000211")
            .NotEqualTo(FollowUpLookups.UnableToLocateOther)
            .SkipItem(GetItemDefinition("0000212"));

            NewRuleSet(() => ItemUpdatedRuleSet0000211, SkipItem0000212);

            #endregion

            #region DischargeSectionRules

            NewItemSkippingRule(() => SkipItem0000216)
            .ForItemInstance <Lookup> ("0000215")
            .NotEqualTo(DischargeLookups.Termination)
            .SkipItem(GetItemDefinition("0000216"));

            NewRuleSet(() => ItemUpdatedRuleSet0000215, SkipItem0000216);

            NewItemSkippingRule(() => SkipItem0000217).ForItemInstance <Lookup> ("0000216").NotEqualTo(DischargeLookups.Other).SkipItem(GetItemDefinition("0000217"));

            NewRuleSet(() => ItemUpdatedRuleSet0000216, SkipItem0000217);

            #endregion
        }