/// <summary> /// Creates a list of ImmunizationRecommendation objects from a PHSA models. /// </summary> /// <param name="model">The list of PHSA models to convert.</param> /// <returns>A list of ImmunizationRecommendation objects.</returns> public static IList <TargetDisease> FromPHSAModelList(TargetDiseaseResponse model) { List <TargetDisease> targetDiseases = new List <TargetDisease>(); foreach (SystemCode systemCode in model.targetDiseaseCodes) { targetDiseases.Add(TargetDisease.FromPHSAModel(systemCode)); } return(targetDiseases); }
/// <summary> /// Creates a ImmunizationEvent object from a PHSA model. /// </summary> /// <param name="recomendationSetId">The recomendation set id of the source system.</param> /// <param name="model">The recomendation object to convert.</param> /// <returns>The newly created ImmunizationEvent object.</returns> private static ImmunizationRecommendation FromPHSAModel(string recomendationSetId, RecommendationResponse model) { DateCriterion?disseaseEligible = model.DateCriterions.FirstOrDefault(x => x.DateCriterionCode.text == "Forecast by Disease Eligible Date"); DateCriterion?diseaseDue = model.DateCriterions.FirstOrDefault(x => x.DateCriterionCode.text == "Forecast by Disease Due Date"); DateCriterion?agentEligible = model.DateCriterions.FirstOrDefault(x => x.DateCriterionCode.text == "Forecast by Agent Eligible Date"); DateCriterion?agentDue = model.DateCriterions.FirstOrDefault(x => x.DateCriterionCode.text == "Forecast by Agent Eligible Date"); return(new ImmunizationRecommendation() { RecommendationSetId = recomendationSetId, DisseaseEligibleDate = disseaseEligible != null?DateTime.Parse(disseaseEligible.Value) : null, DiseaseDueDate = diseaseDue != null?DateTime.Parse(diseaseDue.Value) : null, AgentEligibleDate = agentEligible != null?DateTime.Parse(agentEligible.Value) : null, AgentDueDate = agentDue != null?DateTime.Parse(agentDue.Value) : null, Status = model.ForecastStatus.ForecastStatusText, TargetDiseases = TargetDisease.FromPHSAModelList(model.TargetDisease), Immunization = ImmunizationDefinition.FromPHSAModel(model.VaccineCode), }); }