/** * @deprecated use {@link Message#generateACK()} */ public static Message makeACK(Segment inboundHeader) throws HL7Exception, IOException { // Make sure that the referenced message is not just a dummy DeepCopy.copy(inboundHeader, (Segment)inboundHeader.getMessage().get("MSH")); return inboundHeader.getMessage().generateACK(); }
/** * @deprecated use {@link Message#generateACK()} */ public static Message makeACK(Segment inboundHeader) throws HL7Exception, IOException { // Make sure that the referenced message is not just a dummy DeepCopy.copy(inboundHeader, (Segment)inboundHeader.getMessage().get("MSH")); return inboundHeader.getMessage().generateACK(); }
/** * Returns given segment serialized as a pipe-encoded string. * * @param source segment to be encoded * @param encodingChars encoding characters to be used * @return encoded group */ public static String encode(Segment source, EncodingCharacters encodingChars) { return encode(source, encodingChars, source.getMessage().getParser().getParserConfiguration(), null); }
/** * Returns given segment serialized as a pipe-encoded string. * * @param source segment to be encoded * @param encodingChars encoding characters to be used * @return encoded group */ public static String encode(Segment source, EncodingCharacters encodingChars) { return encode(source, encodingChars, source.getMessage().getParser().getParserConfiguration(), null); }
public static void fixMFE4(Segment segment, ModelClassFactory factory, ParserConfiguration parserConfiguration) throws HL7Exception { if (!(segment.getName().contains("MFE")) && Version.versionOf(segment.getMessage().getVersion()).isGreaterThan(Version.V23)) { throw new IllegalArgumentException("Expected MFE segment, but was: " + segment.getName()); } fix(segment, 5, 4, null, null, factory, parserConfiguration); }
public static void fixMFE4(Segment segment, ModelClassFactory factory, ParserConfiguration parserConfiguration) throws HL7Exception { if (!(segment.getName().contains("MFE")) && Version.versionOf(segment.getMessage().getVersion()).isGreaterThan(Version.V23)) { throw new IllegalArgumentException("Expected MFE segment, but was: " + segment.getName()); } fix(segment, 5, 4, null, null, factory, parserConfiguration); }
private EncodingCharacters getValidEncodingCharacters(char fieldSep, Segment msh) throws HL7Exception { String encCharString = Terser.get(msh, 2, 0, 1, 1); if (encCharString == null) { throw new HL7Exception("Can't encode message: MSH-2 (encoding characters) is missing"); } if (Version.V27.isGreaterThan(Version.versionOf(msh.getMessage().getVersion())) && encCharString.length() != 4) { throw new HL7Exception("Encoding characters (MSH-2) value '" + encCharString + "' invalid -- must be 4 characters", ErrorCode.DATA_TYPE_ERROR); } else if (encCharString.length() != 4 && encCharString.length() != 5) { throw new HL7Exception("Encoding characters (MSH-2) value '" + encCharString + "' invalid -- must be 4 or 5 characters", ErrorCode.DATA_TYPE_ERROR); } return new EncodingCharacters(fieldSep, encCharString); }
Version.versionOf(segmentObject.getMessage().getVersion()).isGreaterThan(Version.V23)) { FixFieldDataType.fixMFE4(segmentObject, getFactory(), getHapiContext().getParserConfiguration());
private EncodingCharacters getValidEncodingCharacters(char fieldSep, Segment msh) throws HL7Exception { String encCharString = Terser.get(msh, 2, 0, 1, 1); if (encCharString == null) { throw new HL7Exception("Can't encode message: MSH-2 (encoding characters) is missing"); } if (Version.V27.isGreaterThan(Version.versionOf(msh.getMessage().getVersion())) && encCharString.length() != 4) { throw new HL7Exception("Encoding characters (MSH-2) value '" + encCharString + "' invalid -- must be 4 characters", ErrorCode.DATA_TYPE_ERROR); } else if (encCharString.length() != 4 && encCharString.length() != 5) { throw new HL7Exception("Encoding characters (MSH-2) value '" + encCharString + "' invalid -- must be 4 or 5 characters", ErrorCode.DATA_TYPE_ERROR); } return new EncodingCharacters(fieldSep, encCharString); }
Version.versionOf(segmentObject.getMessage().getVersion()).isGreaterThan(Version.V23)) { FixFieldDataType.fixMFE4(segmentObject, getFactory(), getHapiContext().getParserConfiguration());
/** * <p> * 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. * </p> * <p> * 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: {@link #DEFAULT_OBX2_TYPE_PROP} and {@link #INVALID_OBX2_TYPE_PROP}, * or by using configuration in {@link ParserConfiguration} * </p> * * @param segment OBX segment instance to be modified * @param factory ModelClassFactory to be used * @throws HL7Exception if the operation fails * @deprecated use FixOBX5#fixOBX5 */ public static void fixOBX5(Segment segment, ModelClassFactory factory) throws HL7Exception { FixFieldDataType.fixOBX5(segment, factory, segment.getMessage().getParser().getParserConfiguration()); }
/** * <p> * 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. * </p> * <p> * 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: {@link #DEFAULT_OBX2_TYPE_PROP} and {@link #INVALID_OBX2_TYPE_PROP}, * or by using configuration in {@link ParserConfiguration} * </p> * * @param segment OBX segment instance to be modified * @param factory ModelClassFactory to be used * @throws HL7Exception if the operation fails * @deprecated use FixOBX5#fixOBX5 */ public static void fixOBX5(Segment segment, ModelClassFactory factory) throws HL7Exception { FixFieldDataType.fixOBX5(segment, factory, segment.getMessage().getParser().getParserConfiguration()); }
private Message getInMessage(Segment inHeader) throws HL7Exception, IOException { Message in; if (inHeader != null) { in = inHeader.getMessage(); // the message may be a dummy message, whose MSH segment is incomplete DeepCopy.copy(inHeader, (Segment) in.get("MSH")); } else { in = Version.highestAvailableVersionOrDefault().newGenericMessage(myParser.getFactory()); ((GenericMessage) in).initQuickstart("ACK", "", ""); } return in; }
private Message getInMessage(Segment inHeader) throws HL7Exception, IOException { Message in; if (inHeader != null) { in = inHeader.getMessage(); // the message may be a dummy message, whose MSH segment is incomplete DeepCopy.copy(inHeader, (Segment) in.get("MSH")); } else { in = Version.highestAvailableVersionOrDefault().newGenericMessage(myParser.getFactory()); ((GenericMessage) in).initQuickstart("ACK", "", ""); } return in; }
Version.versionOf(destination.getMessage().getVersion()).isGreaterThan(Version.V23)) { FixFieldDataType.fixMFE4(destination, getFactory(), getHapiContext().getParserConfiguration());
/** * Generates an empty response message. This class generates an * ACKnowledgement using the code returned by {@link #getSuccessAcknowledgementCode()}. * * @param request request message, either a {@link String} or a * {@link Message} * @return acknowledgment to the request * @throws HL7Exception */ protected Message generateResponseMessage(Object request) throws HL7Exception { try { Message in; if (request instanceof String) { Segment s = getHapiContext().getGenericParser().getCriticalResponseData( (String)request); in = s.getMessage(); DeepCopy.copy(s, (Segment) in.get("MSH")); } else if (request instanceof Message) { in = (Message) request; } else { throw new HL7Exception("Validated message must be either Message or String"); } return in.generateACK(getSuccessAcknowledgementCode(), null); } catch (IOException e) { throw new HL7Exception(e); } }
/** * Generates an empty response message. This class generates an * ACKnowledgement using the code returned by {@link #getSuccessAcknowledgementCode()}. * * @param request request message, either a {@link String} or a * {@link Message} * @return acknowledgment to the request * @throws HL7Exception */ protected Message generateResponseMessage(Object request) throws HL7Exception { try { Message in; if (request instanceof String) { Segment s = getHapiContext().getGenericParser().getCriticalResponseData( (String)request); in = s.getMessage(); DeepCopy.copy(s, (Segment) in.get("MSH")); } else if (request instanceof Message) { in = (Message) request; } else { throw new HL7Exception("Validated message must be either Message or String"); } return in.generateACK(getSuccessAcknowledgementCode(), null); } catch (IOException e) { throw new HL7Exception(e); } }
private static Transportable makeAcceptAck(Transportable theMessage, String theAckCode, ErrorCode theErrorCode, String theDescription) throws HL7Exception { Segment header = ourParser.getCriticalResponseData(theMessage.getMessage()); Message dummy = header.getMessage(); // MSH header refers to dummy, but not the other way round! DeepCopy.copy(header, (Segment)dummy.get("MSH")); try { HL7Exception hl7e = new HL7Exception(theDescription, theErrorCode); AcknowledgmentCode code = theAckCode == null ? AcknowledgmentCode.CR : AcknowledgmentCode.valueOf(theAckCode); Message out = dummy.generateACK(code, hl7e); String originalEncoding = ourParser.getEncoding(theMessage.getMessage()); String ackText = ourParser.encode(out, originalEncoding); return new TransportableImpl(ackText); } catch (IOException e) { throw new HL7Exception(e); } }
private static Transportable makeAcceptAck(Transportable theMessage, String theAckCode, ErrorCode theErrorCode, String theDescription) throws HL7Exception { Segment header = ourParser.getCriticalResponseData(theMessage.getMessage()); Message dummy = header.getMessage(); // MSH header refers to dummy, but not the other way round! DeepCopy.copy(header, (Segment)dummy.get("MSH")); try { HL7Exception hl7e = new HL7Exception(theDescription, theErrorCode); AcknowledgmentCode code = theAckCode == null ? AcknowledgmentCode.CR : AcknowledgmentCode.valueOf(theAckCode); Message out = dummy.generateACK(code, hl7e); String originalEncoding = ourParser.getEncoding(theMessage.getMessage()); String ackText = ourParser.encode(out, originalEncoding); return new TransportableImpl(ackText); } catch (IOException e) { throw new HL7Exception(e); } }
Terser.set(mshOut, 9, 0, 1, 1, "ACK"); Terser.set(mshOut, 9, 0, 2, 1, Terser.get(mshIn, 9, 0, 2, 1)); String v = mshOut.getMessage().getVersion(); if (v != null) { Version version = Version.versionOf(v); Terser.set(mshOut, 10, 0, 1, 1, mshIn.getMessage().getParser().getParserConfiguration().getIdGenerator().getID()); Terser.set(mshOut, 11, 0, 1, 1, procID);