public final class FixFieldDataType extends Object
Varies
.Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_OBX2_TYPE_PROP
System property key: The value may be set to provide a default
datatype ("ST", "NM", etc) for an OBX segment with a missing
OBX-2 value.
|
static String |
ESCAPE_SUBCOMPONENT_DELIM_IN_PRIMITIVE
System property key: If this is not set, or set to "true", and a subcomponent delimiter is found within the
value of a Varies of a primitive type, this subcomponent delimiter will be treated as a literal
character instead of a subcomponent delimiter, and will therefore be escaped if the message is
re-encoded.
|
static String |
INVALID_OBX2_TYPE_PROP
System property key: The value may be set to provide a default
datatype ("ST", "NM", etc) for an OBX segment with an invalid
OBX-2 value type.
|
Modifier and Type | Method and Description |
---|---|
static void |
fix(Segment segment,
int typeField,
int dataField,
String defaultType,
String invalidType,
ModelClassFactory factory,
ParserConfiguration parserConfiguration)
A more generic version of the task of adapting a varies field to a given type
|
static void |
fixMFE4(Segment segment,
ModelClassFactory factory,
ParserConfiguration parserConfiguration) |
static void |
fixOBX5(Segment segment,
ModelClassFactory factory,
ParserConfiguration parserConfiguration)
Sets the data type of field 5 in the given OBX segment to the value of OBX-2.
|
public static final String DEFAULT_OBX2_TYPE_PROP
public static final String INVALID_OBX2_TYPE_PROP
public static final String ESCAPE_SUBCOMPONENT_DELIM_IN_PRIMITIVE
System property key: If this is not set, or set to "true", and a subcomponent delimiter is found within the value of a Varies of a primitive type, this subcomponent delimiter will be treated as a literal character instead of a subcomponent delimiter, and will therefore be escaped if the message is re-encoded. This is handy when dealing with non-conformant sending systems which do not correctly escape ampersands in OBX-5 values.
For example, consider the following OBX-5 segment:
OBX||ST|||Apples, Pears & Bananas|||In this example, the data type is a primitive ST and does not support subcomponents, and the ampersand is obviously not intended to represent a subcomponent delimiter. If this property is set to
true
, the entire string will be treated as the
value of OBX-5, and if the message is re-encoded the string will appear
as "Apples, Pears \T\ Bananas".
If this property is set to anything other than "true", the subcomponent delimiter is treated as a component delimiter,
so the value after the ampersand is placed into an extra component
.
public static void fixOBX5(Segment segment, ModelClassFactory factory, ParserConfiguration parserConfiguration) throws HL7Exception
Sets the data type of field 5 in the given OBX segment to the value of OBX-2. The argument is a Segment as opposed to a particular OBX because it is meant to work with any version.
Note that if no value is present in OBX-2, or an invalid value is present in
OBX-2, this method will throw an error. This behaviour can be corrected by using the
following system properties: DEFAULT_OBX2_TYPE_PROP
and INVALID_OBX2_TYPE_PROP
or by using configuration in ParserConfiguration
segment
- OBX segment instance to be modifiedfactory
- ModelClassFactory to be usedparserConfiguration
- configuration that influences setting OBX-5HL7Exception
- if the operation failspublic static void fixMFE4(Segment segment, ModelClassFactory factory, ParserConfiguration parserConfiguration) throws HL7Exception
HL7Exception
public static void fix(Segment segment, int typeField, int dataField, String defaultType, String invalidType, ModelClassFactory factory, ParserConfiguration parserConfiguration) throws HL7Exception
segment
- segment instancetypeField
- field number of the specified data typedataField
- field number of the varies data fielddefaultType
- default type if the typeField is emptyinvalidType
- default type if the typeField is invalidfactory
- ModelClassFactory to be usedparserConfiguration
- parser configHL7Exception
- if the operation failsCopyright © 2001–2017 University Health Network. All rights reserved.