Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DG1010P

DG1010P.m

Go to the documentation of this file.
  1. DG1010P ;ALB/JDS;REW - 1010 PRINT--INQUIRY PATIENT ; 1/3/05 6:18pm
  1. ;;5.3;Registration;**86,108,113,161,642,624**;Aug 13, 1993
  1. ;
  1. FIND W !! S DIC="^DPT(",DIC(0)="AEQZM" D ^DIC G Q:+Y'>0 S (DA,DFN)=+Y
  1. S DFN1=0
  1. I $O(^DPT(DFN,"DIS",0))>0 S DFN1=$O(^DPT(DFN,"DIS",0))
  1. W1 D NOREG^DG1010PA(DFN)
  1. QU ;
  1. S DGHDFN=DFN
  1. I DGOPT]"" D
  1. . N EAPP,EAIP
  1. . S (EAPP,EAIP)=0 F S EAPP=$O(^EAS(712,"AC",DFN,EAPP)) Q:'EAPP!EAIP D
  1. . . I $$GET1^DIQ(712,EAPP,7.1)="" D
  1. . . . N EAIX,EADT F EAIX="REV","PRT","SIG" Q:EAIP D
  1. . . . . S EADT=0 F S EADT=$O(^EAS(712,EAIX,EADT)) Q:'EADT!EAIP I $D(^EAS(712,EAIX,EADT,EAPP)) S EAIP=1
  1. . I EAIP D Q
  1. . . N DIR
  1. . . W !!,"No data have been found for the selected patient, or"
  1. . . W !,"the patient may have an on-line 10-10EZ application"
  1. . . W !,"in progress. The 10-10EZ form shall not be printed."
  1. . . S DIR(0)="E" D ^DIR
  1. . . S DGOPT=""
  1. I DGOPT]"" D S DGPGM="DQ^DG1010P",DGVAR="DGOPT^PRF^DFN^DFN1^DUZ^DGPMDA^PSOINST^PSONOPG^PSOPAR^PSTYPE^GMTSTYP^EASMTIEN" D ZIS^DGUTQ G:POP EMB U IO D DQ G EMB
  1. .W:DGOPT'=5 !!?5,*7,"This output requires 132 column output to a PRINTER.",!?5,*7,"Output to SCREEN will be unreadable."
  1. G EMB
  1. EN ;
  1. Q
  1. DQ ;
  1. D NOW^%DTC,YX^%DTC S DGNOW=Y
  1. S X=132 X ^%ZOSF("RM") F I="DFN","DFN1","DGPMDA","PRF","GMTSTYP" S DGHOLD(I)=$S($D(@I):@I,1:"")
  1. I DGOPT[0&'($G(DGSTOP)) DO
  1. . S (EASDFN,DA)=DFN,ZUSR=DUZ
  1. . D EN^EASEZPDG ;1010EZ
  1. . K EASDFN,ZUSR,EASMTIEN
  1. I DGOPT[1&'($G(DGSTOP)) DO
  1. . S (EASDFN,DA)=DFN,EASFLAG="EZR",ZUSR=DUZ
  1. . D EN^EASEZPDG ;1010EZR
  1. . K EASFLAG,EASDFN,ZUSR,EASMTIEN
  1. I DGOPT[3&'($G(DGSTOP)) D RESTORE,RET^DGBLRV ;3rd party review
  1. I DGOPT[8&'($G(DGSTOP)) D RESTORE,ENXQ^GMTSDVR
  1. I DGOPT[5&'($G(DGSTOP)) S POP=0 D RESTORE,DFN^PSOSD1 K POP S X=132 X ^%ZOSF("RM") ;DRUG PROFILE NOTE: EXECUTES ^%ZIS("C")
  1. D ^%ZISC
  1. D CLOSE^DGUTQ,Q K DGHOLD,DGOPT,DGPMDA Q
  1. Q K %,%DT,DA,DB,DFN,DFN1,DGHSFLG,DGOPT,DGL2,DGLDASH,DGLDOUBL,DGLSUP,DGLSUP1,DGLUND,DGPGM,DGPMDA,DGMTDT,DGMTI,DGMTYPT,DGNOW,DGVAR,DGX,DIC,DIRUT,DTOUT,DUOUT,I,J,L,POP,PRF,X,Y,DGSTOP
  1. K LMI,PSCNT,PSDIS,PSDT,PSII,PSOPRINT ;FROM DRUG PROFILE
  1. K GMTSTYP,EASMTIEN
  1. Q
  1. RESTORE F I="DFN","DFN1","PRF","DGPMDA","GMTSTYP" S @I=DGHOLD(I)
  1. Q
  1. EMB ;emboss card?
  1. S DFN=DGHDFN
  1. ;W !! D EMBOS^DGQEMA
  1. D EF
  1. K DGHDFN G FIND
  1. ;
  1. EF ;encounter form?
  1. N EFX,WITHDATA,IBDFRION
  1. I $$PROMPRN^DG1010PA("EF") I DG1'<0 S EFX=1 D
  1. .S WITHDATA=1
  1. .D MAIN^IBDFREG(WITHDATA)
  1. Q
  1. ;
  1. SEL1010(PROMPT) ;* Prompt user to select the 1010EZ to print
  1. ;
  1. ; INPUT:
  1. ; PROMPT : Indicate which prompts to present
  1. ; : NULL - Prompt both (EZ prompted 1st)
  1. ; : EZ - Prompt 1010EZ only
  1. ; : EZR/EZ - Prompt both (EZR prompted 1st)
  1. ; : EZR - Prompt 1010EZR only
  1. ;
  1. ; OUTPUT
  1. ; RPTSEL : NULL - No report selected
  1. ; : "EZ" - 1010EZ report was selected
  1. ; : "EZR" - 1010EZR report was selected
  1. ;
  1. N PRT1010,PRT1010R,RPTSEL
  1. I '$D(PROMPT) S PROMPT=""
  1. S PRT1010=0
  1. S PRT1010R=0
  1. S RPTSEL=""
  1. ;
  1. ;* Prompt 1010EZ and then 1010EZR
  1. I PROMPT="" DO
  1. . S PRT1010=$$EZPRMPT
  1. . I PRT1010 S RPTSEL="EZ"
  1. . S:PRT1010=0 PRT1010R=$$EZRPRMPT
  1. . I PRT1010R S RPTSEL="EZR"
  1. . I (PRT1010=-2)!(PRT1010R=-2) S RPTSEL=-1
  1. ;
  1. ;* Prompt 1010EZR and then 1010EZ
  1. I PROMPT="EZR/EZ" DO
  1. . S PRT1010R=$$EZRPRMPT
  1. . I PRT1010R S RPTSEL="EZR"
  1. . S:PRT1010R=0 PRT1010=$$EZPRMPT
  1. . I PRT1010 S RPTSEL="EZ"
  1. . I (PRT1010=-2)!(PRT1010R=-2) S RPTSEL=-1
  1. ;
  1. ;* Prompt 1010EZ only
  1. I PROMPT="EZ" DO
  1. . S PRT1010=$$EZPRMPT
  1. . I PRT1010 S RPTSEL="EZ"
  1. . I (PRT1010=-2) S RPTSEL=-1
  1. ;
  1. ;* Prompt 1010EZR only
  1. I PROMPT="EZR" DO
  1. . S PRT1010R=$$EZRPRMPT
  1. . I PRT1010R S RPTSEL="EZR"
  1. . I (PRT1010R=-2) S RPTSEL=-1
  1. ;
  1. Q RPTSEL
  1. ;
  1. EZPRMPT() ;* Prompt for 1010EZ print
  1. ; OUTPUT -
  1. ; RPTSEL : -1 REPORT NOT SELECTED
  1. ; RPTSEL : -2 USER EXITED WITHOUT RESPONSE
  1. ; RPTSEL : 0 USER ANSWERED "NO"
  1. ; RPTSEL : 1 USER ANSWERED "YES"
  1. ;
  1. N RPTSEL,PRT1010
  1. S RPTSEL=-1
  1. K DIR,Y,X,DIRUT,DTOUT,DIROUT,DUOUT
  1. S DIR(0)="Y^A0^"
  1. S DIR("A")="PRINT 10-10EZ"
  1. S DIR("?",1)="Enter 'Yes' to print a 10-10EZ Application for Health Benefits form."
  1. S DIR("?")="Otherwise enter 'No'."
  1. S DIR("B")="YES"
  1. D ^DIR
  1. I $D(DIRUT)!$D(DTOUT)!$D(DIROUT)!$D(DUOUT) S RPTSEL=-2
  1. S:RPTSEL'=-2 RPTSEL=Y
  1. ;;S PRT1010=Y
  1. ;;I PRT1010 S RPTSEL="EZ"
  1. K DIR,Y,X,DIRUT,DTOUT,DIROUT,DUOUT
  1. Q RPTSEL
  1. ;
  1. EZRPRMPT() ;* Prompt for 1010EZR print
  1. ; OUTPUT -
  1. ; RPTSEL : -1 REPORT NOT SELECTED
  1. ; RPTSEL : -2 USER EXITED WITHOUT RESPONSE
  1. ; RPTSEL : 0 USER ANSWERED "NO"
  1. ; RPTSEL : 1 USER ANSWERED "YES"
  1. ;
  1. N RPTSEL,PRT1010R
  1. S RPTSEL=-1
  1. K DIR,Y,X,DIRUT,DTOUT,DIROUT,DUOUT
  1. S DIR(0)="Y^A0^"
  1. S DIR("A")="PRINT 10-10EZR"
  1. S DIR("?",1)="Enter 'YES' to print a 10-10EZR Health Benefits Renewal form."
  1. S DIR("?")="Otherwise enter 'No'."
  1. S DIR("B")="YES"
  1. D ^DIR
  1. I $D(DIRUT)!$D(DTOUT)!$D(DIROUT)!$D(DUOUT) S RPTSEL=-2
  1. S:RPTSEL'=-2 RPTSEL=Y
  1. ;;S PRT1010R=Y
  1. ;;I PRT1010R S RPTSEL="EZR"
  1. K DIR,Y,X,DIRUT,DTOUT,DIROUT,DUOUT
  1. Q RPTSEL
  1. ;
  1. MTPRMPT(DFN,DGMTI) ;* Prompt for Means test included on 1010EZ
  1. ;input:
  1. ; DFN - Patient file (#2) ien (required)
  1. ; DGMTI - Means Test file (#408.31) ien (required)
  1. ;output:
  1. ; MTSEL - Means Test IEN selected
  1. N MTSEL
  1. S MTSEL=+DGMTI
  1. I $D(^DGMT(408.31,MTSEL,0)) Q MTSEL
  1. Q $$ENEZ^EASEZPDG(DFN,0)
  1. ;
  1. PRT1010(PRT1010,DFN,MTIEN) ;* Print 1010EZ reports
  1. ;INPUT:
  1. ; PRT1010 -
  1. ; "EZ": Print 1010EZ report
  1. ; "EZR": Print 1010EZR report
  1. ; DFN - IEN from Patient entry in Patient file
  1. ; MTIEN - IEN from 408.31 Means Test file
  1. ;
  1. ;OUTPUT:
  1. ; DGTASK : Value of ZTSK passed back from ^%ZTLOAD in EASEZPDG
  1. ; : 0 indicates print task was not completed
  1. ;
  1. N DGTASK
  1. S DGTASK=0
  1. ;* Following calls allowed via IA #4600
  1. I PRT1010="EZ" S DGTASK=$$ENEZ^EASEZPDG(DFN,MTIEN)
  1. I PRT1010="EZR" S DGTASK=$$ENEZR^EASEZPDG(DFN,MTIEN)
  1. Q DGTASK