Esempio n. 1
0
 private void Apply(AssessmentScoredEvent assessmentScoredEvent)
 {
     Score = new Score(assessmentScoredEvent.ScoreCode)
     {
         Value    = assessmentScoredEvent.Value,
         Guidance = assessmentScoredEvent.Guidance
     };
 }
Esempio n. 2
0
        /// <summary>Handles the specified message.</summary>
        /// <param name="message">The message.</param>
        public void Handle(AssessmentScoredEvent message)
        {
            var assessment           = _assessmentInstanceRepository.GetByKey(message.Key);
            var assessmentDefinition = _assessmentDefinitionRepository.GetByKey(assessment.AssessmentDefinitionKey);

            using (var connection = _connectionFactory.CreateConnection())
            {
                var assessmentScoreString = message.Value.GetType().IsValueType ? message.Value.ToString() : JsonConvert.SerializeObject(message.Value);
                connection.Execute(
                    "INSERT INTO AssessmentModule.AssessmentScores VALUES (@AssessmentScoresKey, @AssessmentDefinitionCode, @AssessmentScore, @ScoredDate, @PatientKey)",
                    new
                {
                    AssessmentScoresKey      = CombGuid.NewCombGuid(),
                    AssessmentDefinitionCode = assessmentDefinition.CodedConcept.Code,
                    AssessmentScore          = assessmentScoreString,
                    ScoredDate = DateTime.Now,
                    assessment.PatientKey
                });
            }
            if (assessment.Score.HasReport)
            {
                using (var connection = _connectionFactory.CreateConnection())
                {
                    connection.Execute(
                        "insert into AssessmentModule.Report values(@ReportKey, @SourceKey, @CreatedTimestamp, @Name, @NameFormat, @CanCustomize, @PatientKey, " +
                        "@ReportSeverity, @ReportType, @ReportStatus, @IsPatientViewable, @OrganizationKey)",
                        new
                    {
                        ReportKey        = CombGuid.NewCombGuid(),
                        SourceKey        = assessment.Key,
                        CreatedTimestamp = DateTime.Now,
                        Name             = assessment.AssessmentName,
                        NameFormat       = "{0}",
                        CanCustomize     = false,
                        assessment.PatientKey,
                        ReportSeverity    = (assessment.Score.Value is IGenerateReport) ? (assessment.Score.Value as IGenerateReport).Severity : ReportSeverity.Unknown,
                        ReportType        = ReportType.Canned,
                        ReportStatus      = "&nbsp;",
                        IsPatientViewable = false,
                        message.OrganizationKey
                    });
                }
            }
        }