Beispiel #1
0
        /// <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),
            });
        }