protected void SetOrUpdateReferrer(int newRegisterReferrerID)
    {
        // if change this back to  " = PatientReferrerDB.GetEPCPatientReferrersOf(patient.PatientID); "  then make sure go through whole list
        PatientReferrer[] patientReferrer = PatientReferrerDB.GetActiveEPCPatientReferrersOf(this.PatientID);
        if (patientReferrer.Length > 0)
        {
            PatientReferrer  currentPatRegReferrer = patientReferrer[patientReferrer.Length - 1];
            RegisterReferrer curRegReferrer        = currentPatRegReferrer.RegisterReferrer;

            if (curRegReferrer.RegisterReferrerID == newRegisterReferrerID)
            {
                return;
            }
            else
            {
                PatientReferrerDB.UpdateSetInactive(currentPatRegReferrer.PatientReferrerID);
            }
        }

        PatientReferrerDB.Insert(this.PatientID, newRegisterReferrerID, 0, false);
        InitForm();
    }