Ejemplo n.º 1
0
        private void CreateMedication(MedicationDto dto, Patient patient, Provenance provenance)
        {
            CodedConcept medicationCode = null;

            if (dto.MedicationCodeCodedConcept != null)
            {
                medicationCode = new CodedConceptBuilder().WithCodedConceptDto(dto.MedicationCodeCodedConcept);
            }

            var medication = patient.AddMedication(medicationCode, provenance);

            CodedConcept rootMedicationCode = null;

            if (dto.RootMedicationCodedConcept != null)
            {
                rootMedicationCode = new CodedConceptBuilder().WithCodedConceptDto(dto.RootMedicationCodedConcept);
            }

            var discontinuedReason = _mappingHelper.MapLookupField <DiscontinuedReason> (dto.DiscontinuedReason);
            var medicationStatus   = dto.MedicationStatus == null
                                       ? _mappingHelper.MapLookupField <MedicationStatus> (WellKnownNames.PatientModule.MedicationStatus.Inactive)
                                       : _mappingHelper.MapLookupField <MedicationStatus> (dto.MedicationStatus);

            medication.ReviseOverTheCounterIndicator(dto.OverTheCounterIndicator);
            medication.RevisePrescribingPhysicianName(dto.PrescribingPhysicianName);
            medication.ReviseUsageDateRange(new DateRange(dto.StartDate, dto.EndDate));
            medication.ReviseDiscontinuedByPhysicianName(dto.DiscontinuedByPhysicianName);
            medication.ReviseDiscontinuedReason(discontinuedReason);
            medication.ReviseDiscontinuedReasonOtherDescription(dto.DiscontinuedReasonOtherDescription);
            medication.ReviseFrequencyDescription(dto.FrequencyDescription);
            medication.ReviseInstructionsNote(dto.InstructionsNote);
            medication.ReviseMedicationStatus(medicationStatus);
            medication.ReviseRootMedicationCodedConcept(rootMedicationCode);
        }
        private List <MedicationFollowupDto> GetTimings(MedicationDto medication, MedicationFollowupDto followup, IList <MedicationFollowupDto> followups = null)
        {
            var timingRecords = new List <MedicationFollowupDto>();

            var(intTimings, timingList) = MedicationHelper.GetMedicationFrequentyInNumber(medication.Frenquency);

            if (timingList == null)
            {
                timingRecords.Add(followup);
            }

            foreach (var timingItem in timingList)
            {
                var item = new MedicationFollowupDto
                {
                    MedicationId = medication.Id,
                    //  Status = (int)MedicationFollowupStatus.NOTTAKEN,
                    TakenDate = followup.TakenDate,
                    TakenTime = timingItem
                };
                var takenRecords = followups?.Where(x => x.TakenTime == timingItem).FirstOrDefault();
                if (takenRecords != null)
                {
                    timingRecords.Add(takenRecords);
                }
                else
                {
                    item.Status = (int)MedicationFollowupStatus.NOTTAKEN;
                    timingRecords.Add(item);
                }
            }
            return(timingRecords);
        }
Ejemplo n.º 3
0
        public static MedicationDto MedicationToDto(Medication medication)
        {
            var medicationDto = new MedicationDto();

            medicationDto.InjectFrom(medication);
            return(medicationDto);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Navigates to default command.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        protected override void NavigateToDefaultCommand(KeyValuePair <string, string>[] parameters)
        {
            var key        = parameters.GetValue <long> ("MedicationKey");
            var patientkey = parameters.GetValue <long> ("PatientKey");
            var dispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

            if (key == 0)
            {
                Medication            = new MedicationDto();
                Medication.PatientKey = patientkey;
            }
            else
            {
                dispatcher.Add(new GetMedicationByKeyRequest {
                    Key = key
                });
                IsLoading = true;
            }
            dispatcher.AddLookupValuesRequest("MedicationStatus");
            dispatcher.AddLookupValuesRequest("DiscontinuedReason");
            dispatcher.ProcessRequests(HandleRequestComplete, HandleRequestDispatcherException);
            IsLoading = true;

            StartRuleWatch();
        }
Ejemplo n.º 5
0
        public void Medication_dto_to_medication()
        {
            MedicationDto medicationDto = CreateMedicationDto();

            Medication myMedication = HospitalApp.Adapters.MedicationAdapter.MedicationDtoToMedication(medicationDto);

            myMedication.ShouldBeOfType(typeof(Medication));
        }
Ejemplo n.º 6
0
        private void ExecuteToggleActiveIndicator(MedicationDto medicationDto)
        {
            var requestDispatcher = _asyncRequestDispatcherFactory.CreateAsyncRequestDispatcher();

            requestDispatcher.Add(new SaveDtoRequest <MedicationDto> {
                DataTransferObject = medicationDto
            });
            requestDispatcher.ProcessRequests(HandleSaveMedicationCompleted, HandleSaveMedicationException);
        }
Ejemplo n.º 7
0
        public void Get_by_id()
        {
            MedicationDto myMedication = CreateMedications().Find(m => m.Id == 1);

            HospitalApp.Controllers.MedicationController controller = new HospitalApp.Controllers.MedicationController(SetupRepository(myMedication, null).Object);

            var actionResult = controller.GetById(myMedication.Id);

            ConvertToObject(actionResult).ShouldBeEquivalentTo(myMedication);
        }
Ejemplo n.º 8
0
        private MedicationDto CreateMedicationDto()
        {
            MedicationDto medicationDto = new MedicationDto
            {
                Id       = 5,
                Name     = "Flonivil",
                Quantity = 123
            };

            return(medicationDto);
        }
Ejemplo n.º 9
0
        public static MedicationDto MedicationToMedicationDto(Medication medication)
        {
            MedicationDto medicationDto = new MedicationDto
            {
                Id       = medication.Id,
                Name     = medication.Name,
                Quantity = medication.Quantity
            };

            return(medicationDto);
        }
Ejemplo n.º 10
0
        public static Medication MedicationDtoToMedication(MedicationDto medicationDto)
        {
            Medication medication = new Medication
            {
                Id       = medicationDto.Id,
                Name     = medicationDto.Name,
                Quantity = medicationDto.Quantity
            };

            return(medication);
        }
Ejemplo n.º 11
0
        public void Get_by_id()
        {
            using (var context = new MyDbContext(_options))
            {
                SetupDatabase(context);
                HospitalApp.Services.MedicationService service = new HospitalApp.Services.MedicationService(context);

                MedicationDto medication = service.GetById(2);

                medication.Id.ShouldBeEquivalentTo(2);
            }
        }
Ejemplo n.º 12
0
 private void ExecuteShowMedicationCommand(MedicationDto medicationDto)
 {
     _navigationService.Navigate(
         "ModalPopupRegion",
         "EditMedicationView",
         null,
         new[]
     {
         new KeyValuePair <string, string> ("MedicationKey", medicationDto.Key.ToString()),
         new KeyValuePair <string, string> ("PatientKey", _patientKey.ToString())
     });
 }
Ejemplo n.º 13
0
        private List <MedicationFollowupDto> GetDefaultFollowupWithTimings(MedicationDto medication, IList <MedicationFollowupDto> followups = null)
        {
            List <MedicationFollowupDto> medicationFollowupList = new List <MedicationFollowupDto>();

            if (medication.EffectiveDate == null)
            {
                return(null);
            }
            var startDate = medication.EffectiveDate.GetValueOrDefault();
            var endDate   = startDate.AddDays(medication.Duration);

            for (int i = 0; i < medication.Duration; i++)
            {
                MedicationFollowupDto result = new MedicationFollowupDto();
                result.MedicationId = medication.Id;
                result.Status       = (int)MedicationFollowupStatus.NOTTAKEN;
                result.TakenDate    = startDate.AddDays(i);
                result.TakenTime    = string.Empty;

                //Get timings


                if (followups != null)
                {
                    var originalRecord = followups.Where(x => x.TakenDate.Day == result.TakenDate.Day && x.TakenDate.Month == result.TakenDate.Month &&
                                                         x.TakenDate.Year == result.TakenDate.Year).ToList();
                    if (originalRecord.Any())
                    {
                        //  medicationFollowupList.AddRange(originalRecord);
                        var filterItems = GetTimings(medication, result, originalRecord);
                        medicationFollowupList.AddRange(filterItems);
                    }
                    else
                    {
                        // medicationFollowupList.Add(result);
                        var filterItems = GetTimings(medication, result, null);
                        medicationFollowupList.AddRange(filterItems);
                    }
                }
                else
                {
                    //   medicationFollowupList.Add(result);
                    var filterItems = GetTimings(medication, result, null);
                    medicationFollowupList.AddRange(filterItems);
                }
            }
            return(medicationFollowupList);
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> CreateMedicationAsync(
            [FromServices] ICommandHandler <CreateMedicationCommand> handler,
            [FromBody] MedicationDto medication)
        {
            var validationResult = this.validator.Validate(medication);

            if (!validationResult.IsValid)
            {
                return(this.BadRequest());
            }

            var command = this.mapper.Map <CreateMedicationCommand>(medication);

            await handler.HandleAsync(command);

            return(this.CreatedAtAction("GetMedicationById", new { medicationId = medication.Id }, null));
        }
Ejemplo n.º 15
0
        public List <SearchResultDTO> GetSearchResult()
        {
            IMedicationServerController medicationServerController = new MedicationServerController();
            IMapObjectController        mapObjectController        = new MapObjectController();
            List <MedicationDto>        searchResults = medicationServerController.GetAllMedicationByName(name).ToList();
            List <SearchResultDTO>      retVal        = new List <SearchResultDTO>();

            MapObject mo = mapObjectController.GetMapObjectById(AllConstants.StorageRoomId);

            for (int i = 0; i < searchResults.Count(); i++)
            {
                MedicationDto   medicationDto   = searchResults.ElementAt(i);
                SearchResultDTO searchResultDTO = new SearchResultDTO()
                {
                    MapObjectId = mo.Id,
                    Content     = medicationDto.Quantity + AllConstants.ContentSeparator + MapObjectSearchResult.MapObjectToRow(mo)
                };
                retVal.Add(searchResultDTO);
            }
            return(retVal);
        }
Ejemplo n.º 16
0
        private Mock <IMedicationService> SetupRepository(MedicationDto medication, List <MedicationDto> medications)
        {
            var repository = CreateRepository();

            switch (GetCallingMethod())
            {
            case "Get_all_medications":
                repository.Setup(m => m.GetAll()).Returns(CreateMedications());
                break;

            case "Get_by_id":
                repository.Setup(m => m.GetById(medication.Id)).Returns(medication);
                break;

            default:
                Console.WriteLine("Error");
                break;
            }

            return(repository);
        }
Ejemplo n.º 17
0
        private List <MedicationDto> CreateMedications()
        {
            var meds = new List <MedicationDto>();

            MedicationDto med1 = new MedicationDto
            {
                Id       = 1,
                Name     = "Fervex",
                Quantity = 5
            };

            MedicationDto med2 = new MedicationDto
            {
                Id       = 2,
                Name     = "Flonivil",
                Quantity = 5
            };

            meds.Add(med1);
            meds.Add(med2);

            return(meds);
        }
 private bool CompareInput(MedicationDto medicationDto, string name)
 {
     return(medicationDto.Name.ToLower().Contains(name.ToLower()));
 }
Ejemplo n.º 19
0
        private List <MedicationFollowupDto> GetFormattedFollowup(IList <MedicationFollowupDto> followups, MedicationDto medication)
        {
            List <MedicationFollowupDto> medicationFollowupList = new List <MedicationFollowupDto>();

            if (medication.Duration <= 0)
            {
                return(medicationFollowupList);
            }

            //generate all records based on duration
            var defaultFollowUpList = GetDefaultFollowupWithTimings(medication, followups);

            return(defaultFollowUpList);
        }