DataCapture

The DataCapture package contains classes used to describe the process of collecting, acquiring, or capturing data from various sources. Sources could include surveys, databases, registries, administrative data, bio-medical devices, environmental sensors, or any other source or instrument.

Namespace URI: 
http://ddialliance.org/ddi4/DataCapture
Color of objects in the uml graph: 
0044ff
Explanatory Notes: 
Data capture instruments are described using the process model. An instrument is a set of components that are controlled by a series of processes. We use the process model to define the implementation, flow, sequence, and control of the instrument. Process steps may be nested. The two analogous pairs of classes RepresentedQuestion/InstanceQuestion and RepresentedMeasurement/InstanceMeasurement have many common features in common. It would have been possible to model them together, but for simplicity and continuity with the historic usage of Question in the DDI community, they have been modelled separately.
Include in build?: 
True

Comments

Question has been considered a distinct element separate from Measurement, but in reality Question is a sub-class of Measurement. If you model Question as a sub-class of Measurement, then you have to model all the other potential sub-classes (which can be virtually any other non-survey type measurement). When we model them as separate entities, we have to instantiate multiple relationships, e.g., to Concept, and this is inefficient! :)

ImplementedInstrument is instantiated by invoking a Sequence, which is the order for operations expressed as ControlConstructs (the instrument logic). The InstrumentComponents are executed as Acts within the instrument logic.

I am wondering what the purpose of InstrumentComponent is. What is the difference between it and Capture. Would the model be simpler if we had just Capture? There is a lot of redundancy between the two.

Jay:

The difference is that Instrument components are all inheriting from Act, and thus connect this whole thing to the process model. Capture on the other hand is inheriting directly from AnnotatedIdentifiable. The two are thus functionally very different. All instrument components describe the flow of the instrument. Capture is the supertype (and extension point) which allows us to have specific types of specialized atomic data collection (eg, questions). Also, capture is a logical construct, and instrument component is mere plumbing.

Package Graph