{
  "id": "TEACHER_BASIC",
  "title": "Basic Level-Teacher Form",
  "description": "",
  "version": "1.2",
  "submit_label": "SAVE",
  "sections": [
    {
      "id": "sec_personal_employment",
      "title": "Personal and Employment Details",
      "items": [
        {
          "id": "school_code",
          "label": "SCHOOL CODE",
          "type": "text",
          "required": true,
          "placeholder": "Enter EMIS school code"
        },
        {
          "id": "school_type",
          "label": "SCHOOL STATUS",
          "type": "select",
          "required": true,
          "options": ["Public", "Private"]
        },
        {
          "id": "teacher_function",
          "label": "TEACHER FUNCTION",
          "type": "select",
          "required": true,
          "options": ["Administration", "Teaching"]
        },
        {
          "id": "teacher_code",
          "label": "TEACHER CODE",
          "type": "text",
          "required": true,
          "placeholder": "e.g. AB1234567890",
          "validation": {
            "pattern": "^[A-Z]{2}[0-9]{10}$",
            "message": "Teacher Code must be 2 uppercase letters followed by 10 digits."
          }
        },
        {
          "id": "first_name",
          "label": "FIRST NAME",
          "type": "text",
          "required": true,
          "placeholder": "Enter first name",
          "validation": {
          "pattern": "^[A-Za-z\\s\\-']+$",
          "message": "First Name must contain letters only."
          }
        },
        {
          "id": "surname",
          "label": "SURNAME",
          "type": "text",
          "required": true,
          "placeholder": "Enter surname",
          "validation": {
          "pattern": "^[A-Za-z\\s\\-']+$",
          "message": "Surname must contain letters only."
          }
        },
        {
          "id": "other_names",
          "label": "OTHER NAME(S)",
          "type": "text",
          "required": false,
          "placeholder": "Enter other name(s)",
          "validation": {
          "pattern": "^[A-Za-z\\s\\-']+$",
          "message": "Other Name(s) must contain letters only."
             }
        },
        {
          "id": "date_of_birth",
          "label": "DATE OF BIRTH",
          "type": "date",
          "required": true
        },
        {
          "id": "sex",
          "label": "SEX",
          "type": "select",
          "required": true,
          "options": ["Female", "Male"]
        },
        {
          "id": "marital_status",
          "label": "MARITAL STATUS",
          "type": "select",
          "required": true,
          "options": ["Divorced", "Married", "Single", "Widowed"]
        },
        {
          "id": "phone_number",
          "label": "PHONE NUMBER",
          "type": "tel",
          "required": true,
          "placeholder": "e.g. 0241234567",
          "validation": {
            "pattern": "^0[0-9]{9}$",
            "message": "Phone number must be 10 digits and start with 0."
          }
        },
        {
          "id": "email",
          "label": "EMAIL",
          "type": "email",
          "required": false,
          "placeholder": "e.g. name@example.com",
          "validation": {
          "pattern": "^[A-Za-z0-9._%+\\-]+@[A-Za-z0-9.\\-]+\\.[A-Za-z]{2,}$",
          "message": "Please enter a valid email address."
          }
        },
        {
          "id": "ghana_card_number",
          "label": "GH. CARD NUMBER",
          "type": "text",
          "required": true,
          "placeholder": "e.g. GHA-123456789-1",
          "validation": {
            "pattern": "^GHA-[0-9]{9}-[0-9]$",
            "message": "Ghana Card Number must be in the format GHA-123456789-1."
          }
        },
        {
          "id": "staff_number",
          "label": "STAFF NUMBER",
          "type": "text",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "license_number",
          "label": "LICENSE NUMBER",
          "type": "text",
          "required": true,
          "placeholder": "e.g. PT/123456/2024 or GTLE/123456/2024",
          "validation": {
            "pattern": "^(PT\\/[0-9]{6}\\/[0-9]{4}|GTLE\\/[0-9]{6}\\/[0-9]{4})$",
            "message": "Use PT/123456/2024 or GTLE/123456/2024 format."
          },
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "ssnit_number",
          "label": "SSNIT NUMBER",
          "type": "text",
          "required": true,
          "validation": {
            "pattern": "^[A-Z][0-9]{12}$",
            "message": "SSNIT Number must start with one uppercase letter followed by 12 digits."
          },
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        }
      ]
    },
    {
      "id": "sec_teaching_professional",
      "title": "Professional and Teaching Details",
      "items": [
        {
          "id": "prof_status",
          "label": "PROF. STATUS",
          "type": "select",
          "required": true,
          "options": ["Trained", "Untrained"]
        },
        {
          "id": "type_of_teacher",
          "label": "TYPE OF TEACHER",
          "type": "select",
          "required": true,
          "options": ["Class", "Subject"],
          "show_when": [
            {
              "field": "teacher_function",
              "value": "Teaching"
            }
          ]
        },
        {
          "id": "basic_level",
          "label": "BASIC LEVEL",
          "type": "multiselect",
          "required": true,
          "options": ["Creche/Nursery", "KG", "Primary", "JHS"],
          "show_when": [
            {
              "field": "teacher_function",
              "value": "Teaching"
            }
          ]
        },
        {
          "id": "basic_class",
          "label": "BASIC CLASS",
          "type": "multiselect",
          "required": true,
          "options": [
            "Creche/Nursery",
            "KG1",
            "KG2",
            "P1",
            "P2",
            "P3",
            "P4",
            "P5",
            "P6",
            "JHS1",
            "JHS2",
            "JHS3"
          ],
          "show_when": [
            {
              "field": "teacher_function",
              "value": "Teaching"
            }
          ]
        },
        {
  "id": "basic_subject",
  "label": "BASIC SUBJECT",
  "type": "multiselect",
  "required": true,
  "options": [
    "BDT",
    "Creative Arts",
    "English",
    "French",
    "Ghanaian Language",
    "History",
    "ICT",
    "Integrated Science",
    "Mathematics",
    "Music",
    "OWOP",
    "Physical Education",
    "RME",
    "Social Studies",
    "Other"
  ],
  "show_when_all": [
    {
      "field": "teacher_function",
      "value": "Teaching"
    },
    {
      "field": "type_of_teacher",
      "value": "Subject"
    }
  ]
},
        {
          "id": "specialisation",
          "label": "SPECIALISATION",
          "type": "text",
          "required": true,
          "show_when": [
            {
              "field": "prof_status",
              "value": "Trained"
            }
          ]
        },
        {
          "id": "period_per_week",
          "label": "PERIOD/WEEK",
          "type": "number",
          "required": true,
          "min": 1,
          "max": 100,
          "show_when": [
            {
              "field": "teacher_function",
              "value": "Teaching"
            }
          ]
        },
        {
          "id": "salary_paid_by",
          "label": "SALARY PAID BY",
          "type": "select",
          "required": true,
          "options": ["GOG", "MMDA'S", "PRIVATE", "OTHER"]
        },
        {
          "id": "first_appmnt",
          "label": "FIRST APPMNT",
          "type": "date",
          "required": true
        },
        {
          "id": "mode_of_qualification",
          "label": "MODE OF QUAL.",
          "type": "select",
          "required": true,
          "options": [
            "College of Education",
            "Distance Education",
            "Sandwich Programme",
            "University Education"
          ],
          "show_when": [
            {
              "field": "prof_status",
              "value": "Trained"
            }
          ]
        },
        {
          "id": "current_rank",
          "label": "CURRENT RANK",
          "type": "select",
          "required": true,
          "options": [
            "ASST DIRECTOR I",
            "ASST DIRECTOR II",
            "CLASS TEACHER",
            "DEPUTY DIRECTOR",
            "DIRECTOR I",
            "DIRECTOR II",
            "PRIN TECHNICAL INSTRUCTOR",
            "PRINCIPAL SUPT",
            "SENIOR INSTRUCTOR",
            "SNR SUPERVISOR INSTRUCTOR",
            "SNR SUPTI",
            "SNR SUPTII",
            "SNR TECHNICAL INSTRUCTOR",
            "SUPERVISOR INSTRUCTOR",
            "SUPTI",
            "SUPTII",
            "TECHNICAL INSTRUCTOR GDI",
            "TECHNICAL INSTRUCTOR GDII",
            "Other"
          ],
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        }
      ]
    },
    {
      "id": "sec_rank_banking_disability",
      "title": "Rank, Qualification and Other Details",
      "items": [
        {
          "id": "date_current_rank",
          "label": "DATE CURRNT",
          "type": "date",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "academic_qual",
          "label": "ACADEMIC QUAL.",
          "type": "select",
          "required": true,
          "options": [
            "BECE",
            "DEGREE",
            "DIPLOMA",
            "GCE 'A' LEVEL",
            "GCE 'O' LEVEL",
            "HND",
            "MASTERS DEGREE",
            "MSLC",
            "PHD",
            "POST GRADUATE CERTIFICATE",
            "POST GRADUATE DIPLOMA",
            "SSSCE/WASCE",
            "TECHNICIAN",
            "Other"
          ]
        },
        {
          "id": "professional_cert",
          "label": "PROFESS. CERT.",
          "type": "select",
          "required": true,
          "options": [
            "CERT 'A'",
            "Degree in Education",
            "Diploma in Education",
            "Masters Degree in Education",
            "PHD in Education",
            "Post Graduate Certificate in Education",
            "Post Graduate Diploma in Education",
            "Other"
          ],
          "show_when": [
            {
              "field": "prof_status",
              "value": "Trained"
            }
          ]
        },
        {
          "id": "posted",
          "label": "POSTED",
          "type": "date",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "teacher_status",
          "label": "TEACHER STATUS",
          "type": "select",
          "required": true,
          "options": [
            "Community Teaching Assistant",
            "Fulltime",
            "NSS",
            "Partime",
            "Volunteer"
          ]
        },
        {
          "id": "bank_name",
          "label": "BANK NAME",
          "type": "text",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "bank_branch",
          "label": "BANK BRANCH",
          "type": "text",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "account_number",
          "label": "ACCOUNT NUMBER",
          "type": "text",
          "required": true,
          "show_when": [
            {
              "field": "school_type",
              "value": "Public"
            }
          ]
        },
        {
          "id": "disability",
          "label": "DISABILITY",
          "type": "select",
          "required": true,
          "options": ["Yes", "No"]
        },
        {
          "id": "disability_type",
          "label": "DISABILITY TYPE",
          "type": "multiselect",
          "required": true,
          "options": [
            "ADHD (Attention Deficit Hyperactivity Disorder)",
            "Albinism",
            "Autism",
            "Autoimmune Disease",
            "Bipolar Disorder",
            "Burns Survivors",
            "Cerebral Palsy",
            "Chronic Health Conditions",
            "Communication Disabilities",
            "Deaf",
            "Developmental Disabilities",
            "Down Syndrome",
            "Dumb",
            "Epilepsy",
            "Hearing Impairment",
            "Intellectual Disabilities",
            "Leprosy",
            "Little Persons",
            "Mental Disability",
            "Multiple Disabilities",
            "Osteogenesis Imperfecta (Brittle Bones)",
            "Physical Disabilities",
            "Psychological Disabilities",
            "Schizophrenia",
            "Seizures",
            "Severe Kyphosis",
            "Specific Learning Disabilities",
            "Spina Bifida",
            "Turner Syndrome",
            "Visual Impairment"
          ],
          "show_when": [
            {
              "field": "disability",
              "value": "Yes"
            }
          ]
        },
        {
          "id": "language",
          "label": "LANGUAGE",
          "type": "multiselect",
          "required": true,
          "options": [
            "Adele",
            "Ahanta",
            "Akuapem",
            "Anufo/Chokosi",
            "Asante Twi",
            "Bassari",
            "Birifor",
            "Buem/Lelemi",
            "Buli",
            "Chumburung",
            "Dagaare",
            "Dagbani",
            "Dangme",
            "Ewe",
            "Fante",
            "Ga",
            "Gikyode/Akyode",
            "Gonja",
            "Gurune",
            "Hanga",
            "Kasem",
            "Koma",
            "Konkomba",
            "Krobo",
            "Kusaal",
            "Mampruli",
            "Moar",
            "Nabdams",
            "Nafaanra",
            "Nawuri",
            "Nkonya",
            "Ntrubo/Delo",
            "Nzema",
            "Other",
            "Sign Language",
            "Sisaali",
            "Talensi",
            "Tampulma",
            "Wali"
          ]
        }
      ]
    }
  ]
}