@Override
  public void onClick(View view) {
    switch (view.getId()) {
      case R.id.select_program:
        {
          ProgramDialogFragment fragment =
              ProgramDialogFragment.newInstance(
                  this,
                  mState.getOrgUnitId(),
                  Program.MULTIPLE_EVENTS_WITH_REGISTRATION,
                  Program.SINGLE_EVENT_WITH_REGISTRATION);
          fragment.show(getChildFragmentManager());
          break;
        }

      case R.id.neweventbutton:
        {
          if (mForm.getEnrollment().getStatus().equals(Enrollment.ACTIVE)) {
            ProgramStage programStage = (ProgramStage) view.getTag();
            showDataEntryFragment(null, programStage.getId());
          }
          break;
        }

      case R.id.eventbackground:
        {
          if (mForm.getEnrollment().getStatus().equals(Enrollment.ACTIVE)) {
            Event event = (Event) view.getTag();
            showDataEntryFragment(event, event.getProgramStageId());
          }
        }

      case R.id.complete:
        {
          Dhis2.showConfirmDialog(
              getActivity(),
              getString(R.string.complete),
              getString(R.string.confirm_complete_enrollment),
              getString(R.string.complete),
              getString(R.string.cancel),
              new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                  completeEnrollment();
                }
              });
          break;
        }

      case R.id.terminate:
        {
          Dhis2.showConfirmDialog(
              getActivity(),
              getString(R.string.terminate),
              getString(R.string.confirm_terminate_enrollment),
              getString(R.string.terminate),
              getString(R.string.cancel),
              new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                  terminateEnrollment();
                }
              });
          break;
        }

      case R.id.followupButton:
        {
          toggleFollowup();
          break;
        }

      case R.id.newenrollmentbutton:
        {
          enroll();
          break;
        }

      case R.id.profile_cardview:
        {
          editTrackedEntityInstanceProfile();
          break;
        }
      case R.id.profile_button:
        {
          editTrackedEntityInstanceProfile();
          break;
        }
    }
  }