| 1 | ACKQCP ;AUG/JLTP BIR/PTD HCIOFO/BH-QUASAR/C&P Interface ; 06/06/99 11:51 | 
|---|
| 2 | ;;3.0;QUASAR;**1,2**;Feb 11, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine SHOULD NOT be modified. | 
|---|
| 4 | ;;DBIA 1473 EN1^DVBCTRN & EN2^DVBCTRN | 
|---|
| 5 | ; | 
|---|
| 6 | ADEQ ;  Adequate a C&P Exam | 
|---|
| 7 | N ACKDUZ | 
|---|
| 8 | S ACKDUZ=$$PROVCHK^ACKQASU4(DUZ) S:ACKDUZ="" ACKDUZ=" " | 
|---|
| 9 | I $O(^ACK(509850.3,ACKDUZ,""))="" W !,"You are not listed in the A&SP STAFF file (#509850.3).",!,"Access denied." G ADEX | 
|---|
| 10 | S X=$$STACT^ACKQUTL(ACKDUZ) I (X=-2)!(X=-6) W !,"Only clinicians may adequate C&P exams!" G ADEX | 
|---|
| 11 | I X W !,"The A&SP STAFF file (#509850.3) indicates that you have been inactivated.",!,"Access denied." G ADEX | 
|---|
| 12 | ; | 
|---|
| 13 | OPTN ;  Introduce option. | 
|---|
| 14 | W @IOF | 
|---|
| 15 | W !,"This option allows you to adequate C&P exams which currently have open" | 
|---|
| 16 | W !,"requests in the AMIE software. An exam must be completed and signed off prior" | 
|---|
| 17 | W !,"to adequation. You can use the Edit an Existing Visit option to review or edit" | 
|---|
| 18 | W !,"an exam before adequating.",! | 
|---|
| 19 | ; | 
|---|
| 20 | D ^ACKQCPL G:$D(DIRUT) PRINT | 
|---|
| 21 | D PULL^ACKQCP1,SHOW | 
|---|
| 22 | ; | 
|---|
| 23 | F I=1:1 S ACKTX=$P($T(ADEQWN+I),";;",2) Q:ACKTX=""  W !,ACKTX | 
|---|
| 24 | ; | 
|---|
| 25 | S ACKMODE=2 D SIG^ACKQCP I '$D(ACKSIG) D UNLOCK G ADEX | 
|---|
| 26 | ; | 
|---|
| 27 | N ACKQVD,ACKQQPV,ACKQQPV1 S ACKQQPV1="" | 
|---|
| 28 | I $$EN1^DVBCTRN(DFN,"AUDIO",ACKSFT)>0 D | 
|---|
| 29 | . S DIE="^ACK(509850.6,",DA=ACKD0 | 
|---|
| 30 | . S DR="4.19////"_ACKSIG_";4.2////"_DT_";4.25////"_ACKTITL | 
|---|
| 31 | . D ^DIE K ACKC D PULL^ACKQCP1 | 
|---|
| 32 | ; | 
|---|
| 33 | S ACKQVD=$$GET1^DIQ(509850.6,ACKD0_",",.01,"I") | 
|---|
| 34 | S ACKQQPV=$$GET1^DIQ(509850.6,ACKD0,6,"I") | 
|---|
| 35 | I ACKQQPV'="" S ACKQQPV1=$$CONVERT1^ACKQUTL4(ACKQQPV) | 
|---|
| 36 | I ACKQQPV1'="" S ACKST=$$EN2^DVBCTRN("ACKC","ACKQ",ACKSFT,ACKQQPV1,ACKQVD) | 
|---|
| 37 | ; | 
|---|
| 38 | I ACKQQPV1="" S ACKST=$$EN2^DVBCTRN("ACKC","ACKQ",ACKSFT,"",ACKQVD) | 
|---|
| 39 | ; | 
|---|
| 40 | I ACKST>0 D | 
|---|
| 41 | . N ACKQARR | 
|---|
| 42 | . S ACKQARR(509850.6,ACKD0_",",.09)="3" D FILE^DIE("","ACKQARR","") | 
|---|
| 43 | . I $D(^ACK(509850.6,"AWAIT",2,ACKD0)) K ^ACK(509850.6,"AWAIT",2,ACKD0) | 
|---|
| 44 | . K ACKQARR | 
|---|
| 45 | ; | 
|---|
| 46 | I ACKST<0 W !!,$C(7),$P(ACKST,U,2),!,"Results NOT transferred!!" S DIE="^ACK(509850.6,",DA=ACKD0,DR="4.19///@;4.2///@;4.25///@" D ^DIE K DIE D UNLOCK G ADEX | 
|---|
| 47 | ; | 
|---|
| 48 | W !!,"Final results transferred to AMIE C&P package." D UNLOCK | 
|---|
| 49 | ; | 
|---|
| 50 | PRINT I $D(ACKD0) S DIR(0)="Y",DIR("A")="Print a file copy NOW",DIR("B")="YES",DIR("?")="Answer YES to print this C&P report or answer NO to exit." W ! D ^DIR K DIR G:Y'=1 ADEX I Y=1 D DEV G ADEX | 
|---|
| 51 | I '$D(ACKD0) D | 
|---|
| 52 | .W !!,"You can print any C&P report at this time.  Reports can be printed",!,"for exams requested through the AMIE software.  Reports can also be" | 
|---|
| 53 | .W !,"printed for exams NOT requested by AMIE (e.g., the C&P fields were",!,"""forced"" by entering ""^C AND P"" during data input)." | 
|---|
| 54 | I '$D(ACKD0) S DIR(0)="Y",DIR("A")="Print a selected C&P report NOW",DIR("B")="NO",DIR("?")="Answer YES to print any C&P report or answer NO to exit." W ! D ^DIR K DIR I Y=1 D CP^ACKQCP1 I $D(ACKD0) D PULL^ACKQCP1,DEV | 
|---|
| 55 | ; | 
|---|
| 56 | ADEX ; | 
|---|
| 57 | K ACK0,ACK2,ACKC,ACKCNT,ACKD0,ACKFLD,ACKI,ACKQHLP,ACKPG,ACKQRAW,ACKST,ACKSFT,ACKSIG,ACKSUPER,ACKTITL,ACKTX,DA,DFN,DIC,DIE,DIRUT,DR,DTOUT,DUOUT,I,VA,VADM,VAERR,X,X1,Y | 
|---|
| 58 | Q | 
|---|
| 59 | ; | 
|---|
| 60 | SIG ;  Get Electronic Signature | 
|---|
| 61 | ;  Enter with ACKMODE=1 to sign off or 2 to adequate an exam. | 
|---|
| 62 | ; | 
|---|
| 63 | N ACKTT | 
|---|
| 64 | S ACKMODE(1)="sign off",ACKMODE(2)="adequate" | 
|---|
| 65 | S (ACKSIG,ACKTITL)="",ACK20=$S($D(^VA(200,DUZ,20)):^(20),1:""),ACK20(2)=$P(ACK20,U,2),ACK20(3)=$P(ACK20,U,3),ACK20(4)=$P(ACK20,U,4) | 
|---|
| 66 | I ACK20(4)="" W !,$C(7),"YOU DON'T HAVE AN ELECTRONIC SIGNATURE CODE!" G NOSIG | 
|---|
| 67 | W !!,"Are you ready to "_ACKMODE(ACKMODE)_" this exam" S %=2 D YN^DICN I '% S ACKQHLP=6 D ^ACKQHLP G SIG | 
|---|
| 68 | G:%'=1 NOSIG S ACKI=0 D GETCODE Q | 
|---|
| 69 | ; | 
|---|
| 70 | GETCODE X ^%ZOSF("EOFF") R !,"SIGNATURE CODE: ",X:DTIME  S:'$T X=U X ^%ZOSF("EON") I U[X G NOSIG | 
|---|
| 71 | D HASH^XUSHSHP I X'=ACK20(4) W $C(7) S ACKI=ACKI+1 G:ACKI<3 GETCODE W !,"TOO MANY TRIES!" G NOSIG | 
|---|
| 72 | ; | 
|---|
| 73 | ;  If they get past here it's good | 
|---|
| 74 | ; | 
|---|
| 75 | W !,"Ok..." S ACKSIG=ACK20(2),ACKTITL=ACK20(3) G SIGEX | 
|---|
| 76 | NOSIG K ACKSIG,ACKTITL | 
|---|
| 77 | SIGEX K %,%Y,ACK20,ACKI,ACKMODE,Y Q | 
|---|
| 78 | ; | 
|---|
| 79 | ADEQWN ;; | 
|---|
| 80 | ;; | 
|---|
| 81 | ;;     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* | 
|---|
| 82 | ;;     *                      WARNING!                     * | 
|---|
| 83 | ;;     * Entering your electronic signature to adequate    * | 
|---|
| 84 | ;;     * this exam will cause all exam results to be       * | 
|---|
| 85 | ;;     * transferred to the AMIE C&P package and the exam  * | 
|---|
| 86 | ;;     * will be tagged CLOSED.  The results will then     * | 
|---|
| 87 | ;;     * be available to the regional office.              * | 
|---|
| 88 | ;;     * Do not proceed unless the exam is complete and    * | 
|---|
| 89 | ;;     * you are satisfied with the accuracy of the        * | 
|---|
| 90 | ;;     * information!                                      * | 
|---|
| 91 | ;;     *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* | 
|---|
| 92 | ;; | 
|---|
| 93 | ;; | 
|---|
| 94 | SHOW ; | 
|---|
| 95 | D HOME^%ZIS,SHO1 | 
|---|
| 96 | W !! S DIR(0)="SBM^P:Print;C:Continue",DIR("?")="Enter P to print the C&P exam or C to continue with adequation." D ^DIR K DIR Q:Y'="P" | 
|---|
| 97 | DEV W !!,"The right margin for this report is 80.",!,"You can queue it to run at a later time.",! | 
|---|
| 98 | K %ZIS,IOP S %ZIS="QM",%ZIS("B")="" D ^%ZIS I POP W !,"NO DEVICE SELECTED OR REPORT PRINTED." Q | 
|---|
| 99 | I $D(IO("Q")) K IO("Q") S ZTRTN="SHO1^ACKQCP",ZTDESC="QUASAR - PRINT C&P EXAM",ZTSAVE("ACK*")="",ZTSAVE("DFN")="",ZTSAVE("VADM(2)")="" D ^%ZTLOAD,^%ZISC Q | 
|---|
| 100 | ; | 
|---|
| 101 | SHO1 U IO S ACKPG=0 | 
|---|
| 102 | D HDR I '$O(ACKC(0)) W !,"No C&P exam data found." Q | 
|---|
| 103 | S ACKC=0 F  S ACKC=$O(ACKC(ACKC)) Q:'ACKC!($D(DUOUT))!($D(DTOUT))  D | 
|---|
| 104 | .I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DTOUT)!($D(DUOUT))  D HDR | 
|---|
| 105 | .W !,ACKC(ACKC) | 
|---|
| 106 | D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" | 
|---|
| 107 | Q | 
|---|
| 108 | ; | 
|---|
| 109 | HDR ;  Print report heading. | 
|---|
| 110 | S ACKPG=ACKPG+1 | 
|---|
| 111 | W @IOF,"Printed: "_$$NUMDT^ACKQUTL(DT),?(IOM-8),"Page: ",ACKPG | 
|---|
| 112 | F X="Audiology & Speech Pathology","C&P Exam for "_$P(^DPT(DFN,0),U)_" ("_$P(VADM(2),"^",2)_")" W ! D CNTR^ACKQUTL(X) | 
|---|
| 113 | S X="",$P(X,"-",IOM)="-" W !,X | 
|---|
| 114 | Q | 
|---|
| 115 | ; | 
|---|
| 116 | UNLOCK ;  Unlocks locked visit record | 
|---|
| 117 | L -^ACK(509850.6,ACKD0) | 
|---|
| 118 | Q | 
|---|
| 119 | ; | 
|---|