1. A computer-implemented method, comprising: receiving, at a mobile device from a server, a first report template specifying one or more first data field types and one or more first data object types, and a second report template specifying one or more second data field types and one or more second data object types, wherein the one or more first data field types and the one or more second data filed types are the same, and wherein the one or more first data object types and one or more second data object types are different; while the mobile device is not connected to the server: displaying a first report form comprising one or more first interface elements corresponding to one or more of the one or more first data field types of the first report template; receiving first input data from the one or more first interface elements; generating a first mobile report comprising a first plurality of objects based on the first input data and indicating one or more relationships between the first plurality of objects based on the one or more first data object types; displaying a second report form comprising one or more second interface elements corresponding to one or more of the one or more second data field types of the second report template; receiving second input data from the one or more second interface elements; generating a second mobile report comprising a second plurality of objects based on the second input data and indicating one or more relationships between the second plurality of objects based on the one or more second data object types; after the mobile device connects to the server, sending the first mobile report and the second mobile report to the server, wherein sending the first mobile report and the second mobile report causes the server to generate a plurality of data objects and to generate one or more data object links between particular data objects of the first plurality of data objects based on the one or more first data object types, between particular data objects of the second plurality of data objects based on the one or more second data object types, and between the first plurality of data objects, the second plurality of data objects, and one or more existing data objects that are maintained at the server; wherein the method is performed by one or more computing devices.