{
    "$defs": {
        "AIAssistance": {
            "additionalProperties": false,
            "description": "Configuration for AI assistance in any review stage",
            "properties": {
                "ai_confidence_threshold": {
                    "description": "Minimum confidence score for accepting AI outputs",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ai_error_handling": {
                    "description": "Strategy for handling AI errors or failures",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ai_id": {
                    "description": "Unique identifier for this AI assistance configuration",
                    "type": "string"
                },
                "ai_model": {
                    "description": "Name of the AI model (e.g., GPT-4, Claude, BERT)",
                    "type": "string"
                },
                "ai_parameters": {
                    "description": "Model parameters and settings",
                    "items": {
                        "$ref": "#/$defs/AIParameter"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "ai_performance_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AIPerformanceMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Performance metrics for the AI assistance"
                },
                "ai_prompts": {
                    "description": "Prompts used to interact with the AI",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "ai_provider": {
                    "description": "AI service provider (e.g., OpenAI, Anthropic, Hugging Face)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ai_purpose": {
                    "description": "Purposes for which AI is used",
                    "items": {
                        "$ref": "#/$defs/AIPurpose"
                    },
                    "type": "array"
                },
                "ai_training_description": {
                    "description": "Description of training data or fine-tuning if applicable",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ai_validation_rules": {
                    "description": "Rules for validating AI outputs",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "ai_version": {
                    "description": "Version of the AI model",
                    "type": "string"
                },
                "human_oversight_level": {
                    "$ref": "#/$defs/HumanOversightLevel",
                    "description": "Level of human review required"
                }
            },
            "required": [
                "ai_id",
                "ai_model",
                "ai_version",
                "ai_purpose",
                "human_oversight_level"
            ],
            "title": "AIAssistance",
            "type": "object"
        },
        "AIParameter": {
            "additionalProperties": false,
            "description": "AI model parameter configuration",
            "properties": {
                "parameter_description": {
                    "description": "Description of what this parameter controls",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "parameter_name": {
                    "description": "Name of the parameter",
                    "type": "string"
                },
                "parameter_value": {
                    "description": "Value of the parameter",
                    "type": "string"
                }
            },
            "required": [
                "parameter_name",
                "parameter_value"
            ],
            "title": "AIParameter",
            "type": "object"
        },
        "AIPerformanceMetrics": {
            "additionalProperties": false,
            "description": "Performance metrics for AI assistance, extending general performance metrics with AI-specific measures",
            "properties": {
                "accuracy": {
                    "description": "Overall accuracy",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "area_under_curve": {
                    "description": "Area under the ROC curve",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "balanced_accuracy": {
                    "description": "Average of sensitivity and specificity",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "confidence_calibration": {
                    "description": "Calibration of AI confidence scores",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "diagnostic_odds_ratio": {
                    "description": "Ratio of odds of positive test in diseased vs non-diseased",
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "f1_score": {
                    "description": "Harmonic mean of precision and recall",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_discovery_rate": {
                    "description": "Expected proportion of false discoveries",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_negative_rate": {
                    "description": "Type II error rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_omission_rate": {
                    "description": "Proportion of false negatives among negative calls",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_positive_rate": {
                    "description": "Type I error rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "human_agreement_rate": {
                    "description": "Rate of agreement with human reviewers",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "matthews_correlation": {
                    "description": "Matthews correlation coefficient",
                    "maximum": 1.0,
                    "minimum": -1.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "negative_predictive_value": {
                    "description": "Negative predictive value",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "precision": {
                    "description": "Positive predictive value",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "processing_speed": {
                    "description": "Average processing time per item (seconds)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "sensitivity": {
                    "description": "True positive rate (recall)",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "specificity": {
                    "description": "True negative rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "title": "AIPerformanceMetrics",
            "type": "object"
        },
        "AIPrompt": {
            "additionalProperties": false,
            "description": "Prompt configuration for AI interaction",
            "properties": {
                "prompt_examples": {
                    "description": "Few-shot examples included in the prompt",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "prompt_id": {
                    "description": "Unique identifier for this prompt",
                    "type": "string"
                },
                "prompt_text": {
                    "description": "The actual prompt text",
                    "type": "string"
                },
                "prompt_type": {
                    "$ref": "#/$defs/PromptType",
                    "description": "Type of prompting strategy"
                },
                "prompt_version": {
                    "description": "Version of this prompt",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "target_field": {
                    "description": "Field or task this prompt targets",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "prompt_id",
                "prompt_text"
            ],
            "title": "AIPrompt",
            "type": "object"
        },
        "AIPurpose": {
            "description": "Purpose for which AI is being used",
            "enum": [
                "CLASSIFICATION",
                "EXTRACTION",
                "GENERATION",
                "SUMMARIZATION",
                "TRANSLATION",
                "VALIDATION",
                "SUGGESTION",
                "QUALITY_CHECK",
                "ANOMALY_DETECTION"
            ],
            "title": "AIPurpose",
            "type": "string"
        },
        "AISession": {
            "additionalProperties": false,
            "description": "Session details for AI-assisted work",
            "properties": {
                "ai_config_id": {
                    "description": "Reference to the AIAssistance configuration used",
                    "type": "string"
                },
                "ai_session_id": {
                    "description": "Unique identifier for this AI session",
                    "type": "string"
                },
                "api_calls": {
                    "description": "Number of API calls made",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "errors_encountered": {
                    "description": "Errors encountered during the session",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "human_modifications": {
                    "description": "Modifications made by humans to AI outputs",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "item_ids_processed": {
                    "description": "IDs of items processed in this session",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "session_duration": {
                    "description": "Duration of the session in seconds",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "session_timestamp": {
                    "description": "When this AI session occurred",
                    "format": "date-time",
                    "type": "string"
                },
                "token_usage": {
                    "description": "Number of tokens used (for LLM-based systems)",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "ai_session_id",
                "ai_config_id",
                "session_timestamp"
            ],
            "title": "AISession",
            "type": "object"
        },
        "Affiliation": {
            "additionalProperties": false,
            "description": "Institutional affiliation",
            "properties": {
                "address": {
                    "description": "Street address",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "city": {
                    "description": "City",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "country": {
                    "description": "Country",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "department": {
                    "description": "Department or division",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "institution_name": {
                    "description": "Name of the institution",
                    "type": "string"
                },
                "ror_id": {
                    "description": "Research Organization Registry identifier",
                    "pattern": "^https://ror.org/0[a-z0-9]{8}$",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "institution_name"
            ],
            "title": "Affiliation",
            "type": "object"
        },
        "AgreementMetrics": {
            "additionalProperties": false,
            "description": "Metrics for measuring agreement between reviewers/extractors",
            "properties": {
                "cohen_kappa": {
                    "description": "Cohen's kappa for inter-rater agreement",
                    "maximum": 1.0,
                    "minimum": -1.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "disagreement_count": {
                    "description": "Number of disagreements",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "field_level_agreements": {
                    "description": "Agreement metrics for individual fields",
                    "items": {
                        "$ref": "#/$defs/FieldAgreement"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "fleiss_kappa": {
                    "description": "Fleiss' kappa for multiple raters",
                    "maximum": 1.0,
                    "minimum": -1.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "krippendorff_alpha": {
                    "description": "Krippendorff's alpha reliability coefficient",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "overall_agreement": {
                    "description": "Overall agreement rate across all items",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "percent_agreement": {
                    "description": "Simple percentage agreement",
                    "maximum": 100.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "total_comparisons": {
                    "description": "Total number of comparisons made",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "title": "AgreementMetrics",
            "type": "object"
        },
        "Amendment": {
            "additionalProperties": false,
            "description": "A documented change or clarification to a registration.",
            "properties": {
                "affected_sections": {
                    "description": "Sections of the protocol affected by this amendment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "affected_version_ids": {
                    "description": "IDs of versions affected by this amendment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "amendment_author": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Author"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Author who made the amendment"
                },
                "amendment_date": {
                    "description": "Date of the amendment",
                    "format": "date-time",
                    "type": "string"
                },
                "amendment_description": {
                    "description": "Detailed description of what was changed",
                    "type": "string"
                },
                "amendment_id": {
                    "description": "Unique identifier for this amendment",
                    "type": "string"
                },
                "amendment_reason": {
                    "description": "Human-readable reason for the amendment",
                    "type": "string"
                },
                "amendment_type": {
                    "$ref": "#/$defs/AmendmentType",
                    "description": "Type of amendment"
                },
                "approval_date": {
                    "description": "Date the amendment was approved",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "approval_status": {
                    "$ref": "#/$defs/ApprovalStatus",
                    "description": "Approval status of the amendment"
                },
                "approver": {
                    "description": "Person or entity who approved the amendment",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "diff_uri": {
                    "description": "URI to an external diff showing the changes",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "amendment_id",
                "amendment_date",
                "amendment_type",
                "amendment_reason",
                "amendment_description"
            ],
            "title": "Amendment",
            "type": "object"
        },
        "AmendmentType": {
            "description": "Types of amendments to a registration",
            "enum": [
                "CLARIFICATION",
                "CORRECTION",
                "PROTOCOL_CHANGE",
                "SCOPE_CHANGE",
                "METHODOLOGY_CHANGE",
                "TIMELINE_CHANGE",
                "TEAM_CHANGE",
                "ADMINISTRATIVE"
            ],
            "title": "AmendmentType",
            "type": "string"
        },
        "ApprovalStatus": {
            "description": "Approval status for amendments",
            "enum": [
                "PENDING",
                "APPROVED",
                "REJECTED",
                "NOT_REQUIRED"
            ],
            "title": "ApprovalStatus",
            "type": "string"
        },
        "AssessmentConsensusStatus": {
            "description": "Consensus status for an assessment",
            "enum": [
                "SINGLE_ASSESSOR",
                "INDEPENDENT_ASSESSMENTS",
                "CONFLICT_UNRESOLVED",
                "CONSENSUS_REACHED",
                "ADJUDICATED"
            ],
            "title": "AssessmentConsensusStatus",
            "type": "string"
        },
        "AssessmentPurpose": {
            "description": "Purpose of a quality or risk-of-bias assessment",
            "enum": [
                "QUALITY_ASSESSMENT",
                "RISK_OF_BIAS",
                "CERTAINTY_ASSESSMENT",
                "REPORTING_QUALITY",
                "METHODS_APPRAISAL"
            ],
            "title": "AssessmentPurpose",
            "type": "string"
        },
        "AssessmentUnit": {
            "description": "Unit at which a quality or risk-of-bias assessment is made",
            "enum": [
                "STUDY",
                "OUTCOME",
                "RESULT",
                "DOMAIN",
                "REVIEW"
            ],
            "title": "AssessmentUnit",
            "type": "string"
        },
        "Author": {
            "additionalProperties": false,
            "description": "Author of a review or publication",
            "properties": {
                "affiliations": {
                    "description": "Institutional affiliations",
                    "items": {
                        "$ref": "#/$defs/Affiliation"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "email": {
                    "description": "Contact email address",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "family_name": {
                    "description": "Family/last name",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "given_name": {
                    "description": "Given/first name(s)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "description": "Full name of the author",
                    "type": "string"
                },
                "orcid": {
                    "description": "ORCID identifier",
                    "pattern": "^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "name"
            ],
            "title": "Author",
            "type": "object"
        },
        "BatchProcessing": {
            "additionalProperties": false,
            "description": "Batch processing within a session",
            "properties": {
                "batch_completion_rate": {
                    "description": "Proportion of batch completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "batch_id": {
                    "description": "Unique identifier for this batch",
                    "type": "string"
                },
                "batch_number": {
                    "description": "Sequential number of this batch",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "batch_size": {
                    "description": "Number of items in the batch",
                    "type": "integer"
                },
                "batch_started_at": {
                    "description": "When batch processing started",
                    "format": "date-time",
                    "type": "string"
                },
                "completed_at": {
                    "description": "When batch processing completed",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "items_in_batch": {
                    "description": "IDs of items in this batch",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "session_id": {
                    "description": "Session this batch belongs to",
                    "type": "string"
                }
            },
            "required": [
                "batch_id",
                "session_id",
                "batch_size",
                "batch_started_at"
            ],
            "title": "BatchProcessing",
            "type": "object"
        },
        "BiasDirection": {
            "description": "Assessed direction of bias",
            "enum": [
                "FAVORS_INTERVENTION",
                "FAVORS_COMPARATOR",
                "TOWARD_NULL",
                "AWAY_FROM_NULL",
                "UNPREDICTABLE",
                "NOT_ASSESSED"
            ],
            "title": "BiasDirection",
            "type": "string"
        },
        "BiasRisk": {
            "description": "Risk of bias level",
            "enum": [
                "LOW",
                "MODERATE",
                "HIGH",
                "UNCLEAR"
            ],
            "title": "BiasRisk",
            "type": "string"
        },
        "BlindingLevel": {
            "description": "Level of blinding in extraction",
            "enum": [
                "NONE",
                "SINGLE_BLIND",
                "DOUBLE_BLIND",
                "TRIPLE_BLIND"
            ],
            "title": "BlindingLevel",
            "type": "string"
        },
        "ChecklistItem": {
            "additionalProperties": false,
            "description": "Individual item in a quality checklist",
            "properties": {
                "guidance_text": {
                    "description": "Guidance for answering this item",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "item_category": {
                    "description": "Category this item belongs to",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "item_id": {
                    "description": "Unique identifier for the item",
                    "type": "string"
                },
                "item_text": {
                    "description": "Text of the checklist item",
                    "type": "string"
                },
                "response_options": {
                    "description": "Possible responses to this item",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoring_weight": {
                    "description": "Weight of this item in scoring",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "item_id",
                "item_text"
            ],
            "title": "ChecklistItem",
            "type": "object"
        },
        "ConfidenceInterval": {
            "additionalProperties": false,
            "description": "Confidence interval specification",
            "properties": {
                "confidence_level": {
                    "description": "Confidence level (e.g., 0.95 for 95%)",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "lower_bound": {
                    "description": "Lower bound of the interval",
                    "type": "number"
                },
                "upper_bound": {
                    "description": "Upper bound of the interval",
                    "type": "number"
                }
            },
            "required": [
                "lower_bound",
                "upper_bound"
            ],
            "title": "ConfidenceInterval",
            "type": "object"
        },
        "ConfidenceLevel": {
            "description": "Confidence levels",
            "enum": [
                "VERY_HIGH",
                "HIGH",
                "MODERATE",
                "LOW",
                "VERY_LOW"
            ],
            "title": "ConfidenceLevel",
            "type": "string"
        },
        "ConflictPattern": {
            "additionalProperties": false,
            "description": "Pattern analysis of conflicts",
            "properties": {
                "average_resolution_time": {
                    "description": "Average time to resolve in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "common_causes": {
                    "description": "Common causes of this conflict pattern",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "frequency": {
                    "description": "How often this pattern occurs",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "involved_fields": {
                    "description": "Fields commonly involved in this pattern",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "involved_participants": {
                    "description": "Participants commonly involved",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "pattern_id": {
                    "description": "Unique identifier for this pattern",
                    "type": "string"
                },
                "pattern_type": {
                    "description": "Type of conflict pattern",
                    "type": "string"
                },
                "resolution_success_rate": {
                    "description": "Success rate of resolutions",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "pattern_id",
                "pattern_type"
            ],
            "title": "ConflictPattern",
            "type": "object"
        },
        "ConflictResolution": {
            "additionalProperties": false,
            "description": "Resolution of conflicts or disagreements between reviewers",
            "properties": {
                "conflict_type": {
                    "$ref": "#/$defs/ConflictType",
                    "description": "Type of conflict being resolved"
                },
                "conflicting_items": {
                    "description": "IDs of items in conflict",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "final_decision": {
                    "description": "Final resolved decision or value",
                    "type": "string"
                },
                "original_decisions": {
                    "description": "Original conflicting decisions or values",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "resolution_confidence": {
                    "description": "Confidence in the resolution",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "resolution_duration": {
                    "description": "Time taken to resolve in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "resolution_id": {
                    "description": "Unique identifier for this resolution",
                    "type": "string"
                },
                "resolution_method": {
                    "$ref": "#/$defs/ResolutionMethod",
                    "description": "Method used to resolve the conflict"
                },
                "resolution_notes": {
                    "description": "Notes about the resolution process",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "resolution_timestamp": {
                    "description": "When the conflict was resolved",
                    "format": "date-time",
                    "type": "string"
                },
                "resolver": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Participant"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Person or process that resolved the conflict"
                }
            },
            "required": [
                "resolution_id",
                "conflict_type",
                "conflicting_items",
                "original_decisions",
                "resolution_method",
                "final_decision",
                "resolution_timestamp"
            ],
            "title": "ConflictResolution",
            "type": "object"
        },
        "ConflictResolutionMethod": {
            "description": "Methods for resolving conflicts",
            "enum": [
                "CONSENSUS",
                "THIRD_REVIEWER",
                "MAJORITY_VOTE",
                "SENIOR_REVIEWER",
                "TEAM_MEETING",
                "INCLUDE_BY_DEFAULT",
                "EXCLUDE_BY_DEFAULT"
            ],
            "title": "ConflictResolutionMethod",
            "type": "string"
        },
        "ConflictType": {
            "description": "Types of conflicts that can occur",
            "enum": [
                "INCLUSION_EXCLUSION",
                "DATA_VALUE",
                "CLASSIFICATION",
                "QUALITY_RATING",
                "INTERPRETATION",
                "MISSING_DATA",
                "METHODOLOGICAL",
                "TECHNICAL"
            ],
            "title": "ConflictType",
            "type": "string"
        },
        "Database": {
            "additionalProperties": false,
            "description": "Information about a database used for searching",
            "properties": {
                "access_date": {
                    "description": "Date when the database was accessed",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "database_name": {
                    "description": "Name of the database (e.g., PubMed, Scopus, Web of Science)",
                    "type": "string"
                },
                "database_notes": {
                    "description": "Additional notes about database access or limitations",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "database_url": {
                    "description": "URL to access the database",
                    "format": "uri",
                    "type": "string"
                },
                "database_version": {
                    "description": "Version or release of the database",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "database_name",
                "database_url"
            ],
            "title": "Database",
            "type": "object"
        },
        "DatasetKind": {
            "description": "Types of datasets used in systematic reviews",
            "enum": [
                "bibliographic_db",
                "local_index",
                "fulltext_corpus",
                "annotation_set",
                "gold_labels",
                "calibration_set",
                "other"
            ],
            "title": "DatasetKind",
            "type": "string"
        },
        "DatasetRef": {
            "additionalProperties": false,
            "description": "External dataset reference.",
            "properties": {
                "dataset_name": {
                    "description": "Name of the dataset",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "kind": {
                    "$ref": "#/$defs/DatasetKind",
                    "description": "Kind or type of stage output"
                },
                "license": {
                    "description": "License governing the dataset",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "notes": {
                    "description": "Additional notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "resource_uri": {
                    "description": "URI locating the resource",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "snapshot_hash": {
                    "description": "Checksum of the dataset snapshot",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "DatasetRef",
            "type": "object"
        },
        "DateRange": {
            "additionalProperties": false,
            "description": "A simple date range representation",
            "properties": {
                "range_description": {
                    "description": "Optional description of the date range",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "range_end": {
                    "description": "End date/time in any format",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "range_start": {
                    "description": "Start date/time in any format",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "DateRange",
            "type": "object"
        },
        "DeduplicationMethod": {
            "description": "Methods for deduplication",
            "enum": [
                "AUTOMATIC",
                "SEMI_AUTOMATIC",
                "MANUAL",
                "HYBRID"
            ],
            "title": "DeduplicationMethod",
            "type": "string"
        },
        "DeduplicationProcess": {
            "additionalProperties": false,
            "description": "Process for identifying and removing duplicate records",
            "properties": {
                "dedup_completed_at": {
                    "description": "When deduplication completed",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "dedup_criteria": {
                    "description": "Criteria used to identify duplicates (e.g., DOI, title similarity)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "dedup_id": {
                    "description": "Unique identifier for the deduplication process",
                    "type": "string"
                },
                "dedup_method": {
                    "$ref": "#/$defs/DeduplicationMethod",
                    "description": "Method used for deduplication"
                },
                "dedup_notes": {
                    "description": "Additional notes about the deduplication process",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "dedup_performed_by": {
                    "description": "Who performed the deduplication",
                    "items": {
                        "$ref": "#/$defs/Author"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "dedup_started_at": {
                    "description": "When deduplication started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "dedup_tools": {
                    "description": "External tools used for deduplication",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "duplicate_count": {
                    "description": "Number of duplicate records identified",
                    "type": "integer"
                },
                "duplicate_groups": {
                    "description": "Groups of identified duplicate records",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "input_record_count": {
                    "description": "Total number of records before deduplication",
                    "type": "integer"
                },
                "unique_record_count": {
                    "description": "Number of unique records after deduplication",
                    "type": "integer"
                }
            },
            "required": [
                "dedup_id",
                "input_record_count",
                "unique_record_count",
                "duplicate_count",
                "dedup_method"
            ],
            "title": "DeduplicationProcess",
            "type": "object"
        },
        "DependencyType": {
            "description": "Types of field dependencies",
            "enum": [
                "SHOW_IF",
                "HIDE_IF",
                "ENABLE_IF",
                "DISABLE_IF",
                "REQUIRE_IF",
                "CALCULATE_FROM",
                "VALIDATE_WITH"
            ],
            "title": "DependencyType",
            "type": "string"
        },
        "DomainAssessment": {
            "additionalProperties": false,
            "description": "Assessment of a specific quality domain",
            "properties": {
                "domain_justification": {
                    "description": "Justification for the rating",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "domain_name": {
                    "description": "Name of the quality domain",
                    "type": "string"
                },
                "domain_rating": {
                    "$ref": "#/$defs/QualityRating",
                    "description": "Rating for this domain"
                },
                "page_references": {
                    "description": "Page references for the assessment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "supporting_quotes": {
                    "description": "Quotes supporting the assessment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "domain_name",
                "domain_rating"
            ],
            "title": "DomainAssessment",
            "type": "object"
        },
        "DomainRating": {
            "description": "Rating for quality domains",
            "enum": [
                "NO_CONCERNS",
                "SERIOUS_CONCERNS",
                "VERY_SERIOUS_CONCERNS",
                "NOT_APPLICABLE"
            ],
            "title": "DomainRating",
            "type": "string"
        },
        "DuplicateGroup": {
            "additionalProperties": false,
            "description": "Group of records identified as duplicates",
            "properties": {
                "duplicate_record_ids": {
                    "description": "IDs of records identified as duplicates",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "group_id": {
                    "description": "Unique identifier for the duplicate group",
                    "type": "string"
                },
                "master_record_id": {
                    "description": "ID of the record kept as the master",
                    "type": "string"
                },
                "match_fields": {
                    "description": "Fields that matched between duplicates",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "resolution_method": {
                    "$ref": "#/$defs/ResolutionMethod",
                    "description": "Method used to resolve the conflict"
                },
                "similarity_score": {
                    "description": "Similarity score between duplicates (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "group_id",
                "master_record_id",
                "duplicate_record_ids"
            ],
            "title": "DuplicateGroup",
            "type": "object"
        },
        "EffectMeasure": {
            "description": "Types of effect measures",
            "enum": [
                "MEAN_DIFFERENCE",
                "STANDARDIZED_MEAN_DIFFERENCE",
                "ODDS_RATIO",
                "RISK_RATIO",
                "RISK_DIFFERENCE",
                "HAZARD_RATIO",
                "INCIDENCE_RATE_RATIO",
                "CORRELATION",
                "PROPORTION",
                "PREVALENCE",
                "DIAGNOSTIC_ODDS_RATIO",
                "SENSITIVITY_SPECIFICITY"
            ],
            "title": "EffectMeasure",
            "type": "string"
        },
        "EvidenceGrading": {
            "additionalProperties": false,
            "description": "Grading of evidence quality/certainty",
            "properties": {
                "downgrade_reasons": {
                    "description": "Reasons for downgrading",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "final_quality": {
                    "$ref": "#/$defs/EvidenceQuality",
                    "description": "Final quality rating after adjustments"
                },
                "grader_ids": {
                    "description": "IDs of people who performed grading",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "grading_date": {
                    "description": "Date of grading",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "grading_id": {
                    "description": "Unique identifier for this grading",
                    "type": "string"
                },
                "grading_notes": {
                    "description": "Notes about the grading",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "grading_system": {
                    "$ref": "#/$defs/GradingSystem",
                    "description": "System used for grading (e.g., GRADE)"
                },
                "initial_quality": {
                    "$ref": "#/$defs/EvidenceQuality",
                    "description": "Initial quality rating"
                },
                "outcome_assessed": {
                    "description": "Outcome being graded",
                    "type": "string"
                },
                "quality_domains": {
                    "description": "Assessment of individual quality domains",
                    "items": {
                        "$ref": "#/$defs/QualityDomain"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "upgrade_reasons": {
                    "description": "Reasons for upgrading",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "grading_id",
                "outcome_assessed",
                "grading_system",
                "initial_quality",
                "final_quality",
                "grader_ids"
            ],
            "title": "EvidenceGrading",
            "type": "object"
        },
        "EvidenceQuality": {
            "description": "Quality/certainty of evidence (GRADE)",
            "enum": [
                "HIGH",
                "MODERATE",
                "LOW",
                "VERY_LOW"
            ],
            "title": "EvidenceQuality",
            "type": "string"
        },
        "EvidenceStrength": {
            "description": "Strength of evidence",
            "enum": [
                "VERY_STRONG",
                "STRONG",
                "MODERATE",
                "WEAK",
                "VERY_WEAK",
                "NO_EVIDENCE"
            ],
            "title": "EvidenceStrength",
            "type": "string"
        },
        "ExploratorySearch": {
            "additionalProperties": false,
            "description": "Exploratory search used to test or refine the review scope.",
            "properties": {
                "exploratory_notes": {
                    "description": "Notes about the exploratory search",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "exploratory_outputs": {
                    "description": "Outputs produced by the exploratory search",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "exploratory_query": {
                    "description": "Exploratory query or search expression",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "exploratory_relevant_count": {
                    "description": "Number of records considered relevant during exploratory review",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "exploratory_results_count": {
                    "description": "Number of records found by the exploratory search",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "exploratory_search_date": {
                    "description": "Date and time of the exploratory search",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "exploratory_search_id": {
                    "description": "Identifier for an exploratory search",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "exploratory_source": {
                    "description": "Source used for the exploratory search",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ExploratorySearch",
            "type": "object"
        },
        "ExternalTool": {
            "additionalProperties": false,
            "description": "External tool or platform used in the review process",
            "properties": {
                "tool_ai_models": {
                    "description": "AI models used by the tool (if disclosed)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "tool_api_endpoint": {
                    "description": "API endpoint if accessed programmatically",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_api_version": {
                    "description": "Version of the API used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_citation": {
                    "description": "Recommended citation for the tool",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_configuration_file": {
                    "description": "URI to exported configuration file",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_configuration_parameters": {
                    "description": "Tool-specific configuration parameters",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "tool_cost": {
                    "description": "Cost information (subscription, per-use, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_documentation_url": {
                    "description": "URL to tool documentation",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_export_formats": {
                    "description": "Data formats the tool can export",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "tool_features_used": {
                    "description": "Specific features of the tool that were used",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "tool_id": {
                    "description": "Unique identifier for the tool",
                    "type": "string"
                },
                "tool_import_formats": {
                    "description": "Data formats the tool can import",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "tool_license_type": {
                    "$ref": "#/$defs/ToolLicenseType",
                    "description": "Type of license for the tool"
                },
                "tool_limitations": {
                    "description": "Known limitations or issues encountered",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_name": {
                    "description": "Name of the tool (e.g., Covidence, RevMan, Elicit, PrismaAI)",
                    "type": "string"
                },
                "tool_notes": {
                    "description": "Additional notes about tool usage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_purpose": {
                    "description": "Purpose(s) for which the tool was used",
                    "items": {
                        "$ref": "#/$defs/ToolPurpose"
                    },
                    "type": "array"
                },
                "tool_settings": {
                    "description": "General settings description or JSON configuration",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_subscription_level": {
                    "description": "Subscription level or plan used (if applicable)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_url": {
                    "description": "URL to access the tool or platform",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_vendor": {
                    "description": "Vendor or organization providing the tool",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tool_version": {
                    "description": "Version of the tool used",
                    "type": "string"
                }
            },
            "required": [
                "tool_id",
                "tool_name",
                "tool_version",
                "tool_purpose"
            ],
            "title": "ExternalTool",
            "type": "object"
        },
        "ExtractedDataPoint": {
            "additionalProperties": false,
            "description": "Individual data point extracted from a study",
            "properties": {
                "ai_assisted": {
                    "description": "Whether AI assisted in extraction",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "ai_confidence": {
                    "description": "AI confidence score if applicable",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "datapoint_id": {
                    "description": "Unique identifier for this data point",
                    "type": "string"
                },
                "extracted_unit": {
                    "description": "Unit of measurement if applicable",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "extracted_value": {
                    "description": "The extracted value",
                    "type": "string"
                },
                "extraction_confidence": {
                    "$ref": "#/$defs/ConfidenceLevel",
                    "description": "Confidence in the extraction"
                },
                "extraction_timestamp": {
                    "description": "When extraction occurred",
                    "format": "date-time",
                    "type": "string"
                },
                "extractor_id": {
                    "description": "ID of the extractor (human or AI)",
                    "type": "string"
                },
                "extractor_notes": {
                    "description": "Notes from the extractor",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "page_number": {
                    "description": "Page number(s) where data was found",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "quote": {
                    "description": "Direct quote from the source",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "datapoint_id",
                "extracted_value",
                "extraction_timestamp",
                "extractor_id"
            ],
            "title": "ExtractedDataPoint",
            "type": "object"
        },
        "ExtractedStudy": {
            "additionalProperties": false,
            "description": "A study with extracted data",
            "properties": {
                "ai_extraction_session": {
                    "description": "AI-specific extraction session details",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "extracted_data": {
                    "description": "Individual data points extracted",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "extracted_study_id": {
                    "description": "Unique identifier for the extracted study",
                    "type": "string"
                },
                "extraction_form_id": {
                    "description": "Reference to the extraction form used",
                    "type": "string"
                },
                "extraction_notes": {
                    "description": "Notes about the extraction",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "extraction_sessions": {
                    "description": "Work sessions for this extraction",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "extraction_status": {
                    "$ref": "#/$defs/ExtractionStatus",
                    "description": "Current status of extraction"
                },
                "final_extracted_values": {
                    "description": "Final reconciled values after resolution",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "quality_assessment": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/QualityAssessment"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality/risk of bias assessment"
                },
                "source_record_id": {
                    "description": "Reference to the source literature record",
                    "type": "string"
                },
                "study_characteristics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StudyCharacteristics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Key characteristics of the study"
                }
            },
            "required": [
                "extracted_study_id",
                "source_record_id",
                "extraction_form_id",
                "extraction_status"
            ],
            "title": "ExtractedStudy",
            "type": "object"
        },
        "ExtractionForm": {
            "additionalProperties": false,
            "description": "Template or form used for data extraction",
            "properties": {
                "form_created_at": {
                    "description": "Creation timestamp",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "form_created_by": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Author"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Creator of the form"
                },
                "form_description": {
                    "description": "Description of what the form captures",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "form_id": {
                    "description": "Unique identifier for the form",
                    "type": "string"
                },
                "form_last_modified": {
                    "description": "Last modification timestamp",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "form_name": {
                    "description": "Name of the extraction form",
                    "type": "string"
                },
                "form_sections": {
                    "description": "Sections within the form",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "form_uri": {
                    "description": "URI to the form template",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "form_version": {
                    "description": "Version of the form",
                    "type": "string"
                },
                "pilot_test_date": {
                    "description": "Date of pilot testing",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "pilot_test_notes": {
                    "description": "Notes from pilot testing",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "pilot_tested": {
                    "description": "Whether the form was pilot tested",
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "form_id",
                "form_name",
                "form_version"
            ],
            "title": "ExtractionForm",
            "type": "object"
        },
        "ExtractionOrder": {
            "description": "Order for extracting studies",
            "enum": [
                "RANDOM",
                "ALPHABETICAL",
                "CHRONOLOGICAL",
                "BY_RELEVANCE",
                "BY_QUALITY",
                "ASSIGNED"
            ],
            "title": "ExtractionOrder",
            "type": "string"
        },
        "ExtractionProtocol": {
            "additionalProperties": false,
            "description": "Protocol for the data extraction process",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "blinding_level": {
                    "$ref": "#/$defs/BlindingLevel",
                    "description": "Level of blinding during extraction"
                },
                "disagreement_resolution_method": {
                    "$ref": "#/$defs/ResolutionMethod",
                    "description": "Method for resolving extraction disagreements"
                },
                "extraction_guidance": {
                    "description": "Detailed guidance for extractors",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "extraction_order": {
                    "$ref": "#/$defs/ExtractionOrder",
                    "description": "Order in which studies are extracted"
                },
                "independent_extraction": {
                    "description": "Whether extraction is done independently",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "minimum_extractors_per_study": {
                    "description": "Minimum number of extractors per study",
                    "type": "integer"
                }
            },
            "required": [
                "minimum_extractors_per_study",
                "base_protocol_id"
            ],
            "title": "ExtractionProtocol",
            "type": "object"
        },
        "ExtractionQualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures for data extraction",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "extraction_specific_checks": {
                    "description": "Extraction-specific quality checks performed",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "ExtractionQualityControl",
            "type": "object"
        },
        "ExtractionStage": {
            "additionalProperties": false,
            "description": "Data extraction from included studies.",
            "properties": {
                "ai_assistance_config": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AIAssistance"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "AI assistance configuration for extraction"
                },
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "extracted_studies": {
                    "description": "Studies with extracted data",
                    "items": {
                        "$ref": "#/$defs/ExtractedStudy"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "extraction_forms": {
                    "description": "Data extraction forms/templates used",
                    "items": {
                        "$ref": "#/$defs/ExtractionForm"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "extraction_protocol": {
                    "$ref": "#/$defs/ExtractionProtocol",
                    "description": "Protocol for data extraction process"
                },
                "extraction_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ExtractionQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for extraction"
                },
                "extraction_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ExtractionStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Overall statistics for the extraction stage"
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "extraction_protocol",
                "stage_type"
            ],
            "title": "ExtractionStage",
            "type": "object"
        },
        "ExtractionStatistics": {
            "additionalProperties": false,
            "description": "Statistics about the extraction process",
            "properties": {
                "average_time_per_study": {
                    "description": "Average time per study (minutes)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of studies to extract",
                    "type": "integer"
                },
                "missing_data_rate": {
                    "description": "Rate of missing data points",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "total_data_points": {
                    "description": "Total number of data points extracted",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_studies_extracted": {
                    "description": "Total number of studies extracted",
                    "type": "integer"
                }
            },
            "required": [
                "total_studies_extracted",
                "base_stats_id",
                "base_total_items"
            ],
            "title": "ExtractionStatistics",
            "type": "object"
        },
        "ExtractionStatus": {
            "description": "Status of data extraction",
            "enum": [
                "NOT_STARTED",
                "IN_PROGRESS",
                "COMPLETED",
                "REQUIRES_REVIEW",
                "DISCREPANCY_RESOLUTION",
                "FINALIZED",
                "EXCLUDED"
            ],
            "title": "ExtractionStatus",
            "type": "string"
        },
        "FeasibilityAssessment": {
            "additionalProperties": false,
            "description": "Feasibility assessment for the proposed review scope.",
            "properties": {
                "feasibility_conclusion": {
                    "$ref": "#/$defs/FeasibilityConclusion",
                    "description": "Overall feasibility conclusion"
                },
                "feasibility_data_availability": {
                    "description": "Feasibility assessment of expected data availability",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "feasibility_literature_volume": {
                    "description": "Feasibility assessment of expected literature volume",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "feasibility_notes": {
                    "description": "Notes about feasibility",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "feasibility_population": {
                    "description": "Feasibility assessment of the population scope",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "feasibility_resource_constraints": {
                    "description": "Known resource constraints affecting feasibility",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "feasibility_review_scope": {
                    "description": "Feasibility assessment of review scope",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "FeasibilityAssessment",
            "type": "object"
        },
        "FeasibilityConclusion": {
            "description": "Overall feasibility conclusion",
            "enum": [
                "FEASIBLE",
                "FEASIBLE_WITH_CHANGES",
                "NOT_FEASIBLE",
                "UNCERTAIN"
            ],
            "title": "FeasibilityConclusion",
            "type": "string"
        },
        "FieldAgreement": {
            "additionalProperties": false,
            "description": "Agreement metrics for a specific field or item",
            "properties": {
                "agreement_rate": {
                    "description": "Agreement rate for this field",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "agreement_sample_size": {
                    "description": "Number of items compared",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "confidence_interval": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ConfidenceInterval"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Confidence interval for the agreement rate"
                },
                "disagreement_types": {
                    "description": "Types of disagreements observed",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "field_identifier": {
                    "description": "Identifier of the field or item",
                    "type": "string"
                }
            },
            "required": [
                "field_identifier",
                "agreement_rate"
            ],
            "title": "FieldAgreement",
            "type": "object"
        },
        "FieldDefinition": {
            "additionalProperties": false,
            "description": "Definition of a field used in forms, templates, or data collection",
            "properties": {
                "field_category": {
                    "description": "Category or section this field belongs to",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_default_value": {
                    "description": "Default value for the field",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_dependencies": {
                    "description": "Dependencies on other fields",
                    "items": {
                        "$ref": "#/$defs/FieldDependency"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "field_description": {
                    "description": "Detailed description of the field",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_group": {
                    "description": "Group this field belongs to",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_help_text": {
                    "description": "Help text to guide users",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_id": {
                    "description": "Unique identifier for this field",
                    "type": "string"
                },
                "field_label": {
                    "description": "Human-readable label for the field",
                    "type": "string"
                },
                "field_metadata": {
                    "description": "Additional metadata as JSON",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_name": {
                    "description": "Machine-readable name for the field",
                    "type": "string"
                },
                "field_options": {
                    "description": "Options for select/multi-select fields",
                    "items": {
                        "$ref": "#/$defs/FieldOption"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "field_order": {
                    "description": "Display order of the field",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "field_placeholder": {
                    "description": "Placeholder text for the field",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_required": {
                    "description": "Whether this field is required",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "field_type": {
                    "$ref": "#/$defs/FieldType",
                    "description": "Data type of the field"
                },
                "field_validation_rules": {
                    "description": "Validation rules for the field",
                    "items": {
                        "$ref": "#/$defs/ValidationRule"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "field_id",
                "field_name",
                "field_label",
                "field_type"
            ],
            "title": "FieldDefinition",
            "type": "object"
        },
        "FieldDependency": {
            "additionalProperties": false,
            "description": "Dependency between fields",
            "properties": {
                "dependency_condition": {
                    "description": "Condition for the dependency",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "dependency_type": {
                    "$ref": "#/$defs/DependencyType",
                    "description": "Type of dependency"
                },
                "dependency_value": {
                    "description": "Value to check against",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "depends_on_field": {
                    "description": "Field this depends on",
                    "type": "string"
                }
            },
            "required": [
                "depends_on_field",
                "dependency_type"
            ],
            "title": "FieldDependency",
            "type": "object"
        },
        "FieldOption": {
            "additionalProperties": false,
            "description": "Option for select/multi-select fields",
            "properties": {
                "is_default": {
                    "description": "Whether this is a default selection",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "option_description": {
                    "description": "Description of the option",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "option_group": {
                    "description": "Group this option belongs to",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "option_label": {
                    "description": "Display label for the option",
                    "type": "string"
                },
                "option_order": {
                    "description": "Display order of the option",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "option_value": {
                    "description": "Value of the option",
                    "type": "string"
                }
            },
            "required": [
                "option_value",
                "option_label"
            ],
            "title": "FieldOption",
            "type": "object"
        },
        "FieldType": {
            "description": "Data types for template fields",
            "enum": [
                "TEXT",
                "TEXT_AREA",
                "NUMBER",
                "DATE",
                "DATETIME",
                "BOOLEAN",
                "SELECT",
                "MULTI_SELECT",
                "URL",
                "EMAIL",
                "FILE",
                "STRUCTURED"
            ],
            "title": "FieldType",
            "type": "string"
        },
        "FormSection": {
            "additionalProperties": false,
            "description": "Section within a form or template",
            "properties": {
                "section_conditions": {
                    "description": "Conditions for showing this section",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "section_description": {
                    "description": "Description of the section",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "section_fields": {
                    "description": "Fields in this section",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "section_id": {
                    "description": "Unique identifier for this section",
                    "type": "string"
                },
                "section_label": {
                    "description": "Human-readable label for the section",
                    "type": "string"
                },
                "section_name": {
                    "description": "Machine-readable name for the section",
                    "type": "string"
                },
                "section_order": {
                    "description": "Display order of the section",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "section_repeatable": {
                    "description": "Whether this section can be repeated",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "section_required": {
                    "description": "Whether this section is required",
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "section_id",
                "section_name",
                "section_label"
            ],
            "title": "FormSection",
            "type": "object"
        },
        "FundingSource": {
            "additionalProperties": false,
            "description": "Source of funding for the review",
            "properties": {
                "funder_id": {
                    "description": "Funder identifier (e.g., Crossref Funder ID)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "funder_name": {
                    "description": "Name of the funding organization",
                    "type": "string"
                },
                "grant_number": {
                    "description": "Grant or award number",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "funder_name"
            ],
            "title": "FundingSource",
            "type": "object"
        },
        "GradingSystem": {
            "description": "System used for grading evidence",
            "enum": [
                "GRADE",
                "OXFORD_CEBM",
                "AHRQ",
                "SIGN",
                "NICE",
                "CUSTOM"
            ],
            "title": "GradingSystem",
            "type": "string"
        },
        "HashAlgorithm": {
            "description": "Cryptographic hash algorithms",
            "enum": [
                "SHA256",
                "SHA512",
                "SHA3_256",
                "SHA3_512",
                "BLAKE2B",
                "BLAKE3"
            ],
            "title": "HashAlgorithm",
            "type": "string"
        },
        "HeterogeneityStatistics": {
            "additionalProperties": false,
            "description": "Statistics measuring heterogeneity in meta-analysis",
            "properties": {
                "i_squared": {
                    "description": "I\u00b2 statistic (percentage of variation due to heterogeneity)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "prediction_interval_lower": {
                    "description": "Lower bound of prediction interval",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "prediction_interval_upper": {
                    "description": "Upper bound of prediction interval",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "q_p_value": {
                    "description": "P-value for Q statistic",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "q_statistic": {
                    "description": "Cochran's Q statistic",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "tau_squared": {
                    "description": "Tau\u00b2 (between-study variance)",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "title": "HeterogeneityStatistics",
            "type": "object"
        },
        "HumanModification": {
            "additionalProperties": false,
            "description": "Record of human modification to AI output",
            "properties": {
                "item_modified": {
                    "description": "Item or field that was modified",
                    "type": "string"
                },
                "modification_id": {
                    "description": "Unique identifier for this modification",
                    "type": "string"
                },
                "modification_reason": {
                    "$ref": "#/$defs/ModificationReason",
                    "description": "Reason for the modification"
                },
                "modification_timestamp": {
                    "description": "When the modification was made",
                    "format": "date-time",
                    "type": "string"
                },
                "modified_value": {
                    "description": "Value after human modification",
                    "type": "string"
                },
                "modifier_id": {
                    "description": "ID of the person who made the modification",
                    "type": "string"
                },
                "original_ai_value": {
                    "description": "Original value produced by AI",
                    "type": "string"
                }
            },
            "required": [
                "modification_id",
                "item_modified",
                "original_ai_value",
                "modified_value",
                "modification_reason",
                "modifier_id",
                "modification_timestamp"
            ],
            "title": "HumanModification",
            "type": "object"
        },
        "HumanOversightLevel": {
            "description": "Level of human oversight required",
            "enum": [
                "FULL_REVIEW",
                "SAMPLE_REVIEW",
                "CONFIDENCE_BASED",
                "EXCEPTION_ONLY",
                "MINIMAL",
                "NONE"
            ],
            "title": "HumanOversightLevel",
            "type": "string"
        },
        "LiteratureRecord": {
            "additionalProperties": false,
            "description": "A literature record representing a publication that persists across review stages.",
            "properties": {
                "abstract": {
                    "description": "Abstract of the publication",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "authors": {
                    "description": "Authors of the publication",
                    "items": {
                        "$ref": "#/$defs/Author"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "doi": {
                    "description": "Digital Object Identifier",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "full_text_url": {
                    "description": "URL to full text",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "issue": {
                    "description": "Issue number",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "journal": {
                    "description": "Journal name",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "keywords": {
                    "description": "Keywords",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "pages": {
                    "description": "Page range",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "pmid": {
                    "description": "PubMed identifier",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_language": {
                    "description": "Language of publication",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_type": {
                    "description": "Type of publication",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_year": {
                    "description": "Year of publication",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "record_created_at": {
                    "description": "When this record was created",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "record_id": {
                    "description": "Unique identifier for this literature record",
                    "type": "string"
                },
                "record_updated_at": {
                    "description": "Last update timestamp",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "title": {
                    "description": "Title of the publication",
                    "type": "string"
                },
                "volume": {
                    "description": "Volume number",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "record_id",
                "title"
            ],
            "title": "LiteratureRecord",
            "type": "object"
        },
        "LiteratureRecordCollection": {
            "additionalProperties": false,
            "description": "A collection of literature records",
            "properties": {
                "collection_created_at": {
                    "description": "When this collection was created",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "collection_description": {
                    "description": "Description of this collection",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "collection_id": {
                    "description": "Unique identifier for this collection",
                    "type": "string"
                },
                "collection_name": {
                    "description": "Name of the collection",
                    "type": "string"
                },
                "record_count": {
                    "description": "Number of records in this collection",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "records": {
                    "description": "Literature records in this collection",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "collection_id",
                "collection_name"
            ],
            "title": "LiteratureRecordCollection",
            "type": "object"
        },
        "MetaAnalysis": {
            "additionalProperties": false,
            "description": "Results from a meta-analysis",
            "properties": {
                "ai_analysis_session": {
                    "description": "AI assistance session if used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "analysis_id": {
                    "description": "Unique identifier for this meta-analysis",
                    "type": "string"
                },
                "analysis_name": {
                    "description": "Name of the meta-analysis",
                    "type": "string"
                },
                "analysis_notes": {
                    "description": "Additional notes about the analysis",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "analysis_sessions": {
                    "description": "Work sessions for this analysis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "analyst_ids": {
                    "description": "IDs of analysts",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "comparison_groups": {
                    "description": "Groups being compared",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "confidence_interval_lower": {
                    "description": "Lower bound of confidence interval",
                    "type": "number"
                },
                "confidence_interval_upper": {
                    "description": "Upper bound of confidence interval",
                    "type": "number"
                },
                "effect_size": {
                    "description": "Pooled effect size",
                    "type": "number"
                },
                "forest_plot_output": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageOutput"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Forest plot visualization"
                },
                "heterogeneity_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/HeterogeneityStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Heterogeneity statistics (I\u00b2, Q, tau\u00b2)"
                },
                "included_studies": {
                    "description": "Study IDs included in this analysis",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "model_type": {
                    "$ref": "#/$defs/MetaAnalysisModel",
                    "description": "Type of model used (fixed/random effects)"
                },
                "outcome_measure": {
                    "description": "Outcome measure being analyzed",
                    "type": "string"
                },
                "p_value": {
                    "description": "P-value for the pooled effect",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "analysis_id",
                "analysis_name",
                "outcome_measure",
                "comparison_groups",
                "included_studies",
                "effect_size",
                "confidence_interval_lower",
                "confidence_interval_upper",
                "model_type",
                "analyst_ids"
            ],
            "title": "MetaAnalysis",
            "type": "object"
        },
        "MetaAnalysisModel": {
            "description": "Type of meta-analysis model",
            "enum": [
                "FIXED_EFFECT",
                "RANDOM_EFFECTS",
                "FIXED_EFFECTS_PLURAL",
                "BAYESIAN_FIXED",
                "BAYESIAN_RANDOM",
                "QUALITY_EFFECTS"
            ],
            "title": "MetaAnalysisModel",
            "type": "string"
        },
        "MissingDataStrategy": {
            "description": "Strategy for handling missing data",
            "enum": [
                "COMPLETE_CASE",
                "IMPUTATION",
                "SENSITIVITY_ANALYSIS",
                "CONTACT_AUTHORS",
                "WORST_CASE",
                "BEST_CASE",
                "LAST_OBSERVATION"
            ],
            "title": "MissingDataStrategy",
            "type": "string"
        },
        "ModificationReason": {
            "description": "Reason for modifying AI output",
            "enum": [
                "INCORRECT",
                "INCOMPLETE",
                "IMPRECISE",
                "WRONG_CONTEXT",
                "FORMATTING",
                "VALIDATION_FAILURE",
                "AMBIGUITY",
                "HUMAN_JUDGMENT",
                "POLICY_OVERRIDE"
            ],
            "title": "ModificationReason",
            "type": "string"
        },
        "NarrativeSynthesis": {
            "additionalProperties": false,
            "description": "Results from narrative synthesis",
            "properties": {
                "ai_synthesis_session": {
                    "description": "AI assistance session if used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "supporting_tables": {
                    "description": "Supporting tables and summaries",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesis_confidence": {
                    "$ref": "#/$defs/ConfidenceLevel",
                    "description": "Confidence in synthesis conclusions"
                },
                "synthesis_framework": {
                    "description": "Framework used for narrative synthesis",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "synthesis_id": {
                    "description": "Unique identifier for this narrative synthesis",
                    "type": "string"
                },
                "synthesis_patterns": {
                    "description": "Patterns identified across studies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesis_sessions": {
                    "description": "Work sessions for this synthesis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesis_text": {
                    "description": "Main narrative synthesis text",
                    "type": "string"
                },
                "synthesis_themes": {
                    "description": "Themes identified in the synthesis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesist_ids": {
                    "description": "IDs of people who conducted synthesis",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "synthesis_id",
                "synthesis_text",
                "synthesist_ids"
            ],
            "title": "NarrativeSynthesis",
            "type": "object"
        },
        "OversightLevel": {
            "description": "Level of human oversight for AI",
            "enum": [
                "FULL_REVIEW",
                "SAMPLE_REVIEW",
                "EXCEPTION_REVIEW",
                "NO_REVIEW",
                "DUAL_REVIEW"
            ],
            "title": "OversightLevel",
            "type": "string"
        },
        "ParameterType": {
            "description": "Data types for tool parameters",
            "enum": [
                "STRING",
                "NUMBER",
                "BOOLEAN",
                "DATE",
                "URL",
                "FILE_PATH",
                "JSON",
                "LIST",
                "ENUM"
            ],
            "title": "ParameterType",
            "type": "string"
        },
        "Participant": {
            "additionalProperties": false,
            "description": "A person participating in the review process",
            "properties": {
                "affiliations": {
                    "description": "Institutional affiliations",
                    "items": {
                        "$ref": "#/$defs/Affiliation"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "assigned_items_count": {
                    "description": "Number of items assigned to this participant",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "completed_items_count": {
                    "description": "Number of items completed by this participant",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "conflict_of_interest_declared": {
                    "description": "Whether conflicts of interest were declared",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "email": {
                    "description": "Contact email address",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "expertise_areas": {
                    "description": "Areas of expertise relevant to the review",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "family_name": {
                    "description": "Family/last name",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "given_name": {
                    "description": "Given/first name(s)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "description": "Full name of the author",
                    "type": "string"
                },
                "orcid": {
                    "description": "ORCID identifier",
                    "pattern": "^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "participant_avg_time_per_item": {
                    "description": "Average time spent per item (minutes)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "participant_notes": {
                    "description": "Additional notes about the participant",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "participant_role": {
                    "description": "Role(s) of the participant in the review",
                    "items": {
                        "$ref": "#/$defs/ParticipantRole"
                    },
                    "type": "array"
                },
                "training_completed": {
                    "description": "Training or calibration exercises completed",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "participant_role",
                "name"
            ],
            "title": "Participant",
            "type": "object"
        },
        "ParticipantRole": {
            "description": "Roles that participants can have in the review process",
            "enum": [
                "LEAD_REVIEWER",
                "REVIEWER",
                "SCREENER",
                "DATA_EXTRACTOR",
                "QUALITY_ASSESSOR",
                "CONFLICT_RESOLVER",
                "STATISTICIAN",
                "METHODOLOGIST",
                "DOMAIN_EXPERT",
                "INFORMATION_SPECIALIST",
                "PROJECT_MANAGER",
                "EXTERNAL_REVIEWER"
            ],
            "title": "ParticipantRole",
            "type": "string"
        },
        "ParticipantWorkload": {
            "additionalProperties": false,
            "description": "Workload statistics for a participant",
            "properties": {
                "average_items_per_day": {
                    "description": "Average items processed per day",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "first_item_date": {
                    "description": "Date of first item processed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "items_processed_count": {
                    "description": "Total items processed",
                    "type": "integer"
                },
                "last_item_date": {
                    "description": "Date of last item processed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "participant_id": {
                    "description": "Reference to the participant",
                    "type": "string"
                },
                "peak_items_per_day": {
                    "description": "Maximum items processed in a single day",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Stage of the review process"
                },
                "time_spent_hours": {
                    "description": "Total time spent in hours",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "participant_id",
                "stage_type",
                "items_processed_count"
            ],
            "title": "ParticipantWorkload",
            "type": "object"
        },
        "PerformanceMetrics": {
            "additionalProperties": false,
            "description": "General performance metrics",
            "properties": {
                "accuracy": {
                    "description": "Overall accuracy",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "area_under_curve": {
                    "description": "Area under the ROC curve",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "balanced_accuracy": {
                    "description": "Average of sensitivity and specificity",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "diagnostic_odds_ratio": {
                    "description": "Ratio of odds of positive test in diseased vs non-diseased",
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "f1_score": {
                    "description": "Harmonic mean of precision and recall",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_discovery_rate": {
                    "description": "Expected proportion of false discoveries",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_negative_rate": {
                    "description": "Type II error rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_omission_rate": {
                    "description": "Proportion of false negatives among negative calls",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "false_positive_rate": {
                    "description": "Type I error rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "matthews_correlation": {
                    "description": "Matthews correlation coefficient",
                    "maximum": 1.0,
                    "minimum": -1.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "negative_predictive_value": {
                    "description": "Negative predictive value",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "precision": {
                    "description": "Positive predictive value",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "sensitivity": {
                    "description": "True positive rate (recall)",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "specificity": {
                    "description": "True negative rate",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "title": "PerformanceMetrics",
            "type": "object"
        },
        "PrismaFlowDiagram": {
            "additionalProperties": false,
            "description": "PRISMA flow diagram counts and artifact references.",
            "properties": {
                "prisma_flow_id": {
                    "description": "Identifier for a PRISMA flow diagram",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "prisma_flow_notes": {
                    "description": "Notes about the PRISMA flow diagram",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "prisma_flow_output": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageOutput"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "PRISMA flow diagram artifact"
                },
                "prisma_flow_standard": {
                    "description": "PRISMA flow standard used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "prisma_studies_included": {
                    "description": "Number of studies included in the review",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "records_identified": {
                    "description": "Number of records identified",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "records_screened": {
                    "description": "Number of records screened",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reports_assessed": {
                    "description": "Number of reports assessed for eligibility",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reports_sought": {
                    "description": "Number of reports sought for retrieval",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "title": "PrismaFlowDiagram",
            "type": "object"
        },
        "ProcessMetrics": {
            "additionalProperties": false,
            "description": "Metrics related to process efficiency and completion",
            "properties": {
                "backlog_size": {
                    "description": "Number of items remaining",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "completed_items": {
                    "description": "Number of items completed",
                    "type": "integer"
                },
                "completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "items_per_day": {
                    "description": "Average items processed per day",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "median_time_per_item": {
                    "description": "Median time per item in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "process_avg_time_per_item": {
                    "description": "Average time per item in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "process_total_time_hours": {
                    "description": "Total time spent in hours",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "throughput_trend": {
                    "description": "Trend in processing speed (increasing/stable/decreasing)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "total_items": {
                    "description": "Total number of items to process",
                    "type": "integer"
                }
            },
            "required": [
                "total_items",
                "completed_items"
            ],
            "title": "ProcessMetrics",
            "type": "object"
        },
        "PromptType": {
            "description": "Type of prompting strategy",
            "enum": [
                "ZERO_SHOT",
                "FEW_SHOT",
                "CHAIN_OF_THOUGHT",
                "STRUCTURED_OUTPUT",
                "CONVERSATIONAL",
                "INSTRUCTION_BASED"
            ],
            "title": "PromptType",
            "type": "string"
        },
        "Protocol": {
            "additionalProperties": false,
            "description": "Scoping and registration details of the review.",
            "properties": {
                "eligibility_criteria": {
                    "description": "Inclusion and exclusion criteria",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "picos": {
                    "description": "Population, Intervention, Comparison, Outcomes, Study design details",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "protocol_start_date": {
                    "description": "Protocol registration date",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_id": {
                    "description": "Identifier assigned by the registry",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_url": {
                    "description": "URL to the registry entry",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registry": {
                    "description": "Registry where the protocol is recorded",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "research_question": {
                    "description": "Primary research question",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "Protocol",
            "type": "object"
        },
        "PublicationBiasAssessment": {
            "additionalProperties": false,
            "description": "Assessment of publication bias",
            "properties": {
                "assessment_methods": {
                    "description": "Methods used to assess publication bias",
                    "items": {
                        "$ref": "#/$defs/PublicationBiasMethod"
                    },
                    "type": "array"
                },
                "beggs_test_result": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StatisticalTestResult"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Result of Begg's test"
                },
                "bias_assessment_id": {
                    "description": "Unique identifier for this assessment",
                    "type": "string"
                },
                "bias_assessment_notes": {
                    "description": "Notes about the assessment",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "bias_conclusion": {
                    "$ref": "#/$defs/BiasRisk",
                    "description": "Overall conclusion about publication bias"
                },
                "bias_impact": {
                    "description": "Impact of bias on conclusions",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "eggers_test_result": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StatisticalTestResult"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Result of Egger's test"
                },
                "failsafe_n": {
                    "description": "Fail-safe N calculation",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "funnel_plot_output": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageOutput"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Funnel plot visualization"
                },
                "selection_models": {
                    "description": "Selection model results",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "trim_fill_result": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/TrimFillResult"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Result of trim and fill analysis"
                }
            },
            "required": [
                "bias_assessment_id",
                "assessment_methods"
            ],
            "title": "PublicationBiasAssessment",
            "type": "object"
        },
        "PublicationBiasMethod": {
            "description": "Methods for assessing publication bias",
            "enum": [
                "FUNNEL_PLOT",
                "EGGERS_TEST",
                "BEGGS_TEST",
                "TRIM_FILL",
                "FAILSAFE_N",
                "PETERS_TEST",
                "SELECTION_MODELS",
                "P_CURVE",
                "EXCESS_SIGNIFICANCE"
            ],
            "title": "PublicationBiasMethod",
            "type": "string"
        },
        "PublicationRecord": {
            "additionalProperties": false,
            "description": "Submission, publication, or dissemination record.",
            "properties": {
                "publication_acceptance_date": {
                    "description": "Date and time of acceptance",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_doi": {
                    "description": "Publication DOI",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_id": {
                    "description": "Identifier for a publication record",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_notes": {
                    "description": "Notes about the publication record",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_publication_date": {
                    "description": "Date and time of publication",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_submission_date": {
                    "description": "Date and time of submission",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_url": {
                    "description": "Publication URL",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_venue": {
                    "description": "Journal, platform, repository, or venue",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_publication_status": {
                    "$ref": "#/$defs/ReportPublicationStatus",
                    "description": "Publication status of the report"
                }
            },
            "title": "PublicationRecord",
            "type": "object"
        },
        "PublicationStatus": {
            "description": "Publication status of studies",
            "enum": [
                "PUBLISHED",
                "PREPRINT",
                "GREY_LITERATURE",
                "UNPUBLISHED",
                "ABSTRACT_ONLY",
                "PROTOCOL_ONLY",
                "RETRACTED"
            ],
            "title": "PublicationStatus",
            "type": "string"
        },
        "PublicationType": {
            "description": "Types of publications",
            "enum": [
                "JOURNAL_ARTICLE",
                "CONFERENCE_PAPER",
                "BOOK",
                "BOOK_CHAPTER",
                "DISSERTATION",
                "THESIS",
                "TECHNICAL_REPORT",
                "PREPRINT",
                "WORKING_PAPER",
                "SYSTEMATIC_REVIEW",
                "META_ANALYSIS",
                "CLINICAL_TRIAL",
                "CASE_REPORT",
                "EDITORIAL",
                "LETTER",
                "COMMENT",
                "NEWS",
                "GREY_LITERATURE",
                "PATENT",
                "DATASET",
                "SOFTWARE",
                "PROTOCOL",
                "ABSTRACT_ONLY",
                "POSTER"
            ],
            "title": "PublicationType",
            "type": "string"
        },
        "QualityAssessment": {
            "additionalProperties": false,
            "description": "Quality or risk of bias assessment for a study or item",
            "properties": {
                "assessment_date": {
                    "description": "Date and time of assessment",
                    "format": "date-time",
                    "type": "string"
                },
                "assessment_id": {
                    "description": "Unique identifier for this assessment",
                    "type": "string"
                },
                "assessment_notes": {
                    "description": "Notes about the assessment",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "assessment_purpose": {
                    "$ref": "#/$defs/AssessmentPurpose",
                    "description": "Purpose of this assessment"
                },
                "assessment_time_minutes": {
                    "description": "Time taken to complete assessment in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "assessment_tool": {
                    "$ref": "#/$defs/QualityAssessmentTool",
                    "description": "Tool used for quality assessment"
                },
                "assessment_unit": {
                    "$ref": "#/$defs/AssessmentUnit",
                    "description": "Unit at which the assessment is made"
                },
                "assessor": {
                    "$ref": "#/$defs/Participant",
                    "description": "Person who performed the assessment"
                },
                "confidence_rating": {
                    "$ref": "#/$defs/ConfidenceLevel",
                    "description": "Assessor's confidence in the assessment"
                },
                "domain_assessments": {
                    "description": "Assessment of individual quality domains",
                    "items": {
                        "$ref": "#/$defs/DomainAssessment"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "item_id": {
                    "description": "ID of the item being assessed",
                    "type": "string"
                },
                "overall_quality": {
                    "$ref": "#/$defs/QualityRating",
                    "description": "Overall quality rating"
                },
                "overall_risk_of_bias": {
                    "$ref": "#/$defs/RiskOfBiasJudgement",
                    "description": "Overall risk-of-bias judgement"
                },
                "risk_of_bias_domains": {
                    "description": "Risk-of-bias domain judgements, including signalling questions",
                    "items": {
                        "$ref": "#/$defs/RiskOfBiasDomainAssessment"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "rob_assessment_version": {
                    "description": "Version or variant of the risk-of-bias assessment tool",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "rob_consensus_status": {
                    "$ref": "#/$defs/AssessmentConsensusStatus",
                    "description": "Consensus status for the assessment"
                },
                "rob_direction": {
                    "$ref": "#/$defs/BiasDirection",
                    "description": "Assessed direction of bias if evaluated"
                },
                "rob_justification": {
                    "description": "Overall justification for the risk-of-bias judgement",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "target_effect": {
                    "description": "Effect estimate, contrast, or estimand targeted by the assessment if applicable",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "target_outcome": {
                    "description": "Outcome targeted by the assessment if outcome-specific",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "assessment_id",
                "item_id",
                "assessment_tool",
                "assessor",
                "assessment_date"
            ],
            "title": "QualityAssessment",
            "type": "object"
        },
        "QualityAssessmentTool": {
            "description": "Tools for quality assessment",
            "enum": [
                "COCHRANE_ROB2",
                "COCHRANE_ROBINS_I",
                "ROBINS_E",
                "NEWCASTLE_OTTAWA",
                "JADAD",
                "GRADE",
                "CASP",
                "JBI",
                "AMSTAR",
                "QUADAS",
                "QUADAS_2",
                "QUADAS_C",
                "ROBIS",
                "OHAT_RISK_OF_BIAS",
                "SYRCLE",
                "AXIS",
                "MMAT",
                "MINORS",
                "STROBE",
                "CONSORT",
                "CUSTOM"
            ],
            "title": "QualityAssessmentTool",
            "type": "string"
        },
        "QualityChecklist": {
            "additionalProperties": false,
            "description": "Checklist for quality assessment",
            "properties": {
                "checklist_id": {
                    "description": "Unique identifier for the checklist",
                    "type": "string"
                },
                "checklist_items": {
                    "description": "Items in the checklist",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "checklist_name": {
                    "description": "Name of the checklist",
                    "type": "string"
                },
                "checklist_version": {
                    "description": "Version of the checklist",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "interpretation_guide": {
                    "description": "Guide for interpreting scores",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoring_method": {
                    "description": "Method for scoring the checklist",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "checklist_id",
                "checklist_name"
            ],
            "title": "QualityChecklist",
            "type": "object"
        },
        "QualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures and checks",
            "properties": {
                "checks_performed": {
                    "description": "Specific checks performed",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "corrective_actions": {
                    "description": "Corrective actions taken",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "issues_found": {
                    "description": "Number of issues identified",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "issues_resolved": {
                    "description": "Number of issues resolved",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "qc_id": {
                    "description": "Unique identifier for this quality control check",
                    "type": "string"
                },
                "qc_pass_rate": {
                    "description": "Proportion of items passing QC",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "qc_performed_by": {
                    "description": "Who performed the QC",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "qc_sample_size": {
                    "description": "Size of the sample checked",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "qc_timestamp": {
                    "description": "When QC was performed",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "qc_type": {
                    "$ref": "#/$defs/QualityControlType",
                    "description": "Type of quality control performed"
                },
                "sample_method": {
                    "$ref": "#/$defs/SamplingMethod",
                    "description": "Method used for sampling"
                }
            },
            "required": [
                "qc_id",
                "qc_type"
            ],
            "title": "QualityControl",
            "type": "object"
        },
        "QualityControlType": {
            "description": "Types of quality control checks",
            "enum": [
                "DOUBLE_CHECK",
                "SPOT_CHECK",
                "SYSTEMATIC_REVIEW",
                "AUTOMATED_VALIDATION",
                "CALIBRATION_EXERCISE",
                "AUDIT",
                "PEER_REVIEW"
            ],
            "title": "QualityControlType",
            "type": "string"
        },
        "QualityDomain": {
            "additionalProperties": false,
            "description": "Individual quality domain assessment",
            "properties": {
                "quality_domain_justification": {
                    "description": "Justification for the rating",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "quality_domain_name": {
                    "description": "Name of the quality domain",
                    "type": "string"
                },
                "quality_domain_rating": {
                    "$ref": "#/$defs/DomainRating",
                    "description": "Rating for this domain"
                }
            },
            "required": [
                "quality_domain_name",
                "quality_domain_rating"
            ],
            "title": "QualityDomain",
            "type": "object"
        },
        "QualityRating": {
            "description": "Quality rating levels",
            "enum": [
                "LOW_RISK",
                "SOME_CONCERNS",
                "HIGH_RISK",
                "CRITICAL_RISK",
                "NO_INFORMATION",
                "NOT_APPLICABLE",
                "GOOD",
                "FAIR",
                "POOR"
            ],
            "title": "QualityRating",
            "type": "string"
        },
        "QuestionCandidateStatus": {
            "description": "Status values for candidate review questions",
            "enum": [
                "PROPOSED",
                "REFINED",
                "SELECTED",
                "REJECTED",
                "MERGED"
            ],
            "title": "QuestionCandidateStatus",
            "type": "string"
        },
        "Registration": {
            "additionalProperties": false,
            "description": "A registration entry referencing an external registry, with full versioning support.",
            "properties": {
                "current_version_id": {
                    "description": "ID of the currently active version",
                    "type": "string"
                },
                "initial_version_id": {
                    "description": "ID of the initial registration version",
                    "type": "string"
                },
                "registration_created_at": {
                    "description": "When this registration record was created",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_last_modified": {
                    "description": "When this registration was last modified",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_status": {
                    "$ref": "#/$defs/RegistrationStatus",
                    "description": "Current status of the registration"
                },
                "registration_type": {
                    "$ref": "#/$defs/RegistrationType",
                    "description": "Type of registration (pre-registration or registration)"
                },
                "registry_entry_url": {
                    "description": "URL to the registration entry in the external registry",
                    "format": "uri",
                    "type": "string"
                },
                "registry_name": {
                    "description": "Name of the registry (e.g., PROSPERO, OSF, ClinicalTrials.gov)",
                    "type": "string"
                },
                "stage_registration_id": {
                    "description": "Unique identifier for this registration within the review",
                    "type": "string"
                },
                "versions": {
                    "description": "All versions of this registration",
                    "items": {
                        "$ref": "#/$defs/RegistrationVersion"
                    },
                    "minItems": 1,
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_registration_id",
                "registry_name",
                "registry_entry_url",
                "registration_type",
                "initial_version_id",
                "current_version_id",
                "registration_status"
            ],
            "title": "Registration",
            "type": "object"
        },
        "RegistrationPolicy": {
            "additionalProperties": false,
            "description": "Policy governing registration requirements and constraints",
            "properties": {
                "allowed_change_types": {
                    "description": "Types of amendments allowed",
                    "items": {
                        "$ref": "#/$defs/AmendmentType"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "allowed_templates": {
                    "description": "URIs of allowed registration templates",
                    "items": {
                        "format": "uri",
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "hash_algorithms": {
                    "description": "Allowed hash algorithms for content verification",
                    "items": {
                        "$ref": "#/$defs/HashAlgorithm"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "max_days_between_versions": {
                    "description": "Maximum days allowed between version updates",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "require_amendment_approval": {
                    "description": "Whether amendments require formal approval",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "require_content_hash": {
                    "description": "Whether content hashes are required for verification",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "require_doi": {
                    "description": "Whether DOIs are required for registration versions",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "require_template": {
                    "description": "Whether a template must be used",
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "title": "RegistrationPolicy",
            "type": "object"
        },
        "RegistrationProtocol": {
            "additionalProperties": false,
            "description": "Protocol defining the registration approach and requirements",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "embargo_period": {
                    "description": "Any embargo period for the registration",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_platforms": {
                    "description": "Platforms where the protocol will be registered",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "registration_timing": {
                    "description": "When registration should occur (e.g., before data collection)",
                    "type": "string"
                },
                "registration_update_policy": {
                    "description": "Policy for updating registrations",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "transparency_commitments": {
                    "description": "Commitments to transparency and open science",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "registration_timing",
                "registration_platforms",
                "base_protocol_id"
            ],
            "title": "RegistrationProtocol",
            "type": "object"
        },
        "RegistrationQualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures for the registration process",
            "properties": {
                "amendment_review_process": {
                    "description": "Process for reviewing amendments",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "registration_accuracy_verification": {
                    "description": "Whether registration accuracy was verified",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "registration_completeness_check": {
                    "description": "Whether registration completeness was verified",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "version_control_audit": {
                    "description": "Audit trail for version control",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "RegistrationQualityControl",
            "type": "object"
        },
        "RegistrationStage": {
            "additionalProperties": false,
            "description": "Stage for managing review registrations and pre-registrations, focusing on referencing external registry entries rather than hosting registration content.",
            "properties": {
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "current_registration_version": {
                    "description": "Version ID of the current active registration",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "registration_policy": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/RegistrationPolicy"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Policy governing registration requirements"
                },
                "registration_protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/RegistrationProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Protocol defining the registration approach and requirements"
                },
                "registration_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/RegistrationQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for the registration process"
                },
                "registration_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/RegistrationStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Statistics about the registration process"
                },
                "registrations": {
                    "description": "All registrations associated with this review",
                    "items": {
                        "$ref": "#/$defs/Registration"
                    },
                    "minItems": 1,
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_type"
            ],
            "title": "RegistrationStage",
            "type": "object"
        },
        "RegistrationStatistics": {
            "additionalProperties": false,
            "description": "Statistics about the registration process",
            "properties": {
                "average_days_between_versions": {
                    "description": "Average days between registration versions",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of registration versions",
                    "type": "integer"
                },
                "days_to_first_registration": {
                    "description": "Days from protocol creation to first registration",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "registration_compliance_rate": {
                    "description": "Rate of compliance with registration requirements",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "total_amendments": {
                    "description": "Total number of amendments",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_registrations": {
                    "description": "Total number of registrations created",
                    "type": "integer"
                },
                "total_versions": {
                    "description": "Total number of registration versions",
                    "type": "integer"
                }
            },
            "required": [
                "total_registrations",
                "total_versions",
                "base_stats_id",
                "base_total_items"
            ],
            "title": "RegistrationStatistics",
            "type": "object"
        },
        "RegistrationStatus": {
            "description": "Status of a registration",
            "enum": [
                "DRAFT",
                "SUBMITTED",
                "UNDER_REVIEW",
                "REGISTERED",
                "AMENDED",
                "WITHDRAWN",
                "SUPERSEDED"
            ],
            "title": "RegistrationStatus",
            "type": "string"
        },
        "RegistrationTemplate": {
            "additionalProperties": false,
            "description": "A template used for registering systematic reviews, defining required and optional fields.",
            "properties": {
                "created_date": {
                    "description": "Date the template was created",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "deprecation_date": {
                    "description": "Date when this template will be or was deprecated",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "field_definitions": {
                    "description": "JSON Schema or other formal definition of fields",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "optional_fields": {
                    "description": "Optional fields in this template",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "required_fields": {
                    "description": "Fields required by this template",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "successor_template_id": {
                    "description": "ID of the template that supersedes this one",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_description": {
                    "description": "Description of the template and its purpose",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_doi": {
                    "description": "DOI of the template publication, if available (e.g., for PRISMA-P)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_id": {
                    "description": "Unique identifier for this template",
                    "type": "string"
                },
                "template_language": {
                    "description": "Language of the template",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_last_updated": {
                    "description": "Date and time when the template was last updated",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_name": {
                    "description": "Human-readable name of the template",
                    "type": "string"
                },
                "template_provider": {
                    "description": "Organization or registry providing the template",
                    "type": "string"
                },
                "template_type": {
                    "$ref": "#/$defs/TemplateType",
                    "description": "Type of registration template"
                },
                "template_uri": {
                    "description": "URI where the template can be accessed",
                    "format": "uri",
                    "type": "string"
                },
                "template_version": {
                    "description": "Version of the template",
                    "type": "string"
                },
                "validation_rules": {
                    "description": "Validation rules for the template",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "template_id",
                "template_name",
                "template_version",
                "template_uri",
                "template_provider",
                "template_type"
            ],
            "title": "RegistrationTemplate",
            "type": "object"
        },
        "RegistrationType": {
            "description": "Type of registration",
            "enum": [
                "PRE_REGISTRATION",
                "REGISTRATION",
                "REGISTERED_REPORT",
                "PROTOCOL_REGISTRATION"
            ],
            "title": "RegistrationType",
            "type": "string"
        },
        "RegistrationVersion": {
            "additionalProperties": false,
            "description": "An immutable version of a registration, capturing the exact state at a point in time.",
            "properties": {
                "amendments": {
                    "description": "Amendments made in this version",
                    "items": {
                        "$ref": "#/$defs/Amendment"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "content_hash": {
                    "description": "Cryptographic hash of the registration content",
                    "type": "string"
                },
                "content_hash_algorithm": {
                    "$ref": "#/$defs/HashAlgorithm",
                    "description": "Algorithm used to generate the content hash"
                },
                "content_uri": {
                    "description": "URI to the immutable content of this version",
                    "format": "uri",
                    "type": "string"
                },
                "is_major_revision": {
                    "description": "Whether this is a major revision",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "protocol_snapshot_hash": {
                    "description": "Hash of the exact protocol registered",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registered_text": {
                    "description": "Optional full text as submitted to the registry",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_doi": {
                    "description": "DOI if this version has been published",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_template_doi": {
                    "description": "DOI of the registration template used, if available",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registration_template_version": {
                    "description": "Version of the template used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registry_acceptance_date": {
                    "description": "When this version was accepted by the registry",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "registry_submission_date": {
                    "description": "When this version was submitted to the registry",
                    "format": "date-time",
                    "type": "string"
                },
                "registry_version_id": {
                    "description": "Version identifier in the external registry",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_ref": {
                    "description": "Reference to the template used",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "version_author": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Author"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Author who created this version"
                },
                "version_date": {
                    "description": "When this version was created",
                    "format": "date-time",
                    "type": "string"
                },
                "version_id": {
                    "description": "Unique identifier for this version",
                    "type": "string"
                },
                "version_label": {
                    "description": "Human-readable label for this version",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "version_number": {
                    "description": "Semantic version number (e.g., 1.0.0, 1.1.0)",
                    "type": "string"
                },
                "version_reason": {
                    "description": "Reason for creating this version",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "version_id",
                "version_number",
                "registry_submission_date",
                "content_uri",
                "content_hash",
                "content_hash_algorithm",
                "version_date"
            ],
            "title": "RegistrationVersion",
            "type": "object"
        },
        "ReportDocument": {
            "additionalProperties": false,
            "description": "Report, manuscript, preprint, or supplementary document.",
            "properties": {
                "report_date": {
                    "description": "Date associated with the report document",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_document_id": {
                    "description": "Identifier for a report document",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_document_type": {
                    "$ref": "#/$defs/ReportDocumentType",
                    "description": "Type of report document"
                },
                "report_doi": {
                    "description": "DOI for the report document",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_output": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageOutput"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Report document output artifact"
                },
                "report_status": {
                    "$ref": "#/$defs/ReportDocumentStatus",
                    "description": "Status of the report document"
                },
                "report_title": {
                    "description": "Title of the report document",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_uri": {
                    "description": "URI for the report document",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "report_version": {
                    "description": "Version of the report document",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReportDocument",
            "type": "object"
        },
        "ReportDocumentStatus": {
            "description": "Status of a report document",
            "enum": [
                "PLANNED",
                "DRAFT",
                "IN_REVIEW",
                "SUBMITTED",
                "ACCEPTED",
                "PUBLISHED",
                "WITHDRAWN"
            ],
            "title": "ReportDocumentStatus",
            "type": "string"
        },
        "ReportDocumentType": {
            "description": "Types of report documents",
            "enum": [
                "MANUSCRIPT",
                "PREPRINT",
                "REGISTERED_REPORT",
                "TECHNICAL_REPORT",
                "SUPPLEMENTARY_MATERIAL",
                "PRISMA_CHECKLIST",
                "PRISMA_FLOW_DIAGRAM",
                "OTHER"
            ],
            "title": "ReportDocumentType",
            "type": "string"
        },
        "ReportPublicationStatus": {
            "description": "Publication status of a report",
            "enum": [
                "NOT_SUBMITTED",
                "SUBMITTED",
                "UNDER_REVIEW",
                "ACCEPTED",
                "PUBLISHED",
                "REJECTED",
                "WITHDRAWN"
            ],
            "title": "ReportPublicationStatus",
            "type": "string"
        },
        "ReportingApproval": {
            "additionalProperties": false,
            "description": "Approval or signoff associated with reporting.",
            "properties": {
                "reporting_approval_date": {
                    "description": "Date and time of approval",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_approval_id": {
                    "description": "Identifier for a reporting approval",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_approval_notes": {
                    "description": "Notes about the approval",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_approval_role": {
                    "description": "Role of the approver",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_approval_status": {
                    "$ref": "#/$defs/ReportingApprovalStatus",
                    "description": "Status of the approval"
                },
                "reporting_approver": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Participant"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Participant providing approval"
                }
            },
            "title": "ReportingApproval",
            "type": "object"
        },
        "ReportingApprovalStatus": {
            "description": "Approval status for reporting signoff",
            "enum": [
                "REQUESTED",
                "APPROVED",
                "REVISIONS_REQUESTED",
                "DECLINED"
            ],
            "title": "ReportingApprovalStatus",
            "type": "string"
        },
        "ReportingChecklist": {
            "additionalProperties": false,
            "description": "Checklist documenting completion of a reporting standard.",
            "properties": {
                "checklist_standard": {
                    "description": "Name or identifier of the checklist standard",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_checklist_id": {
                    "description": "Identifier for a reporting checklist",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_checklist_items": {
                    "description": "Items in the reporting checklist",
                    "items": {
                        "$ref": "#/$defs/ReportingChecklistItem"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_checklist_output": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageOutput"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Checklist artifact output"
                },
                "reporting_checklist_status": {
                    "$ref": "#/$defs/ReportingItemStatus",
                    "description": "Overall checklist completion status"
                },
                "reporting_checklist_version": {
                    "description": "Version of the reporting checklist",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReportingChecklist",
            "type": "object"
        },
        "ReportingChecklistItem": {
            "additionalProperties": false,
            "description": "Item-level status for a reporting checklist.",
            "properties": {
                "reporting_item_artifact_refs": {
                    "description": "References to model artifacts supporting the reporting item",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_item_id": {
                    "description": "Identifier for a reporting checklist item",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_item_label": {
                    "description": "Short label for the reporting item",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_item_location": {
                    "description": "Location in the report where the item is addressed",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_item_notes": {
                    "description": "Notes about the reporting item",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_item_status": {
                    "$ref": "#/$defs/ReportingItemStatus",
                    "description": "Completion status for the reporting item"
                },
                "reporting_item_text": {
                    "description": "Text or description of the reporting item",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReportingChecklistItem",
            "type": "object"
        },
        "ReportingDeviation": {
            "additionalProperties": false,
            "description": "Protocol or workflow deviation disclosed in reporting.",
            "properties": {
                "deviation_description": {
                    "description": "Description of the deviation",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "deviation_from": {
                    "description": "Protocol, analysis plan, or workflow element from which the report deviated",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "deviation_impact": {
                    "description": "Impact of the deviation on interpretation or conclusions",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "deviation_rationale": {
                    "description": "Rationale for the deviation",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "deviation_reported_where": {
                    "description": "Location where the deviation is reported",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_deviation_id": {
                    "description": "Identifier for a reporting deviation",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReportingDeviation",
            "type": "object"
        },
        "ReportingItemStatus": {
            "description": "Completion status for reporting standards and checklist items",
            "enum": [
                "NOT_STARTED",
                "IN_PROGRESS",
                "COMPLETE",
                "PARTIAL",
                "NOT_APPLICABLE"
            ],
            "title": "ReportingItemStatus",
            "type": "string"
        },
        "ReportingProtocol": {
            "additionalProperties": false,
            "description": "Protocol or plan for reporting and dissemination.",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "data_availability_plan": {
                    "description": "Plan for data availability statements and shared data",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "open_access_plan": {
                    "description": "Open access plan for reports or manuscripts",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "planned_reporting_standards": {
                    "description": "Reporting standards planned for use",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "preprint_plan": {
                    "description": "Plan for preprint posting",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_timeline": {
                    "description": "Timeline or schedule for reporting",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "target_audiences": {
                    "description": "Intended audiences for the report",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "target_publication_types": {
                    "description": "Planned publication or dissemination types",
                    "items": {
                        "$ref": "#/$defs/ReportDocumentType"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "base_protocol_id"
            ],
            "title": "ReportingProtocol",
            "type": "object"
        },
        "ReportingQualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures for reporting.",
            "properties": {
                "artifact_links_verified": {
                    "description": "Whether links to supporting artifacts were verified",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "checklist_verified": {
                    "description": "Whether reporting checklist completion was verified",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "flow_counts_reconciled": {
                    "description": "Whether flow diagram counts were reconciled against review data",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "reporting_peer_review": {
                    "description": "Whether reporting received internal peer review",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "reporting_transparency_check": {
                    "description": "Whether transparency statements were checked",
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "ReportingQualityControl",
            "type": "object"
        },
        "ReportingStage": {
            "additionalProperties": false,
            "description": "Optional stage for documenting review reporting and publication activities.",
            "properties": {
                "ai_assistance_config": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AIAssistance"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "AI assistance configuration for reporting"
                },
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "prisma_flow_diagram": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/PrismaFlowDiagram"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "PRISMA flow diagram information if applicable"
                },
                "publication_records": {
                    "description": "Publication, submission, and dissemination records",
                    "items": {
                        "$ref": "#/$defs/PublicationRecord"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "report_documents": {
                    "description": "Manuscripts, preprints, reports, and supplementary reporting documents",
                    "items": {
                        "$ref": "#/$defs/ReportDocument"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_approvals": {
                    "description": "Author, stakeholder, or governance approvals for reports",
                    "items": {
                        "$ref": "#/$defs/ReportingApproval"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_checklists": {
                    "description": "Reporting checklists and item-level completion information",
                    "items": {
                        "$ref": "#/$defs/ReportingChecklist"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_deviations": {
                    "description": "Protocol deviations disclosed in reporting",
                    "items": {
                        "$ref": "#/$defs/ReportingDeviation"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ReportingProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Protocol or plan for reporting the review"
                },
                "reporting_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ReportingQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for reporting"
                },
                "reporting_standards": {
                    "description": "Reporting standards used or planned",
                    "items": {
                        "$ref": "#/$defs/ReportingStandard"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "reporting_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ReportingStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Summary statistics for the reporting process"
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_type"
            ],
            "title": "ReportingStage",
            "type": "object"
        },
        "ReportingStandard": {
            "additionalProperties": false,
            "description": "Reporting standard used or planned for the review report.",
            "properties": {
                "reporting_standard_id": {
                    "description": "Identifier for a reporting standard",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_standard_name": {
                    "description": "Name of the reporting standard",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_standard_scope": {
                    "description": "Scope or applicability of the reporting standard",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_standard_status": {
                    "$ref": "#/$defs/ReportingItemStatus",
                    "description": "Completion status for the reporting standard"
                },
                "reporting_standard_uri": {
                    "description": "URI for the reporting standard",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "reporting_standard_version": {
                    "description": "Version of the reporting standard",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReportingStandard",
            "type": "object"
        },
        "ReportingStatistics": {
            "additionalProperties": false,
            "description": "Summary statistics for reporting.",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of items to process in this stage",
                    "type": "integer"
                },
                "publications_count": {
                    "description": "Number of publication records",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "report_documents_count": {
                    "description": "Number of report documents",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reporting_checklist_items_complete": {
                    "description": "Number of completed reporting checklist items",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reporting_checklist_items_total": {
                    "description": "Total number of reporting checklist items",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reporting_deviations_count": {
                    "description": "Number of reporting deviations",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "reporting_standards_count": {
                    "description": "Number of reporting standards documented",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "base_stats_id",
                "base_total_items"
            ],
            "title": "ReportingStatistics",
            "type": "object"
        },
        "ResolutionMethod": {
            "description": "Methods for resolving conflicts",
            "enum": [
                "CONSENSUS_DISCUSSION",
                "THIRD_REVIEWER",
                "SENIOR_REVIEWER",
                "MAJORITY_VOTE",
                "TEAM_MEETING",
                "STATISTICAL_METHOD",
                "PREDEFINED_RULE",
                "RE_REVIEW",
                "EXTERNAL_EXPERT",
                "AUTOMATED_RULE"
            ],
            "title": "ResolutionMethod",
            "type": "string"
        },
        "ResolutionMethodCount": {
            "additionalProperties": false,
            "description": "Count of a specific resolution method usage",
            "properties": {
                "count": {
                    "description": "Number of times this method was used",
                    "type": "integer"
                },
                "method": {
                    "$ref": "#/$defs/ResolutionMethod",
                    "description": "The resolution method"
                },
                "success_rate": {
                    "description": "Success rate of this method",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "method",
                "count"
            ],
            "title": "ResolutionMethodCount",
            "type": "object"
        },
        "ResolutionStatistics": {
            "additionalProperties": false,
            "description": "Statistics about conflict resolution",
            "properties": {
                "average_resolution_time": {
                    "description": "Average time to resolve conflicts in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "most_common_conflict_type": {
                    "$ref": "#/$defs/ConflictType",
                    "description": "Most frequently occurring conflict type"
                },
                "participant_agreement_matrix": {
                    "description": "Matrix showing agreement patterns between participants",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "pending_conflicts": {
                    "description": "Number of conflicts pending resolution",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "resolution_methods_used": {
                    "description": "Count of each resolution method used",
                    "items": {
                        "$ref": "#/$defs/ResolutionMethodCount"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "resolution_rate": {
                    "description": "Proportion of conflicts resolved",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "resolved_conflicts": {
                    "description": "Number of conflicts resolved",
                    "type": "integer"
                },
                "total_conflicts": {
                    "description": "Total number of conflicts identified",
                    "type": "integer"
                }
            },
            "required": [
                "total_conflicts",
                "resolved_conflicts"
            ],
            "title": "ResolutionStatistics",
            "type": "object"
        },
        "Review": {
            "additionalProperties": false,
            "description": "Root container for a systematic review. This is the primary object that contains all review data, stages, literature records, and artifacts. Every RevAIse document should have a Review as its top-level object.",
            "properties": {
                "completion_date": {
                    "description": "Date review completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "conflicts_of_interest": {
                    "description": "Declaration of conflicts of interest",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "corresponding_author": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Author"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Corresponding author for the review"
                },
                "created_at": {
                    "description": "When this review record was created",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ethical_approval": {
                    "description": "Ethical approval information if applicable",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "funding_sources": {
                    "description": "Sources of funding for the review",
                    "items": {
                        "$ref": "#/$defs/FundingSource"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "last_updated": {
                    "description": "Last update to the review",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "literature_records": {
                    "description": "Literature records managed in this review",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/Protocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Review protocol with registration details"
                },
                "review_abstract": {
                    "description": "Abstract or summary of the review",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "review_authors": {
                    "description": "Review authors",
                    "items": {
                        "$ref": "#/$defs/Author"
                    },
                    "minItems": 1,
                    "type": "array"
                },
                "review_country": {
                    "description": "Country where review is conducted",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "review_id": {
                    "description": "Unique identifier for this review",
                    "type": "string"
                },
                "review_keywords": {
                    "description": "Keywords or tags for the review",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "review_language": {
                    "description": "Primary language of the review",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "review_status": {
                    "$ref": "#/$defs/ReviewStatus",
                    "description": "Current status of the review"
                },
                "review_title": {
                    "description": "Title of the systematic review",
                    "type": "string"
                },
                "review_type": {
                    "$ref": "#/$defs/ReviewType",
                    "description": "Type of review being conducted"
                },
                "software_env": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SoftwareEnv"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Software environment for reproducibility"
                },
                "stage_outputs": {
                    "description": "Outputs and logs produced by the review stages",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stages": {
                    "description": "Stages executed in this review",
                    "items": {
                        "$ref": "#/$defs/StageExecution"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "start_date": {
                    "description": "Date review started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "updated_at": {
                    "description": "When this review record was last updated",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "version": {
                    "description": "Version of the review",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "review_id",
                "review_title",
                "review_type",
                "review_authors",
                "review_status"
            ],
            "title": "Review",
            "type": "object"
        },
        "ReviewQuestionCandidate": {
            "additionalProperties": false,
            "description": "Candidate review question considered during scoping.",
            "properties": {
                "candidate_comparator": {
                    "description": "Comparator component of the candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "candidate_context": {
                    "description": "Context or setting component of the candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "candidate_intervention_or_exposure": {
                    "description": "Intervention, exposure, or concept component of the candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "candidate_outcomes": {
                    "description": "Outcome components of the candidate question",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "candidate_population": {
                    "description": "Population component of the candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "candidate_rationale": {
                    "description": "Rationale for accepting, rejecting, or refining a candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "candidate_status": {
                    "$ref": "#/$defs/QuestionCandidateStatus",
                    "description": "Status of the candidate question"
                },
                "question_candidate_id": {
                    "description": "Identifier for a candidate question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "question_framework": {
                    "description": "Framework used to express the question, such as PICO, PECO, or SPIDER",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "question_text": {
                    "description": "Candidate question text",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "related_decision_id": {
                    "description": "Identifier of a related scoping decision",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "ReviewQuestionCandidate",
            "type": "object"
        },
        "ReviewStatus": {
            "description": "Status of the review",
            "enum": [
                "PROTOCOL",
                "IN_PROGRESS",
                "COMPLETED",
                "PUBLISHED",
                "UPDATED",
                "WITHDRAWN"
            ],
            "title": "ReviewStatus",
            "type": "string"
        },
        "ReviewType": {
            "description": "Types of reviews",
            "enum": [
                "SYSTEMATIC_REVIEW",
                "META_ANALYSIS",
                "SCOPING_REVIEW",
                "RAPID_REVIEW",
                "UMBRELLA_REVIEW",
                "NARRATIVE_REVIEW",
                "LIVING_REVIEW",
                "MIXED_METHODS",
                "REALIST_REVIEW"
            ],
            "title": "ReviewType",
            "type": "string"
        },
        "ReviewerRole": {
            "description": "Role of reviewer in screening",
            "enum": [
                "PRIMARY_REVIEWER",
                "SECONDARY_REVIEWER",
                "ARBITRATOR",
                "SUPERVISOR",
                "TRAINEE"
            ],
            "title": "ReviewerRole",
            "type": "string"
        },
        "RiskOfBiasDomainAssessment": {
            "additionalProperties": false,
            "description": "Assessment of a specific risk-of-bias domain.",
            "properties": {
                "page_references": {
                    "description": "Page references for the assessment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "rob_domain_description": {
                    "description": "Description of the risk-of-bias domain",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "rob_domain_direction": {
                    "$ref": "#/$defs/BiasDirection",
                    "description": "Assessed direction of bias for this domain if evaluated"
                },
                "rob_domain_id": {
                    "description": "Identifier for the risk-of-bias domain",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "rob_domain_judgement": {
                    "$ref": "#/$defs/RiskOfBiasJudgement",
                    "description": "Risk-of-bias judgement for this domain"
                },
                "rob_domain_name": {
                    "description": "Name of the risk-of-bias domain",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "rob_domain_rationale": {
                    "description": "Rationale for the domain judgement",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "signalling_questions": {
                    "description": "Signalling-question assessments for this domain",
                    "items": {
                        "$ref": "#/$defs/SignallingQuestionAssessment"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "supporting_quotes": {
                    "description": "Quotes supporting the assessment",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "title": "RiskOfBiasDomainAssessment",
            "type": "object"
        },
        "RiskOfBiasJudgement": {
            "description": "Risk-of-bias judgement values",
            "enum": [
                "LOW_RISK",
                "SOME_CONCERNS",
                "MODERATE_RISK",
                "SERIOUS_RISK",
                "HIGH_RISK",
                "CRITICAL_RISK",
                "NO_INFORMATION",
                "NOT_APPLICABLE"
            ],
            "title": "RiskOfBiasJudgement",
            "type": "string"
        },
        "RoundStatistics": {
            "additionalProperties": false,
            "description": "Statistics for a screening round",
            "properties": {
                "average_time_per_record": {
                    "description": "Average time per record in seconds",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "conflicts_count": {
                    "description": "Number of conflicts",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "conflicts_resolved": {
                    "description": "Number of conflicts resolved",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "exclusion_rate": {
                    "description": "Rate of exclusion (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "inclusion_rate": {
                    "description": "Rate of inclusion (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "inter_rater_agreement": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Agreement metrics between raters"
                },
                "records_excluded": {
                    "description": "Number of records excluded",
                    "type": "integer"
                },
                "records_included": {
                    "description": "Number of records included",
                    "type": "integer"
                },
                "records_uncertain": {
                    "description": "Number of uncertain decisions",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_records_screened": {
                    "description": "Total number of records screened",
                    "type": "integer"
                },
                "total_screening_time": {
                    "description": "Total screening time in hours",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "total_records_screened",
                "records_included",
                "records_excluded"
            ],
            "title": "RoundStatistics",
            "type": "object"
        },
        "SamplingMethod": {
            "description": "Methods for sampling items for quality control",
            "enum": [
                "RANDOM",
                "STRATIFIED",
                "SYSTEMATIC",
                "PURPOSIVE",
                "CONVENIENCE",
                "RISK_BASED"
            ],
            "title": "SamplingMethod",
            "type": "string"
        },
        "ScopingDecision": {
            "additionalProperties": false,
            "description": "Decision made during scoping.",
            "properties": {
                "affected_protocol_sections": {
                    "description": "Protocol sections affected by the decision",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "decision_date": {
                    "description": "Date and time when the decision was made",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "decision_made_by": {
                    "description": "Participants who made the decision",
                    "items": {
                        "$ref": "#/$defs/Participant"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "resulting_changes": {
                    "description": "Changes resulting from the decision",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_decision_id": {
                    "description": "Identifier for a scoping decision",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_decision_rationale": {
                    "description": "Rationale for the scoping decision",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_decision_text": {
                    "description": "Decision text",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_decision_type": {
                    "$ref": "#/$defs/ScopingDecisionType",
                    "description": "Type of scoping decision"
                }
            },
            "title": "ScopingDecision",
            "type": "object"
        },
        "ScopingDecisionType": {
            "description": "Types of decisions made during scoping",
            "enum": [
                "QUESTION_REFINEMENT",
                "CRITERIA_REFINEMENT",
                "SCOPE_NARROWING",
                "SCOPE_BROADENING",
                "FEASIBILITY_DECISION",
                "METHODS_DECISION",
                "OTHER"
            ],
            "title": "ScopingDecisionType",
            "type": "string"
        },
        "ScopingProtocol": {
            "additionalProperties": false,
            "description": "Protocol describing how scoping work will be conducted.",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "concept_scope": {
                    "description": "Initial or refined concept, intervention, exposure, or topic scope",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "context_scope": {
                    "description": "Initial or refined context or setting scope",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "initial_review_question": {
                    "description": "Initial review question before refinement",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "planned_scoping_methods": {
                    "description": "Methods planned for scoping",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "population_scope": {
                    "description": "Initial or refined population scope",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_objective": {
                    "description": "Purpose of the scoping work",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_start_criteria": {
                    "description": "Criteria for starting scoping work",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "scoping_stop_criteria": {
                    "description": "Criteria for ending scoping work",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "base_protocol_id"
            ],
            "title": "ScopingProtocol",
            "type": "object"
        },
        "ScopingQualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures for scoping.",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "librarian_consulted": {
                    "description": "Whether a librarian or information specialist was consulted",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "scoping_consistency_checks": {
                    "description": "Consistency checks performed during scoping",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_peer_review": {
                    "description": "Whether scoping work received peer review",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "stakeholder_validation": {
                    "description": "Whether stakeholders validated the proposed scope",
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "ScopingQualityControl",
            "type": "object"
        },
        "ScopingStage": {
            "additionalProperties": false,
            "description": "Optional stage documenting exploratory work before or alongside protocol finalization.",
            "properties": {
                "ai_assistance_config": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AIAssistance"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "AI assistance configuration for scoping"
                },
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "exploratory_searches": {
                    "description": "Exploratory searches used to understand the evidence landscape",
                    "items": {
                        "$ref": "#/$defs/ExploratorySearch"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "feasibility_assessment": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/FeasibilityAssessment"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Assessment of whether the planned review scope is feasible"
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_decisions": {
                    "description": "Decisions made while refining the review scope",
                    "items": {
                        "$ref": "#/$defs/ScopingDecision"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_outputs": {
                    "description": "Outputs produced during scoping",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ScopingProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Protocol or plan for the scoping activity"
                },
                "scoping_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ScopingQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for the scoping process"
                },
                "scoping_question_candidates": {
                    "description": "Candidate review questions considered during scoping",
                    "items": {
                        "$ref": "#/$defs/ReviewQuestionCandidate"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "scoping_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ScopingStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Summary statistics for the scoping process"
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "stakeholder_inputs": {
                    "description": "Input from stakeholders, domain experts, librarians, or methodologists",
                    "items": {
                        "$ref": "#/$defs/StakeholderInput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_type"
            ],
            "title": "ScopingStage",
            "type": "object"
        },
        "ScopingStatistics": {
            "additionalProperties": false,
            "description": "Summary statistics for scoping.",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of items to process in this stage",
                    "type": "integer"
                },
                "candidate_questions_count": {
                    "description": "Number of candidate questions considered",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "exploratory_records_found": {
                    "description": "Number of records found during exploratory searches",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "exploratory_searches_count": {
                    "description": "Number of exploratory searches conducted",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "scoping_decisions_count": {
                    "description": "Number of scoping decisions documented",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "stakeholder_inputs_count": {
                    "description": "Number of stakeholder input records documented",
                    "minimum": 0,
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "base_stats_id",
                "base_total_items"
            ],
            "title": "ScopingStatistics",
            "type": "object"
        },
        "ScreeningAIPurpose": {
            "description": "Purpose of AI in screening",
            "enum": [
                "DECISION_SUGGESTION",
                "RELEVANCE_RANKING",
                "DUPLICATE_DETECTION",
                "TEXT_CLASSIFICATION",
                "CRITERIA_MATCHING",
                "QUALITY_ASSESSMENT",
                "LANGUAGE_DETECTION",
                "STUDY_DESIGN_IDENTIFICATION"
            ],
            "title": "ScreeningAIPurpose",
            "type": "string"
        },
        "ScreeningConflictResolution": {
            "additionalProperties": false,
            "description": "Resolution of conflicts between reviewer decisions",
            "properties": {
                "conflict_record_id": {
                    "description": "ID of the record with conflicting decisions",
                    "type": "string"
                },
                "conflicting_decisions": {
                    "description": "IDs of the conflicting decisions",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "resolver_id": {
                    "description": "ID of the person/process that resolved the conflict",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "screening_final_decision": {
                    "$ref": "#/$defs/ScreeningDecisionType",
                    "description": "Final decision after conflict resolution"
                },
                "screening_resolution_id": {
                    "description": "Unique identifier for the resolution",
                    "type": "string"
                },
                "screening_resolution_method": {
                    "$ref": "#/$defs/ConflictResolutionMethod",
                    "description": "Method used to resolve the conflict"
                },
                "screening_resolution_notes": {
                    "description": "Notes about the resolution process",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "screening_resolution_timestamp": {
                    "description": "When the conflict was resolved",
                    "format": "date-time",
                    "type": "string"
                }
            },
            "required": [
                "screening_resolution_id",
                "conflict_record_id",
                "conflicting_decisions",
                "screening_resolution_method",
                "screening_final_decision",
                "screening_resolution_timestamp"
            ],
            "title": "ScreeningConflictResolution",
            "type": "object"
        },
        "ScreeningCriteria": {
            "additionalProperties": false,
            "description": "Inclusion and exclusion criteria for screening",
            "properties": {
                "comparator_criteria": {
                    "description": "Criteria related to comparators",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "criteria_id": {
                    "description": "Unique identifier for the criteria set",
                    "type": "string"
                },
                "criteria_notes": {
                    "description": "Additional notes about the criteria",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "date_range_criteria": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/DateRange"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Acceptable publication date range"
                },
                "exclude_systematic_reviews": {
                    "description": "Whether to exclude systematic reviews",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "exclusion_criteria": {
                    "description": "List of exclusion criteria",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geographic_criteria": {
                    "description": "Geographic restrictions",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "inclusion_criteria": {
                    "description": "List of inclusion criteria",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "intervention_criteria": {
                    "description": "Criteria related to interventions",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "language_criteria": {
                    "description": "Acceptable languages",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outcome_criteria": {
                    "description": "Criteria related to outcomes",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "population_criteria": {
                    "description": "Criteria related to study population",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "primary_sources_only": {
                    "description": "Whether to include only primary sources",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "publication_type_criteria": {
                    "description": "Acceptable publication types",
                    "items": {
                        "$ref": "#/$defs/PublicationType"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "study_design_criteria": {
                    "description": "Acceptable study designs",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "criteria_id",
                "inclusion_criteria",
                "exclusion_criteria"
            ],
            "title": "ScreeningCriteria",
            "type": "object"
        },
        "ScreeningDecision": {
            "additionalProperties": false,
            "description": "Individual screening decision by a reviewer",
            "properties": {
                "ai_confidence_score": {
                    "description": "AI confidence in its suggestion (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ai_suggested_decision": {
                    "$ref": "#/$defs/ScreeningDecisionType",
                    "description": "Decision suggested by AI (if used)"
                },
                "decision": {
                    "$ref": "#/$defs/ScreeningDecisionType",
                    "description": "The screening decision"
                },
                "decision_id": {
                    "description": "Unique identifier for the decision",
                    "type": "string"
                },
                "decision_notes": {
                    "description": "Additional notes about the decision",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "decision_reviewer_id": {
                    "description": "ID of the reviewer making the decision",
                    "type": "string"
                },
                "decision_timestamp": {
                    "description": "When the decision was made",
                    "format": "date-time",
                    "type": "string"
                },
                "exclusion_reasons": {
                    "description": "Reasons for exclusion (if excluded)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "inclusion_confidence": {
                    "description": "Confidence in inclusion decision (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "record_id": {
                    "description": "Unique identifier for the literature record",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "time_spent_seconds": {
                    "description": "Time spent on this decision in seconds",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "decision_id",
                "decision_reviewer_id",
                "decision",
                "decision_timestamp"
            ],
            "title": "ScreeningDecision",
            "type": "object"
        },
        "ScreeningDecisionType": {
            "description": "Types of screening decisions",
            "enum": [
                "INCLUDE",
                "EXCLUDE",
                "UNCERTAIN",
                "DUPLICATE",
                "CANNOT_ACCESS",
                "WRONG_LANGUAGE",
                "PROTOCOL_ONLY",
                "RETRACTED"
            ],
            "title": "ScreeningDecisionType",
            "type": "string"
        },
        "ScreeningOrder": {
            "description": "Order for screening records",
            "enum": [
                "RANDOM",
                "CHRONOLOGICAL",
                "REVERSE_CHRONOLOGICAL",
                "ALPHABETICAL",
                "RELEVANCE_RANKED",
                "DATABASE_ORDER"
            ],
            "title": "ScreeningOrder",
            "type": "string"
        },
        "ScreeningProtocol": {
            "additionalProperties": false,
            "description": "Protocol defining the screening process",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "blind_screening": {
                    "description": "Whether screening is blind to other reviewers",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "conflict_resolution_strategy": {
                    "$ref": "#/$defs/ConflictResolutionMethod",
                    "description": "Default strategy for resolving conflicts"
                },
                "minimum_reviewers_per_record": {
                    "description": "Minimum number of reviewers per record",
                    "type": "integer"
                },
                "pilot_agreement_threshold": {
                    "description": "Required agreement level in pilot (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "pilot_screening_size": {
                    "description": "Number of records for pilot screening",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "require_consensus": {
                    "description": "Whether consensus is required",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "screening_batch_size": {
                    "description": "Number of records per batch",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "screening_order": {
                    "$ref": "#/$defs/ScreeningOrder",
                    "description": "Order in which records are screened"
                }
            },
            "required": [
                "minimum_reviewers_per_record",
                "base_protocol_id"
            ],
            "title": "ScreeningProtocol",
            "type": "object"
        },
        "ScreeningQualityControl": {
            "additionalProperties": false,
            "description": "Quality control for screening process",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "pilot_agreement_achieved": {
                    "description": "Agreement level achieved in pilot screening",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "screening_consistency_checks": {
                    "description": "Consistency checks performed during screening",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "ScreeningQualityControl",
            "type": "object"
        },
        "ScreeningRound": {
            "additionalProperties": false,
            "description": "A specific round of screening (e.g., title/abstract or full-text)",
            "properties": {
                "ai_assistance": {
                    "description": "AI assistance used in this round",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "conflict_resolutions": {
                    "description": "Resolutions of conflicts between reviewers",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "excluded_record_ids": {
                    "description": "IDs of records excluded in this round",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "included_record_ids": {
                    "description": "IDs of records included/passed to next round",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "input_records": {
                    "description": "Records to be screened in this round",
                    "type": "string"
                },
                "reviewers": {
                    "description": "Reviewers involved in this round",
                    "items": {
                        "$ref": "#/$defs/Participant"
                    },
                    "minItems": 1,
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "round_completed_at": {
                    "description": "When this round completed",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "round_id": {
                    "description": "Unique identifier for the screening round",
                    "type": "string"
                },
                "round_label": {
                    "description": "Human-readable label for the round",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "round_notes": {
                    "description": "Additional notes about this round",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "round_number": {
                    "description": "Sequential number of the round",
                    "type": "integer"
                },
                "round_started_at": {
                    "description": "When this round started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "round_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/RoundStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Statistics for this screening round"
                },
                "round_type": {
                    "$ref": "#/$defs/ScreeningRoundType",
                    "description": "Type of screening round"
                },
                "screening_decisions": {
                    "description": "Individual screening decisions made",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "screening_tools": {
                    "description": "Tools used for screening in this round",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "round_id",
                "round_type",
                "round_number",
                "input_records"
            ],
            "title": "ScreeningRound",
            "type": "object"
        },
        "ScreeningRoundType": {
            "description": "Type of screening round",
            "enum": [
                "TITLE_ABSTRACT",
                "FULL_TEXT",
                "TITLE_ONLY",
                "ABSTRACT_ONLY",
                "SYSTEMATIC_REVIEW_CHECK",
                "DUPLICATE_CHECK",
                "PILOT"
            ],
            "title": "ScreeningRoundType",
            "type": "string"
        },
        "ScreeningStage": {
            "additionalProperties": false,
            "description": "Execution of the screening stage, including deduplication and multiple screening rounds.",
            "properties": {
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "deduplication_process": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/DeduplicationProcess"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Process for identifying and removing duplicate records"
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "overall_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ScreeningStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Overall statistics for the entire screening stage"
                },
                "screening_criteria": {
                    "$ref": "#/$defs/ScreeningCriteria",
                    "description": "Inclusion and exclusion criteria for screening"
                },
                "screening_protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ScreeningProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Protocol defining the screening process"
                },
                "screening_rounds": {
                    "description": "Different rounds of screening (e.g., title/abstract, full-text)",
                    "items": {
                        "$ref": "#/$defs/ScreeningRound"
                    },
                    "minItems": 1,
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "screening_criteria",
                "stage_type"
            ],
            "title": "ScreeningStage",
            "type": "object"
        },
        "ScreeningStatistics": {
            "additionalProperties": false,
            "description": "Overall statistics for the screening stage",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of items to process in this stage",
                    "type": "integer"
                },
                "cost_estimate": {
                    "description": "Estimated cost of screening",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "final_included_count": {
                    "description": "Final number of included records",
                    "type": "integer"
                },
                "fulltext_excluded": {
                    "description": "Records excluded at full-text",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "initial_records_count": {
                    "description": "Initial number of records",
                    "type": "integer"
                },
                "overall_exclusion_rate": {
                    "description": "Overall exclusion rate (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "overall_inclusion_rate": {
                    "description": "Overall inclusion rate (0-1)",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "post_dedup_count": {
                    "description": "Records after deduplication",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "screening_total_time_hours": {
                    "description": "Total time spent in hours",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "title_abstract_excluded": {
                    "description": "Records excluded at title/abstract",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_reviewer_hours": {
                    "description": "Total reviewer hours",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "initial_records_count",
                "final_included_count",
                "base_stats_id",
                "base_total_items"
            ],
            "title": "ScreeningStatistics",
            "type": "object"
        },
        "SearchProtocol": {
            "additionalProperties": false,
            "description": "Protocol defining the search strategy and approach",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "date_restrictions": {
                    "description": "Date range restrictions for searches",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "grey_literature_approach": {
                    "description": "Approach for searching grey literature",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "language_restrictions": {
                    "description": "Language restrictions applied to searches",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "peer_review_search_strategy": {
                    "description": "Whether the search strategy was peer-reviewed (PRESS)",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "publication_type_restrictions": {
                    "description": "Publication type restrictions (e.g., RCTs only)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "search_limits": {
                    "description": "Limits applied to searches (e.g., human studies only)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "search_strategy_description": {
                    "description": "Detailed description of the search strategy",
                    "type": "string"
                }
            },
            "required": [
                "search_strategy_description",
                "base_protocol_id"
            ],
            "title": "SearchProtocol",
            "type": "object"
        },
        "SearchQualityControl": {
            "additionalProperties": false,
            "description": "Quality control measures for the search process",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "search_completeness_assessment": {
                    "description": "Assessment of search completeness",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "search_reproducibility_check": {
                    "description": "Whether search reproducibility was verified",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "search_strategy_validation": {
                    "description": "How the search strategy was validated",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "search_update_schedule": {
                    "description": "Schedule for updating searches",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "SearchQualityControl",
            "type": "object"
        },
        "SearchQuery": {
            "additionalProperties": false,
            "description": "Search query executed against a database",
            "properties": {
                "database_name": {
                    "description": "Name of the database where query was executed",
                    "type": "string"
                },
                "query_date": {
                    "description": "Date and time when the query was executed",
                    "format": "date-time",
                    "type": "string"
                },
                "query_filters": {
                    "description": "Filters applied (e.g., date range, language, study type)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "query_id": {
                    "description": "Unique identifier for the search query",
                    "type": "string"
                },
                "query_notes": {
                    "description": "Additional notes about the query or its execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "query_string": {
                    "description": "The actual search query string or expression",
                    "type": "string"
                },
                "result_collection_id": {
                    "description": "Reference to the LiteratureRecordCollection containing results",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "results_count": {
                    "description": "Number of results returned by the query",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "query_id",
                "database_name",
                "query_string",
                "query_date"
            ],
            "title": "SearchQuery",
            "type": "object"
        },
        "SearchStage": {
            "additionalProperties": false,
            "description": "Executing literature search strategies.",
            "properties": {
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "databases": {
                    "description": "Databases used for literature search",
                    "items": {
                        "$ref": "#/$defs/Database"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "result_collections": {
                    "description": "Collections of literature records resulting from searches",
                    "items": {
                        "$ref": "#/$defs/LiteratureRecordCollection"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "search_protocol": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SearchProtocol"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Protocol defining the search strategy and approach"
                },
                "search_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SearchQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for the search process"
                },
                "search_queries": {
                    "description": "Search queries executed",
                    "items": {
                        "$ref": "#/$defs/SearchQuery"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "search_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SearchStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Statistics about the search process"
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_type"
            ],
            "title": "SearchStage",
            "type": "object"
        },
        "SearchStatistics": {
            "additionalProperties": false,
            "description": "Statistics about the search process",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of records retrieved from all searches",
                    "type": "integer"
                },
                "grey_literature_sources": {
                    "description": "Number of grey literature sources searched",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "supplementary_search_methods": {
                    "description": "Supplementary search methods used (e.g., citation searching, hand searching)",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "total_databases_searched": {
                    "description": "Number of databases searched",
                    "type": "integer"
                },
                "total_queries_executed": {
                    "description": "Total number of search queries executed",
                    "type": "integer"
                },
                "total_records_retrieved": {
                    "description": "Total number of records retrieved before deduplication",
                    "type": "integer"
                },
                "unique_records_after_dedup": {
                    "description": "Number of unique records after deduplication",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "required": [
                "total_databases_searched",
                "total_queries_executed",
                "total_records_retrieved",
                "base_stats_id",
                "base_total_items"
            ],
            "title": "SearchStatistics",
            "type": "object"
        },
        "SensitivityAnalysis": {
            "additionalProperties": false,
            "description": "Sensitivity analysis to test robustness of results",
            "properties": {
                "conclusion_changed": {
                    "description": "Whether conclusions changed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "effect_change_percentage": {
                    "description": "Percentage change in effect",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "original_effect": {
                    "description": "Original effect size",
                    "type": "number"
                },
                "parent_analysis_id": {
                    "description": "ID of parent analysis",
                    "type": "string"
                },
                "sensitivity_description": {
                    "description": "Description of what was tested",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sensitivity_effect": {
                    "description": "Effect size after sensitivity analysis",
                    "type": "number"
                },
                "sensitivity_id": {
                    "description": "Unique identifier for this sensitivity analysis",
                    "type": "string"
                },
                "sensitivity_notes": {
                    "description": "Notes about the sensitivity analysis",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sensitivity_type": {
                    "$ref": "#/$defs/SensitivityType",
                    "description": "Type of sensitivity analysis"
                },
                "studies_excluded": {
                    "description": "Studies excluded in this analysis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "studies_included": {
                    "description": "Studies included in this analysis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "sensitivity_id",
                "parent_analysis_id",
                "sensitivity_type",
                "original_effect",
                "sensitivity_effect"
            ],
            "title": "SensitivityAnalysis",
            "type": "object"
        },
        "SensitivityType": {
            "description": "Type of sensitivity analysis",
            "enum": [
                "EXCLUDE_HIGH_RISK",
                "EXCLUDE_LOW_QUALITY",
                "EXCLUDE_OUTLIERS",
                "EXCLUDE_SMALL_STUDIES",
                "EXCLUDE_INDUSTRY_FUNDED",
                "ALTERNATIVE_MODEL",
                "ALTERNATIVE_MEASURE",
                "ONE_STUDY_REMOVED",
                "PUBLICATION_YEAR",
                "STUDY_QUALITY"
            ],
            "title": "SensitivityType",
            "type": "string"
        },
        "SessionEnvironment": {
            "additionalProperties": false,
            "description": "Environment details for a work session",
            "properties": {
                "browser": {
                    "description": "Browser used if applicable",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "connection_quality": {
                    "description": "Network connection quality",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "location": {
                    "description": "Location or setting of work",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "platform": {
                    "description": "Platform or system used",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "tools_used": {
                    "description": "Tools or software used during session",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "title": "SessionEnvironment",
            "type": "object"
        },
        "SessionMetrics": {
            "additionalProperties": false,
            "description": "Metrics for a work session",
            "properties": {
                "break_frequency": {
                    "description": "Average time between breaks in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "error_rate": {
                    "description": "Rate of errors made",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "focus_score": {
                    "description": "Measure of session focus/consistency",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "items_per_hour": {
                    "description": "Items processed per hour",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "rework_rate": {
                    "description": "Rate of items requiring rework",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "session_avg_time_per_item": {
                    "description": "Average time per item in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "session_id": {
                    "description": "Reference to the work session",
                    "type": "string"
                }
            },
            "required": [
                "session_id"
            ],
            "title": "SessionMetrics",
            "type": "object"
        },
        "SessionStatus": {
            "description": "Status of a work session",
            "enum": [
                "PLANNED",
                "IN_PROGRESS",
                "PAUSED",
                "COMPLETED",
                "ABANDONED",
                "EXPIRED",
                "ERROR"
            ],
            "title": "SessionStatus",
            "type": "string"
        },
        "SessionType": {
            "description": "Types of work sessions",
            "enum": [
                "SCREENING",
                "EXTRACTION",
                "QUALITY_ASSESSMENT",
                "CONFLICT_RESOLUTION",
                "VALIDATION",
                "TRAINING",
                "REVIEW",
                "PILOT"
            ],
            "title": "SessionType",
            "type": "string"
        },
        "SignallingQuestionAssessment": {
            "additionalProperties": false,
            "description": "Assessment of a risk-of-bias signalling question.",
            "properties": {
                "signalling_question_id": {
                    "description": "Identifier for the signalling question",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "signalling_question_rationale": {
                    "description": "Rationale for the signalling-question response",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "signalling_question_response": {
                    "$ref": "#/$defs/SignallingQuestionResponse",
                    "description": "Response to the signalling question"
                },
                "signalling_question_support": {
                    "description": "Supporting evidence for the signalling-question response",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "signalling_question_text": {
                    "description": "Text of the signalling question",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "SignallingQuestionAssessment",
            "type": "object"
        },
        "SignallingQuestionResponse": {
            "description": "Responses to risk-of-bias signalling questions",
            "enum": [
                "YES",
                "PROBABLY_YES",
                "PROBABLY_NO",
                "NO",
                "NO_INFORMATION",
                "NOT_APPLICABLE"
            ],
            "title": "SignallingQuestionResponse",
            "type": "string"
        },
        "SoftwareEnv": {
            "additionalProperties": false,
            "description": "Software environment configuration.",
            "properties": {
                "containers": {
                    "description": "Container images used",
                    "items": {
                        "$ref": "#/$defs/StageOutputRef"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "lockfiles": {
                    "description": "Environment lockfiles",
                    "items": {
                        "$ref": "#/$defs/StageOutputRef"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "os": {
                    "description": "Operating system description",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "python_version": {
                    "description": "Python version",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "r_version": {
                    "description": "R version",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "SoftwareEnv",
            "type": "object"
        },
        "StageExecution": {
            "additionalProperties": false,
            "description": "Base class for executing a specific stage of the review. Stages should extend this with their specific needs.",
            "properties": {
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "stage_type"
            ],
            "title": "StageExecution",
            "type": "object"
        },
        "StageOutput": {
            "additionalProperties": false,
            "description": "Output file or log produced by a review stage (results, logs, code, visualizations).",
            "properties": {
                "checksum": {
                    "description": "Checksum of the output file",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "format": {
                    "description": "File format or MIME type",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "kind": {
                    "$ref": "#/$defs/StageOutputKind",
                    "description": "Kind or type of stage output"
                },
                "output_created_at": {
                    "description": "Creation timestamp",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "resource_uri": {
                    "description": "URI locating the resource",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "StageOutput",
            "type": "object"
        },
        "StageOutputKind": {
            "description": "Types of outputs that can be produced by review stages",
            "enum": [
                "search_query",
                "search_log",
                "records_raw",
                "records_deduped",
                "screening_decisions",
                "inclusion_list",
                "exclusion_list",
                "fulltexts",
                "extraction_table",
                "rob_table",
                "meta_analysis_table",
                "forest_plot",
                "prisma_flow",
                "scoping_summary",
                "report_document",
                "reporting_checklist",
                "code_archive",
                "environment_lock",
                "model_card",
                "other"
            ],
            "title": "StageOutputKind",
            "type": "string"
        },
        "StageOutputRef": {
            "additionalProperties": false,
            "description": "Reference to a stage output in this or another RevAIse bundle.",
            "properties": {
                "checksum": {
                    "description": "Checksum of the output file",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "output_label": {
                    "description": "Human-readable label",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "resource_uri": {
                    "description": "URI locating the resource",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "StageOutputRef",
            "type": "object"
        },
        "StageProtocol": {
            "additionalProperties": false,
            "description": "Base class for protocols defining how a review stage should be conducted. Stage-specific protocols should inherit from this class.",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "base_protocol_id"
            ],
            "title": "StageProtocol",
            "type": "object"
        },
        "StageQualityControl": {
            "additionalProperties": false,
            "description": "Base class for quality control measures across review stages. Stage-specific QC classes should inherit from this.",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "StageQualityControl",
            "type": "object"
        },
        "StageStatistics": {
            "additionalProperties": false,
            "description": "Base class for statistics collected about review stages. Stage-specific statistics classes should inherit from this.",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of items to process in this stage",
                    "type": "integer"
                }
            },
            "required": [
                "base_stats_id",
                "base_total_items"
            ],
            "title": "StageStatistics",
            "type": "object"
        },
        "StageTrainingInfo": {
            "additionalProperties": false,
            "description": "Shared training information for review stages",
            "properties": {
                "stage_training_completion_rate": {
                    "description": "Proportion of team members who completed training",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "stage_training_duration_hours": {
                    "description": "Duration of training in hours",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "stage_training_materials_uri": {
                    "description": "URI to training materials",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_training_notes": {
                    "description": "Additional notes about training",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_training_provided": {
                    "description": "Whether training was provided",
                    "type": "boolean"
                }
            },
            "required": [
                "stage_training_provided"
            ],
            "title": "StageTrainingInfo",
            "type": "object"
        },
        "StageType": {
            "description": "Logical stages of a systematic review (typical flow).",
            "enum": [
                "scoping",
                "registration",
                "search",
                "deduplication",
                "screening_title_abstract",
                "screening_fulltext",
                "data_extraction",
                "risk_of_bias",
                "synthesis_meta_analysis",
                "synthesis_narrative",
                "reporting",
                "reporting_prisma",
                "reproducibility_pack"
            ],
            "title": "StageType",
            "type": "string"
        },
        "StakeholderInput": {
            "additionalProperties": false,
            "description": "Input that informed scoping decisions.",
            "properties": {
                "stakeholder_input_date": {
                    "description": "Date and time when input was received",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stakeholder_input_id": {
                    "description": "Identifier for stakeholder input",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stakeholder_input_source": {
                    "description": "Source or record of the input",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stakeholder_input_summary": {
                    "description": "Summary of the input received",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stakeholder_input_type": {
                    "$ref": "#/$defs/StakeholderInputType",
                    "description": "Type of stakeholder input"
                },
                "stakeholder_input_used": {
                    "description": "Whether the input influenced the review scope",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "stakeholder_role": {
                    "description": "Role of the stakeholder providing input",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "StakeholderInput",
            "type": "object"
        },
        "StakeholderInputType": {
            "description": "Types of stakeholder input",
            "enum": [
                "PATIENT_PUBLIC",
                "CLINICAL",
                "POLICY",
                "METHODS",
                "LIBRARY",
                "DOMAIN_EXPERT",
                "OTHER"
            ],
            "title": "StakeholderInputType",
            "type": "string"
        },
        "StatisticalTestResult": {
            "additionalProperties": false,
            "description": "Result of a statistical test",
            "properties": {
                "confidence_interval_lower": {
                    "description": "Lower CI bound",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "confidence_interval_upper": {
                    "description": "Upper CI bound",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "interpretation": {
                    "description": "Interpretation of the result",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "p_value": {
                    "description": "P-value",
                    "type": "number"
                },
                "test_statistic": {
                    "description": "Test statistic value",
                    "type": "number"
                }
            },
            "required": [
                "test_statistic",
                "p_value"
            ],
            "title": "StatisticalTestResult",
            "type": "object"
        },
        "StudyCharacteristics": {
            "additionalProperties": false,
            "description": "Key characteristics of a study",
            "properties": {
                "comparator_details": {
                    "description": "Details of the comparator",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "funding_source": {
                    "description": "Source of study funding",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "intervention_details": {
                    "description": "Details of the intervention",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "outcome_measures": {
                    "description": "Outcome measures used",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "participant_characteristics": {
                    "description": "Description of participants",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publication_status": {
                    "$ref": "#/$defs/PublicationStatus",
                    "description": "Publication status of the study"
                },
                "study_country": {
                    "description": "Countries where study was conducted",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "study_design": {
                    "$ref": "#/$defs/StudyDesign",
                    "description": "Design of the study"
                },
                "study_duration": {
                    "description": "Duration of the study",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "study_registration_id": {
                    "description": "Clinical trial registration ID",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "study_sample_size": {
                    "description": "Total sample size",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "study_setting": {
                    "description": "Setting where study was conducted",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "StudyCharacteristics",
            "type": "object"
        },
        "StudyDesign": {
            "description": "Types of study designs",
            "enum": [
                "RCT",
                "CLUSTER_RCT",
                "NON_RANDOMIZED",
                "COHORT",
                "CASE_CONTROL",
                "CROSS_SECTIONAL",
                "CASE_SERIES",
                "CASE_REPORT",
                "QUALITATIVE",
                "MIXED_METHODS",
                "SYSTEMATIC_REVIEW",
                "META_ANALYSIS",
                "SCOPING_REVIEW",
                "NARRATIVE_REVIEW",
                "OTHER"
            ],
            "title": "StudyDesign",
            "type": "string"
        },
        "SubgroupAnalysis": {
            "additionalProperties": false,
            "description": "Subgroup analysis within meta-analysis",
            "properties": {
                "heterogeneity_between_groups": {
                    "description": "Heterogeneity between subgroups",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "interaction_test_p_value": {
                    "description": "P-value for test of subgroup differences",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "parent_analysis_id": {
                    "description": "ID of parent meta-analysis",
                    "type": "string"
                },
                "subgroup_categories": {
                    "description": "Categories within the subgroup variable",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "subgroup_id": {
                    "description": "Unique identifier for this subgroup analysis",
                    "type": "string"
                },
                "subgroup_notes": {
                    "description": "Notes about the subgroup analysis",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "subgroup_results": {
                    "description": "Results for each subgroup",
                    "items": {
                        "$ref": "#/$defs/SubgroupResult"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "subgroup_variable": {
                    "description": "Variable used for subgrouping",
                    "type": "string"
                }
            },
            "required": [
                "subgroup_id",
                "parent_analysis_id",
                "subgroup_variable",
                "subgroup_categories"
            ],
            "title": "SubgroupAnalysis",
            "type": "object"
        },
        "SubgroupResult": {
            "additionalProperties": false,
            "description": "Result for a specific subgroup",
            "properties": {
                "confidence_interval_lower": {
                    "description": "Lower CI bound",
                    "type": "number"
                },
                "confidence_interval_upper": {
                    "description": "Upper CI bound",
                    "type": "number"
                },
                "effect_size": {
                    "description": "Effect size for this subgroup",
                    "type": "number"
                },
                "i_squared": {
                    "description": "I\u00b2 for this subgroup",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "n_studies": {
                    "description": "Number of studies in this subgroup",
                    "type": "integer"
                },
                "p_value": {
                    "description": "P-value for this subgroup",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "subgroup_name": {
                    "description": "Name of the subgroup",
                    "type": "string"
                }
            },
            "required": [
                "subgroup_name",
                "n_studies",
                "effect_size",
                "confidence_interval_lower",
                "confidence_interval_upper"
            ],
            "title": "SubgroupResult",
            "type": "object"
        },
        "SynthesisApproach": {
            "description": "Overall approach to synthesis",
            "enum": [
                "NARRATIVE",
                "QUANTITATIVE",
                "MIXED",
                "VOTE_COUNTING",
                "QUALITATIVE",
                "REALIST",
                "THEMATIC"
            ],
            "title": "SynthesisApproach",
            "type": "string"
        },
        "SynthesisMethod": {
            "additionalProperties": false,
            "description": "Specific method used for synthesis",
            "properties": {
                "method_assumptions": {
                    "description": "Assumptions made by this method",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "method_description": {
                    "description": "Detailed description of the method",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "method_id": {
                    "description": "Unique identifier for this method",
                    "type": "string"
                },
                "method_justification": {
                    "description": "Justification for using this method",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "method_limitations": {
                    "description": "Limitations of this method",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "method_name": {
                    "description": "Name of the specific method",
                    "type": "string"
                },
                "method_reference": {
                    "description": "Reference for this method",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "method_type": {
                    "$ref": "#/$defs/SynthesisMethodType",
                    "description": "Type of synthesis method"
                }
            },
            "required": [
                "method_id",
                "method_type",
                "method_name"
            ],
            "title": "SynthesisMethod",
            "type": "object"
        },
        "SynthesisMethodType": {
            "description": "Specific type of synthesis method",
            "enum": [
                "PAIRWISE_META_ANALYSIS",
                "NETWORK_META_ANALYSIS",
                "INDIVIDUAL_PATIENT_DATA",
                "CUMULATIVE_META_ANALYSIS",
                "META_REGRESSION",
                "BAYESIAN_META_ANALYSIS",
                "NARRATIVE_SUMMARY",
                "FRAMEWORK_SYNTHESIS",
                "TEXTUAL_NARRATIVE",
                "TABULATION",
                "GRAPHICAL_DISPLAY"
            ],
            "title": "SynthesisMethodType",
            "type": "string"
        },
        "SynthesisProtocol": {
            "additionalProperties": false,
            "description": "Protocol defining synthesis approach and methods",
            "properties": {
                "base_protocol_date": {
                    "description": "Date the protocol was finalized",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_description": {
                    "description": "Detailed description of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_deviations": {
                    "description": "Deviations from the planned protocol",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_id": {
                    "description": "Unique identifier for this stage protocol",
                    "type": "string"
                },
                "base_protocol_notes": {
                    "description": "Additional notes about the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_protocol_software": {
                    "description": "Software packages used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_tools": {
                    "description": "Tools used in this stage",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_protocol_training": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/StageTrainingInfo"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Training provided for this stage"
                },
                "base_protocol_version": {
                    "description": "Version of the protocol",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "data_transformation_rules": {
                    "description": "Rules for transforming data for synthesis",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "effect_measures": {
                    "description": "Effect measures to be synthesized",
                    "items": {
                        "$ref": "#/$defs/EffectMeasure"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "heterogeneity_assessment": {
                    "description": "Approach to assessing heterogeneity",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "missing_data_strategy": {
                    "$ref": "#/$defs/MissingDataStrategy",
                    "description": "Strategy for handling missing data"
                },
                "planned_comparisons": {
                    "description": "Planned comparisons and contrasts",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesis_approach": {
                    "description": "Overall approach to synthesis (narrative, quantitative, mixed)",
                    "items": {
                        "$ref": "#/$defs/SynthesisApproach"
                    },
                    "type": "array"
                }
            },
            "required": [
                "synthesis_approach",
                "base_protocol_id"
            ],
            "title": "SynthesisProtocol",
            "type": "object"
        },
        "SynthesisQualityControl": {
            "additionalProperties": false,
            "description": "Quality control for synthesis process",
            "properties": {
                "base_agreement_metrics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AgreementMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Inter-rater agreement metrics"
                },
                "base_calibration_performed": {
                    "description": "Whether calibration exercises were performed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "base_discrepancy_resolutions": {
                    "description": "Record of resolved discrepancies",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_double_checking_rate": {
                    "description": "Proportion of items double-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_qc_id": {
                    "description": "Unique identifier for quality control instance",
                    "type": "string"
                },
                "base_qc_notes": {
                    "description": "Additional quality control notes",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_qc_type": {
                    "description": "Type of quality control (screening, extraction, synthesis, etc.)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_spot_check_rate": {
                    "description": "Proportion of items spot-checked",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "calculation_verification": {
                    "description": "Methods used to verify calculations",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "code_review": {
                    "description": "Whether analysis code was reviewed",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "external_review": {
                    "description": "Whether external review was conducted",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "transparency_measures": {
                    "description": "Measures taken to ensure transparency",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "base_qc_id"
            ],
            "title": "SynthesisQualityControl",
            "type": "object"
        },
        "SynthesisStage": {
            "additionalProperties": false,
            "description": "Stage for synthesizing evidence from included studies",
            "properties": {
                "ai_assistance_config": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/AIAssistance"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "AI assistance configuration for synthesis"
                },
                "cost": {
                    "description": "Estimated cost of this stage",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "ended_at": {
                    "description": "When this stage ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "evidence_grading": {
                    "description": "Grading of evidence quality/certainty",
                    "items": {
                        "$ref": "#/$defs/EvidenceGrading"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "inputs": {
                    "description": "Input artifacts for this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "meta_analyses": {
                    "description": "Meta-analyses performed on the data",
                    "items": {
                        "$ref": "#/$defs/MetaAnalysis"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "narrative_synthesis": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/NarrativeSynthesis"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Narrative synthesis results if performed"
                },
                "outputs": {
                    "description": "Output artifacts produced by this stage",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "publication_bias_assessment": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/PublicationBiasAssessment"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Assessment of publication bias"
                },
                "sensitivity_analyses": {
                    "description": "Sensitivity analyses performed",
                    "items": {
                        "$ref": "#/$defs/SensitivityAnalysis"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "stage_description": {
                    "description": "Description of what was done in this stage",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_label": {
                    "description": "Human-readable label for this stage execution",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Type of stage being executed"
                },
                "started_at": {
                    "description": "When this stage started",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "subgroup_analyses": {
                    "description": "Subgroup analyses conducted",
                    "items": {
                        "$ref": "#/$defs/SubgroupAnalysis"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "synthesis_methods": {
                    "description": "Methods used for evidence synthesis",
                    "items": {
                        "$ref": "#/$defs/SynthesisMethod"
                    },
                    "type": "array"
                },
                "synthesis_protocol": {
                    "$ref": "#/$defs/SynthesisProtocol",
                    "description": "Protocol defining how synthesis will be conducted"
                },
                "synthesis_quality_control": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SynthesisQualityControl"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Quality control measures for synthesis"
                },
                "synthesis_statistics": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SynthesisStatistics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Statistics about the synthesis process"
                },
                "synthesis_visualizations": {
                    "description": "Visualizations produced (forest plots, funnel plots, etc.)",
                    "items": {
                        "$ref": "#/$defs/StageOutput"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "synthesis_protocol",
                "synthesis_methods",
                "stage_type"
            ],
            "title": "SynthesisStage",
            "type": "object"
        },
        "SynthesisStatistics": {
            "additionalProperties": false,
            "description": "Statistics about the synthesis process",
            "properties": {
                "base_completed_date": {
                    "description": "Date the stage completed",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_completion_rate": {
                    "description": "Proportion of items completed",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "base_participant_workloads": {
                    "description": "Workload distribution among participants",
                    "items": {
                        "$ref": "#/$defs/ParticipantWorkload"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "base_started_date": {
                    "description": "Date the stage started",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_stats_id": {
                    "description": "Unique identifier for stage statistics",
                    "type": "string"
                },
                "base_stats_notes": {
                    "description": "Additional notes about stage statistics",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "base_total_hours": {
                    "description": "Total hours spent on this stage",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "base_total_items": {
                    "description": "Total number of studies to synthesize",
                    "type": "integer"
                },
                "meta_analyses_count": {
                    "description": "Number of meta-analyses performed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "narrative_syntheses_count": {
                    "description": "Number of narrative syntheses performed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "sensitivity_analyses_count": {
                    "description": "Number of sensitivity analyses",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "subgroup_analyses_count": {
                    "description": "Number of subgroup analyses",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_outcomes_analyzed": {
                    "description": "Number of outcomes analyzed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_participants": {
                    "description": "Total participants across all studies",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "total_studies_synthesized": {
                    "description": "Total number of studies synthesized",
                    "type": "integer"
                }
            },
            "required": [
                "total_studies_synthesized",
                "base_stats_id",
                "base_total_items"
            ],
            "title": "SynthesisStatistics",
            "type": "object"
        },
        "SynthesisTheme": {
            "additionalProperties": false,
            "description": "Theme identified in narrative synthesis",
            "properties": {
                "supporting_studies": {
                    "description": "Study IDs supporting this theme",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "theme_description": {
                    "description": "Description of the theme",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "theme_id": {
                    "description": "Unique identifier for this theme",
                    "type": "string"
                },
                "theme_name": {
                    "description": "Name of the theme",
                    "type": "string"
                },
                "theme_notes": {
                    "description": "Additional notes about the theme",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "theme_strength": {
                    "$ref": "#/$defs/EvidenceStrength",
                    "description": "Strength of evidence for this theme"
                }
            },
            "required": [
                "theme_id",
                "theme_name"
            ],
            "title": "SynthesisTheme",
            "type": "object"
        },
        "TemplateField": {
            "additionalProperties": false,
            "description": "A field within a registration template.",
            "properties": {
                "conditional_on": {
                    "description": "Field ID that this field depends on",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "is_repeatable": {
                    "description": "Whether this field can have multiple values",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "template_field_constraints": {
                    "description": "Constraints on the field value",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "template_field_description": {
                    "description": "Description of what should be entered in this field",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_field_example": {
                    "description": "Example value for this field",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_field_format": {
                    "description": "Expected format for the field value",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_field_help_text": {
                    "description": "Help text to guide users",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_field_id": {
                    "description": "Unique identifier for this field within the template",
                    "type": "string"
                },
                "template_field_label": {
                    "description": "Human-readable label for the field",
                    "type": "string"
                },
                "template_field_name": {
                    "description": "Technical name of the field",
                    "type": "string"
                },
                "template_field_order": {
                    "description": "Display order of the field",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "template_field_section": {
                    "description": "Section of the template this field belongs to",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "template_field_type": {
                    "$ref": "#/$defs/FieldType",
                    "description": "Data type of the field"
                }
            },
            "required": [
                "template_field_id",
                "template_field_name",
                "template_field_label",
                "template_field_type"
            ],
            "title": "TemplateField",
            "type": "object"
        },
        "TemplateType": {
            "description": "Types of registration templates",
            "enum": [
                "PROSPERO",
                "OSF_PREREG",
                "OSF_PREREG_PLUS",
                "ASPREDICTED",
                "CLINICAL_TRIALS",
                "PRISMA_P",
                "COCHRANE",
                "CAMPBELL",
                "CUSTOM"
            ],
            "title": "TemplateType",
            "type": "string"
        },
        "ToolLicenseType": {
            "description": "Types of tool licenses",
            "enum": [
                "OPEN_SOURCE",
                "COMMERCIAL",
                "ACADEMIC",
                "FREEMIUM",
                "SUBSCRIPTION",
                "PERPETUAL",
                "TRIAL",
                "CUSTOM"
            ],
            "title": "ToolLicenseType",
            "type": "string"
        },
        "ToolParameter": {
            "additionalProperties": false,
            "description": "Configuration parameter for a tool",
            "properties": {
                "param_category": {
                    "description": "Category of parameter (e.g., search, AI, export, filtering)",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "param_default": {
                    "description": "Default value if not specified",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "param_description": {
                    "description": "Description of what this parameter controls",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "param_id": {
                    "description": "Unique identifier for the parameter",
                    "type": "string"
                },
                "param_name": {
                    "description": "Name of the parameter",
                    "type": "string"
                },
                "param_required": {
                    "description": "Whether this parameter is required",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "param_type": {
                    "$ref": "#/$defs/ParameterType",
                    "description": "Data type of the parameter"
                },
                "param_value": {
                    "description": "Value of the parameter",
                    "type": "string"
                }
            },
            "required": [
                "param_id",
                "param_name",
                "param_value"
            ],
            "title": "ToolParameter",
            "type": "object"
        },
        "ToolPurpose": {
            "description": "Purposes for which tools can be used",
            "enum": [
                "SEARCH_MANAGEMENT",
                "DEDUPLICATION",
                "SCREENING_PLATFORM",
                "REFERENCE_MANAGER",
                "AI_SCREENING",
                "AI_EXTRACTION",
                "DATA_EXTRACTION",
                "TEXT_ANALYSIS",
                "CONFLICT_RESOLUTION",
                "QUALITY_ASSESSMENT",
                "META_ANALYSIS",
                "STATISTICS",
                "DATA_VISUALIZATION",
                "PROJECT_MANAGEMENT",
                "COLLABORATION",
                "PROTOCOL_REGISTRATION",
                "REPORTING",
                "PRISMA_FLOW",
                "API_INTEGRATION",
                "CUSTOM_AUTOMATION",
                "OTHER"
            ],
            "title": "ToolPurpose",
            "type": "string"
        },
        "TrimFillResult": {
            "additionalProperties": false,
            "description": "Result of trim and fill analysis",
            "properties": {
                "adjusted_ci_lower": {
                    "description": "Adjusted lower CI",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "adjusted_ci_upper": {
                    "description": "Adjusted upper CI",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "adjusted_effect": {
                    "description": "Adjusted effect size",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "adjustment_direction": {
                    "description": "Direction of adjustment",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "studies_filled": {
                    "description": "Number of studies filled",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "studies_trimmed": {
                    "description": "Number of studies trimmed",
                    "type": [
                        "integer",
                        "null"
                    ]
                }
            },
            "title": "TrimFillResult",
            "type": "object"
        },
        "ValidationRule": {
            "additionalProperties": false,
            "description": "Validation rule for a field",
            "properties": {
                "error_message": {
                    "description": "Error message when validation fails",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "rule_type": {
                    "$ref": "#/$defs/ValidationRuleType",
                    "description": "Type of validation rule"
                },
                "rule_value": {
                    "description": "Value or pattern for the rule",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "severity": {
                    "$ref": "#/$defs/ValidationSeverity",
                    "description": "Severity of validation failure"
                }
            },
            "required": [
                "rule_type"
            ],
            "title": "ValidationRule",
            "type": "object"
        },
        "ValidationRuleType": {
            "description": "Types of validation rules",
            "enum": [
                "REQUIRED",
                "MIN_LENGTH",
                "MAX_LENGTH",
                "PATTERN",
                "MIN_VALUE",
                "MAX_VALUE",
                "DATE_RANGE",
                "EMAIL",
                "URL",
                "UNIQUE",
                "CUSTOM"
            ],
            "title": "ValidationRuleType",
            "type": "string"
        },
        "ValidationSeverity": {
            "description": "Severity levels for validation failures",
            "enum": [
                "ERROR",
                "WARNING",
                "INFO"
            ],
            "title": "ValidationSeverity",
            "type": "string"
        },
        "WorkSession": {
            "additionalProperties": false,
            "description": "A work session by a participant on review tasks",
            "properties": {
                "active_duration": {
                    "description": "Active working time in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "items_completed": {
                    "description": "Number of items completed",
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "participant": {
                    "$ref": "#/$defs/Participant",
                    "description": "Participant conducting this session"
                },
                "paused_duration": {
                    "description": "Total paused time in minutes",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "session_ended_at": {
                    "description": "When the session ended",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "session_environment": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/SessionEnvironment"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Environment details for the session"
                },
                "session_id": {
                    "description": "Unique identifier for this session",
                    "type": "string"
                },
                "session_item_ids": {
                    "description": "IDs of items processed in this session",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "session_notes": {
                    "description": "Notes about the session",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "session_started_at": {
                    "description": "When the session started",
                    "format": "date-time",
                    "type": "string"
                },
                "session_status": {
                    "$ref": "#/$defs/SessionStatus",
                    "description": "Current status of the session"
                },
                "session_type": {
                    "$ref": "#/$defs/SessionType",
                    "description": "Type of work session"
                },
                "stage_type": {
                    "$ref": "#/$defs/StageType",
                    "description": "Review stage this session belongs to"
                }
            },
            "required": [
                "session_id",
                "participant",
                "session_type",
                "stage_type",
                "session_started_at",
                "session_status"
            ],
            "title": "WorkSession",
            "type": "object"
        }
    },
    "$id": "https://open-and-sustainable.github.io/revaise-model/schema",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "additionalProperties": true,
    "description": "Root container for a systematic review. This is the primary object that contains all review data, stages, literature records, and artifacts. Every RevAIse document should have a Review as its top-level object.",
    "metamodel_version": "1.11.0",
    "properties": {
        "completion_date": {
            "description": "Date review completed",
            "format": "date",
            "type": [
                "string",
                "null"
            ]
        },
        "conflicts_of_interest": {
            "description": "Declaration of conflicts of interest",
            "type": [
                "string",
                "null"
            ]
        },
        "corresponding_author": {
            "anyOf": [
                {
                    "$ref": "#/$defs/Author"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Corresponding author for the review"
        },
        "created_at": {
            "description": "When this review record was created",
            "format": "date-time",
            "type": [
                "string",
                "null"
            ]
        },
        "ethical_approval": {
            "description": "Ethical approval information if applicable",
            "type": [
                "string",
                "null"
            ]
        },
        "funding_sources": {
            "description": "Sources of funding for the review",
            "items": {
                "$ref": "#/$defs/FundingSource"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "last_updated": {
            "description": "Last update to the review",
            "format": "date-time",
            "type": [
                "string",
                "null"
            ]
        },
        "literature_records": {
            "description": "Literature records managed in this review",
            "items": {
                "type": "string"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "protocol": {
            "anyOf": [
                {
                    "$ref": "#/$defs/Protocol"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Review protocol with registration details"
        },
        "review_abstract": {
            "description": "Abstract or summary of the review",
            "type": [
                "string",
                "null"
            ]
        },
        "review_authors": {
            "description": "Review authors",
            "items": {
                "$ref": "#/$defs/Author"
            },
            "minItems": 1,
            "type": "array"
        },
        "review_country": {
            "description": "Country where review is conducted",
            "type": [
                "string",
                "null"
            ]
        },
        "review_id": {
            "description": "Unique identifier for this review",
            "type": "string"
        },
        "review_keywords": {
            "description": "Keywords or tags for the review",
            "items": {
                "type": "string"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "review_language": {
            "description": "Primary language of the review",
            "type": [
                "string",
                "null"
            ]
        },
        "review_status": {
            "$ref": "#/$defs/ReviewStatus",
            "description": "Current status of the review"
        },
        "review_title": {
            "description": "Title of the systematic review",
            "type": "string"
        },
        "review_type": {
            "$ref": "#/$defs/ReviewType",
            "description": "Type of review being conducted"
        },
        "software_env": {
            "anyOf": [
                {
                    "$ref": "#/$defs/SoftwareEnv"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Software environment for reproducibility"
        },
        "stage_outputs": {
            "description": "Outputs and logs produced by the review stages",
            "items": {
                "$ref": "#/$defs/StageOutput"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "stages": {
            "description": "Stages executed in this review",
            "items": {
                "$ref": "#/$defs/StageExecution"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "start_date": {
            "description": "Date review started",
            "format": "date",
            "type": [
                "string",
                "null"
            ]
        },
        "updated_at": {
            "description": "When this review record was last updated",
            "format": "date-time",
            "type": [
                "string",
                "null"
            ]
        },
        "version": {
            "description": "Version of the review",
            "type": [
                "string",
                "null"
            ]
        }
    },
    "required": [
        "review_id",
        "review_title",
        "review_type",
        "review_authors",
        "review_status"
    ],
    "title": "revaise",
    "type": "object",
    "version": "0.5.0"
}

