Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointment.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointment.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGAppointment.cs	(revision 1111)
@@ -4,6 +4,6 @@
     using System.Drawing;
     /// <summary>
-    /// This class was regenerated from Calendargrid.dll using Reflector.exe
-    /// by Sam Habiel for WorldVista. The original source code is lost.
+    /// Data Structuer to Represent an Appointment
+    /// 
     /// </summary>
     [Serializable]
@@ -305,4 +305,5 @@
 
         public Patient Patient { get; set; }
+        public Provider Provider { get; set; }
     }
 }
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocument.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocument.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocument.cs	(revision 1111)
@@ -1054,6 +1054,4 @@
             DataRow r = dtAppt.Rows[0];
             string sErrorID = r["ERRORID"].ToString();
-
-
         }
 
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocumentManager.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocumentManager.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGDocumentManager.cs	(revision 1111)
@@ -94,4 +94,9 @@
             }
         }
+
+        /// <summary>
+        /// More later...
+        /// </summary>
+        public UserPreferences UserPreferences { get; private set; }
  
         /// <summary>
@@ -461,4 +466,7 @@
             }
            
+            //User Preferences Object
+            _current.UserPreferences = new UserPreferences();
+
             //Create global dataset
 			_current.m_dsGlobal = new DataSet("GlobalDataSet");
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/CGView.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/CGView.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/CGView.cs	(revision 1111)
@@ -1264,12 +1264,6 @@
 
             CGAppointment a = (CGAppointment) this.Appointments.AppointmentTable[apptID];
-            
-            PrintDocument pd = new PrintDocument() { DocumentName = "Appointment Slip for Appt " + apptID };  //Autoinit for DocName
-            pd.PrintPage += (s, pe) =>  //son of a lambda
-            {
-                CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(a, pe);
-            };
-            
-            pd.Print();
+
+            PrintAppointmentSlip(a);
         }
         //end new code
@@ -1930,5 +1924,4 @@
 		private void AppointmentCheckIn()
 		{
-			
 			int nApptID = this.calendarGrid1.SelectedAppointment;
 			Debug.Assert(nApptID != 0);
@@ -1950,33 +1943,7 @@
 					return;
 				}
-				//Find the default provider for the resource & load into combo box
-				DataView rv = new DataView(this.m_DocManager.GlobalDataSet.Tables["Resources"]);
-				rv.Sort="RESOURCE_NAME ASC";
-				int nFind = rv.Find((string) a.Resource);
-				DataRowView drv = rv[nFind];
-				
-				string sHospLoc = drv["HOSPITAL_LOCATION_ID"].ToString();
-				sHospLoc = (sHospLoc == "")?"0":sHospLoc;
-				int nHospLoc = 0;
-				try
-				{
-					nHospLoc = Convert.ToInt32(sHospLoc);
-				}
-				catch(Exception ex)
-				{
-					Debug.Write("CGView.AppointmentCheckIn Error: " + ex.Message);
-				}
-				
-				string sProv = "";
-
-				if (nHospLoc > 0)
-				{
-					DataRow dr = drv.Row;
-					DataRow drHL = dr.GetParentRow(m_DocManager.GlobalDataSet.Relations["HospitalLocationResource"]);
-					sProv = drHL["DEFAULT_PROVIDER"].ToString();
-				}
 
 				DCheckIn dlgCheckin = new DCheckIn();
-				dlgCheckin.InitializePage(a, this.m_DocManager, sProv, nHospLoc);
+				dlgCheckin.InitializePage(a);
 				calendarGrid1.CGToolTip.Active = false;
 				if (dlgCheckin.ShowDialog(this) != DialogResult.OK)
@@ -1992,14 +1959,17 @@
 				DateTime dtCheckIn = dlgCheckin.CheckInTime;
 
-				//Save to Database
+                //Tell appointment that it is checked in, for proper coloring;
+                //When you refresh from the DB, it will have this property.
+                a.CheckInTime = DateTime.Now;
+                
+                //Save to Database
                 this.Document.CheckInAppointment(nApptID, dtCheckIn);
 
-                //Tell appointment that it is checked in
-                a.CheckInTime = DateTime.Now;
-
-                //smh new code
+                //Get Provider (XXXXXXXX: NOT SAVED TO THE DATABASE RIGHT NOW)
+                a.Provider = dlgCheckin.Provider;
+
+                // Print Routing Slip if user checks that box...
                 if (dlgCheckin.PrintRouteSlip)
-                 //   this.printRoutingSlip.Print();
-                // end new code
+                    this.PrintRoutingSlip(a);
 
                 //redraw grid
@@ -2218,10 +2188,8 @@
 				this.Document.CreateAppointment(appt);
 
-                //Experimental now.
+                
                 if (dAppt.PrintAppointmentSlip)
                 {
-                    System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
-                    pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(appt, e);
-                    pd.Print();
+                    PrintAppointmentSlip(appt);
                 }
 
@@ -3247,9 +3215,16 @@
         }
 
-        private void printRoutingSlip_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
+        private void PrintRoutingSlip(CGAppointment appt)
         {
-            int nApptID = this.calendarGrid1.SelectedAppointment;
-            CGAppointment a = (CGAppointment)this.Appointments.AppointmentTable[nApptID];
-            CGDocumentManager.Current.PrintingObject.PrintRoutingSlip(a, "Routing Slip", e);
+            PrintDocument pd = new PrintDocument() { DocumentName = "Routing Slip for Appt " + appt.AppointmentKey };
+            pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintRoutingSlip(appt, "Routing Slip", e);
+            pd.Print();
+        }
+
+        private void PrintAppointmentSlip(CGAppointment appt)
+        {
+            PrintDocument pd = new PrintDocument() { DocumentName = "Appointment Slip for Appt " + appt.AppointmentKey };  //Autoinit for DocName
+            pd.PrintPage += (object s, System.Drawing.Printing.PrintPageEventArgs e) => CGDocumentManager.Current.PrintingObject.PrintAppointmentSlip(appt, e);
+            pd.Print();
         }
 
@@ -3311,4 +3286,7 @@
         #endregion events
 
+        /// <summary>
+        /// Refresh grid if needed. 
+        /// </summary>
         void RequestRefreshGrid()
         {
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj	(revision 1111)
@@ -140,4 +140,6 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Provider.cs" />
+    <Compile Include="UserPreferences.cs" />
     <None Include="app.config" />
     <None Include="dsPatientApptDisplay2.xsc">
@@ -201,5 +203,5 @@
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="CustomPrinting.cs" />
+    <Compile Include="Printing.cs" />
     <Compile Include="DAccessBlock.cs">
       <SubType>Form</SubType>
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj.user
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj.user	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/ClinicalScheduling.csproj.user	(revision 1111)
@@ -37,5 +37,5 @@
     </RemoteDebugMachine>
     <StartAction>Project</StartAction>
-    <StartArguments>/s=172.16.16.108 /p=9250 /a=s.habiel /v=catdog.66</StartArguments>
+    <StartArguments>/s=172.16.16.108 /p=9250 /a=BASMA.ALDWAIRI /v=SELEN.123</StartArguments>
     <StartPage>
     </StartPage>
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.cs	(revision 1111)
@@ -94,4 +94,6 @@
             this.label3 = new System.Windows.Forms.Label();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.txtSex = new System.Windows.Forms.TextBox();
+            this.label18 = new System.Windows.Forms.Label();
             this.label14 = new System.Windows.Forms.Label();
             this.txtHRN = new System.Windows.Forms.TextBox();
@@ -129,6 +131,4 @@
             this.dsPatientApptDisplay2BindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.dsPatientApptDisplay2 = new IndianHealthService.ClinicalScheduling.dsPatientApptDisplay2();
-            this.label18 = new System.Windows.Forms.Label();
-            this.txtSex = new System.Windows.Forms.TextBox();
             this.tabControl1.SuspendLayout();
             this.tabAppointment.SuspendLayout();
@@ -280,4 +280,22 @@
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "Patient ID";
+            // 
+            // txtSex
+            // 
+            this.txtSex.BackColor = System.Drawing.SystemColors.Control;
+            this.txtSex.Location = new System.Drawing.Point(273, 41);
+            this.txtSex.Name = "txtSex";
+            this.txtSex.ReadOnly = true;
+            this.txtSex.Size = new System.Drawing.Size(160, 20);
+            this.txtSex.TabIndex = 15;
+            // 
+            // label18
+            // 
+            this.label18.AutoSize = true;
+            this.label18.Location = new System.Drawing.Point(238, 44);
+            this.label18.Name = "label18";
+            this.label18.Size = new System.Drawing.Size(29, 13);
+            this.label18.TabIndex = 14;
+            this.label18.Text = "Sex:";
             // 
             // label14
@@ -558,4 +576,5 @@
             this.chkPrint.Text = "Print Appointment Letter";
             this.chkPrint.UseVisualStyleBackColor = true;
+            this.chkPrint.CheckedChanged += new System.EventHandler(this.chkPrint_CheckedChanged);
             // 
             // cmdCancel
@@ -592,22 +611,4 @@
             this.dsPatientApptDisplay2.DataSetName = "dsPatientApptDisplay2";
             this.dsPatientApptDisplay2.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
-            // 
-            // label18
-            // 
-            this.label18.AutoSize = true;
-            this.label18.Location = new System.Drawing.Point(238, 44);
-            this.label18.Name = "label18";
-            this.label18.Size = new System.Drawing.Size(29, 13);
-            this.label18.TabIndex = 14;
-            this.label18.Text = "Sex:";
-            // 
-            // txtSex
-            // 
-            this.txtSex.BackColor = System.Drawing.SystemColors.Control;
-            this.txtSex.Location = new System.Drawing.Point(273, 41);
-            this.txtSex.Name = "txtSex";
-            this.txtSex.ReadOnly = true;
-            this.txtSex.Size = new System.Drawing.Size(160, 20);
-            this.txtSex.TabIndex = 15;
             // 
             // DAppointPage
@@ -717,4 +718,6 @@
                 UC.Dock = DockStyle.Fill;
                 groupBox4.Controls.Add(UC);
+
+                chkPrint.Checked = CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially;
             }
 			catch(Exception e)
@@ -858,4 +861,15 @@
 		#endregion //Properties
 
+        /// <summary>
+        /// Save Print Slip preference in UserPreferences object. For now, it always starts false since
+        /// it isn't saved in the DB; but that will change in the future.
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void chkPrint_CheckedChanged(object sender, EventArgs e)
+        {
+            CGDocumentManager.Current.UserPreferences.PrintAppointmentSlipAutomacially = chkPrint.Checked;
+        }
+
 
 	} //end Class
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.resx
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.resx	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/DAppointPage.resx	(revision 1111)
@@ -124,10 +124,4 @@
     <value>179, 17</value>
   </metadata>
-  <metadata name="dsPatientApptDisplay2BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>179, 17</value>
-  </metadata>
-  <metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
   <metadata name="dsPatientApptDisplay2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.cs	(revision 1111)
@@ -7,4 +7,6 @@
 using System.Diagnostics;
 using IndianHealthService.BMXNet;
+using System.Collections.Generic;
+using System.Linq;
 
 namespace IndianHealthService.ClinicalScheduling
@@ -23,8 +25,4 @@
             //
             InitializeComponent();
-
-            //
-            // TODO: Add any constructor code after InitializeComponent call
-            //
         }
 
@@ -59,6 +57,6 @@
         private DataView m_dvClinic;
         private DataView m_dvForm;
-        private bool m_bInit;
         public bool m_bPrintRouteSlip;
+        private List<Provider> _providers;
         private ToolTip toolTip1;
         
@@ -68,11 +66,12 @@
 
         /// <summary>
-        /// Returns string representation of internal entry number of Provider in PROVIDER File
-        /// </summary>
-        public string ProviderIEN
+        /// Returns Provider chosen for Check-In
+        /// </summary>
+        public Provider Provider
         {
             get
             {
-                return this.m_sProviderIEN;
+                if (cboProvider.SelectedIndex < 1) return null; // because first item is empty placeholder
+                else return this._providers[cboProvider.SelectedIndex];
             }
         }
@@ -113,42 +112,76 @@
         /// <param name="a">Appointment</param>
         /// <param name="docManager">Document Manager</param>
-        /// <param name="sDefaultProvider">Default provider</param>
-        public void InitializePage(CGAppointment a, CGDocumentManager docManager,
-            string sDefaultProvider, int nHospLoc)
-        {
-            m_bInit = true;
-            m_DocManager = docManager;
+        public void InitializePage(CGAppointment a)
+        {
+            m_DocManager = CGDocumentManager.Current;
             m_dsGlobal = m_DocManager.GlobalDataSet;
-            int nFind = 0;
+
+            Int32? nHospLoc = (from resource in m_dsGlobal.Tables["Resources"].AsEnumerable()
+                           where resource.Field<string>("RESOURCE_NAME") == a.Resource
+                           select resource.Field<Int32?>("HOSPITAL_LOCATION_ID"))
+                           .SingleOrDefault();
+
+            //smh - following logic replaced with above...
+            /*
+            DataView rv = new DataView(this.m_DocManager.GlobalDataSet.Tables["Resources"]);
+            rv.Sort = "RESOURCE_NAME ASC";
+            int nFind = rv.Find((string)a.Resource);
+            DataRowView drv = rv[nFind];
+
+            string sHospLoc = drv["HOSPITAL_LOCATION_ID"].ToString();
+            sHospLoc = (sHospLoc == "") ? "0" : sHospLoc;
+            int nHospLoc = 0;
+            try
+            {
+                nHospLoc = Convert.ToInt32(sHospLoc);
+            }
+            catch (Exception ex)
+            {
+                Debug.Write("CGView.AppointmentCheckIn Error: " + ex.Message);
+            }
+            */
 
             //smh new code
             //if the resource is linked to a valid hospital location, grab this locations providers
             //from the provider multiple and put them in the combo box.
-            if (nHospLoc != 0)
+            if (nHospLoc != null)
             {
                 //RPC BSDX HOSP LOC PROVIDERS returns Table w/ Columns: 
                 //HOSPITAL_LOCATION_ID^BMXIEN (ie Prov IEN)^NAME^DEFALUT
                 string sCommandText = "BSDX HOSP LOC PROVIDERS^" + nHospLoc;
-                m_dtProvider = docManager.RPMSDataTable(sCommandText, "ClinicProviders");
-                m_dtProvider.DefaultView.Sort = "NAME ASC";
-
-                cboProvider.DataSource = m_dtProvider;
-                cboProvider.DisplayMember = "NAME";
-                cboProvider.ValueMember = "BMXIEN";
-
-                //Add None to the top of the list
-                DataRow drProv = m_dtProvider.NewRow();
-                drProv.BeginEdit();
-                drProv["HOSPITAL_LOCATION_ID"] = 0;
-                drProv["NAME"] = "<None>";
-                drProv["BMXIEN"] = 0;
-                drProv.EndEdit();
-                m_dtProvider.Rows.InsertAt(drProv, 0);
-                cboProvider.SelectedIndex = 0;
+                m_dtProvider = m_DocManager.RPMSDataTable(sCommandText, "ClinicProviders");
+                
+                _providers = (from providerRow in m_dtProvider.AsEnumerable()
+                              orderby providerRow.Field<string>("NAME")
+                             select new Provider
+                             {
+                                 IEN = providerRow.Field<int>("BMXIEN"),
+                                 Name = providerRow.Field<string>("NAME"),
+                                 Default = providerRow.Field<string>("DEFAULT") == "YES" ? true : false
+                             }).ToList();
+
+
+
+                //cboProvider.DisplayMember = "NAME";
+                //cboProvider.ValueMember = "BMXIEN";
+                _providers.Insert(0, new Provider { Name = "<None>", IEN = -1 });
+                cboProvider.DataSource = _providers;
+                cboProvider.SelectedIndex = _providers.FindIndex(prov => prov.Default);
+                // if no provider is default, set default to be <none> item.
+                if (cboProvider.SelectedIndex == -1) cboProvider.SelectedIndex = 0;
+                ////Add None to the top of the list
+                //DataRow drProv = m_dtProvider.NewRow();
+                //drProv.BeginEdit();
+                //drProv["HOSPITAL_LOCATION_ID"] = 0;
+                //drProv["NAME"] = "<None>";
+                //drProv["BMXIEN"] = 0;
+                //drProv.EndEdit();
+                //m_dtProvider.Rows.InsertAt(drProv, 0);
+                ////cboProvider.SelectedIndex = 0;
 
                 //Find default provider--search for Yes in Field DEFAULT            
-                DataRow[] nRow = m_dtProvider.Select("DEFAULT='YES'", "NAME ASC");
-                if (nRow.Length > 0) nFind = m_dtProvider.Rows.IndexOf(nRow[0]);
-                cboProvider.SelectedIndex = nFind;
+                //DataRow[] nRow = m_dtProvider.Select("DEFAULT='YES'", "NAME ASC");
+                //if (nRow.Length > 0) nFind = m_dtProvider.Rows.IndexOf(nRow[0]);
+                
 
             }
@@ -156,21 +189,34 @@
             else
             {
-                m_dtProvider = m_dsGlobal.Tables["Provider"];
-                m_dtProvider.DefaultView.Sort = "NAME ASC";
-
-                cboProvider.DataSource = m_dtProvider;
-                cboProvider.DisplayMember = "NAME";
-                cboProvider.ValueMember = "BMXIEN";
+
+                _providers = (from providerRow in m_dsGlobal.Tables["Provider"].AsEnumerable()
+                              orderby providerRow.Field<string>("NAME")
+                              select new Provider
+                              {
+                                  IEN = providerRow.Field<int>("BMXIEN"),
+                                  Name = providerRow.Field<string>("NAME"),
+                                  Default = false
+                              }).ToList();
+
+                
+                /*m_dtProvider = m_dsGlobal.Tables["Provider"];
+                m_dtProvider.DefaultView.Sort = "NAME ASC";*/
+                _providers.Insert(0, new Provider { Name = "<None>", IEN = -1 });
+                cboProvider.DataSource = _providers;
+                cboProvider.SelectedIndex = 0;
+                //cboProvider.DisplayMember = "NAME";
+                //cboProvider.ValueMember = "BMXIEN";
 
                 //Add None to the top of the list
-                DataRow drProv = m_dtProvider.NewRow();
-                drProv.BeginEdit();
-                drProv["NAME"] = "<None>";
-                drProv["BMXIEN"] = 0;
-                drProv.EndEdit();
-                m_dtProvider.Rows.InsertAt(drProv, 0);
-                cboProvider.SelectedIndex = 0;
-            }
-
+                //DataRow drProv = m_dtProvider.NewRow();
+                //drProv.BeginEdit();
+                //drProv["NAME"] = "<None>";
+                //drProv["BMXIEN"] = 0;
+                //drProv.EndEdit();
+                //m_dtProvider.Rows.InsertAt(drProv, 0);
+                //cboProvider.SelectedIndex = 0;
+            }
+
+                            
 
             m_sPatientName = a.PatientName;
@@ -187,6 +233,8 @@
             }
 
+            //Print Routing Slip based on user preferences.
+            chkRoutingSlip.Checked = CGDocumentManager.Current.UserPreferences.PrintRoutingSlipAutomatically;
+
             UpdateDialogData(true);
-            m_bInit = false;
         }
 
@@ -363,4 +411,5 @@
             // cboProvider
             // 
+            this.cboProvider.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cboProvider.Location = new System.Drawing.Point(96, 88);
             this.cboProvider.Name = "cboProvider";
@@ -384,4 +433,5 @@
             this.chkRoutingSlip.Text = "Print Routing Slip";
             this.toolTip1.SetToolTip(this.chkRoutingSlip, "Prints routing slip to the Windows Default Printer");
+            this.chkRoutingSlip.CheckedChanged += new System.EventHandler(this.chkRoutingSlip_CheckedChanged);
             // 
             // DCheckIn
@@ -418,5 +468,16 @@
         }
 
+        /// <summary>
+        /// Save this in User Preferences Object.
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void chkRoutingSlip_CheckedChanged(object sender, EventArgs e)
+        {
+            CGDocumentManager.Current.UserPreferences.PrintRoutingSlipAutomatically = chkRoutingSlip.Checked;
+        }
+
         #endregion Events
+
     }
 }
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.resx
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.resx	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/DCheckIn.resx	(revision 1111)
@@ -113,10 +113,10 @@
   </resheader>
   <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/Patient.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/Patient.cs	(revision 1110)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/Patient.cs	(revision 1111)
@@ -44,4 +44,9 @@
         }
 
+        /// <summary>
+        /// Returns User Friendly Age. If Age < 5, then Years and Months
+        /// If Age > 5, then only Years.
+        /// Humans tend to round down their ages. So I follow the same rule here.
+        /// </summary>
         public string UserFriendlyAge
         {
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/Provider.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/Provider.cs	(revision 1111)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/Provider.cs	(revision 1111)
@@ -0,0 +1,22 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace IndianHealthService.ClinicalScheduling
+{
+    /// <summary>
+    /// Provider puppet
+    /// </summary>
+    public class Provider
+    {
+        public int IEN { get; set; }
+        public string Name { get; set; }
+        public bool Default { get; set; }
+
+        public override string ToString()
+        {
+            return Name;
+        }
+    }
+}
Index: Scheduling/trunk/cs/bsdx0200GUISourceCode/UserPreferences.cs
===================================================================
--- Scheduling/trunk/cs/bsdx0200GUISourceCode/UserPreferences.cs	(revision 1111)
+++ Scheduling/trunk/cs/bsdx0200GUISourceCode/UserPreferences.cs	(revision 1111)
@@ -0,0 +1,22 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace IndianHealthService.ClinicalScheduling
+{
+    /// <summary>
+    /// Designed to keep user preferences. Very basic for now.
+    /// </summary>
+    public class UserPreferences
+    {
+        public UserPreferences()
+        {
+            PrintAppointmentSlipAutomacially = false;
+            PrintRoutingSlipAutomatically = false;
+        }
+
+        public bool PrintAppointmentSlipAutomacially { get; set; }
+        public bool PrintRoutingSlipAutomatically { get; set; }
+    }
+}
