A simplistic way to describe the Reprochema is to say it is organized in a hierarchical manner with roughly 3 levels with a schema describing each level.
-
The highest level is the
protocol
level that originally define a set of assessments or questionnaires to be included in a given study. This schema is defined by the Protocol schema. -
The second level is the
activity
level that describe a given questionnaire. This level would describe all the questions of this assessment: for example all the items of the Edinburgh handedness inventory would constitute one activity. This schema is defined by the Activity schema. -
At a lower level we have the
item
level where eachitem
represents a question from a given assessment. On top of containing the text of the actual question, the schema at this level can contain additional information such as the expected format of the item for the user interface: a boolean (if this is a yes/no question), a multiple choice (with a list of the response choices), a float or an integer (if a numerical value is expected)... This schema is defined by the Field schema.
You can see an example of those in the examples folder
There are in fact more levels than this each and each level has its own schema:
- all of the schemas can be found in the
terms
folder - the Reproschema actually allows for a more complex level nesting than the one described above (e.g you can have an
activity
within anactivity
) - all the properties of each level are described below in the Properties of ReproSchema objects section
The core model of ReproSchema was initially derived from the CEDAR Metadata Model. To accommodate the needs of neuroimaging and other clinical and behavioral protocols and assessments the schema has evolved significantly. These changes include:
-
Alignment with schema.org and NIDM. We have used schema.org classes and properties where it maps on to the needs of the model and extended the model with NIDM elements to harmonize across ReproNim projects.
-
Allowing for structured nested elements in a schema
Protocol > Activity > [Activity | Field > ResponseOption]
. This nested structure provides a flexible schema to represent nested activities, which are common in biomedical and other domains.
Protocol
├── Activity
│ ├── Field
│ │ └── ResponseOption
│ └── Field
│ │ └── ResponseOption
│ ├── Activity
│ │ ├── Field
│ │ │ └── ResponseOption
│ │ ...
│ ...
├── Activity
│ ...
...
-
Interaction with Git/Github or another Web service to deliver a new
protocol
,ativity
orfield
with a persistent URI, while tracking changes associated with any of these elements. By making everyfield
represented through a persistent URI, a data collection instrument can link the responses to the exactfield
that was used. -
Addition of computable elements that are derived from the values entered by a participant.
-
Allowing for user interface (UI) elements that allow interaction between the schema and any implementation that allows collecting data using the schema. By providing some additional UI elements the provider can guide an implementer to allow for more complex data collection behavior.
The ReproSchema-UI is a prototype implementation of an UI that leverages these different elements of the schema.
This section lists the core ReproSchema objects and their allowed properties.
A representation of a study which comprises one or more assessments.
URI: http://schema.repronim.org/Protocol
Name | Description | URI |
---|---|---|
addProperties | An array of objects to describe the various properties added to assessments and fields. | http://schema.repronim.org/addProperties |
allow | An array of items indicating properties allowed on an activity or protocol | http://schema.repronim.org/allow |
compute | An array of objects indicating computations in an activity or protocol and maps it to the corresponding Field item. scoring logic is a subset of all computations that could be performed and not all computations will be scoring. For example, one may want to do conversion from one unit to another. | http://schema.repronim.org/compute |
landingPage | An element (by URL) to point to the protocol readme or landing page. | http://schema.repronim.org/landingPage |
messages | An array of objects to define conditional messages in an activity or protocol. | http://schema.repronim.org/messages |
order | An ordered list to describe the order in which the items of an assessment or protocol appear in the user interface. | http://schema.repronim.org/order |
overrideProperties | An array of objects to override the various properties added to assessments and fields. | http://schema.repronim.org/overrideProperties |
preamble | The preamble for an assessment | http://schema.repronim.org/preamble |
shuffle | An element (bool) to determine if the list of items is shuffled or in order. | http://schema.repronim.org/shuffle |
about | The subject matter of the Field. | http://schema.org/about |
audio | An embedded audio object. | http://schema.org/audio |
description | A description of the item. | http://schema.org/description |
image | An image of the item. This can be a URL or a fully described ImageObject. | http://schema.org/image |
schemaVersion | Indicates (by URL or string) a particular version of a schema used in some CreativeWork. For example, a document could declare a schemaVersion using an URL such as http://schema.org/version/2.0/ if precise indication of schema version was required by some application. | http://schema.org/schemaVersion |
version | The version of the CreativeWork embodied by a specified resource. | http://schema.org/version |
video | An embedded video object. | http://schema.org/video |
altLabel | The alternate label. | http://www.w3.org/2004/02/skos/core#altLabel |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An assessment in a protocol.
URI: http://schema.repronim.org/Activity
Name | Description | URI |
---|---|---|
addProperties | An array of objects to describe the various properties added to assessments and fields. | http://schema.repronim.org/addProperties |
allow | An array of items indicating properties allowed on an activity or protocol | http://schema.repronim.org/allow |
compute | An array of objects indicating computations in an activity or protocol and maps it to the corresponding Field item. scoring logic is a subset of all computations that could be performed and not all computations will be scoring. For example, one may want to do conversion from one unit to another. | http://schema.repronim.org/compute |
cronTable | None | http://schema.repronim.org/cronTable |
messages | An array of objects to define conditional messages in an activity or protocol. | http://schema.repronim.org/messages |
order | An ordered list to describe the order in which the items of an assessment or protocol appear in the user interface. | http://schema.repronim.org/order |
overrideProperties | An array of objects to override the various properties added to assessments and fields. | http://schema.repronim.org/overrideProperties |
preamble | The preamble for an assessment | http://schema.repronim.org/preamble |
shuffle | An element (bool) to determine if the list of items is shuffled or in order. | http://schema.repronim.org/shuffle |
about | The subject matter of the Field. | http://schema.org/about |
audio | An embedded audio object. | http://schema.org/audio |
citation | A citation or reference to another creative work, such as another publication, web page, scholarly article, etc. | http://schema.org/citation |
description | A description of the item. | http://schema.org/description |
image | An image of the item. This can be a URL or a fully described ImageObject. | http://schema.org/image |
schemaVersion | Indicates (by URL or string) a particular version of a schema used in some CreativeWork. For example, a document could declare a schemaVersion using an URL such as http://schema.org/version/2.0/ if precise indication of schema version was required by some application. | http://schema.org/schemaVersion |
version | The version of the CreativeWork embodied by a specified resource. | http://schema.org/version |
video | An embedded video object. | http://schema.org/video |
altLabel | The alternate label. | http://www.w3.org/2004/02/skos/core#altLabel |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An item in an assessment.
URI: http://schema.repronim.org/Field
Name | Description | URI |
---|---|---|
additionalNotesObj | A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema. | http://schema.repronim.org/additionalNotesObj |
inputType | An element to describe the input type of a Field item. | http://schema.repronim.org/inputType |
preamble | The preamble for an assessment | http://schema.repronim.org/preamble |
responseOptions | An element (object or by URL)to describe the properties of response of the Field item. | http://schema.repronim.org/responseOptions |
about | The subject matter of the Field. | http://schema.org/about |
audio | An embedded audio object. | http://schema.org/audio |
description | A description of the item. | http://schema.org/description |
image | An image of the item. This can be a URL or a fully described ImageObject. | http://schema.org/image |
isPartOf | Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of. | http://schema.org/isPartOf |
question | A sub property of object. A question. | http://schema.org/question |
readonlyValue | Whether or not a property is mutable. Default is false. Specifying this for a property that also has a value makes it act similar to a "hidden" input in an HTML form. | http://schema.org/readonlyValue |
schemaVersion | Indicates (by URL or string) a particular version of a schema used in some CreativeWork. For example, a document could declare a schemaVersion using an URL such as http://schema.org/version/2.0/ if precise indication of schema version was required by some application. | http://schema.org/schemaVersion |
version | The version of the CreativeWork embodied by a specified resource. | http://schema.org/version |
video | An embedded video object. | http://schema.org/video |
altLabel | The alternate label. | http://www.w3.org/2004/02/skos/core#altLabel |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An object to describe the various properties added to assessments and fields.
URI: http://schema.repronim.org/AdditionalProperty
Name | Description | URI |
---|---|---|
allow | An array of items indicating properties allowed on an activity or protocol | http://schema.repronim.org/allow |
isAbout | A pointer to the node describing the item. | http://schema.repronim.org/isAbout |
isVis | An element to describe (by boolean or conditional statement) visibility conditions of items in an assessment. | http://schema.repronim.org/isVis |
limit | An element to limit the duration (uses ISO 8601) this activity is allowed to be completed by once activity is available. | http://schema.repronim.org/limit |
maxRetakes | Defines number of times the item is allowed to be redone. | http://schema.repronim.org/maxRetakes |
randomMaxDelay | Present activity/item within some random offset of activity available time up to the maximum specified by this ISO 8601 duration | http://schema.repronim.org/randomMaxDelay |
schedule | An element to set make activity available/repeat info using ISO 8601 repeating interval format. | http://schema.repronim.org/schedule |
variableName | The name used to represent an item. | http://schema.repronim.org/variableName |
valueRequired | Whether the property must be filled in to complete the action. Default is false. | http://schema.org/valueRequired |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An object to override the various properties added to assessments and fields.
URI: http://schema.repronim.org/OverrideProperty
Name | Description | URI |
---|---|---|
isAbout | A pointer to the node describing the item. | http://schema.repronim.org/isAbout |
isVis | An element to describe (by boolean or conditional statement) visibility conditions of items in an assessment. | http://schema.repronim.org/isVis |
limit | An element to limit the duration (uses ISO 8601) this activity is allowed to be completed by once activity is available. | http://schema.repronim.org/limit |
maxRetakes | Defines number of times the item is allowed to be redone. | http://schema.repronim.org/maxRetakes |
randomMaxDelay | Present activity/item within some random offset of activity available time up to the maximum specified by this ISO 8601 duration | http://schema.repronim.org/randomMaxDelay |
schedule | An element to set make activity available/repeat info using ISO 8601 repeating interval format. | http://schema.repronim.org/schedule |
variableName | The name used to represent an item. | http://schema.repronim.org/variableName |
valueRequired | Whether the property must be filled in to complete the action. Default is false. | http://schema.org/valueRequired |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An object to represent a human displayable name alongside the more formal value for units.
URI: http://schema.repronim.org/UnitOption
Name | Description | URI |
---|---|---|
value | The value for each option in choices or in additionalNotesObj | http://schema.repronim.org/value |
prefLabel | The preferred label. | http://www.w3.org/2004/02/skos/core#prefLabel |
An element (object or by URL)to describe the properties of response of the Field item.
URI: http://schema.repronim.org/ResponseOption
Name | Description | URI |
---|---|---|
choices | An array to list the available options for response of the Field item. | http://schema.repronim.org/choices |
datumType | Indicates what type of datum the response is (e.g. range,count,scalar etc.) for the Field item. | http://schema.repronim.org/datumType |
multipleChoice | Indicates (by bool) if response for the Field item has one or more answer. | http://schema.repronim.org/multipleChoice |
unitOptions | A list of objects to represent a human displayable name alongside the more formal value for units. | http://schema.repronim.org/unitOptions |
valueType | The type of the response of an item. For example, string, integer, etc. | http://schema.repronim.org/valueType |
maxValue | The upper value of some characteristic or property. | http://schema.org/maxValue |
minValue | The lower value of some characteristic or property. | http://schema.org/minValue |
unitCode | The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon. | http://schema.org/unitCode |
An object to describe a response option.
URI: http://schema.repronim.org/Choice
Name | Description | URI |
---|---|---|
value | The value for each option in choices or in additionalNotesObj | http://schema.repronim.org/value |
image | An image of the item. This can be a URL or a fully described ImageObject. | http://schema.org/image |
name | The name of the item. | http://schema.org/name |
An object to define computations in an activity or protocol.
URI: http://schema.repronim.org/ComputeSpecification
Name | Description | URI |
---|---|---|
jsExpression | A JavaScript expression to compute a score from other variables. | http://schema.repronim.org/jsExpression |
variableName | The name used to represent an item. | http://schema.repronim.org/variableName |
An object to define messages in an activity or protocol.
URI: http://schema.repronim.org/MessageSpecification
Name | Description | URI |
---|---|---|
jsExpression | A JavaScript expression to compute a score from other variables. | http://schema.repronim.org/jsExpression |
message | The message to be conditionally displayed for an item. | http://schema.repronim.org/message |
A set of objects to define notes in a field. For example, most Redcap and NDA data dictionaries have notes for each item which needs to be captured in reproschema
URI: http://schema.repronim.org/AdditionalNoteObj
Name | Description | URI |
---|---|---|
column | An element to define the column name where the note was taken from. | http://schema.repronim.org/column |
source | An element to define the source (eg. RedCap, NDA) where the note was taken from. | http://schema.repronim.org/source |
value | The value for each option in choices or in additionalNotesObj | http://schema.repronim.org/value |
Captures information about some action that took place. It also links to information (entities) that were used during the activity
URI: http://schema.repronim.org/ResponseActivity
Name | Description | URI |
---|---|---|
endedAtTime | None | http://www.w3.org/ns/prov#endedAtTime |
generated | None | http://www.w3.org/ns/prov#generated |
startedAtTime | None | http://www.w3.org/ns/prov#startedAtTime |
used | None | http://www.w3.org/ns/prov#used |
wasAssociatedWith | None | http://www.w3.org/ns/prov#wasAssociatedWith |
inLanguage | The language of the content or performance or used in an action. Please use one of the language codes from the IETF BCP 47 standard. See also [[availableLanguage]]. | http://schema.org/inLanguage |
Describes the response of an item.
URI: http://schema.repronim.org/Response
Name | Description | URI |
---|---|---|
wasAttributedTo | None | http://www.w3.org/ns/prov#wasAttributedTo |
isAbout | A pointer to the node describing the item. | http://schema.repronim.org/isAbout |
value | The value for each option in choices or in additionalNotesObj | http://schema.repronim.org/value |
An Agent describing characteristics associated with a participant.
URI: http://schema.repronim.org/Participant
Name | Description | URI |
---|---|---|
subject_id | The identifier of a participant | http://purl.org/nidash/nidm#subject_id |
Captures information about some action that took place. It also links to information (entities) that were used during the activity
URI: http://schema.repronim.org/SoftwareAgent
Name | Description | URI |
---|---|---|
url | URL of the item. | http://schema.org/url |
version | The version of the CreativeWork embodied by a specified resource. | http://schema.org/version |