using System.Collections.Generic;
private class RiskGapsClass
public readonly int Gmpi;
public readonly string PatientName;
public RiskGapsClass(int gmpi, string name)
private class AttestationData
public readonly int Gmpi;
public readonly int Year;
public readonly IEnumerable<RiskGapsClass> Records;
public AttestationData(int gmpi, int year, IEnumerable<RiskGapsClass> records)
public override string ToString()
return (string.Format("Gmpi: {0} Year: {1} Records: {2}",
private static List<RiskGapsClass> _riskGaps = new List<RiskGapsClass>(50)
new RiskGapsClass(10, "Bob1"),
new RiskGapsClass(10, "Bob2"),
new RiskGapsClass(10, "Bob3"),
new RiskGapsClass(10, "Bob4"),
new RiskGapsClass(10, "Bob5"),
new RiskGapsClass(20, "Carol1"),
new RiskGapsClass(20, "Carol2"),
new RiskGapsClass(20, "Carol3"),
new RiskGapsClass(20, "Carol4"),
new RiskGapsClass(30, "Batman1"),
new RiskGapsClass(30, "Batman2"),
new RiskGapsClass(30, "Batman3"),
public static void Main()
var processDate = DateTime.Now;
var riskGaps = new List<RiskGapsClass>(_riskGaps);
foreach (var kvp in attData)
foreach (var item in kvp.Value)
Console.WriteLine("Key: {0} | Value: {1}", kvp.Key, item);