001 package org.vmdb.hl7;
002
003 /**
004 * <p><Title:> Composite Message Type Element. </p>
005 * <p>Description: HL7 Network Connectivity For VMDB. </p>
006 * <p>Copyright: Copyright (c) 2002-2003. </p>
007 * <p>Company: Veterinary Medical Database (VMDB). </p>
008 * <p>Note: This element is only used in MSH to identify the specific message.
009 * As such it will probably <i>only</i> be used in implementation of classes
010 * that override HL7Message to implement specific message types.
011 * @author Michael K. Martin
012 * @version 1.0
013 */
014
015 public class MSGElement extends HL7Element {
016 private String sNm = "MSG";
017 private String sRl = "ST ST[ST]";
018
019 /**
020 * Construct a composite message type element using the default name and type constants
021 * at the default level FIELD.
022 */
023 public MSGElement() {
024 super( FIELD );
025 setName( sNm );
026 setRule( sRl );
027 setType( "MSG" );
028 }
029
030 /**
031 * Set the general type of the message.
032 * @param sMsgType String with message type abbreviation such as "ORU" or "ACK"
033 */
034 public void setMsgType( String sMsgType ) {
035 HL7Element e = new SimpleElement( iLevel + 1 );
036 e.setType( "ST" );
037 e.setName( "MSG.1" );
038 e.setValue( sMsgType );
039 try {
040 setComponent( e, 1 );
041 } catch( MalformedFieldException mfe ) {
042 mfe.printStackTrace();
043 }
044 }
045
046 /**
047 * Get the general type of the message.
048 * @return String with message type abbreviation such as "ORU" or "ACK"
049 */
050 public String getMsgType() {
051 HL7Element e = getComponent( 1 );
052 if( e != null )
053 return e.toString();
054 else
055 return "";
056 }
057
058 /**
059 * Set the event type that triggers the message.
060 * @param sEventType String with event type abbreviation such as "R01"
061 */
062 public void setEventType( String sEventType ) {
063 HL7Element e = new SimpleElement( iLevel + 1 );
064 e.setType( "ST" );
065 e.setName( "MSG.2" );
066 e.setValue( sEventType );
067 try {
068 setComponent( e, 2 );
069 } catch( MalformedFieldException mfe ) {
070 mfe.printStackTrace();
071 }
072 }
073
074 /**
075 * Get the event type that triggers the message.
076 * @return String with event type abbreviation such as "R01"
077 */
078 public String getEventType() {
079 HL7Element e = getComponent( 2 );
080 if( e != null )
081 return e.toString();
082 else
083 return "";
084 }
085
086 /**
087 * Set the structure code of the message.
088 * @param sMsgVersion String with message structure
089 */
090 public void setMsgStructure( String sMsgStructure ) {
091 HL7Element e = new SimpleElement( iLevel + 1 );
092 e.setType( "ST" );
093 e.setName( "MSG.3" );
094 e.setValue( sMsgStructure );
095 try {
096 setComponent( e, 3 );
097 } catch( MalformedFieldException mfe ) {
098 mfe.printStackTrace();
099 }
100 }
101
102 /**
103 * Get the structure code of the message.
104 * @return String with message structure code
105 */
106 public String getMsgStructure() {
107 HL7Element e = getComponent( 2 );
108 if( e != null )
109 return e.toString();
110 else
111 return "";
112 }
113
114 } // End class MSG Element