static void Main(string[] args)
        {
            string folderPath = null;

            if (args != null && args.Length > 0)
            {
                folderPath = args[0];
            }
            else
            {
                folderPath = ConfigurationManager.AppSettings["OutputFolder"];
            }

            if (folderPath.IsNullOrEmptyWhitespace())
            {
                folderPath = ".";
            }

            SpecialistLetterSample.OutputFolderPath    = folderPath;
            SharedHealthSummarySample.OutputFolderPath = folderPath;
            EventSummarySample.OutputFolderPath        = folderPath;
            EDischargeSummarySample.OutputFolderPath   = folderPath;
            EReferralSample.OutputFolderPath           = folderPath;
            ServiceReferralSample.OutputFolderPath     = folderPath;

            PrepareOutputFolder(folderPath);

            var eReferralSampleCode = new EReferralSample();
            var minEReferralCda     = eReferralSampleCode.MinPopulatedEReferralSample("EReferral_3A_Min.xml");
            var maxEReferralCda     = eReferralSampleCode.MaxPopulatedEReferralSample("EReferral_3A_Max.xml");
            var eReferralCda1A      = eReferralSampleCode.PopulateEReferralSample_1A("EReferral_1A.xml");
            var eReferralCda1B      = eReferralSampleCode.PopulateEReferralSample_1B("EReferral_1B.xml");
            var eReferralCda1N      = eReferralSampleCode.PopulateEReferralSample_1B_NarrativeExample("EReferral_1B_NB.xml");

            LevelsGenerator.Generate2("EReferral_3A_Max.xml", "EReferral_2.xml");

            var sharedHealthSummarySampleCode = new SharedHealthSummarySample();
            var minSharedHealthSummaryCda     = sharedHealthSummarySampleCode.MinPopulatedSharedHealthSummarySample("SharedHealthSummary_3A_Min.xml");
            var maxSharedHealthSummaryCda     = sharedHealthSummarySampleCode.MaxPopulatedSharedHealthSummarySample("SharedHealthSummary_3A_Max.xml");
            var sharedHealthSummaryCda_1A     = sharedHealthSummarySampleCode.PopulateSharedHealthSummarySample_1A("SharedHealthSummary_1A.xml");

            LevelsGenerator.Generate2("SharedHealthSummary_3A_Max.xml", "SharedHealthSummary_2.xml");

            var specialistLetterSampleCode = new SpecialistLetterSample();
            var minSpecialistLetterCda     = specialistLetterSampleCode.MinPopulatedSpecialistLetterSample("SpecialistLetter_3A_Min.xml");
            var maxSpecialistLetterCda     = specialistLetterSampleCode.MaxPopulatedSpecialistLetterSample("SpecialistLetter_3A_Max.xml");
            var specialistLetterCda1A      = specialistLetterSampleCode.PopulateSpecialistLetterSample_1A("SpecialistLetter_1A.xml");
            var specialistLetterCda1B      = specialistLetterSampleCode.PopulateSpecialistLetterSample_1B("SpecialistLetter_1B.xml");

            LevelsGenerator.Generate2("SpecialistLetter_3A_Max.xml", "SpecialistLetter_2.xml");

            var dischargeSummarySampleCode = new EDischargeSummarySample();
            var minDischargeSummaryCda     = dischargeSummarySampleCode.MinPopulatedEDischargeSummary("DischargeSummary_3A_Min.xml");
            var maxDischargeSummaryCda     = dischargeSummarySampleCode.MaxPopulatedEDischargeSummary("DischargeSummary_3A_Max.xml");
            var dischargeSummaryCda1A      = dischargeSummarySampleCode.PopulateEDischargeSummarySample_1A("DischargeSummary_1A.xml");
            var dischargeSummaryCda1B      = dischargeSummarySampleCode.PopulateEDischargeSummarySample_1B("DischargeSummary_1B.xml");

            LevelsGenerator.Generate2("DischargeSummary_3A_Max.xml", "DischargeSummary_2.xml");

            var eEventSummarySampleCode = new EventSummarySample();
            var minEventSummaryCda      = eEventSummarySampleCode.MinPopulatedEventSummary("EventSummary_3A_Min.xml");
            var maxEventSummaryCda      = eEventSummarySampleCode.MaxPopulatedEventSummary("EventSummary_3A_Max.xml");
            var eventSummaryCda1A       = eEventSummarySampleCode.PopulateEventSummarySample_1A("EventSummary_1A.xml");

            LevelsGenerator.Generate2("EventSummary_3A_Max.xml", "EventSummary_2.xml");

            var serviceReferralSampleCode = new ServiceReferralSample();
            var minServiceReferralCda     = serviceReferralSampleCode.MinPopulatedServiceReferralSample("ServiceReferral_3A_Min.xml");
            var maxServiceReferralCda     = serviceReferralSampleCode.MaxPopulatedServiceReferralSample("ServiceReferral_3A_Max.xml");
            var serviceReferralCda1A      = serviceReferralSampleCode.PopulateServiceReferralSample_1A("ServiceReferral_1A.xml");
            var serviceReferralCda1B      = serviceReferralSampleCode.PopulateServiceReferralSample_1B("ServiceReferral_1B.xml");

            LevelsGenerator.Generate2("ServiceReferral_3A_Max.xml", "ServiceReferral_2.xml");

            var genericObjectReuseSampleCode = new GenericObjectReuseSample();
            var sampleSubjectOfCare          = genericObjectReuseSampleCode.PopulateSubjectOfCare();
            var sampleAutrhor       = genericObjectReuseSampleCode.PopulateAuthor();
            var sampleCustodian     = genericObjectReuseSampleCode.PopulateCustodian();
            var sampleAuthenticator = genericObjectReuseSampleCode.PopulateAuthenticator();
            var sampleRecipient     = genericObjectReuseSampleCode.PopulateRecipient();
        }