/// <summary> /// Creates the Teds interview. /// </summary> /// <param name="visit">The visit.</param> /// <returns>A TedsAdmissionInterview.</returns> public TedsAdmissionInterview CreateTedsAdmissionInterview(Visit visit) { var activityType = _lookupValueRepository.GetLookupByWellKnownName<ActivityType>(WellKnownNames.VisitModule.ActivityType.TedsAdmissionInterview); var TedsAdmissionInterview = new TedsAdmissionInterview(visit, activityType); _tedsAdmissionInterviewRepository.MakePersistent(TedsAdmissionInterview); return TedsAdmissionInterview; }
/// <summary> /// Processes the single aggregate. /// </summary> /// <param name="dto">The dto.</param> /// <param name="tedsAdmissionInterview">The teds admission interview.</param> /// <returns>A bool.</returns> protected override bool ProcessSingleAggregate(TedsAdmissionInterviewDto dto, TedsAdmissionInterview tedsAdmissionInterview) { tedsAdmissionInterview.ReviseArrestsInPastThirtyDaysCount(TedsAnswerMapper.MapToTedsAnswer(dto.ArrestsInPastThirtyDaysCount, _mappingHelper)); tedsAdmissionInterview.ReviseCoDependentIndicator(dto.CoDependentIndicator); //TedsAnswer<DsmDiagnosisResponse> dsmDiagnosis = null; //if (dto.DsmDiagnosis != null) //{ // if (dto.DsmDiagnosis.Response != null || dto.DsmDiagnosis.TedsNonResponse != null) // { // dsmDiagnosis = dto.DsmDiagnosis.TedsNonResponse != null // ? new TedsAnswer<DsmDiagnosisResponse>( // _mappingHelper.MapLookupField<TedsNonResponse>(dto.DsmDiagnosis.TedsNonResponse)) // : new TedsAnswer<DsmDiagnosisResponse>(new DsmDiagnosisResponse(dto.DsmDiagnosis.Response)); // } //} //tedsAdmissionInterview.ReviseDsmDiagnosis(dsmDiagnosis); tedsAdmissionInterview.ReviseIncomeSourceType(TedsAnswerMapper.MapToTedsAnswer <IncomeSourceType>(dto.IncomeSourceType, _mappingHelper)); tedsAdmissionInterview.ReviseLivingArrangementsType(TedsAnswerMapper.MapToTedsAnswer <LivingArrangementsType>(dto.LivingArrangementsType, _mappingHelper)); tedsAdmissionInterview.ReviseVeteranStatusIndicator(TedsAnswerMapper.MapToTedsAnswer(dto.VeteranStatusIndicator, _mappingHelper)); tedsAdmissionInterview.ReviseMedicationAssistedOpioidTherapyIndicator(TedsAnswerMapper.MapToTedsAnswer(dto.MedicationAssistedOpioidTherapyIndicator, _mappingHelper)); tedsAdmissionInterview.ReviseOtherPsychiatricProblemIndicator(TedsAnswerMapper.MapToTedsAnswer(dto.OtherPsychiatricProblemIndicator, _mappingHelper)); tedsAdmissionInterview.ReviseParticipatedSelfHelpGroupInPastThirtyDaysType(TedsAnswerMapper.MapToTedsAnswer <ParticipatedSelfHelpGroupInPastThirtyDaysType>(dto.ParticipatedSelfHelpGroupInPastThirtyDaysType, _mappingHelper)); tedsAdmissionInterview.RevisePrimaryPaymentSourceType(TedsAnswerMapper.MapToTedsAnswer <PrimaryPaymentSourceType>(dto.PrimaryPaymentSourceType, _mappingHelper)); tedsAdmissionInterview.RevisePriorTreatmentEpisodesCount(TedsAnswerMapper.MapToTedsAnswer(dto.PriorTreatmentEpisodesCount, _mappingHelper)); TedsAdmissionInterviewSubstanceUsage primaryTedsAdmissionInterviewSubstanceUsage = null; var primarySubstanceProblemType = TedsAnswerMapper.MapToTedsAnswer <SubstanceProblemType> (dto.PrimarySubstanceProblemType, _mappingHelper); var primaryUseFrequencyType = TedsAnswerMapper.MapToTedsAnswer <UseFrequencyType> (dto.PrimaryUseFrequencyType, _mappingHelper); var primaryFirstUseAge = TedsAnswerMapper.MapToTedsAnswer(dto.PrimaryFirstUseAge, _mappingHelper); var primaryUsualAdministrationRouteType = TedsAnswerMapper.MapToTedsAnswer <UsualAdministrationRouteType> (dto.PrimaryUsualAdministrationRouteType, _mappingHelper); var primaryDetailedDrugCode = TedsAnswerMapper.MapToTedsAnswer <DetailedDrugCode, DetailedDrugCodeDto> (dto.PrimaryDetailedDrugCode, _mappingHelper); if (primarySubstanceProblemType != null || primaryUseFrequencyType != null || primaryFirstUseAge != null || primaryUsualAdministrationRouteType != null || primaryDetailedDrugCode != null) { primaryTedsAdmissionInterviewSubstanceUsage = new TedsAdmissionInterviewSubstanceUsage(new SubstanceUsageAtAdmission(new SubstanceProblemAndFrequency(primarySubstanceProblemType, primaryUseFrequencyType), primaryUsualAdministrationRouteType, primaryFirstUseAge, primaryDetailedDrugCode)); } TedsAdmissionInterviewSubstanceUsage secondaryTedsAdmissionInterviewSubstanceUsage = null; var secondarySubstanceProblemType = TedsAnswerMapper.MapToTedsAnswer <SubstanceProblemType>(dto.SecondarySubstanceProblemType, _mappingHelper); var secondaryUseFrequencyType = TedsAnswerMapper.MapToTedsAnswer <UseFrequencyType>(dto.SecondaryUseFrequencyType, _mappingHelper); var secondaryFirstUseAge = TedsAnswerMapper.MapToTedsAnswer(dto.SecondaryFirstUseAge, _mappingHelper); var secondaryUsualAdministrationRouteType = TedsAnswerMapper.MapToTedsAnswer <UsualAdministrationRouteType>(dto.SecondaryUsualAdministrationRouteType, _mappingHelper); var secondaryDetailedDrugCode = TedsAnswerMapper.MapToTedsAnswer <DetailedDrugCode, DetailedDrugCodeDto>(dto.SecondaryDetailedDrugCode, _mappingHelper); if (secondarySubstanceProblemType != null || secondaryUseFrequencyType != null || secondaryFirstUseAge != null || secondaryUsualAdministrationRouteType != null || secondaryDetailedDrugCode != null) { secondaryTedsAdmissionInterviewSubstanceUsage = new TedsAdmissionInterviewSubstanceUsage(new SubstanceUsageAtAdmission(new SubstanceProblemAndFrequency(secondarySubstanceProblemType, secondaryUseFrequencyType), secondaryUsualAdministrationRouteType, secondaryFirstUseAge, secondaryDetailedDrugCode)); } TedsAdmissionInterviewSubstanceUsage tertiaryTedsAdmissionInterviewSubstanceUsage = null; var tertiarySubstanceProblemType = TedsAnswerMapper.MapToTedsAnswer <SubstanceProblemType>(dto.TertiarySubstanceProblemType, _mappingHelper); var tertiaryUseFrequencyType = TedsAnswerMapper.MapToTedsAnswer <UseFrequencyType>(dto.TertiaryUseFrequencyType, _mappingHelper); var tertiaryFirstUseAge = TedsAnswerMapper.MapToTedsAnswer(dto.TertiaryFirstUseAge, _mappingHelper); var tertiaryUsualAdministrationRouteType = TedsAnswerMapper.MapToTedsAnswer <UsualAdministrationRouteType>(dto.TertiaryUsualAdministrationRouteType, _mappingHelper); var tertiaryDetailedDrugCode = TedsAnswerMapper.MapToTedsAnswer <DetailedDrugCode, DetailedDrugCodeDto>(dto.TertiaryDetailedDrugCode, _mappingHelper); if (tertiarySubstanceProblemType != null || tertiaryUseFrequencyType != null || tertiaryFirstUseAge != null || tertiaryUsualAdministrationRouteType != null || tertiaryDetailedDrugCode != null) { tertiaryTedsAdmissionInterviewSubstanceUsage = new TedsAdmissionInterviewSubstanceUsage(new SubstanceUsageAtAdmission(new SubstanceProblemAndFrequency(tertiarySubstanceProblemType, tertiaryUseFrequencyType), tertiaryUsualAdministrationRouteType, tertiaryFirstUseAge, tertiaryDetailedDrugCode)); } tedsAdmissionInterview.ReviseTedsAdmissionInterviewSubstanceUsages(primaryTedsAdmissionInterviewSubstanceUsage, secondaryTedsAdmissionInterviewSubstanceUsage, tertiaryTedsAdmissionInterviewSubstanceUsage); tedsAdmissionInterview.ReviseTedsEducationYearCount(TedsAnswerMapper.MapToTedsAnswer(dto.TedsEducationYearCount, _mappingHelper)); var tedsEmploymentStatus = TedsAnswerMapper.MapToTedsAnswer <TedsEmploymentStatus>(dto.TedsEmploymentStatusInformationTedsEmploymentStatus, _mappingHelper); var detailedNotInLaborForce = TedsAnswerMapper.MapToTedsAnswer <DetailedNotInLaborForce>(dto.TedsEmploymentStatusInformationDetailedNotInLaborForce, _mappingHelper); if (tedsEmploymentStatus != null || detailedNotInLaborForce != null) { tedsAdmissionInterview.ReviseTedsEmploymentStatusInformation(new TedsEmploymentStatusInformation(tedsEmploymentStatus, detailedNotInLaborForce)); } else { tedsAdmissionInterview.ReviseTedsEmploymentStatusInformation(null); } tedsAdmissionInterview.ReviseTedsEthnicity(TedsAnswerMapper.MapToTedsAnswer <TedsEthnicity>(dto.TedsEthnicity, _mappingHelper)); var tedsGender = TedsAnswerMapper.MapToTedsAnswer <TedsGender>(dto.TedsGenderInformationTedsGender, _mappingHelper); var pregnantIndicator = TedsAnswerMapper.MapToTedsAnswer(dto.TedsGenderInformationPregnantIndicator, _mappingHelper); if (tedsGender != null || pregnantIndicator != null) { tedsAdmissionInterview.ReviseTedsGenderInformation(new TedsGenderInformation(tedsGender, pregnantIndicator)); } else { tedsAdmissionInterview.ReviseTedsGenderInformation(null); } tedsAdmissionInterview.ReviseTedsRace(TedsAnswerMapper.MapToTedsAnswer <TedsRace>(dto.TedsRace, _mappingHelper)); tedsAdmissionInterview.ReviseTedsMartialStatus(TedsAnswerMapper.MapToTedsAnswer <MaritalStatus>(dto.MaritalStatus, _mappingHelper)); return(true); }
/// <summary> /// Destroys the Teds interview. /// </summary> /// <param name="tedsAdmissionInterview">The Teds interview.</param> public void DestroyTedsAdmissionInterview(TedsAdmissionInterview tedsAdmissionInterview) { Check.IsNotNull(tedsAdmissionInterview, "TedsAdmissionInterview is required."); _tedsAdmissionInterviewRepository.MakeTransient(tedsAdmissionInterview); }