Exemple #1
0
        public MortRiskPersonInitializer(string inputData, int dataLine)
        {
            // Parse input record into fields by looking for comma delimiter
            string[] myFields = Regex.Split(inputData, fieldDelimiter);

            initializeOK = true;


            // (1) Try to read in country (string - convertable to Person countrytype).
            if (!Person.countrytypelist.ContainsKey(((myFields[country_offset]).Trim()).ToUpper()))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.",
                                  dataLine, country_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }
            country = (Person.countrytype)
                      Person.countrytypelist[((myFields[country_offset]).Trim()).ToUpper()];


            // (2) Try to read in ageStart (double).
            if (!Double.TryParse((myFields[startage_offset]), out this.startAge))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (age at start) is not a double.",
                                  dataLine, startage_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }

            // (3) Try to read in ageNow (double).
            if (!Double.TryParse((myFields[agenow_offset]), out this.ageNow))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (age now) is not a double.",
                                  dataLine, agenow_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }


            // (4) Try to read in gender (string - convertable to Person genderType).
            // Valid values are "male" or "female" - not case sensitive.
            if (!Person.genderTypeList.ContainsKey(((myFields[gender_offset]).Trim()).ToUpper()))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid gender.",
                                  dataLine, gender_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }
            gender = (Person.GenderType)
                     Person.genderTypeList[((myFields[gender_offset]).Trim()).ToUpper()];
        }
Exemple #2
0
        public DiseasePrevPersonInitializer(int lineNum, string inputData, Person.diseaseType myDisease)
        {
            // Parse input record into fields by looking for comma delimiter
            string[] myFields = Regex.Split(inputData, fieldDelimiter);

            initializeOK = true;

            //  (1) Read in country (string - convertable to Person countrytype).
            //  Valid values are: "ETH, IND, GHA, BGD, NPL, NGA, UGA, [or] TZA."
            if (!Person.countrytypelist.ContainsKey(((myFields[country_offset]).Trim()).ToUpper()))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.",
                                  lineNum, country_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }
            this.country = (Person.countrytype)
                           Person.countrytypelist[((myFields[country_offset]).Trim()).ToUpper()];

            // (2) Read in year (int)
            if (!int.TryParse((myFields[yearnow_offset]), out this.yearNow))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (yearnow) is not an integer.",
                                  lineNum, yearnow_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }

            // (3) Read in age (double).
            if (!Double.TryParse((myFields[agenow_offset]), out this.ageNow))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (agenow) is not a double.",
                                  lineNum, agenow_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
            }

            // (4) Get disease type
            disease = myDisease;
        }
        // Constructors
        public Policy(string inputData, int LineNum)
        {
            // Set InitializeOK flag to true;
            initializeOK = true;

            // Parse input record into fields by looking for comma delimiter
            string[] policyFields = Regex.Split(inputData, fieldDelimiter);

            // Return immediately if there are not enough fields to read in
            if (policyFields.Length < numPolicyFields)
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Not able to find {1} data fields.",
                                  LineNum, numPolicyFields);
                Console.WriteLine("Data: {0}", inputData);
                Console.WriteLine("");
                return;
            }


            // (1) Policy name... cannot be empty string
            if ((((policyFields[policyName_offset]).Trim()).Length) == 0)
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Policy name, Field {1}, is blank.",
                                  LineNum, policyName_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                Console.WriteLine("");
                return;
            }
            policyName = (policyFields[policyName_offset]).Trim();


            // (2) Read in policy COUNTRY
            if (!Person.countrytypelist.ContainsKey(((policyFields[country_offset]).Trim()).ToUpper()))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} is not a valid country.",
                                  LineNum, country_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }
            country = (Person.countrytype)
                      Person.countrytypelist[((policyFields[country_offset]).Trim()).ToUpper()];


            // (3) Read in RRMortality
            if (!Double.TryParse((policyFields[RRmortality_offset]), out this.RR_mortality))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (RR_diarrhea) is not a double.",
                                  LineNum, RRmortality_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }


            // (4) Read in RRdiarrhea
            if (!Double.TryParse((policyFields[RRdiarrhea_offset]), out this.RR_diarrhea))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (RR_diarrhea) is not a double.",
                                  LineNum, RRdiarrhea_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }


            // (5) Read in RRstunting
            if (!Double.TryParse((policyFields[RRstunting_offset]), out this.RR_stunting))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (RR_stunting) is not a double.",
                                  LineNum, RRstunting_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }


            // (6) Read in RRanemia
            if (!Double.TryParse((policyFields[RRanemia_offset]), out this.RR_anemia))
            {
                initializeOK = false;
                Console.WriteLine("Error - Data line: {0} - Field {1} (RR_anemia) is not a double.",
                                  LineNum, RRanemia_offset + 1);
                Console.WriteLine("Data: {0}", inputData);
                return;
            }
        }