001 package org.vmdb.hl7;
002
003 /**
004 * <p><Title:> Order Common (ORC) Segment. </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 Common Order segment (ORC) is used to transmit fields that are common
009 * to all orders (all types of services that are requested). The premise of the
010 * VMDB message is that there is a standing order with all participating
011 * facilties to provide visit summary information to the VMDB. Thus, changes to
012 * visit information submitted to VMDB is, in fact, a change to the results of
013 * the standing order. While this segment is optional for initial transmission
014 * of visit summary information to the VMDB, it is required for updates and
015 * deletions of previously transmitted messages.</p>
016 * <p>The process defined by VMDB for updating a visit is for the original visit
017 * information to be deleted from the VMDB database and replaced with the
018 * contents of the replacement visit message. For this to be accomplished,
019 * only the first field of the ORC is necessary.</p>
020 * <p>Use of this process has not yet been implemented in high level code. See
021 * HL7 Standard Chapter 4 for details.</p>
022 * @author Michael K. Martin
023 * @version 1.0
024 */
025
026 public class ORCSegment extends HL7Segment {
027 private String sNm = "ORC";
028 private String sRl =
029 "DT ID[EI][EI][EI][ID][ID][TQ][CM][TS][XCN][XCN][XCN][PL]" +
030 "[XTN][TS][CE][CE][CE][XCN][CE][XON][XAD][XTN][XAD][CWE]";
031
032 public ORCSegment() {
033 setName( sNm );
034 setRule( sRl );
035 }
036
037 public ORCSegment( HL7SegmentContainer msgParent ) {
038 super( msgParent );
039 setName( sNm );
040 setRule( sRl );
041 }
042
043 /**
044 * Set the order control as new, cancel, replace or replacement.
045 * @param sControl String with NW new, CA cancel, RP replace,
046 * or RO replacement order. Note RO should follow RP.
047 * This breaks my model of searching for the first loop.
048 */
049 public void setOrderControl( String sControl ) {
050 try {
051 setField( sControl, 1 );
052 }
053 catch( ArrayIndexOutOfBoundsException ae ) {
054 ae.printStackTrace();
055 }
056 }
057
058 /**
059 * Get order control code.
060 * @return String with order control code
061 */
062 public String getOrderControl() {
063 HL7Element e = getField(1);
064 if( e != null )
065 return e.getValue();
066 else
067 return "";
068 }
069
070 } // End class ORCSegment
071