Standard Operating Procedures · Schema
Standard Operating Procedure
A formal document defining step-by-step instructions for a routine operation or process to ensure consistent execution, quality, and compliance.
ComplianceDocumentationOperationsProcess ManagementQuality AssuranceRegulated IndustriesWorkflow
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique document identifier (e.g., SOP-QA-001) |
| title | string | Name of the standard operating procedure |
| version | string | Document version number (e.g., 1.0, 2.3) |
| status | string | Current document lifecycle status |
| effective_date | string | Date the SOP became or becomes effective |
| review_date | string | Scheduled next review date |
| department | string | Organizational department or function that owns the SOP |
| category | string | Process category (e.g., Quality Assurance, Safety, Operations) |
| purpose | string | Brief statement of why this SOP exists and what it achieves |
| scope | string | Who and what processes are covered by this SOP |
| responsibilities | array | Roles and their responsibilities for this procedure |
| definitions | array | Glossary of terms specific to this SOP |
| steps | array | Ordered list of procedure steps |
| references | array | Related SOPs, regulations, standards, or documents |
| author | object | Person or team who created the SOP |
| approver | object | Person who approved the SOP |
| revision_history | array | Log of document revisions |
| regulatory_references | array | Specific regulations this SOP helps satisfy (e.g., FDA 21 CFR Part 11) |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/standard-operating-procedures/refs/heads/main/json-schema/standard-operating-procedures-sop-schema.json",
"title": "Standard Operating Procedure",
"description": "A formal document defining step-by-step instructions for a routine operation or process to ensure consistent execution, quality, and compliance.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique document identifier (e.g., SOP-QA-001)"
},
"title": {
"type": "string",
"description": "Name of the standard operating procedure"
},
"version": {
"type": "string",
"description": "Document version number (e.g., 1.0, 2.3)"
},
"status": {
"type": "string",
"description": "Current document lifecycle status",
"enum": ["draft", "review", "approved", "effective", "retired", "superseded"]
},
"effective_date": {
"type": "string",
"format": "date",
"description": "Date the SOP became or becomes effective"
},
"review_date": {
"type": "string",
"format": "date",
"description": "Scheduled next review date"
},
"department": {
"type": "string",
"description": "Organizational department or function that owns the SOP"
},
"category": {
"type": "string",
"description": "Process category (e.g., Quality Assurance, Safety, Operations)"
},
"purpose": {
"type": "string",
"description": "Brief statement of why this SOP exists and what it achieves"
},
"scope": {
"type": "string",
"description": "Who and what processes are covered by this SOP"
},
"responsibilities": {
"type": "array",
"description": "Roles and their responsibilities for this procedure",
"items": {
"type": "object",
"properties": {
"role": { "type": "string" },
"responsibility": { "type": "string" }
},
"required": ["role", "responsibility"]
}
},
"definitions": {
"type": "array",
"description": "Glossary of terms specific to this SOP",
"items": {
"type": "object",
"properties": {
"term": { "type": "string" },
"definition": { "type": "string" }
},
"required": ["term", "definition"]
}
},
"steps": {
"type": "array",
"description": "Ordered list of procedure steps",
"items": {
"$ref": "#/$defs/Step"
}
},
"references": {
"type": "array",
"description": "Related SOPs, regulations, standards, or documents",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"identifier": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
},
"author": {
"type": "object",
"description": "Person or team who created the SOP",
"properties": {
"name": { "type": "string" },
"role": { "type": "string" },
"email": { "type": "string", "format": "email" }
}
},
"approver": {
"type": "object",
"description": "Person who approved the SOP",
"properties": {
"name": { "type": "string" },
"role": { "type": "string" },
"approval_date": { "type": "string", "format": "date" }
}
},
"revision_history": {
"type": "array",
"description": "Log of document revisions",
"items": {
"type": "object",
"properties": {
"version": { "type": "string" },
"date": { "type": "string", "format": "date" },
"author": { "type": "string" },
"changes": { "type": "string" }
}
}
},
"regulatory_references": {
"type": "array",
"description": "Specific regulations this SOP helps satisfy (e.g., FDA 21 CFR Part 11)",
"items": { "type": "string" }
}
},
"required": ["id", "title", "version", "status", "steps"],
"$defs": {
"Step": {
"type": "object",
"description": "A single procedural step in the SOP",
"properties": {
"step_number": {
"type": "integer",
"description": "Sequential step number"
},
"title": {
"type": "string",
"description": "Short title for the step"
},
"instruction": {
"type": "string",
"description": "Detailed instruction for performing the step"
},
"responsible_role": {
"type": "string",
"description": "Role responsible for executing this step"
},
"expected_output": {
"type": "string",
"description": "What should result from completing this step"
},
"decision_point": {
"type": "boolean",
"description": "Whether this step involves a decision with branching logic"
},
"branches": {
"type": "array",
"description": "Conditional branches if this is a decision step",
"items": {
"type": "object",
"properties": {
"condition": { "type": "string" },
"next_step": { "type": "integer" }
}
}
},
"cautions": {
"type": "array",
"description": "Safety or quality cautions relevant to this step",
"items": { "type": "string" }
},
"references": {
"type": "array",
"description": "Documents, forms, or tools referenced in this step",
"items": { "type": "string" }
}
},
"required": ["step_number", "instruction"]
}
}
}