A detailed description of the implementation of the effective fragment potential (EFP) method in the Q-CHEM electronic structure package is presented. The Q-CHEM implementation interfaces EFP with standard quantum mechanical (QM) methods such as Hartree-Fock, density functional theory, perturbation theory, and coupled-cluster methods, as well as with methods for electronically excited and open-shell species, for example, configuration interaction, time-dependent density functional theory, and equation-of-motion coupled-cluster models. In addition to the QM/EFP functionality, a "fragment-only" feature is also available (when the system is described by effective fragments only). To aid further developments of the EFP methodology, a detailed description of the C++ classes and EFP module's workflow is presented. The EFP input structure and EFP job options are described. To assist setting up and performing EFP calculations, a collection of Perl service scripts is provided. The precomputed EFP parameters for standard fragments such as common solvents are stored in Q-CHEM's auxiliary library; they can be easily invoked, similar to specifying standard basis sets. The instructions for generating user-defined EFP parameters are given. Fragments positions can be specified by their center of mass coordinates and Euler angles. The interface with the IQMOL and WEBMO software is also described.