148 lines
4.9 KiB
JSON
148 lines
4.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://example.com/bicorder.schema.json",
|
|
"title": "Protocol Bicorder",
|
|
"description": "Schema for Protocol Bicorder diagnostic tool",
|
|
"type": "object",
|
|
"required": ["name", "version", "description", "author", "metadata", "diagnostic", "analysis"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name of the tool"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
"description": "Semantic version number (major.minor.patch)"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Brief description of the tool"
|
|
},
|
|
"author": {
|
|
"type": "string",
|
|
"description": "Author of the tool"
|
|
},
|
|
"date_modified": {
|
|
"type": ["string", "null"],
|
|
"format": "date",
|
|
"description": "Date when the document was last modified (ISO 8601 format: YYYY-MM-DD)"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"required": ["protocol", "analyst", "standpoint", "timestamp"],
|
|
"properties": {
|
|
"protocol": {
|
|
"type": "string",
|
|
"description": "Brief name of the protocol being analyzed"
|
|
},
|
|
"analyst": {
|
|
"type": "string",
|
|
"description": "Who is doing the analysis"
|
|
},
|
|
"standpoint": {
|
|
"type": "string",
|
|
"description": "The analyst's relationship to or perspective on the protocol"
|
|
},
|
|
"timestamp": {
|
|
"type": ["string", "null"],
|
|
"format": "date-time",
|
|
"description": "Timestamp of the analysis (ISO 8601 format)"
|
|
}
|
|
}
|
|
},
|
|
"diagnostic": {
|
|
"type": "array",
|
|
"description": "Array of diagnostic sets",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["set_name", "set_description", "gradients"],
|
|
"properties": {
|
|
"set_name": {
|
|
"type": "string",
|
|
"description": "Name of the diagnostic set"
|
|
},
|
|
"set_description": {
|
|
"type": "string",
|
|
"description": "Description of the diagnostic set"
|
|
},
|
|
"gradients": {
|
|
"type": "array",
|
|
"description": "Array of gradient measurements",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["term_left", "term_left_description", "term_right", "term_right_description", "value", "citation"],
|
|
"properties": {
|
|
"term_left": {
|
|
"type": "string",
|
|
"description": "Left term of the gradient"
|
|
},
|
|
"term_left_description": {
|
|
"type": "string",
|
|
"description": "Description of the left term"
|
|
},
|
|
"term_right": {
|
|
"type": "string",
|
|
"description": "Right term of the gradient"
|
|
},
|
|
"term_right_description": {
|
|
"type": "string",
|
|
"description": "Description of the right term"
|
|
},
|
|
"value": {
|
|
"type": ["number", "null"],
|
|
"minimum": 1,
|
|
"maximum": 9,
|
|
"description": "Gradient value (1-9 scale, where 1 is left term and 9 is right term)"
|
|
},
|
|
"citation": {
|
|
"type": ["string", "null"],
|
|
"description": "Citation or evidence for better understanding this gradient"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"analysis": {
|
|
"type": "array",
|
|
"description": "Array of analytical measures derived from the diagnostics",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["term_left", "term_left_description", "term_right", "term_right_description", "instructions", "value", "citation"],
|
|
"properties": {
|
|
"term_left": {
|
|
"type": "string",
|
|
"description": "Left term of the analytical gradient"
|
|
},
|
|
"term_left_description": {
|
|
"type": "string",
|
|
"description": "Description of the left term"
|
|
},
|
|
"term_right": {
|
|
"type": "string",
|
|
"description": "Right term of the analytical gradient"
|
|
},
|
|
"term_right_description": {
|
|
"type": "string",
|
|
"description": "Description of the right term"
|
|
},
|
|
"instructions": {
|
|
"type": "string",
|
|
"description": "Instructions for how to calculate this analytic"
|
|
},
|
|
"value": {
|
|
"type": ["number", "null"],
|
|
"description": "Calculated value of the analytic"
|
|
},
|
|
"citation": {
|
|
"type": ["string", "null"],
|
|
"description": "Citation or evidence for this analytic value"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|