| 1 | ORCMEDT8 ;SLC/JM-QO, Generate quick order CRC ;3/3/06
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**245**;Dec 17, 1997;Build 2
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | UPDQNAME(ORIEN) ; Rename personal quick order name if needed
 | 
|---|
| 6 |  N OLDNAME,NEWNAME,DA,DR,DIE,DIDEL
 | 
|---|
| 7 |  I $P($G(^ORD(101.41,ORIEN,0)),U,4)'="Q" Q
 | 
|---|
| 8 |  S OLDNAME=$P($G(^ORD(101.41,ORIEN,0)),U,1)
 | 
|---|
| 9 |  I $E($P(OLDNAME,U),1,6)'="ORWDQ " Q
 | 
|---|
| 10 |  S NEWNAME="ORWDQ "_$$CRC4QCK(ORIEN)
 | 
|---|
| 11 |  I OLDNAME'=NEWNAME D
 | 
|---|
| 12 |  . S NEWNAME=$$ENSURNEW(NEWNAME)
 | 
|---|
| 13 |  . S DA=ORIEN,DR=".01///"_NEWNAME,DIE="^ORD(101.41," D ^DIE
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | ENSURNEW(NAME) ; Ensures the name is a new entry
 | 
|---|
| 17 |  N IDX,BASENAME,ABC,NEWNAME
 | 
|---|
| 18 |  S NEWNAME=NAME
 | 
|---|
| 19 |  S IDX=0,BASENAME=NEWNAME,ABC=97 ; Find an unused name
 | 
|---|
| 20 |  F  S IDX=$O(^ORD(101.41,"B",NEWNAME,0))  Q:'IDX  D
 | 
|---|
| 21 |  . S NEWNAME=BASENAME_$C(ABC) ; append letter 'a' - 'z'
 | 
|---|
| 22 |  . S ABC=ABC+1 I ABC>122 S BASENAME=BASENAME_"a",ABC=97
 | 
|---|
| 23 |  Q NEWNAME
 | 
|---|
| 24 | RAWCRC(ORIEN) ; Get a raw CRC value to determine if a record has changed
 | 
|---|
| 25 |  N ORDATA,RESULT,ADDCRLF,LASTLINE,LASTIDX,OLDCRC
 | 
|---|
| 26 |  S (RESULT,OLDCRC)=""
 | 
|---|
| 27 |  I $P($G(^ORD(101.41,ORIEN,0)),U,4)'="Q" G RWQ
 | 
|---|
| 28 |  I $E($P($G(^ORD(101.41,ORIEN,0)),U),1,6)'="ORWDQ " G RWQ
 | 
|---|
| 29 |  D LOADRSP^ORWDX(.ORDATA,ORIEN)
 | 
|---|
| 30 |  D PARSE
 | 
|---|
| 31 | RWQ Q RESULT
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  ; The following code attemps to duplicate the CRC calculated by the Delphi code
 | 
|---|
| 34 |  ; in CPRS for quick orders.  It will not match all the time, since not all the
 | 
|---|
| 35 |  ; data neded to make the determination is stored on the M side, but it does it's best.
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 | CRC4QCK(ORIEN) ; Get CRC for a personal quick order
 | 
|---|
| 38 |  N ORDATA,DISPGRP,DEFDLG,FORMID,RESULT,FORMDATA,ADDCRLF
 | 
|---|
| 39 |  N LASTLINE,LASTIDX,OLDCRC,FORMINFO,IDINFO,NEXTFORM
 | 
|---|
| 40 |  S RESULT="",FORMID=0
 | 
|---|
| 41 |  ; Must be personal quick order
 | 
|---|
| 42 |  I $P($G(^ORD(101.41,ORIEN,0)),U,4)'="Q" G EXT
 | 
|---|
| 43 |  I $E($P($G(^ORD(101.41,ORIEN,0)),U),1,6)'="ORWDQ " G EXT
 | 
|---|
| 44 |  S OLDCRC=$E($P($G(^ORD(101.41,ORIEN,0)),U,1),7,14)
 | 
|---|
| 45 |  F  Q:(RESULT=OLDCRC)!(FORMID="")  D
 | 
|---|
| 46 |  . K ORDATA D LOADRSP^ORWDX(.ORDATA,ORIEN)
 | 
|---|
| 47 |  . ; First pass don't use any form id - get baseline CRC
 | 
|---|
| 48 |  . I FORMID=1 D  Q:FORMID=""
 | 
|---|
| 49 |  . . S FORMID=""
 | 
|---|
| 50 |  . . S DISPGRP=$P($G(^ORD(101.41,ORIEN,0)),U,5) I '+DISPGRP Q  ; Must have a valid display group
 | 
|---|
| 51 |  . . S DEFDLG=$P($G(^ORD(100.98,DISPGRP,0)),U,4) I '+DEFDLG Q  ; Display group must have a valid default dialog
 | 
|---|
| 52 |  . . D FORMID^ORWDXM(.FORMID,DEFDLG) I '+FORMID S FORMID="" Q  ; Default dialog must have a valid windows form ID
 | 
|---|
| 53 |  . . I (FORMID=130)!(FORMID=140) D
 | 
|---|
| 54 |  . . . N NEWFORM D CHK94^ORWDPS1(.NEWFORM) I NEWFORM=1 S FORMID=135
 | 
|---|
| 55 |  . . D FORMINFO(.FORMINFO,.IDINFO,.NEXTFORM)
 | 
|---|
| 56 |  . I FORMID=0 S FORMID=1
 | 
|---|
| 57 |  . E  D SORTDATA I FORMDATA="" S FORMID="" Q  ; Updates FORMID
 | 
|---|
| 58 |  . D PARSE
 | 
|---|
| 59 | EXT Q RESULT
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | PARSE ; Parse Data
 | 
|---|
| 62 |  N DATAIDX,IDX,LINE,CODE,CRCDATA,OUTPUT,DONE,ISMASTER,LASTMSTR,FIRST,P3,LK4SPACE
 | 
|---|
| 63 |  S DATAIDX="",(IDX,DONE,ISMASTER,LASTMSTR,LASTIDX)=0,LASTLINE=""
 | 
|---|
| 64 |  F  D GETLINE Q:DONE  D  Q:DONE
 | 
|---|
| 65 |  . I ISMASTER D
 | 
|---|
| 66 |  . . S OUTPUT=+$P(LINE,U,1)_U_+$P(LINE,U,2)_U
 | 
|---|
| 67 |  . . S IDX=IDX+1,CRCDATA(IDX)=OUTPUT
 | 
|---|
| 68 |  . . S FIRST=1,P3=$P(LINE,U,3)
 | 
|---|
| 69 |  . . I P3="COMMENT" S ADDCRLF=1,LK4SPACE=1
 | 
|---|
| 70 |  . . E  D
 | 
|---|
| 71 |  . . . I P3="STATEMENTS" S ADDCRLF=1,LK4SPACE=0
 | 
|---|
| 72 |  . . . E  S ADDCRLF=0,LK4SPACE=0
 | 
|---|
| 73 |  . . F  D GETLINE Q:DONE!ISMASTER  D
 | 
|---|
| 74 |  . . . I CODE="i" S IDX=IDX+1,CRCDATA(IDX)=LINE
 | 
|---|
| 75 |  . . . I CODE="t" D
 | 
|---|
| 76 |  . . . . I FIRST S FIRST=0,OUTPUT=LINE
 | 
|---|
| 77 |  . . . . E  D
 | 
|---|
| 78 |  . . . . . I $L(LASTLINE)=0 S OUTPUT=$C(13)_$C(10)_LINE Q
 | 
|---|
| 79 |  . . . . . I LK4SPACE,$L(LASTLINE)>1,$E(LASTLINE,$L(LASTLINE))=" " S OUTPUT=""
 | 
|---|
| 80 |  . . . . . E  D
 | 
|---|
| 81 |  . . . . . . I ADDCRLF S OUTPUT=$C(13)_$C(10) ; ,$L(LASTLINE)<65
 | 
|---|
| 82 |  . . . . . . E  S OUTPUT=" "
 | 
|---|
| 83 |  . . . . . S OUTPUT=OUTPUT_LINE
 | 
|---|
| 84 |  . . . . S LASTLINE=LINE
 | 
|---|
| 85 |  . . . . S IDX=IDX+1,CRCDATA(IDX)=OUTPUT
 | 
|---|
| 86 |  . . . . I ADDCRLF S LASTIDX=IDX
 | 
|---|
| 87 |  . . I ISMASTER,'DONE S LASTMSTR=1
 | 
|---|
| 88 |  S RESULT=$$CRC4ARRY^ORCRC(.CRCDATA)
 | 
|---|
| 89 |  ; Same data can generate 2 different CRCs - CRLF on end of comments are stripped
 | 
|---|
| 90 |  I OLDCRC'="",RESULT'=OLDCRC,LASTIDX>0 D
 | 
|---|
| 91 |  . S CRCDATA(LASTIDX)=CRCDATA(LASTIDX)_$C(13)_$C(10)
 | 
|---|
| 92 |  . S RESULT=$$CRC4ARRY^ORCRC(.CRCDATA)
 | 
|---|
| 93 |  Q
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 | SORTDATA ; Sorts data by fields according to FormID
 | 
|---|
| 96 |  N IN,OUT,LINE,DATA,ID,CODE,INDEX,END,IDX,RTN,SUBFORM,SUBFORM2,SUBIDX,NODE
 | 
|---|
| 97 |  S SUBFORM="",SUBFORM2=""
 | 
|---|
| 98 |  S FORMDATA=$G(FORMINFO(FORMID)) I FORMDATA="" Q
 | 
|---|
| 99 |  I $E(FORMDATA,1,2)'="00" S RTN="SUBID"_$E(FORMDATA,1,2) D @RTN S FORMDATA=$G(FORMINFO(FORMID)) I FORMDATA="" Q
 | 
|---|
| 100 |  S IN=0,OUT=0,END=1000000,IDX=0
 | 
|---|
| 101 |  F  S IN=$O(ORDATA(IN)) Q:'+IN  D
 | 
|---|
| 102 |  . S LINE=ORDATA(IN)
 | 
|---|
| 103 |  . I $E(LINE)="~" D
 | 
|---|
| 104 |  . . S IDX=1,ID=$P(LINE,U,3),CODE="."_IDINFO(ID)_".",NODE=$P(LINE,U,2)
 | 
|---|
| 105 |  . . S INDEX=$F(FORMDATA,CODE),SUBIDX=0
 | 
|---|
| 106 |  . . I INDEX=0,SUBFORM'="" D
 | 
|---|
| 107 |  . . . S INDEX=($F(FORMDATA,".ZZZ."))
 | 
|---|
| 108 |  . . . I INDEX>0 S SUBIDX=$F(SUBFORM,CODE) I SUBIDX<1 S INDEX=0
 | 
|---|
| 109 |  . . I INDEX=0,SUBFORM2'="" D
 | 
|---|
| 110 |  . . . S INDEX=($F(FORMDATA,".XXX."))
 | 
|---|
| 111 |  . . . I INDEX>0 S SUBIDX=$F(SUBFORM2,CODE) I SUBIDX<1 S INDEX=0
 | 
|---|
| 112 |  . . I INDEX=0 S OUT=END,END=END+1
 | 
|---|
| 113 |  . . E  D
 | 
|---|
| 114 |  . . . I SUBIDX>0 D  I 1
 | 
|---|
| 115 |  . . . . S OUT=(INDEX-4)*250
 | 
|---|
| 116 |  . . . . S SUBIDX=(SUBIDX-4)\4
 | 
|---|
| 117 |  . . . . S OUT=OUT+SUBIDX+(NODE*20)
 | 
|---|
| 118 |  . . . E  S OUT=(INDEX-4)*250
 | 
|---|
| 119 |  . I IDX>0 D
 | 
|---|
| 120 |  . . S DATA(OUT,IDX)=LINE
 | 
|---|
| 121 |  . . S IDX=IDX+1
 | 
|---|
| 122 |  K ORDATA
 | 
|---|
| 123 |  S (IN,OUT,INDEX)=0
 | 
|---|
| 124 |  F  S IN=$O(DATA(IN)) Q:'+IN  D
 | 
|---|
| 125 |  . F  S INDEX=$O(DATA(IN,INDEX)) Q:'+INDEX  D
 | 
|---|
| 126 |  . . S OUT=OUT+1
 | 
|---|
| 127 |  . . S ORDATA(OUT)=DATA(IN,INDEX)
 | 
|---|
| 128 |  S FORMID=$G(NEXTFORM(FORMID))
 | 
|---|
| 129 |  Q
 | 
|---|
| 130 |  ;
 | 
|---|
| 131 | GETLINE ;
 | 
|---|
| 132 |  I LASTMSTR S LASTMSTR=0 Q
 | 
|---|
| 133 |  S DATAIDX=$O(ORDATA(DATAIDX))
 | 
|---|
| 134 |  S DONE=(DATAIDX="")
 | 
|---|
| 135 |  I 'DONE S CODE=$E(ORDATA(DATAIDX),1),LINE=$E(ORDATA(DATAIDX),2,9999),ISMASTER=(CODE="~")
 | 
|---|
| 136 |  Q
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | FORMINFO(FORMINFO,IDINFO,NEXTFORM) ; populates FORMINFO,IDINFO and NEXTFORM arrays
 | 
|---|
| 139 |  N IDX,LINE,CODE,RTN,NEXT
 | 
|---|
| 140 |  S IDX=1
 | 
|---|
| 141 |  F  S LINE=$E($T(FORMTBL+IDX),21,999) Q:$L(LINE)<1  D
 | 
|---|
| 142 |  . S CODE=$E(LINE,1,3),NEXT=$E(LINE,5,7),LINE=$E(LINE,9,999)
 | 
|---|
| 143 |  . S FORMINFO(CODE)=LINE
 | 
|---|
| 144 |  . I NEXT'="   " S NEXTFORM(CODE)=NEXT
 | 
|---|
| 145 |  . S IDX=IDX+1
 | 
|---|
| 146 |  S IDX=1
 | 
|---|
| 147 |  F  S LINE=$E($T(IDTABLE+IDX),4,999) Q:$L(LINE)<1  D
 | 
|---|
| 148 |  . S CODE=$E(LINE,1,3),LINE=$E(LINE,5,99)
 | 
|---|
| 149 |  . S IDINFO(LINE)=CODE,IDX=IDX+1
 | 
|---|
| 150 |  Q
 | 
|---|
| 151 |  ;
 | 
|---|
| 152 | HASCODE(CODE) ; scans data for code
 | 
|---|
| 153 |  N RESULT,IDX,LINE S IDX="",RESULT=0
 | 
|---|
| 154 |  F  S IDX=$O(ORDATA(IDX)) Q:IDX=""  D  Q:IDX=""
 | 
|---|
| 155 |  . S LINE=ORDATA(IDX)
 | 
|---|
| 156 |  . I $E(LINE)="~" D
 | 
|---|
| 157 |  . . S LINE=$P(LINE,U,3)
 | 
|---|
| 158 |  . . I LINE=CODE S RESULT=1,IDX=""
 | 
|---|
| 159 |  Q RESULT
 | 
|---|
| 160 |  ;
 | 
|---|
| 161 | SUBID ; SubID codes are used to change the form ID depending on depending on data
 | 
|---|
| 162 |  ; Data below is FormID;SubID.list of ID codes in order of use
 | 
|---|
| 163 |  ; SubID's are used to change the FormID depending on data values.
 | 
|---|
| 164 |  Q
 | 
|---|
| 165 | SUBID01 ; Generic Meds dialog
 | 
|---|
| 166 |  N INPT,COMPLEX
 | 
|---|
| 167 |  S INPT=$$HASCODE("NOW"),COMPLEX=$$HASCODE("DAYS")
 | 
|---|
| 168 |  I INPT D  I 1
 | 
|---|
| 169 |  . I COMPLEX S FORMID="INX",SUBFORM=$G(FORMINFO("MDX"))
 | 
|---|
| 170 |  . E  S FORMID="INP"
 | 
|---|
| 171 |  E  I COMPLEX S FORMID="OPX",SUBFORM=$G(FORMINFO("MDX"))
 | 
|---|
| 172 |  Q
 | 
|---|
| 173 | SUBID02 ; IV Meds
 | 
|---|
| 174 |  S SUBFORM=$G(FORMINFO("IVL"))
 | 
|---|
| 175 |  Q
 | 
|---|
| 176 | SUBID03 ; Delphi code adds URGENCY prompt that does not exist in dialog on M side
 | 
|---|
| 177 |  I '$$HASCODE("URGENCY") D
 | 
|---|
| 178 |  . N X
 | 
|---|
| 179 |  . S X=$O(ORDATA(999999),-1)+1
 | 
|---|
| 180 |  . S ORDATA(X)="~0^1^URGENCY"
 | 
|---|
| 181 |  Q
 | 
|---|
| 182 | SUBID04 ; Blood Bank will probably be wrong - quick orders not working in v26
 | 
|---|
| 183 |  S SUBFORM=$G(FORMINFO("BBK"))
 | 
|---|
| 184 |  S SUBFORM2=$G(FORMINFO("BBX"))
 | 
|---|
| 185 |  Q
 | 
|---|
| 186 | SUBID05 ; Diet
 | 
|---|
| 187 |  I FORMID="117" S SUBFORM=$G(FORMINFO("DLN"))
 | 
|---|
| 188 |  I FORMID="TBF" S SUBFORM=$G(FORMINFO("TBL"))
 | 
|---|
| 189 |  Q
 | 
|---|
| 190 | FORMTBL ; Form Table - Forms allowing personal quick orders, as of CPRS GUI v26 (OR*3*215)
 | 
|---|
| 191 |  ;;Consult         ;110;CS2;00.ORD.CLS.URG.PLA.MSC.COD.PRV.COM.
 | 
|---|
| 192 |  ;;                ;CS2;   ;00.ORD.CLS.URG.PLA.MSC.COD.COM.PRV.
 | 
|---|
| 193 |  ;;Procedure       ;112;PR2;00.SER.ORD.CLS.URG.PLA.MSC.COD.PRV.COM.
 | 
|---|
| 194 |  ;;                ;PR2;PR3;00.SER.ORD.COM.CLS.URG.PLA.MSC.COD.PRV.
 | 
|---|
| 195 |  ;;                ;PR3;   ;00.SER.ORD.CLS.URG.PLA.MSC.COD.COM.PRV.
 | 
|---|
| 196 |  ;;Diet            ;117;TBF;05.STT.STP.ZZZ.COM.DEL.CAN.
 | 
|---|
| 197 |  ;;                ;TBF;OPM;05.ZZZ.COM.CAN.
 | 
|---|
| 198 |  ;;                ;OPM;   ;00.ORD.MEL.STT.STP.SCH.COM.DEL.
 | 
|---|
| 199 |  ;;                ;DLN;   ;00.ORD.
 | 
|---|
| 200 |  ;;                ;TBL;   ;00.ORD.STR.INS.
 | 
|---|
| 201 |  ;;Lab             ;120;   ;00.ORD.SAM.SPE.URG.COM.COL.STT.SCH.DAY.
 | 
|---|
| 202 |  ;;Blood Bank      ;125;BB2;04.ZZZ.DTE.COL.URG.COM.STT.MSC.REA.YN0.XXX.
 | 
|---|
| 203 |  ;;                ;BB2;   ;04.ZZZ.URG.COM.COL.DTE.MSC.REA.YN0.STT.XXX.
 | 
|---|
| 204 |  ;;                ;BBK;   ;00.ORD.QTY.MDF.SPC.
 | 
|---|
| 205 |  ;;                ;BBX;   ;00.RES.
 | 
|---|
| 206 |  ;;Inpatient Meds  ;130;   ;00.ORD.DRG.INS.ROU.SCH.URG.COM.
 | 
|---|
| 207 |  ;;Generic Meds    ;135;   ;01.ORD.INS.DRG.DOS.STR.NAM.ROU.SCH.URG.COM.SUP.QTY.REF.SC0.PCK.PI0.SIG.
 | 
|---|
| 208 |  ;;                ;INP;   ;00.ORD.INS.DRG.DOS.STR.NAM.ROU.SCH.URG.COM.NOW.SIG.
 | 
|---|
| 209 |  ;;                ;OPX;   ;00.ORD.STR.NAM.DRG.ZZZ.URG.COM.SUP.QTY.REF.SC0.PCK.PI0.SIG.
 | 
|---|
| 210 |  ;;                ;INX;   ;00.ORD.STR.NAM.DRG.ZZZ.URG.COM.NOW.SIG.
 | 
|---|
| 211 |  ;;                ;MDX;   ;00.INS.DOS.ROU.SCH.DAY.CNJ.
 | 
|---|
| 212 |  ;;Outpatient Meds ;140;   ;00.ORD.DRG.INS.MSC.ROU.SCH.QTY.REF.PCK.URG.COM.SC0.
 | 
|---|
| 213 |  ;;Non-VA Meds     ;145;   ;03.ORD.INS.DRG.DOS.STR.NAM.ROU.SCH.URG.COM.STT.STA.NOW.SIG.
 | 
|---|
| 214 |  ;;Radiology       ;160;   ;00.ORD.STT.URG.MOD.CLS.IML.PRG.YN0.PRE.COM.MDF.PRV.CON.RSH.LOC.
 | 
|---|
| 215 |  ;;IV Meds         ;180;   ;02.ZZZ.RAT.URG.DAY.COM.SCH.
 | 
|---|
| 216 |  ;;                ;IVL;   ;00.ORD.VOL.ADD.STR.UNT.
 | 
|---|
| 217 |  ;;
 | 
|---|
| 218 | IDTABLE ; ID table - returns codes used in the form table IDINFO("LONGNAME")=SHORNAME
 | 
|---|
| 219 |  ;;ADD;ADDITIVE
 | 
|---|
| 220 |  ;;CAN;CANCEL
 | 
|---|
| 221 |  ;;CLS;CLASS
 | 
|---|
| 222 |  ;;COD;CODE
 | 
|---|
| 223 |  ;;COL;COLLECT
 | 
|---|
| 224 |  ;;COM;COMMENT
 | 
|---|
| 225 |  ;;CNJ;CONJ
 | 
|---|
| 226 |  ;;CON;CONTRACT
 | 
|---|
| 227 |  ;;DTE;DATETIME
 | 
|---|
| 228 |  ;;DAY;DAYS
 | 
|---|
| 229 |  ;;DEL;DELIVERY
 | 
|---|
| 230 |  ;;DOS;DOSE
 | 
|---|
| 231 |  ;;DRG;DRUG
 | 
|---|
| 232 |  ;;IML;IMLOC
 | 
|---|
| 233 |  ;;INS;INSTR
 | 
|---|
| 234 |  ;;ISO;ISOLATION
 | 
|---|
| 235 |  ;;LOC;LOCATION
 | 
|---|
| 236 |  ;;MEL;MEAL
 | 
|---|
| 237 |  ;;MSC;MISC
 | 
|---|
| 238 |  ;;MOD;MODE
 | 
|---|
| 239 |  ;;MDF;MODIFIER
 | 
|---|
| 240 |  ;;NAM;NAME
 | 
|---|
| 241 |  ;;NOW;NOW
 | 
|---|
| 242 |  ;;ORD;ORDERABLE
 | 
|---|
| 243 |  ;;PI0;PI
 | 
|---|
| 244 |  ;;PCK;PICKUP
 | 
|---|
| 245 |  ;;PLA;PLACE
 | 
|---|
| 246 |  ;;PRG;PREGNANT
 | 
|---|
| 247 |  ;;PRE;PREOP
 | 
|---|
| 248 |  ;;PRV;PROVIDER
 | 
|---|
| 249 |  ;;QTY;QTY
 | 
|---|
| 250 |  ;;RAT;RATE
 | 
|---|
| 251 |  ;;REA;REASON
 | 
|---|
| 252 |  ;;REF;REFILLS
 | 
|---|
| 253 |  ;;RSH:RESEARCH
 | 
|---|
| 254 |  ;;RES;RESULTS
 | 
|---|
| 255 |  ;;ROU;ROUTE
 | 
|---|
| 256 |  ;;SAM;SAMPLE
 | 
|---|
| 257 |  ;;SC0;SC
 | 
|---|
| 258 |  ;;SCH;SCHEDULE
 | 
|---|
| 259 |  ;;SER;SERVICE
 | 
|---|
| 260 |  ;;SIG;SIG
 | 
|---|
| 261 |  ;;SPE;SPECIMEN
 | 
|---|
| 262 |  ;;SPC;SPECSTS
 | 
|---|
| 263 |  ;;STT;START
 | 
|---|
| 264 |  ;;STA;STATEMENTS
 | 
|---|
| 265 |  ;;STP;STOP
 | 
|---|
| 266 |  ;;STR;STRENGTH
 | 
|---|
| 267 |  ;;SUP;SUPPLY
 | 
|---|
| 268 |  ;;TIM;TIME
 | 
|---|
| 269 |  ;;UNT;UNITS
 | 
|---|
| 270 |  ;;URG;URGENCY
 | 
|---|
| 271 |  ;;VIS;VISITSTR
 | 
|---|
| 272 |  ;;VOL;VOLUME
 | 
|---|
| 273 |  ;;XFU;XFUSION
 | 
|---|
| 274 |  ;;YN0;YN
 | 
|---|
| 275 |  ;;XXX;XXX
 | 
|---|
| 276 |  ;;ZZZ;ZZZ
 | 
|---|
| 277 |  ;;              
 | 
|---|