There are three main concepts that the user should be familiar with: Models, Diagrams, and Plug-ins.
Because PSICAT is focused on capturing data, it introduces the concept of a 'model'. Models define what data is captured for a particular object. Models can also define and enforce constraints, such as not allowing any child models or requiring that a specific property be a number. Almost everything the user interacts with in PSICAT is a model.
In PSICAT there is a distinct separation between the data and the visual representation of that data. As explained in the previous point, the data is managed via models. To manage the display the data, PSICAT introduces the concepts of 'diagrams' and 'columns'. Columns display the visual representation of the model and provide the drawing and editing tools used to interact with the models. Diagrams simply define a list of columns and the order they should be displayed in. If no column included in the diagram knows how to display a particular model, that model will not be displayed. This allows the user to define exactly what type of data gets displayed, and (to a lesser extent) how that data gets displayed. Users can define multiple diagrams that are suited for different tasks, e.g. one diagram that has a limited number of columns for entering a specific type of data and one diagram that includes all of the available columns so that all of the collected data can be displayed.
PSICAT is built around the idea of plug-ins. Plug-ins are small, self-contained software modules that provide new functionality and features to a larger software system. All of the functionality in PSICAT, including every data type and column, is contributed via plug-ins.