Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssessmentReminder" /> class.
        /// </summary>
        /// <param name="organizationKey">The organization key.</param>
        /// <param name="patientKey">The patient key.</param>
        /// <param name="createdByStaffKey">The created by staff key.</param>
        /// <param name="assessmentDefinitionKey">The assessment definition key.</param>
        /// <param name="title">The title.</param>
        /// <param name="start">The start.</param>
        /// <param name="description">The description.</param>
        /// <param name="reminderRecurrence">The reminder recurrence.</param>
        /// <param name="end">The end.</param>
        public AssessmentReminder(
            Guid organizationKey,
            Guid patientKey,
            Guid createdByStaffKey,
            Guid assessmentDefinitionKey,
            string title,
            DateTime start,
            string description,
            AssessmentReminderRecurrence reminderRecurrence,
            DateTime?end)
        {
            OrganizationKey = organizationKey;
            Key             = CombGuid.NewCombGuid();

            RaiseEvent(
                new AssessmentReminderCreatedEvent(
                    Key,
                    MessageType,
                    organizationKey,
                    patientKey,
                    createdByStaffKey,
                    assessmentDefinitionKey,
                    title,
                    start,
                    end ?? start,
                    description,
                    AssessmentReminderStatus.Default,
                    reminderRecurrence));
        }
Example #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AssessmentReminderCreatedEvent"/> class.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="messageType">Type of the message.</param>
 /// <param name="organizationKey">The organization key.</param>
 /// <param name="patientKey">The patient key.</param>
 /// <param name="createdByStaffKey">The created by staff key.</param>
 /// <param name="assessmentDefinitionKey">The assessment definition key.</param>
 /// <param name="title">The title.</param>
 /// <param name="start">The start.</param>
 /// <param name="end">The end.</param>
 /// <param name="description">The description.</param>
 /// <param name="status">The status.</param>
 /// <param name="recurrence">The recurrence.</param>
 public AssessmentReminderCreatedEvent(
     Guid key,
     MessageType messageType,
     Guid organizationKey,
     Guid patientKey,
     Guid createdByStaffKey,
     Guid assessmentDefinitionKey,
     string title,
     DateTime start,
     DateTime?end,
     string description,
     AssessmentReminderStatus status,
     AssessmentReminderRecurrence recurrence
     )
     : base(key, messageType)
 {
     OrganizationKey         = organizationKey;
     PatientKey              = patientKey;
     CreatedByStaffKey       = createdByStaffKey;
     AssessmentDefinitionKey = assessmentDefinitionKey;
     Title       = title;
     Start       = start;
     End         = end;
     Description = description;
     Status      = status;
     Recurrence  = recurrence;
 }
Example #3
0
        private static void AddAssessmentReminderForPatient(
            Guid assessmentDefinitionKey,
            Guid organizationKey,
            Guid patientKey,
            Guid staffKey,
            string reminderName,
            string description,
            string email,
            DateTime startDateTime,
            DateTime endDateTime,
            AssessmentReminderRecurrence reminderRecurrenceType,
            AssessmentReminderUnit assessmentReminderUnit)
        {
            var assessmentReminder = new AssessmentReminder(organizationKey,
                                                            patientKey,
                                                            staffKey,
                                                            assessmentDefinitionKey,
                                                            reminderName,
                                                            startDateTime,
                                                            description,
                                                            reminderRecurrenceType,
                                                            endDateTime);

            assessmentReminder.ReviseReminder(1, assessmentReminderUnit, new Email(email));
            Console.WriteLine("Added Assessment Reminder: {0} ......", reminderName);
        }
 /// <summary>
 /// Creates the specified organization key.
 /// </summary>
 /// <param name="organizationKey">The organization key.</param>
 /// <param name="patientKey">The patient key.</param>
 /// <param name="createdByStaffKey">The created by staff key.</param>
 /// <param name="assessmentDefinitionKey">The assessment definition key.</param>
 /// <param name="title">The title.</param>
 /// <param name="start">The start.</param>
 /// <param name="description">The description.</param>
 /// <param name="reminderRecurrence">The reminder recurrence.</param>
 /// <param name="end">The end.</param>
 /// <returns>
 /// A <see cref="AssessmentReminder" />.
 /// </returns>
 public AssessmentReminder Create(
     Guid organizationKey,
     Guid patientKey,
     Guid createdByStaffKey,
     Guid assessmentDefinitionKey,
     string title,
     DateTime start,
     string description,
     AssessmentReminderRecurrence reminderRecurrence,
     DateTime?end)
 {
     return(new AssessmentReminder(organizationKey, patientKey, createdByStaffKey, assessmentDefinitionKey, title, start, description, reminderRecurrence, end));
 }
Example #5
0
 /// <summary>Revises the recurrence.</summary>
 /// <param name="recurrence">The recurrence.</param>
 /// <param name="end">The end.</param>
 public void ReviseRecurrence(AssessmentReminderRecurrence recurrence, DateTime?end)
 {
     RaiseEvent(new AssessmentRecurrenceRevisedEvent(Key, Version, recurrence, end));
 }
Example #6
0
        private static DateTime AddDaysToReminderForRecurrence(DateTime reminderDate, AssessmentReminderRecurrence recurrence, bool sendReminder)
        {
            if (!sendReminder)
            {
                switch (recurrence)
                {
                case AssessmentReminderRecurrence.Daily:
                    reminderDate = reminderDate.AddDays(1);
                    break;

                case AssessmentReminderRecurrence.Weekly:
                    reminderDate = reminderDate.AddDays(7);
                    break;

                case AssessmentReminderRecurrence.Monthly:
                    reminderDate = reminderDate.AddMonths(1);
                    break;
                }
            }
            return(reminderDate);
        }
 /// <summary>
 ///     Initializes a new instance of the <see cref="AssessmentRecurrenceRevisedEvent" /> class.
 /// </summary>
 /// <param name="key">The key.</param>
 /// <param name="version">The version.</param>
 /// <param name="recurrence">The time.</param>
 /// <param name="end">The unit.</param>
 public AssessmentRecurrenceRevisedEvent(Guid key, int version, AssessmentReminderRecurrence recurrence, DateTime?end)
     : base(key, version)
 {
     Recurrence = recurrence;
     End        = end;
 }