/* Generated by camel build tools - do NOT edit this file! */
package org.apache.camel.component.hl7;

import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.DeferredContextBinding;
import org.apache.camel.Exchange;
import org.apache.camel.TypeConversionException;
import org.apache.camel.TypeConverterLoaderException;
import org.apache.camel.spi.TypeConverterLoader;
import org.apache.camel.spi.TypeConverterRegistry;
import org.apache.camel.support.SimpleTypeConverter;
import org.apache.camel.support.TypeConverterSupport;
import org.apache.camel.util.DoubleMap;

/**
 * Generated by camel build tools - do NOT edit this file!
 */
@SuppressWarnings("unchecked")
@DeferredContextBinding
public final class HL7231ConverterLoader implements TypeConverterLoader, CamelContextAware {

    private CamelContext camelContext;

    public HL7231ConverterLoader() {
    }

    @Override
    public void setCamelContext(CamelContext camelContext) {
        this.camelContext = camelContext;
    }

    @Override
    public CamelContext getCamelContext() {
        return camelContext;
    }

    @Override
    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {
        try {
            registerConverters(registry);
        } catch (Throwable e) {
            // ignore on load error
        }
    }

    private void registerConverters(TypeConverterRegistry registry) {
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ACK.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toACK((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ACK.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toACK((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADR_A19.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdrA19((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADR_A19.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdrA19((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A13.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA13((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A13.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA13((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A14.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA14((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A14.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA14((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A15.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA15((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A15.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA15((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A16.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA16((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A16.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA16((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A17.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA17((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A17.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA17((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A18.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA18((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A18.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA18((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A20.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA20((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A20.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA20((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A21.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA21((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A21.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA21((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A22.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA22((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A22.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA22((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A23.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA23((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A23.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA23((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A24.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA24((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A24.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA24((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A26.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA26((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A26.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA26((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A27.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA27((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A27.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA27((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A28.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA28((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A28.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA28((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A29.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA29((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A29.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA29((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A30.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA30((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A30.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA30((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A31.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA31((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A31.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA31((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A32.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA32((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A32.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA32((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A33.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA33((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A33.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA33((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A34.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA34((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A34.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA34((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A35.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA35((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A35.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA35((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A36.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA36((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A36.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA36((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A37.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA37((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A37.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA37((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A38.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA38((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A38.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA38((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A39.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA39((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A39.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA39((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A40.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA40((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A40.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA40((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A41.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA41((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A41.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA41((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A42.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA42((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A42.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA42((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A43.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA43((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A43.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA43((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A44.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA44((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A44.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA44((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A45.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA45((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A45.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA45((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A46.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA46((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A46.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA66((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A47.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA47((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A47.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA47((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A48.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA48((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A48.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA48((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A49.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA49((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A49.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA49((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A50.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA50((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A50.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA50((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A51.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA51((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_A51.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtA51((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_AXX.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtAXX((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ADT_AXX.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toAdtAXX((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.BAR_P06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toBarP06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.CRM_C01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toCrmC01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.CRM_C01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toCrmC01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.CSU_C09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toCsuC09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.CSU_C09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toCsuC09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DFT_P03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDftP03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DFT_P03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDftP03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DOC_T12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDocT12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DOC_T12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDocT12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DSR_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDsrQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DSR_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDsrQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DSR_Q03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDsrQ03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.DSR_Q03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toDsrQ03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.EDR_R07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toEdrR07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.EDR_R07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toEdrR07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.EQQ_Q04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toEqqQ04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.EQQ_Q04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toEqqQ04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ERP_R09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toErpR09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ERP_R09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toErpR09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MDM_T11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMdmT11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFK_M06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfkM06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFN_M11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfnM11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFQ_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfqM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFQ_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfqM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFR_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfrM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.MFR_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toMfrM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMD_N02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmdN02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMD_N02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmdN02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMQ_N01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmqN01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMQ_N01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmqN01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMR_N01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmrN01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.NMR_N01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toNmrN01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMD_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmdO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMD_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmdO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMN_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmnO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMN_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmnO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmsO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OMS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOmsO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORD_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrdO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORD_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrdO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORF_R04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrfR04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORF_R04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrfR04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORM_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrmO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORM_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrmO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORN_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrnO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORN_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrnO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORR_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrrO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORR_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrrO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORS_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrsO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORS_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOrsO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORU_R01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOruR01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ORU_R01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOruR01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OSQ_Q06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOsqQ06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OSQ_Q06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOsqQ06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OSR_Q06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOsrQ06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.OSR_Q06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toOsrQ06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PEX_P07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPexP07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PEX_P07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPexP07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PGL_PC6.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPglPc6((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PGL_PC6.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPglPc6((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PIN_I07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPinI07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PIN_I07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPinI07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPG_PCG.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPpgPcg((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPG_PCG.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPpgPcg((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPP_PCB.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPppPcb((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPP_PCB.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPppPcb((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPR_PC1.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPprPc1((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPR_PC1.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPprPc1((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPT_PCL.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPptPcl((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPT_PCL.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPptPcl((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPV_PCA.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPpvPca((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PPV_PCA.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPpvPca((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PRR_PC5.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPrrPc5((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PRR_PC5.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPrrPc5((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PTR_PCF.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPtrPcf((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.PTR_PCF.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toPtrPcf((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QCK_Q02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQckQ02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QCK_Q02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQckQ02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_A19.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryA19((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_A19.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryA19((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PC4.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPC4((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PC4.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPC4((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PC9.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPC9((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PC9.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPC9((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PCE.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPCE((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PCE.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPCE((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PCK.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPCK((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_PCK.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryPCK((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_Q02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryQ02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_Q02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryQ02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_R02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryR02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_R02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryR02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_T12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryT12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.QRY_T12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toQryT12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RAR_RAR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRarRar((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RAR_RAR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRarRar((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RAS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRasO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RAS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRasO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RCI_I05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRciI05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RCI_I05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRciI05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RCL_I06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRclI06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RCL_I06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRclI06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDE_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdeO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDE_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdeO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDO_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdoO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDO_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdoO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDR_RDR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdrRdr((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDR_RDR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdrRdr((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdsO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RDS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRdsO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.REF_I12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRefI12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.REF_I12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRefI12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RER_RER.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRerRer((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RER_RER.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRerRer((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RGR_RGR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRgrRgr((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RGR_RGR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRgrRgr((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RGV_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRgvO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RGV_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRgvO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ROR_R0R.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRorR0r((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.ROR_R0R.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRorR0r((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPA_I08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpaI08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPA_I08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpaI08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPI_I01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpiI01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPI_I01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpiI01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPI_I04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpiI04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPI_I04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRpiI04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPL_I02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRplI02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPL_I02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRplI02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPR_I03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRprI03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RPR_I03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRprI03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQA_I08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqaI08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQA_I08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqaI08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQC_I05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqcI05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQC_I05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqcI05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQC_I06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqcI06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQC_I06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqcI06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQI_I03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqiI03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQP_I04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqpI04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQP_I04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqpI04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQQ_Q09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqqQ09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RQQ_Q09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRqqQ09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRA_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRraO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRA_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRraO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRD_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRrdO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRD_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRrdO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRE_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRreO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRE_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRreO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRG_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRrgO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRG_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRrgO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRI_I12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRriI12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRI_I12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRriI12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRO_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRroO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.RRO_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toRroO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SIU_S12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSiuS12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SIU_S12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSiuS12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SPQ_Q08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSpqQ08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SPQ_Q08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSpqQ08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SQM_S25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSqmS25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SQM_S25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSqmS25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SQR_S25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSqrS25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SQR_S25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSqrS25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SRM_S01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSrmS01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SRM_S01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSrmS01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SRR_S01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSrrS01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SRR_S01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSrrS01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SUR_P09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSurP09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.SUR_P09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toSurP09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.TBR_R08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toTbrR08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.TBR_R08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toTbrR08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.UDM_Q05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toUdmQ05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.UDM_Q05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toUdmQ05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VQQ_Q07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVqqQ07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VQQ_Q07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVqqQ07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXQ_V01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxqV01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXQ_V01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxqV01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXR_V03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxrV03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXR_V03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxrV03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXU_V04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxuV04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXU_V04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxuV04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXX_V02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxxV02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v231.message.VXX_V02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL7231Converter.toVxxV02((java.lang.String) value));
    }

    private static void addTypeConverter(TypeConverterRegistry registry, Class<?> toType, Class<?> fromType, boolean allowNull, SimpleTypeConverter.ConversionMethod method) { 
        registry.addTypeConverter(toType, fromType, new SimpleTypeConverter(allowNull, method));
    }

}
