static void Main( ) { // data needed to open the file const string path = "REC_KPI_County.csv"; const FileMode mode = FileMode.Open; const FileAccess access = FileAccess.Read; // makes sures that the file is closed when block is done running using FileStream file = new FileStream(path, mode, access); // create a StreamReader to view file as lines of text and count number of lines and characters in the file using StreamReader reader = new StreamReader(file); reader.ReadLine( ); // make a list of EhrKpiRecord objects List <EhrKpiRecord> ehrKpiRecords = new List <EhrKpiRecord>( ); while (!reader.EndOfStream) { string line = reader.ReadLine( ); string [] cols = line.Split(","); line.Trim('"'); // trims out the quotation marks so they're not displayed for (int i = 0; i < cols.Length; i++) { cols [i] = cols [i].Trim('"'); } string state = cols [0]; string stateCode = cols [1]; string countyName = cols [2]; string stateFips = cols [3]; string countyFips = cols [4]; string fips = cols [5]; string period = cols [6]; int?numProvidersSignedUp; int?numPrimaryCareProvidersSignedUp; int?numProvidersGoLive; int?numPrimaryCareProvidersGoLive; int?numProvidersMeaningfulUse; int?numPrimaryCareProvidersMeaningfulUse; // if statements to assign null to NA int values if (cols [7] == "NA") { numProvidersSignedUp = null; } else { numProvidersSignedUp = Convert.ToInt32(cols [7]); } if (cols [8] == "NA") { numPrimaryCareProvidersSignedUp = null; } else { numPrimaryCareProvidersSignedUp = Convert.ToInt32(cols [8]); } if (cols [9] == "NA") { numProvidersGoLive = null; } else { numProvidersGoLive = Convert.ToInt32(cols [9]); } if (cols [10] == "NA") { numPrimaryCareProvidersGoLive = null; } else { numPrimaryCareProvidersGoLive = Convert.ToInt32(cols [10]); } if (cols [11] == "NA") { numProvidersMeaningfulUse = null; } else { numProvidersMeaningfulUse = Convert.ToInt32(cols [11]); } if (cols [12] == "NA") { numPrimaryCareProvidersMeaningfulUse = null; } else { numPrimaryCareProvidersMeaningfulUse = Convert.ToInt32(cols [12]); } EhrKpiRecord records = new EhrKpiRecord(state, stateCode, countyName, stateFips, countyFips, fips, period, numProvidersSignedUp, numPrimaryCareProvidersSignedUp, numProvidersGoLive, numPrimaryCareProvidersGoLive, numProvidersMeaningfulUse, numPrimaryCareProvidersMeaningfulUse); ehrKpiRecords.Add(records); } WriteLine("ehrKpiRecords.Count = {0:n0}", ehrKpiRecords.Count); // Display all unique ( State, StateCode, StateFips ) three-tuples. HashSet <(string, string, string)> states = new HashSet <(string, string, string)>( ); foreach (EhrKpiRecord r in ehrKpiRecords) { states.Add((r.State, r.StateCode, r.StateFips)); } foreach ((string, string, string)s in states) { WriteLine(s); } }
static void Main( ) { //declared variables to access the file const string path = "REC_KPI_County.csv"; const FileMode mode = FileMode.Open; const FileAccess access = FileAccess.Read; //created filestream and reader using FileStream file = new FileStream(path, mode, access); using StreamReader reader = new StreamReader(file); //skip first line of table reader.ReadLine(); // Load the ONC REC KPI dataset on EHR adoption by county. List <EhrKpiRecord> ehrKpiRecords = new List <EhrKpiRecord>( ); while (!reader.EndOfStream) { string line = reader.ReadLine(); string[] cols = line.Split(",");//split line line.Trim('"'); for (int i = 0; i < cols.Length; i++) { cols[i] = cols[i].Trim('"'); } string state = cols[0]; string stateCode = cols[1]; string countyName = cols[2]; string stateFips = cols[3]; string countyFips = cols[4]; string fips = cols[5]; string period = cols[6]; int? numProvidersSignedUp; int? numPrimaryCareProvidersSignedUp; int? numProvidersGoLive; int? numPrimaryCareProvidersGoLive; int? numProvidersMeaningfulUse; int? numPrimaryCareProvidersMeaningfulUse; if (cols[7] != "NA") { numProvidersSignedUp = Convert.ToInt32(cols[7]); } else { numProvidersSignedUp = null; } if (cols[8] != "NA") { numPrimaryCareProvidersSignedUp = Convert.ToInt32(cols[8]); } else { numPrimaryCareProvidersSignedUp = null; } if (cols[9] != "NA") { numProvidersGoLive = Convert.ToInt32(cols[9]); } else { numProvidersGoLive = null; } if (cols[10] != "NA") { numPrimaryCareProvidersGoLive = Convert.ToInt32(cols[10]); } else { numPrimaryCareProvidersGoLive = null; } if (cols[11] != "NA") { numProvidersMeaningfulUse = Convert.ToInt32(cols[11]); } else { numProvidersMeaningfulUse = null; } if (cols[12] != "NA") { numPrimaryCareProvidersMeaningfulUse = Convert.ToInt32(cols[12]); } else { numPrimaryCareProvidersMeaningfulUse = null; } EhrKpiRecord record = new EhrKpiRecord(state, stateCode, countyName, stateFips, countyFips, fips, period, numProvidersSignedUp, numPrimaryCareProvidersSignedUp, numProvidersGoLive, numPrimaryCareProvidersGoLive, numProvidersMeaningfulUse, numPrimaryCareProvidersMeaningfulUse); //object ehrKpiRecords.Add(record); } // TO DO: Complete this code. WriteLine("ehrKpiRecords.Count = {0:n0}", ehrKpiRecords.Count); // Display all unique ( State, StateCode, StateFips ) three-tuples. HashSet <(string, string, string)> states = new HashSet <(string, string, string)>( ); foreach (EhrKpiRecord r in ehrKpiRecords) { states.Add((r.State, r.StateCode, r.StateFips)); } foreach ((string, string, string)s in states) { WriteLine(s); } }
static void Main( ) { List <EhrKpiRecord> ehrKpiRecords = new List <EhrKpiRecord>( ); // TO DO: Complete this code. // Load the ONC REC KPI dataset on EHR adoption by county. const string path = "REC_KPI_County.csv"; const FileMode mode = FileMode.Open; const FileAccess access = FileAccess.Read; using FileStream file = new FileStream(path, mode, access); using StreamReader reader = new StreamReader(file); reader.ReadLine(); while (!reader.EndOfStream) { string line = reader.ReadLine(); string[] columns = line.Split(','); for (int i = 0; i < columns.Length; i++) { columns[i] = columns[i].Trim('"'); } string state = columns [0]; string stateCode = columns [1]; string countyName = columns [2]; string stateFips = columns [3]; string countyFips = columns [4]; string fips = columns [5]; string period = columns [6]; int?numProvidersSignedUp; int?numPrimaryCareProvidersSignedUp; int?numProvidersGoLive; int?numPrimaryCareProvidersGoLive; int?numProvidersMeaningfulUse; int?numPrimaryCareProvidersMeaningfulUse; // Int32 is yuck use int.Parse() if (columns[7] == "NA") { numProvidersSignedUp = null; } else { numProvidersSignedUp = Convert.ToInt32(columns[7]); } if (columns[8] == "NA") { numPrimaryCareProvidersSignedUp = null; } else { numPrimaryCareProvidersSignedUp = Convert.ToInt32(columns[8]); } if (columns[9] == "NA") { numProvidersGoLive = null; } else { numProvidersGoLive = Convert.ToInt32(columns[9]); } if (columns[10] == "NA") { numPrimaryCareProvidersGoLive = null; } else { numPrimaryCareProvidersGoLive = Convert.ToInt32(columns[10]); } if (columns[11] == "NA") { numProvidersMeaningfulUse = null; } else { numProvidersMeaningfulUse = Convert.ToInt32(columns[11]); } if (columns[12] == "NA") { numPrimaryCareProvidersMeaningfulUse = null; } else { numPrimaryCareProvidersMeaningfulUse = Convert.ToInt32(columns[12]); } // //EhrKpiRecord [] e = [10] EhrKpiRecord recordList = new EhrKpiRecord(state, stateCode, countyName, stateFips, countyFips, fips, period, numProvidersSignedUp, numPrimaryCareProvidersSignedUp, numProvidersGoLive, numPrimaryCareProvidersGoLive, numProvidersMeaningfulUse, numPrimaryCareProvidersMeaningfulUse); ehrKpiRecords.Add(recordList); } WriteLine("ehrKpiRecords.Count = {0:n0}", ehrKpiRecords.Count); // Display all unique ( State, StateCode, StateFips ) three-tuples. HashSet <(string, string, string)> states = new HashSet <(string, string, string)>( ); foreach (EhrKpiRecord r in ehrKpiRecords) { states.Add((r.State, r.StateCode, r.StateFips)); } foreach ((string, string, string)s in states) { WriteLine(s); } }