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

import javax.annotation.processing.Generated;

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!
 */
@Generated("org.apache.camel.maven.packaging.TypeConverterLoaderGeneratorMojo")
@SuppressWarnings("unchecked")
@DeferredContextBinding
public final class HL723ConverterLoader implements TypeConverterLoader, CamelContextAware {

    private CamelContext camelContext;

    public HL723ConverterLoader() {
    }

    @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.v23.message.ACK.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toACK((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ACK.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toACK((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADR_A19.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdrA19((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADR_A19.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdrA19((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A13.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA13((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A13.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA13((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A14.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA14((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A14.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA14((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A15.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA15((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A15.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA15((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A16.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA16((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A16.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA16((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A17.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA17((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A17.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA17((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A18.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA18((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A18.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA18((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A20.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA20((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A20.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA20((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A21.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA21((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A21.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA21((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A22.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA22((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A22.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA22((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A23.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA23((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A23.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA23((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A24.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA24((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A24.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA24((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A26.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA26((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A26.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA26((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A27.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA27((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A27.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA27((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A28.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA28((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A28.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA28((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A29.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA29((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A29.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA29((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A30.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA30((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A30.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA30((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A31.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA31((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A31.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA31((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A32.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA32((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A32.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA32((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A33.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA33((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A33.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA33((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A34.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA34((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A34.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA34((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A35.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA35((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A35.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA35((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A36.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA36((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A36.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA36((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A37.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA37((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A37.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA37((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A38.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA38((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A38.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA38((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A39.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA39((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A39.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA39((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A40.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA40((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A40.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA40((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A41.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA41((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A41.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA41((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A42.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA42((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A42.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA42((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A43.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA43((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A43.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA43((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A44.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA44((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A44.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA44((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A45.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA45((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A45.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA45((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A46.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA46((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A46.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA46((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A47.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA47((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A47.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA47((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A48.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA48((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A48.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA48((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A49.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA49((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A49.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA49((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A50.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA50((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A50.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA50((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A51.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA51((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_A51.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtA51((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_AXX.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtAXX((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ADT_AXX.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toAdtAXX((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.BAR_P06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toBarP06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CRM_C08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCrmC08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.CSU_C12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toCsuC12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DFT_P03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDftP03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DFT_P03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDftP03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DOC_T12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDocT12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DOC_T12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDocT12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DSR_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDsrQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DSR_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDsrQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DSR_Q03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDsrQ03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.DSR_Q03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toDsrQ03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.EDR_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toEdrQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.EDR_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toEdrQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.EQQ_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toEqqQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.EQQ_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toEqqQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ERP_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toErpQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ERP_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toErpQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MDM_T11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMdmT11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFK_M07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfkM07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.MFN_M11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toMfnM11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMD_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmdO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMD_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmdO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMN_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmnO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMN_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmnO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmsO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OMS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOmsO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORD_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrdO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORD_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrdO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORF_R02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrfR02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORF_R02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrfR02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORF_R04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrfR04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORF_R04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrfR04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORM_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrmO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORM_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrmO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORN_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrnO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORN_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrnO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORR_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrrO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORR_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOrrO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORU_R01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOruR01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ORU_R01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOruR01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OSQ_Q06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOsqQ06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OSQ_Q06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOsqQ06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OSR_Q06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOsrQ06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.OSR_Q06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toOsrQ06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PEX_P07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPexP07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PEX_P07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPexP07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PEX_P08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPexP08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PEX_P08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPexP08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC6.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc6((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC6.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc6((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC7.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc7((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC7.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc7((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC8.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc8((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PGL_PC8.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPglPc8((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PIN_I07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPinI07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PIN_I07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPinI07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCG.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPcg((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCG.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPcg((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCH.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPch((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCH.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPch((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCJ.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPcj((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPG_PCJ.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpgPcj((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCB.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcb((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCB.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcb((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCC.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcc((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCC.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcc((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCD.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcd((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPP_PCD.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPppPcd((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC1.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc1((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC1.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc1((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC2.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc2((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC2.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc2((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC3.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc3((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPR_PC3.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPprPc3((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPT_PCL.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPptPcl((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPT_PCL.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPptPcl((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPV_PCA.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpvPca((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PPV_PCA.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPpvPca((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PRR_PC5.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPrrPc5((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PRR_PC5.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPrrPc5((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PTR_PCF.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPtrPcf((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.PTR_PCF.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toPtrPcf((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QCK_Q02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQckQ02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QCK_Q02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQckQ02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_A19.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryA19((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_A19.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryA19((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PC4.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPC4((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PC4.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPC4((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PC9.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPC9((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PC9.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPC9((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PCE.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPCE((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PCE.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPCE((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PCK.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPCK((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_PCK.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryPCK((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_Q02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryQ02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_Q02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryQ02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_R02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryR02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_R02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryR02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_T12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryT12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.QRY_T12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toQryT12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAR_RAR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRarRar((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAR_RAR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRarRar((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRasO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRasO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAS_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRasO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RAS_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRasO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RCI_I05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRciI05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RCI_I05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRciI05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RCL_I06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRclI06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RCL_I06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRclI06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDE_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdeO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDE_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdeO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDO_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdoO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDO_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdoO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDR_RDR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdrRdr((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDR_RDR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdrRdr((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDS_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdsO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RDS_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRdsO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I13.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI13((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I13.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI13((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I14.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI14((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I14.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI14((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I15.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI15((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.REF_I15.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRefI15((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RER_RER.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRerRer((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RER_RER.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRerRer((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RGR_RGR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRgrRgr((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RGR_RGR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRgrRgr((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RGV_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRgvO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RGV_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRgvO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ROR_ROR.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRorRor((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.ROR_ROR.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRorRor((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPA_I11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpaI11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPI_I01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpiI01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPI_I01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpiI01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPI_I04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpiI04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPI_I04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRpiI04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPL_I02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRplI02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPL_I02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRplI02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPR_I03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRprI03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RPR_I03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRprI03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQA_I11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqaI11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQC_I05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqcI05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQC_I05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqcI05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQC_I06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqcI06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQC_I06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqcI06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQI_I03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqiI03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQP_I04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqpI04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQP_I04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqpI04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQQ_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqqQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RQQ_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRqqQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRA_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRraO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRA_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRraO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRD_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRrdO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRD_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRrdO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRE_O01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRreO01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRE_O01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRreO01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRG_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRrgO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRG_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRrgO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I13.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI13((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I13.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI13((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I14.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI14((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I14.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI14((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I15.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI15((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRI_I15.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRriI15((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRO_O02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRroO02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.RRO_O02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toRroO02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S12.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS12((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S12.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS12((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S13.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS13((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S13.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS13((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S14.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS14((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S14.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS14((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S15.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS15((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S15.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS15((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S16.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS16((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S16.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS16((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S17.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS17((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S17.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS17((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S18.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS18((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S18.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS18((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S19.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS19((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S19.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS19((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S20.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS20((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S20.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS20((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S21.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS21((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S21.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS21((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S22.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS22((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S22.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS22((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S23.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS23((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S23.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS23((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S24.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS24((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S24.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS24((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S26.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS26((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SIU_S26.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSiuS26((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SPQ_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSpqQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SPQ_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSpqQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SQM_S25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSqmS25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SQM_S25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSqmS25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SQR_S25.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSqrS25((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SQR_S25.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSqrS25((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRM_S11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrmS11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS02((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S06.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS06((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S06.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS06((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S07.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS07((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S07.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS07((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S08.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS08((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S08.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS08((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S10.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS10((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S10.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS10((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S11.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS11((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SRR_S11.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSrrS11((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SUR_P09.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSurP09((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.SUR_P09.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toSurP09((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.TBR_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toTbrQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.TBR_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toTbrQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.UDM_Q05.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toUdmQ05((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.UDM_Q05.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toUdmQ05((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VQQ_Q01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVqqQ01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VQQ_Q01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVqqQ01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXQ_V01.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxqV01((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXQ_V01.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxqV01((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXR_V03.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxrV03((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXR_V03.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxrV03((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXU_V04.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxuV04((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXU_V04.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxuV04((java.lang.String) value));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXX_V02.class, byte[].class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.toVxxV02((byte[]) value, exchange));
        addTypeConverter(registry, ca.uhn.hl7v2.model.v23.message.VXX_V02.class, java.lang.String.class, false,
            (type, exchange, value) -> org.apache.camel.component.hl7.HL723Converter.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));
    }
}
