001 package org.vmdb.hl7;
002
003 /**
004 * <p><Title:> Extended Composite ID with Check Digit (CX) 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>The method names follow the convention established by other Element type
009 * classes. Names follow the HL7 documentation.</p>
010 * <p>See the HL7 documentation for an explanation of each component.</p>
011 * @author Michael K. Martin
012 * @version 1.0
013 */
014
015 public class CXElement extends HL7Element {
016 private String sNm = "CX";
017 private String sRl = "ST[ST][ID][HD][IS][HD]";
018
019 /**
020 * Construct a Composite ID Element using the default name and type constants.
021 * @param iLevel One of the constants for specifying level as FIELD, COMPONENT, or
022 * SUBCOMPONENT. Default FIELD.
023 */
024 public CXElement( int iLevel ) {
025 super( iLevel );
026 setName( sNm );
027 setRule( sRl );
028 setType( "CX" );
029 }
030
031 /**
032 * Construct a Composite ID Element using the default name and type constants
033 * at the default level FIELD.
034 */
035 public CXElement() {
036 super( FIELD );
037 setName( sNm );
038 setRule( sRl );
039 setType( "CX" );
040 }
041
042 public void setIdentifier( String sId ) {
043 HL7Element e = new SimpleElement( iLevel + 1 );
044 e.setType( "ST" );
045 e.setName( "CX.1" );
046 e.setValue( sId );
047 try {
048 setComponent( e, 1 );
049 } catch( MalformedFieldException mfe ) {
050 mfe.printStackTrace();
051 }
052 }
053
054 public String getIdentifier() {
055 HL7Element e = getComponent( 1 );
056 if( e != null )
057 return e.toString();
058 else
059 return "";
060 }
061
062 public void setCheckDigit( String sCheckDigit ) {
063 HL7Element e = new SimpleElement( iLevel + 1 );
064 e.setType( "ST" );
065 e.setName( "CX.2" );
066 e.setValue( sCheckDigit );
067 try {
068 setComponent( e, 2 );
069 } catch( MalformedFieldException mfe ) {
070 mfe.printStackTrace();
071 }
072 }
073
074 public String getCheckDigit() {
075 HL7Element e = getComponent( 2 );
076 if( e != null )
077 return e.toString();
078 else
079 return "";
080 }
081
082 public void setCheckDigitSystem( String sCheckDigitSystem ) {
083 HL7Element e = new SimpleElement( iLevel + 1 );
084 e.setType( "ST" );
085 e.setName( "CX.3" );
086 e.setValue( sCheckDigitSystem );
087 try {
088 setComponent( e, 3 );
089 } catch( MalformedFieldException mfe ) {
090 mfe.printStackTrace();
091 }
092 }
093
094 public String getCheckDigitSystem() {
095 HL7Element e = getComponent( 3 );
096 if( e != null )
097 return e.toString();
098 else
099 return "";
100 }
101
102 /**
103 * Set just the namespace id of the assigning authority.<br><br>
104 * This is a convenience method to allow simple assigner identification via
105 * one-field CX's.
106 * @param sNamespaceId String name of assigning authority
107 */
108 public void setAssigningAuthorityName( String sNamespaceId ) {
109 HDElement e = new HDElement( iLevel + 1 );
110 e.setNamespaceId( sNamespaceId );
111 e.setName( "CX.4" );
112 try {
113 setComponent( e, 4 );
114 } catch( MalformedFieldException mfe ) {
115 mfe.printStackTrace();
116 }
117 }
118
119 /**
120 * Set the assigning authority from the individual components of an HD Element.<br><br>
121 * This is a convenience method to automatically build the HD Element required here.
122 * @param sNamespaceId String name of assigning authority
123 * @param sUniveralId String with identifier of assigning authority
124 * @param sIdType String with the identifier type of the assigner's identifier
125 */
126 public void setAssigningAuthority( String sNamespaceId,
127 String sUniversalId,
128 String sIdType ) {
129 HDElement e = new HDElement( iLevel + 1 );
130 e.setNamespaceId( sNamespaceId );
131 e.setUniversalId( sUniversalId );
132 e.setUniversalIdType( sIdType );
133 e.setName( "CX.4" );
134 try {
135 setComponent( e, 4 );
136 } catch( MalformedFieldException mfe ) {
137 mfe.printStackTrace();
138 }
139 }
140
141 public void setAssigningAuthority( HDElement hdE ) {
142 hdE.setName( "CX.4" );
143 try {
144 setComponent( hdE, 4 );
145 } catch( MalformedFieldException mfe ) {
146 mfe.printStackTrace();
147 }
148 }
149
150 public HDElement getAssigningAuthority() {
151 return (HDElement)getComponent( 4 );
152 }
153
154 public String getAssigningAuthorityName() {
155 HDElement hde = (HDElement)getComponent( 4 );
156 if( hde != null )
157 return hde.getNamespaceId();
158 else
159 return "";
160 }
161
162 public String getAssigningAuthorityId() {
163 HDElement hde = (HDElement)getComponent( 4 );
164 if( hde != null )
165 return hde.getUniversalId();
166 else
167 return "";
168 }
169
170 public void setIdentifierTypeCode( String sIdentifierTypeCode ) {
171 HL7Element e = new SimpleElement( iLevel + 1 );
172 e.setType( "ST" );
173 e.setName( "CX.5" );
174 e.setValue( sIdentifierTypeCode );
175 try {
176 setComponent( e, 5 );
177 } catch( MalformedFieldException mfe ) {
178 mfe.printStackTrace();
179 }
180 }
181
182 public String getIdentifierTypeCode() {
183 HL7Element e = getComponent( 5 );
184 if( e != null )
185 return e.toString();
186 else
187 return "";
188 }
189
190 /**
191 * Set just the namespace id of the assigning facility.<br><br>
192 * This is a convenience method to allow simple assigner identification via
193 * one-field CX's.
194 * @param sNamespaceId String name of assigning facility
195 */
196 public void setAssigningFacilityName( String sNamespaceId ) {
197 HDElement e = new HDElement( iLevel + 1 );
198 e.setNamespaceId( sNamespaceId );
199 e.setName( "CX.6" );
200 try {
201 setComponent( e, 6 );
202 } catch( MalformedFieldException mfe ) {
203 mfe.printStackTrace();
204 }
205 }
206
207 /**
208 * Set the assigning facility from the individual components of an HD Element.<br><br>
209 * This is a convenience method to automatically build the HD Element required here.
210 * @param sNamespaceId String name of assigning facility
211 * @param sUniveralId String with identifier of assigning facility
212 * @param sIdType String with the identifier type of the assigner's identifier
213 */
214 public void setAssigningFacility( String sNamespaceId,
215 String sUniversalId,
216 String sIdType ) {
217 HDElement e = new HDElement( iLevel + 1 );
218 e.setNamespaceId( sNamespaceId );
219 e.setUniversalId( sUniversalId );
220 e.setUniversalIdType( sIdType );
221 e.setName( "CX.6" );
222 try {
223 setComponent( e, 6 );
224 } catch( MalformedFieldException mfe ) {
225 mfe.printStackTrace();
226 }
227 }
228
229 public void setAssigningFacility( HDElement hdE ) {
230 hdE.setName( "CX.6" );
231 try {
232 setComponent( hdE, 6 );
233 } catch( MalformedFieldException mfe ) {
234 mfe.printStackTrace();
235 }
236 }
237
238 public HDElement getAssigningFacility() {
239 return (HDElement)getComponent( 6 );
240 }
241
242 public String getAssigningFacilityName() {
243 HDElement hde = (HDElement)getComponent( 6 );
244 if( hde != null )
245 return hde.getNamespaceId();
246 else
247 return "";
248 }
249
250 public String getAssigningFacilityId() {
251 HDElement hde = (HDElement)getComponent( 6 );
252 if( hde != null )
253 return hde.getUniversalId();
254 else
255 return "";
256 }
257
258 }// End class CXElement