/// <summary> /// Processes the single aggregate. /// </summary> /// <param name="dto">The dto to process.</param> /// <param name="entity">The entity.</param> /// <returns>A <see cref="System.Boolean"/></returns> protected override bool ProcessSingleAggregate(MedicationDto dto, Medication entity) { CodedConcept medicationCode = null; if (dto.MedicationCodeCodedConcept != null) { medicationCode = new CodedConceptBuilder().WithCodedConceptDto(dto.MedicationCodeCodedConcept); } CodedConcept rootMedicationCode = null; if (dto.RootMedicationCodedConcept != null) { rootMedicationCode = new CodedConceptBuilder().WithCodedConceptDto(dto.RootMedicationCodedConcept); } var discontinuedReason = _mappingHelper.MapLookupField <DiscontinuedReason> (dto.DiscontinuedReason); var medicationStatus = _mappingHelper.MapLookupField <MedicationStatus> (dto.MedicationStatus); entity.ReviseOverTheCounterIndicator(dto.OverTheCounterIndicator); entity.RevisePrescribingPhysicianName(dto.PrescribingPhysicianName); entity.ReviseUsageDateRange(new DateRange(dto.StartDate, dto.EndDate)); entity.ReviseDiscontinuedByPhysicianName(dto.DiscontinuedByPhysicianName); entity.ReviseDiscontinuedReason(discontinuedReason); entity.ReviseDiscontinuedReasonOtherDescription(dto.DiscontinuedReasonOtherDescription); entity.ReviseFrequencyDescription(dto.FrequencyDescription); entity.ReviseInstructionsNote(dto.InstructionsNote); entity.ReviseMedicationStatus(medicationStatus); entity.ReviseMedicationCodeCodedConcept(medicationCode); entity.ReviseRootMedicationCodedConcept(rootMedicationCode); return(true); }