- ORKUTL ; slc/CLA - Utility routine for order checking ;5/21/97 16:25
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**6**;Dec 17, 1997
- ONOFF(ORK,ORKUSR,ORKPT) ;Extrinsic function to check param file determines if
- ; user ORKUSR should receive order check ORK for patient ORKPT.
- ;ORK order check ien from file 864.5 (req'd)
- ;ORKUSR user ien from file 200 (req'd)
- ;ORKPT patient ien from file 2 (not req'd)
- ;
- N NODE,ORKNAME,ORKUSRN,ORKUSRF,ORKPTN,ORKLOC,ORKLOCN,ORKLOCF
- N ORKSRV,ORKSRVN,ORKSRVF,ORKDIVF,ORKSYSF,ORKPKGF
- ;
- ;get order check name:
- S NODE=$G(^ORD(100.8,ORK,0)) S:$L($G(NODE)) ORKNAME=$P(NODE,U)
- ;
- ;get user name:
- S NODE=$G(^VA(200,ORKUSR,0)) S:$L($G(NODE)) ORKUSRN=$P(NODE,U)
- ;
- ;get patient name:
- S:$L($G(ORKPT)) NODE=$G(^DPT(ORKPT,0)) S:$L($G(NODE)) ORKPTN=$P(NODE,U)
- ;
- ;get patient's location (INPATIENT ONLY - outpt locations cannot be
- ;reliably determined, and many simultaneous outpt locations can occur):
- I +$G(ORKPT)>0 D
- .N DFN S DFN=ORKPT,VA200="" D OERR^VADPT
- .S ORKLOC=+$G(^DIC(42,+VAIN(4),44)) I +$G(ORKLOC)>0 D
- ..S ORKLOCN=$P(^SC(+ORKLOC,0),U)
- K VA200,VAIN
- ;
- ;get user's service/section:
- S ORKSRV=$G(^VA(200,ORKUSR,5)) I +ORKSRV>0 S ORKSRV=$P(ORKSRV,U) D
- .S NODE=$G(^DIC(49,ORKSRV,0)) S:$L($G(NODE)) ORKSRVN=$P(NODE,U)
- ;
- S ORK="`"_ORK
- ;
- ;get user's flag:
- S ORKUSRF=$$GET^XPAR("USR.`"_+$G(ORKUSR),"ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKUSRF)) $S($P(ORKUSRF,U)="D":"OFF",1:"ON")_"^User value is "_$P(ORKUSRF,U,2)
- ;
- ;get patient location flag:
- I +$G(ORKLOC)>0 D
- .S ORKLOCF=$$GET^XPAR("LOC.`"_+$G(ORKLOC),"ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKLOCF)) $S($P(ORKLOCF,U)="D":"OFF",1:"ON")_"^Pt's location "_ORKLOCN_" value is "_$P(ORKLOCF,U,2)
- ;
- ;get user's service flag:
- I +$G(ORKSRV)>0 D
- .S ORKSRVF=$$GET^XPAR("SRV.`"_+$G(ORKSRV),"ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKSRVF)) $S($P(ORKSRVF,U)="D":"OFF",1:"ON")_"^User's service "_ORKSRVN_" value is "_$P(ORKSRVF,U,2)
- ;
- ;get user's division flag:
- S ORKDIVF=$$GET^XPAR("DIV","ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKDIVF)) $S($P(ORKDIVF,U)="D":"OFF",1:"ON")_"^Division value is "_$P(ORKDIVF,U,2)
- ;
- ;get system flag:
- S ORKSYSF=$$GET^XPAR("SYS","ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKSYSF)) $S($P(ORKSYSF,U)="D":"OFF",1:"ON")_"^System value is "_$P(ORKSYSF,U,2)
- ;
- ;get OE/RR package-exported flag:
- S ORKPKGF=$$GET^XPAR("PKG","ORK PROCESSING FLAG",ORK,"B")
- Q:$L($G(ORKPKGF)) $S($P(ORKPKGF,U)="D":"OFF",1:"ON")_"^OERR value is "_$P(ORKPKGF,U,2)
- ;
- Q "ON^No value found"
- USRCHKS(ORKUSR) ; generate a list of order checks indicating user's recip status
- I +$G(ORKUSR)<1 S ORKUSR=DUZ
- N ORY,ORYI,ORKY,ORKIEN,ORKNAM,NODE,ORX,DESC,HDR
- S ORYI=1
- ;
- ;prompt for additional information:
- W !!,"Would you like help understanding the list of order checks" S %=2 D YN^DICN I %=1 D HLPMSG
- K %
- ;
- ;see if order checking system is disabled:
- S ORX=$$GET^XPAR("DIV^SYS^PKG","ORK SYSTEM ENABLE/DISABLE",1,"I")
- I ORX="D" D
- .S ORY(ORYI)="Order Checking is disabled. No order checks will be processed or displayed."
- .S NODE=$G(^VA(200,ORKUSR,0)) S:$L($G(NODE)) HDR="Order Check List for "_$P(NODE,U)
- .S DESC="Order check possibilities for a user"
- .D OUTPUT(.ORY,DESC,HDR)
- Q:ORX="D"
- ;
- W !!,"This will take a moment or two, please stand by."
- ;
- S ORY(ORYI)="Order Check ON/OFF For This User and Why",ORYI=ORYI+1
- S ORY(ORYI)="-------------------------------- ---------------------------------------------",ORYI=ORYI+1
- ;
- ;loop thru all order checks and determine recipient status:
- S ORKNAM="" F S ORKNAM=$O(^ORD(100.8,"B",ORKNAM)) Q:ORKNAM="" D
- .S ORKIEN=0,ORKIEN=$O(^ORD(100.8,"B",ORKNAM,ORKIEN)) I +$G(ORKIEN)>0 D
- ..S ORKY(ORKNAM)=ORKIEN
- ..S ORX=$$ONOFF(ORKIEN,ORKUSR,"") I $L($G(ORX)) D
- ...W "."
- ...S ORKNAM=$E(ORKNAM_" ",1,32)
- ...S ORY(ORYI)=ORKNAM_" "_$E($P(ORX,U)_" ",1,5)_$P(ORX,U,2),ORYI=ORYI+1
- ;
- S ORYI=ORYI+1,ORY(ORYI)="",ORYI=ORYI+1,ORY(ORYI)="",ORYI=ORYI+1
- S DESC="Order check possibilities for a user"
- S NODE=$G(^VA(200,ORKUSR,0)) S:$L($G(NODE)) HDR="Order Check List for "_$P(NODE,U)
- D OUTPUT(.ORY,DESC,HDR)
- Q
- HLPMSG ;display/print help message for a user's order checks
- N ORY,ORYI
- S ORYI=1
- S ORY(ORYI)="The delivery of order checks is determined from values set for Users,",ORYI=ORYI+1
- S ORY(ORYI)="Inpatient Locations, Service/Sections, Hospital Divisions, Computer System and",ORYI=ORYI+1
- S ORY(ORYI)="OERR. Possible values include 'Enabled' and 'Disabled'. These values indicate",ORYI=ORYI+1
- S ORY(ORYI)="a User's, Location's, Service/Section's, Division's, System's and OERR's",ORYI=ORYI+1
- S ORY(ORYI)="desire for the order check to be 'Enabled' (displayed under most",ORYI=ORYI+1
- S ORY(ORYI)="circumstances) or 'Disabled' (normally not displayed.)",ORYI=ORYI+1
- S ORY(ORYI)="",ORYI=ORYI+1
- S ORY(ORYI)="All values, except the OERR (Order Entry) value, can be set by IRM",ORYI=ORYI+1
- S ORY(ORYI)="or Clinical Coordinators. Individual users can set their 'Enabled/Disabled'",ORYI=ORYI+1
- S ORY(ORYI)="values for each specific order check via the 'Enable/Disable My Order Checks'",ORYI=ORYI+1
- S ORY(ORYI)="option under the Personal Preferences and Order Check Management for Users.",ORYI=ORYI+1
- S ORY(ORYI)="'ON' indicates the user will receive the order check under normal conditions.",ORYI=ORYI+1
- S ORY(ORYI)="'OFF' indicates the user normally will not receive the order check.",ORYI=ORYI+1
- S ORY(ORYI)="Order check recipient determination can also be influenced by patient",ORYI=ORYI+1
- S ORY(ORYI)="location (inpatients only.) This list does not consider patient location",ORYI=ORYI+1
- S ORY(ORYI)="when calculating the ON/OFF value for an order check because a patient is",ORYI=ORYI+1
- S ORY(ORYI)="not known when the option is selected.",ORYI=ORYI+1
- S ORY(ORYI)="",ORYI=ORYI+1,ORY(ORYI)="",ORYI=ORYI+1
- S DESC="Help Message - order check possibilities for a user"
- S HDR="Order Check List Help Message"
- D OUTPUT(.ORY,DESC,HDR)
- Q
- OUTPUT(ORY,ORKDESC,ORKHDR) ;prompt for device and send report
- N POP,ORBHDR
- N ZTRTN,ZTSAVE,ZTDESC
- ;prompt for device:
- S %ZIS="Q" ;prompt for Queueing
- D ^%ZIS
- Q:$G(POP)>0
- I $D(IO("Q")) D ;queue the report
- .S ZTRTN="PRINT^ORB3U1"
- .S ORBHDR=ORKHDR
- .S ZTSAVE("ORY(")="",ZTSAVE("ORBHDR")=""
- .S ZTDESC=ORKDESC
- .D ^%ZTLOAD
- .I $D(ZTSK)[0 W !!?5,"Report canceled!"
- .E W !!?5,"Report queued."
- .D HOME^%ZIS
- K %ZIS
- I $D(IO("Q")) K IO("Q") Q
- PRINT ;print body of List User's Order checks Report
- N END,PAGE,I,X
- S (END,PAGE,I)=0
- U IO
- D @("HDR"_(2-($E(IOST,1,2)="C-")))
- F S I=$O(ORY(I)) Q:I=""!(END=1) D
- .D HDR:$Y+5>IOSL
- .Q:END=1
- .W !,ORY(I)
- I END=1 W !!," - Report Interrupted -",!
- E W " - End of Report -",!
- I ($E(IOST,1,2)="C-") W !,"Press RETURN to continue: " R X:DTIME
- D ^%ZISC
- D:$G(ZTSK) KILL^%ZTLOAD
- Q
- HDR ;print header of report
- I PAGE,($E(IOST,1,2)="C-") D
- .W !,"Press RETURN to continue or '^' to exit: "
- .R X:DTIME S END='$T!(X="^")
- Q:END=1
- HDR1 W:'($E(IOST,1,2)='"C-"&'PAGE) @IOF
- HDR2 S PAGE=PAGE+1 W ?20,ORKHDR
- W ?(IOM-10),"Page: ",$J(PAGE,3),!!
- Q
- ORKUTL ; slc/CLA - Utility routine for order checking ;5/21/97 16:25
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**6**;Dec 17, 1997
- ONOFF(ORK,ORKUSR,ORKPT) ;Extrinsic function to check param file determines if
- +1 ; user ORKUSR should receive order check ORK for patient ORKPT.
- +2 ;ORK order check ien from file 864.5 (req'd)
- +3 ;ORKUSR user ien from file 200 (req'd)
- +4 ;ORKPT patient ien from file 2 (not req'd)
- +5 ;
- +6 NEW NODE,ORKNAME,ORKUSRN,ORKUSRF,ORKPTN,ORKLOC,ORKLOCN,ORKLOCF
- +7 NEW ORKSRV,ORKSRVN,ORKSRVF,ORKDIVF,ORKSYSF,ORKPKGF
- +8 ;
- +9 ;get order check name:
- +10 SET NODE=$GET(^ORD(100.8,ORK,0))
- IF $LENGTH($GET(NODE))
- SET ORKNAME=$PIECE(NODE,U)
- +11 ;
- +12 ;get user name:
- +13 SET NODE=$GET(^VA(200,ORKUSR,0))
- IF $LENGTH($GET(NODE))
- SET ORKUSRN=$PIECE(NODE,U)
- +14 ;
- +15 ;get patient name:
- +16 IF $LENGTH($GET(ORKPT))
- SET NODE=$GET(^DPT(ORKPT,0))
- IF $LENGTH($GET(NODE))
- SET ORKPTN=$PIECE(NODE,U)
- +17 ;
- +18 ;get patient's location (INPATIENT ONLY - outpt locations cannot be
- +19 ;reliably determined, and many simultaneous outpt locations can occur):
- +20 IF +$GET(ORKPT)>0
- Begin DoDot:1
- +21 NEW DFN
- SET DFN=ORKPT
- SET VA200=""
- DO OERR^VADPT
- +22 SET ORKLOC=+$GET(^DIC(42,+VAIN(4),44))
- IF +$GET(ORKLOC)>0
- Begin DoDot:2
- +23 SET ORKLOCN=$PIECE(^SC(+ORKLOC,0),U)
- End DoDot:2
- End DoDot:1
- +24 KILL VA200,VAIN
- +25 ;
- +26 ;get user's service/section:
- +27 SET ORKSRV=$GET(^VA(200,ORKUSR,5))
- IF +ORKSRV>0
- SET ORKSRV=$PIECE(ORKSRV,U)
- Begin DoDot:1
- +28 SET NODE=$GET(^DIC(49,ORKSRV,0))
- IF $LENGTH($GET(NODE))
- SET ORKSRVN=$PIECE(NODE,U)
- End DoDot:1
- +29 ;
- +30 SET ORK="`"_ORK
- +31 ;
- +32 ;get user's flag:
- +33 SET ORKUSRF=$$GET^XPAR("USR.`"_+$GET(ORKUSR),"ORK PROCESSING FLAG",ORK,"B")
- +34 IF $LENGTH($GET(ORKUSRF))
- QUIT $SELECT($PIECE(ORKUSRF,U)="D":"OFF",1:"ON")_"^User value is "_$PIECE(ORKUSRF,U,2)
- +35 ;
- +36 ;get patient location flag:
- +37 IF +$GET(ORKLOC)>0
- Begin DoDot:1
- +38 SET ORKLOCF=$$GET^XPAR("LOC.`"_+$GET(ORKLOC),"ORK PROCESSING FLAG",ORK,"B")
- End DoDot:1
- +39 IF $LENGTH($GET(ORKLOCF))
- QUIT $SELECT($PIECE(ORKLOCF,U)="D":"OFF",1:"ON")_"^Pt's location "_ORKLOCN_" value is "_$PIECE(ORKLOCF,U,2)
- +40 ;
- +41 ;get user's service flag:
- +42 IF +$GET(ORKSRV)>0
- Begin DoDot:1
- +43 SET ORKSRVF=$$GET^XPAR("SRV.`"_+$GET(ORKSRV),"ORK PROCESSING FLAG",ORK,"B")
- End DoDot:1
- +44 IF $LENGTH($GET(ORKSRVF))
- QUIT $SELECT($PIECE(ORKSRVF,U)="D":"OFF",1:"ON")_"^User's service "_ORKSRVN_" value is "_$PIECE(ORKSRVF,U,2)
- +45 ;
- +46 ;get user's division flag:
- +47 SET ORKDIVF=$$GET^XPAR("DIV","ORK PROCESSING FLAG",ORK,"B")
- +48 IF $LENGTH($GET(ORKDIVF))
- QUIT $SELECT($PIECE(ORKDIVF,U)="D":"OFF",1:"ON")_"^Division value is "_$PIECE(ORKDIVF,U,2)
- +49 ;
- +50 ;get system flag:
- +51 SET ORKSYSF=$$GET^XPAR("SYS","ORK PROCESSING FLAG",ORK,"B")
- +52 IF $LENGTH($GET(ORKSYSF))
- QUIT $SELECT($PIECE(ORKSYSF,U)="D":"OFF",1:"ON")_"^System value is "_$PIECE(ORKSYSF,U,2)
- +53 ;
- +54 ;get OE/RR package-exported flag:
- +55 SET ORKPKGF=$$GET^XPAR("PKG","ORK PROCESSING FLAG",ORK,"B")
- +56 IF $LENGTH($GET(ORKPKGF))
- QUIT $SELECT($PIECE(ORKPKGF,U)="D":"OFF",1:"ON")_"^OERR value is "_$PIECE(ORKPKGF,U,2)
- +57 ;
- +58 QUIT "ON^No value found"
- USRCHKS(ORKUSR) ; generate a list of order checks indicating user's recip status
- +1 IF +$GET(ORKUSR)<1
- SET ORKUSR=DUZ
- +2 NEW ORY,ORYI,ORKY,ORKIEN,ORKNAM,NODE,ORX,DESC,HDR
- +3 SET ORYI=1
- +4 ;
- +5 ;prompt for additional information:
- +6 WRITE !!,"Would you like help understanding the list of order checks"
- SET %=2
- DO YN^DICN
- IF %=1
- DO HLPMSG
- +7 KILL %
- +8 ;
- +9 ;see if order checking system is disabled:
- +10 SET ORX=$$GET^XPAR("DIV^SYS^PKG","ORK SYSTEM ENABLE/DISABLE",1,"I")
- +11 IF ORX="D"
- Begin DoDot:1
- +12 SET ORY(ORYI)="Order Checking is disabled. No order checks will be processed or displayed."
- +13 SET NODE=$GET(^VA(200,ORKUSR,0))
- IF $LENGTH($GET(NODE))
- SET HDR="Order Check List for "_$PIECE(NODE,U)
- +14 SET DESC="Order check possibilities for a user"
- +15 DO OUTPUT(.ORY,DESC,HDR)
- End DoDot:1
- +16 IF ORX="D"
- QUIT
- +17 ;
- +18 WRITE !!,"This will take a moment or two, please stand by."
- +19 ;
- +20 SET ORY(ORYI)="Order Check ON/OFF For This User and Why"
- SET ORYI=ORYI+1
- +21 SET ORY(ORYI)="-------------------------------- ---------------------------------------------"
- SET ORYI=ORYI+1
- +22 ;
- +23 ;loop thru all order checks and determine recipient status:
- +24 SET ORKNAM=""
- FOR
- SET ORKNAM=$ORDER(^ORD(100.8,"B",ORKNAM))
- IF ORKNAM=""
- QUIT
- Begin DoDot:1
- +25 SET ORKIEN=0
- SET ORKIEN=$ORDER(^ORD(100.8,"B",ORKNAM,ORKIEN))
- IF +$GET(ORKIEN)>0
- Begin DoDot:2
- +26 SET ORKY(ORKNAM)=ORKIEN
- +27 SET ORX=$$ONOFF(ORKIEN,ORKUSR,"")
- IF $LENGTH($GET(ORX))
- Begin DoDot:3
- +28 WRITE "."
- +29 SET ORKNAM=$EXTRACT(ORKNAM_" ",1,32)
- +30 SET ORY(ORYI)=ORKNAM_" "_$EXTRACT($PIECE(ORX,U)_" ",1,5)_$PIECE(ORX,U,2)
- SET ORYI=ORYI+1
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +31 ;
- +32 SET ORYI=ORYI+1
- SET ORY(ORYI)=""
- SET ORYI=ORYI+1
- SET ORY(ORYI)=""
- SET ORYI=ORYI+1
- +33 SET DESC="Order check possibilities for a user"
- +34 SET NODE=$GET(^VA(200,ORKUSR,0))
- IF $LENGTH($GET(NODE))
- SET HDR="Order Check List for "_$PIECE(NODE,U)
- +35 DO OUTPUT(.ORY,DESC,HDR)
- +36 QUIT
- HLPMSG ;display/print help message for a user's order checks
- +1 NEW ORY,ORYI
- +2 SET ORYI=1
- +3 SET ORY(ORYI)="The delivery of order checks is determined from values set for Users,"
- SET ORYI=ORYI+1
- +4 SET ORY(ORYI)="Inpatient Locations, Service/Sections, Hospital Divisions, Computer System and"
- SET ORYI=ORYI+1
- +5 SET ORY(ORYI)="OERR. Possible values include 'Enabled' and 'Disabled'. These values indicate"
- SET ORYI=ORYI+1
- +6 SET ORY(ORYI)="a User's, Location's, Service/Section's, Division's, System's and OERR's"
- SET ORYI=ORYI+1
- +7 SET ORY(ORYI)="desire for the order check to be 'Enabled' (displayed under most"
- SET ORYI=ORYI+1
- +8 SET ORY(ORYI)="circumstances) or 'Disabled' (normally not displayed.)"
- SET ORYI=ORYI+1
- +9 SET ORY(ORYI)=""
- SET ORYI=ORYI+1
- +10 SET ORY(ORYI)="All values, except the OERR (Order Entry) value, can be set by IRM"
- SET ORYI=ORYI+1
- +11 SET ORY(ORYI)="or Clinical Coordinators. Individual users can set their 'Enabled/Disabled'"
- SET ORYI=ORYI+1
- +12 SET ORY(ORYI)="values for each specific order check via the 'Enable/Disable My Order Checks'"
- SET ORYI=ORYI+1
- +13 SET ORY(ORYI)="option under the Personal Preferences and Order Check Management for Users."
- SET ORYI=ORYI+1
- +14 SET ORY(ORYI)="'ON' indicates the user will receive the order check under normal conditions."
- SET ORYI=ORYI+1
- +15 SET ORY(ORYI)="'OFF' indicates the user normally will not receive the order check."
- SET ORYI=ORYI+1
- +16 SET ORY(ORYI)="Order check recipient determination can also be influenced by patient"
- SET ORYI=ORYI+1
- +17 SET ORY(ORYI)="location (inpatients only.) This list does not consider patient location"
- SET ORYI=ORYI+1
- +18 SET ORY(ORYI)="when calculating the ON/OFF value for an order check because a patient is"
- SET ORYI=ORYI+1
- +19 SET ORY(ORYI)="not known when the option is selected."
- SET ORYI=ORYI+1
- +20 SET ORY(ORYI)=""
- SET ORYI=ORYI+1
- SET ORY(ORYI)=""
- SET ORYI=ORYI+1
- +21 SET DESC="Help Message - order check possibilities for a user"
- +22 SET HDR="Order Check List Help Message"
- +23 DO OUTPUT(.ORY,DESC,HDR)
- +24 QUIT
- OUTPUT(ORY,ORKDESC,ORKHDR) ;prompt for device and send report
- +1 NEW POP,ORBHDR
- +2 NEW ZTRTN,ZTSAVE,ZTDESC
- +3 ;prompt for device:
- +4 ;prompt for Queueing
- SET %ZIS="Q"
- +5 DO ^%ZIS
- +6 IF $GET(POP)>0
- QUIT
- +7 ;queue the report
- IF $DATA(IO("Q"))
- Begin DoDot:1
- +8 SET ZTRTN="PRINT^ORB3U1"
- +9 SET ORBHDR=ORKHDR
- +10 SET ZTSAVE("ORY(")=""
- SET ZTSAVE("ORBHDR")=""
- +11 SET ZTDESC=ORKDESC
- +12 DO ^%ZTLOAD
- +13 IF $DATA(ZTSK)[0
- WRITE !!?5,"Report canceled!"
- +14 IF '$TEST
- WRITE !!?5,"Report queued."
- +15 DO HOME^%ZIS
- End DoDot:1
- +16 KILL %ZIS
- +17 IF $DATA(IO("Q"))
- KILL IO("Q")
- QUIT
- PRINT ;print body of List User's Order checks Report
- +1 NEW END,PAGE,I,X
- +2 SET (END,PAGE,I)=0
- +3 USE IO
- +4 DO @("HDR"_(2-($EXTRACT(IOST,1,2)="C-")))
- +5 FOR
- SET I=$ORDER(ORY(I))
- IF I=""!(END=1)
- QUIT
- Begin DoDot:1
- +6 IF $Y+5>IOSL
- DO HDR
- +7 IF END=1
- QUIT
- +8 WRITE !,ORY(I)
- End DoDot:1
- +9 IF END=1
- WRITE !!," - Report Interrupted -",!
- +10 IF '$TEST
- WRITE " - End of Report -",!
- +11 IF ($EXTRACT(IOST,1,2)="C-")
- WRITE !,"Press RETURN to continue: "
- READ X:DTIME
- +12 DO ^%ZISC
- +13 IF $GET(ZTSK)
- DO KILL^%ZTLOAD
- +14 QUIT
- HDR ;print header of report
- +1 IF PAGE
- IF ($EXTRACT(IOST,1,2)="C-")
- Begin DoDot:1
- +2 WRITE !,"Press RETURN to continue or '^' to exit: "
- +3 READ X:DTIME
- SET END='$TEST!(X="^")
- End DoDot:1
- +4 IF END=1
- QUIT
- HDR1 IF '($EXTRACT(IOST,1,2)='"C-"&'PAGE)
- WRITE @IOF
- HDR2 SET PAGE=PAGE+1
- WRITE ?20,ORKHDR
- +1 WRITE ?(IOM-10),"Page: ",$JUSTIFY(PAGE,3),!!
- +2 QUIT