Ejemplo n.º 1
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;
 }
Ejemplo n.º 2
0
 public SaveAssessmentItemRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository,
                                         IAssessmentInstanceRepository assessmentInstanceRepository,
                                         IAssessmentCompletenessManager assessmentCompletenessManager)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _assessmentCompletenessManager  = assessmentCompletenessManager;
 }
Ejemplo n.º 3
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="SendEmailRequestHandler" /> class.
 /// </summary>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="dbConnectionFactory">The database connection factory.</param>
 public SendEmailRequestHandler(
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IPatientRepository patientRepository,
     IDbConnectionFactory dbConnectionFactory)
 {
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _patientRepository            = patientRepository;
     _dbConnectionFactory          = dbConnectionFactory;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NihProfileReport" /> class.
 /// </summary>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="staffRepository">The staff repository.</param>
 public NihProfileReport(
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IPatientRepository patientRepository,
     IStaffRepository staffRepository)
 {
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _patientRepository            = patientRepository;
     _staffRepository = staffRepository;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GainShortScreenerProfileReport" /> class.
 /// </summary>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="staffRepository">The staff repository.</param>
 public GainShortScreenerProfileReport(
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IPatientRepository patientRepository,
     IStaffRepository staffRepository)
 {
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _patientRepository            = patientRepository;
     _staffRepository = staffRepository;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="YouthPediatricSymptonChecklistSummaryReport"/> class.
 /// </summary>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="staffRepository">The staff repository.</param>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 public YouthPediatricSymptonChecklistSummaryReport(
     IPatientRepository patientRepository,
     IStaffRepository staffRepository,
     IAssessmentInstanceRepository assessmentInstanceRepository)
 {
     _patientRepository            = patientRepository;
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _staffRepository = staffRepository;
 }
 public GetSectionDtoByKeyRequestHandler(IAssessmentDefinitionRepository assessmentDefinitionRepository,
                                         IAssessmentInstanceRepository assessmentInstanceRepository,
                                         IWorkflowMessageRepository workflowMessageRepository,
                                         IMessageCollector messageCollector)
 {
     _assessmentDefinitionRepository = assessmentDefinitionRepository;
     _assessmentInstanceRepository   = assessmentInstanceRepository;
     _workflowMessageRepository      = workflowMessageRepository;
     _messageCollector = messageCollector;
 }
Ejemplo n.º 8
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;
 }
Ejemplo n.º 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;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AssessmentScoreOverTimeReportEngine" /> class.
 /// </summary>
 /// <param name="patientRepository">The patient repository.</param>
 /// <param name="resourcesManager">The resources manager.</param>
 /// <param name="assessmentInstanceRepository">The assessment instance repository.</param>
 /// <param name="reportTemplateRepository">The report template repository.</param>
 /// <param name="reportHistoryRepository">The report history repository.</param>
 public AssessmentScoreOverTimeReportEngine(
     IPatientRepository patientRepository,
     IResourcesManager resourcesManager,
     IAssessmentInstanceRepository assessmentInstanceRepository,
     IReportTemplateRepository reportTemplateRepository,
     IRecentReportRepository reportHistoryRepository)
 {
     _patientRepository            = patientRepository;
     _resourcesManager             = resourcesManager;
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _reportTemplateRepository     = reportTemplateRepository;
     _recentReportRepository       = reportHistoryRepository;
 }
 /// <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;
 }
Ejemplo n.º 12
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);
        }
Ejemplo n.º 13
0
 public AssessmentSubmittedEventHandler(IAssessmentInstanceRepository assessmentInstanceRepository)
 {
     _assessmentInstanceRepository = assessmentInstanceRepository;
 }
Ejemplo n.º 14
0
 public AssessmentInstanceUpdater(IDbConnectionFactory connectionFactory, IAssessmentInstanceRepository assessmentInstanceRepository)
 {
     _connectionFactory            = connectionFactory;
     _assessmentInstanceRepository = assessmentInstanceRepository;
 }
Ejemplo n.º 15
0
 public SubmitAssessmentRequestHandler(IAssessmentInstanceRepository assessmentInstanceRepository, IMessageCollector messageCollector)
 {
     _assessmentInstanceRepository = assessmentInstanceRepository;
     _messageCollector             = messageCollector;
 }