from __future__ import annotations

from spark_auto_mapper_fhir.fhir_types.uri import FhirUri

from spark_auto_mapper_fhir.value_sets.generic_type import GenericTypeCode
from spark_auto_mapper.type_definitions.defined_types import AutoMapperTextInputType


# This file is auto-generated by generate_classes so do not edit manually
# noinspection PyPep8Naming
class TransactionModeCode(GenericTypeCode):
    """
    TransactionMode
    From: http://hl7.org/fhir/transaction-mode in valuesets.xml
        A code that indicates how transactions are supported.
    """

    def __init__(self, value: AutoMapperTextInputType):
        super().__init__(value=value)

    """
    http://hl7.org/fhir/transaction-mode
    """
    codeset: FhirUri = "http://hl7.org/fhir/transaction-mode"


class TransactionModeCodeValues:
    """
    Neither batch or transaction is supported.
    From: http://hl7.org/fhir/transaction-mode in valuesets.xml
    """

    None_ = TransactionModeCode("not-supported")
    """
    Batches are  supported.
    From: http://hl7.org/fhir/transaction-mode in valuesets.xml
    """
    BatchesSupported = TransactionModeCode("batch")
    """
    Transactions are supported.
    From: http://hl7.org/fhir/transaction-mode in valuesets.xml
    """
    TransactionsSupported = TransactionModeCode("transaction")
    """
    Both batches and transactions are supported.
    From: http://hl7.org/fhir/transaction-mode in valuesets.xml
    """
    Batches_Transactions = TransactionModeCode("both")
