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)
View JSON Schema on GitHub

JSON Schema

standard-operating-procedures-sop-schema.json Raw ↑
{
  "$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"]
    }
  }
}