# coding: utf-8

"""
    aind-sharepoint-service

     ## aind-sharepoint-service  Service to pull data from Sharepoint.  

    The version of the OpenAPI document: 0.1.5
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class NSB2023Procedure(str, Enum):
    """
    Enum class for NSB2023Procedure.
    """

    """
    allowed enum values
    """
    SELECT = 'Select...'
    SX__CUSTOM = 'Sx- Custom'
    SX_1__VISUAL__CTX_2_P = 'Sx-01 Visual Ctx 2P'
    SX_2__FRONTAL__CTX_2_P = 'Sx-02 Frontal Ctx 2P'
    SX_3__MOTOR__CTX_2_P = 'Sx-03 Motor Ctx 2P'
    SX_4_WHC_2_P = 'Sx-04 WHC 2P'
    SX_5_INJ__VISUAL__CTX_2_P = 'Sx-05 INJ + Visual Ctx 2P'
    SX_6__GRID_INJ_6_OR_9__VI = 'Sx-06 Grid INJ (6 or 9) + Visual Ctx 2P'
    SX_8_INJ__MOTOR__CTX_2_P = 'Sx-08 INJ + Motor Ctx 2P'
    SX_9__GRID_INJ_6_OR_9__MO = 'Sx-09 Grid INJ (6 or 9) + Motor Ctx 2P'
    SX_11_19_HP__ONLY = 'Sx-11&19 HP Only'
    SX_11_19_HP__TRANSCRANIAL = 'Sx-11&19 HP Transcranial'
    SX_12__STEREOTAXIC__INJEC = 'Sx-12 Stereotaxic Injection (with Headpost)'
    SX_14__VISUAL__CTX_NP = 'Sx-14 Visual Ctx NP'
    SX_15_WHC_NP = 'Sx-15 WHC NP'
    SX_16_INJ_WHC_NP = 'Sx-16 INJ + WHC NP'
    SX_17_DHC = 'Sx-17 DHC'
    SX_18_INJ_DHC = 'Sx-18 INJ+DHC'
    SX_21__FIBER__OPTIC__IMPL = 'Sx-21 Fiber Optic Implant (with Headpost)'
    SX_21__INJECTION__FIBER = 'Sx-21 Injection + Fiber Optic Implant (with Headpost)'
    SX_24__STEREOTAXIC_INJECT = 'Sx-24 Stereotaxic injections: 1 INJ material'
    SX_25__STEREOTAXIC_INJECT = 'Sx-25 Stereotaxic injections: 2+ INJ materials'
    SX_26_ISI_GUIDED__INJECTI = 'Sx-26 ISI-guided Injection (with Headpost)'
    SX__SPINAL__CORD_INJ = 'Sx- Spinal Cord INJ'
    SX_EMG__ARRAY = 'Sx- EMG Array'
    SX__TESTES__INJECTION = 'Sx- Testes Injection'
    SX__OVIDUCT__INJECTION = 'Sx- Oviduct Injection'
    CUSTOM = 'Custom'
    DHC = 'DHC'
    FIBER_OPTIC_IMPLANT_WITH = 'Fiber Optic Implant (with Headpost)'
    FRONTAL_CTX_2_P = 'Frontal Ctx 2P'
    HP_ONLY = 'HP Only'
    HP_TRANSCRANIAL = 'HP Transcranial'
    INJECTION_FIBER_OPTIC_IMP = 'Injection+Fiber Optic Implant (with Headpost)'
    INJ_MOTOR_CTX = 'INJ + Motor Ctx'
    INJ_VISUAL_CTX_2_P = 'INJ + Visual Ctx 2P'
    INJ_WHC_NP_1_INJECTION_LO = 'INJ + WHC NP (1 Injection Location)'
    ISIGUIDED_INJECTION_WITH = 'ISI-guided Injection (with Headpost)'
    MOTOR_CTX = 'Motor Ctx'
    STEREOTAXIC_INJECTION = 'Stereotaxic Injection'
    STEREOTAXIC_INJECTION_WIT = 'Stereotaxic Injection (with Headpost)'
    VISUAL_CTX_2_P = 'Visual Ctx 2P'
    VISUAL_CTX_NP = 'Visual Ctx NP'
    WHC_2_P = 'WHC 2P'
    WHC_NP = 'WHC NP'
    MOTOR_CTX_2_P = 'Motor Ctx 2P'
    GRID_INJ_6_OR_9_VISUAL = 'Grid INJ (6 or 9) + Visual Ctx 2P'
    INJ_MOTOR_CTX_2_P = 'INJ + Motor Ctx 2P'
    GRID_INJ_6_OR_9_MOTOR_C = 'Grid INJ (6 or 9) + Motor Ctx 2P'
    INJ_WHC_NP = 'INJ + WHC NP'
    INJ_DHC = 'INJ+DHC'
    INJECTION_FIBER_OPTIC_IMP_ = 'Injection + Fiber Optic Implant (with Headpost)'
    STEREOTAXIC_INJECTIONS_1 = 'Stereotaxic injections: 1 INJ material'
    STEREOTAXIC_INJECTIONS_2 = 'Stereotaxic injections: 2+ INJ materials'
    EMG__ARRAY = 'EMG Array'
    TESTES__INJECTION = 'Testes Injection'
    OVIDUCT__INJECTION = 'Oviduct Injection'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of NSB2023Procedure from a JSON string"""
        return cls(json.loads(json_str))


