- DGMFR11 ;DAL/JCH - NDS DEMOGRAPHICS MASTER MARITAL STATUS ASSOCIATIONS REPORT ;15-AUG-2017
- ;;5.3;Registration;**933**;Aug 13, 1993;Build 44
- ;
- ; Available at Master File Reports [DGMF RMAIN] option, at the following menu path:
- ; Supervisor ADT Menu [DG SUPERVISOR MENU]
- ; ADT System Definition Menu [DG SYSTEM DEFINITION MENU]
- ; Master File Menu [DGMF MNU]
- ; Master File Reports [DGMF RMAIN]
- Q
- ;
- EN ; MMS Report Entry point
- N DGOUT
- S DGOUT=0
- F Q:$G(DGOUT) D
- .D MAIN Q:DGOUT
- .N DIR W !!
- .S DIR(0)="Y",DIR("B")="Y",DIR("A")="Run report again" D ^DIR
- .S:X'="Y" DGOUT=1
- Q
- ;
- MAIN ; Driver loop
- N DGSUM,DGMUA,DGSMS,DGOUTP
- S DGSMS=0
- ;
- D INFO
- ; Select (M)apped, (U)nmapped, or (A)ll entries from Marital Status (#11) file.
- D MUA(.DGMUA) I '$D(DGMUA)!$G(DGOUT) S DGOUT=1 Q
- S DGSUM=$$SUMMARY I 'DGSUM Q
- ;
- ; Select output format
- S DGOUTP=$$OUT I DGSMS Q
- ;
- ; Select device
- I $$SELDEV()!DGSMS Q
- ;
- I DGOUTP="R" W !!,"<*> please wait <*>"
- U IO D DQ
- Q
- ;
- DQ ; report (queue) starts here
- N DGMSI,DGMMSI,DGMS0,DGMMS0
- ;
- K ^TMP($J,"DGMFR11")
- ; build list of Marital Statuses
- S DGMSI=0 F S DGMSI=$O(^DIC(11,DGMSI)) Q:'DGMSI D
- .S DGMS0=$G(^DIC(11,DGMSI,0))
- .S DGMSP02=+$G(^DIC(11,DGMSI,.02))
- .S DGMMSI=+$G(^DIC(11,DGMSI,"MASTER"))
- .I $G(DGMUA)="U",$G(DGMMSI) Q
- .I $G(DGMUA)="M",'$G(DGMMSI) Q
- .S DGMMS0=$S($G(DGMMSI):$G(^DGMMS(11.99,+DGMMSI,0)),1:"Not Mapped")
- .I DGMMSI S $P(DGMMS0,"^",4)=DGMMSI
- .S ^TMP($J,"DGMFR11",DGMS0,DGMSI,"MS")=$G(DGMS0)
- .S ^TMP($J,"DGMFR11",DGMS0,DGMSI,"STATUS")=DGMSP02
- .S ^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE")=$G(DGMMS0)
- ;
- D PRINT
- ;
- D ^%ZISC
- K ^TMP($J,"DGMFR11")
- Q
- ;
- PRINT ; Print output
- N MAXCNT,DGSMS,DGPGCNT,DGHDR,CRT,DGMS0,DGDELHD
- I IOST["C-" S MAXCNT=IOSL-10,CRT=1
- E S MAXCNT=IOSL-6,CRT=0
- I DGSUM=1 S MAXCNT=MAXCNT+5
- S DGPGCNT=0,DGSMS=0
- ;
- I '$D(^TMP($J,"DGMFR11")) D HEADER W !!!?5,"No Data Found" Q
- ;
- S DGMS0="" F S DGMS0=$O(^TMP($J,"DGMFR11",DGMS0)) Q:DGMS0="" D PRINT2(DGMS0)
- Q
- PRINT2(DGMS0) ; Get details
- N DGMSI
- S DGMSI=0 F S DGMSI=$O(^TMP($J,"DGMFR11",DGMS0,DGMSI)) Q:'DGMSI!DGSMS D
- .N DGMMS0,DGCT,DGCTS,DGCTX,DGMSST
- .N DGMTST,DGMTED,DGMMSI,DGMTEDI,DGMPAR,DGMPARX
- .N DGMREPL,DGMREPX,DGMV0
- .;
- .I $G(DGOUTP)="E" D DELIM(DGMS0,DGMSI) Q
- .;
- .I ($Y+1>MAXCNT)!'DGPGCNT D HEADER Q:DGSMS
- .S DGMS0=$G(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MS"))
- .S DGMSST=+$G(^TMP($J,"DGMFR11",DGMS0,DGMSI,"STATUS")),DGMSST=$S(DGMSST:"INACTIVE",1:"ACTIVE")
- .D PRINMS(DGMSI)
- .;
- .Q:'DGMMSI
- .I $G(DGSUM)=2 D
- ..S DGMTED=$$NOW^XLFDT,DGMTED=$O(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED),-1)
- ..I DGMTED D ; This should always be true, if data came from STS MFS process
- ...S DGMTEDI="",DGMTEDI=$O(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED,DGMTEDI))
- ...S DGMTST=$P(^DGMMS(11.99,DGMMSI,"TERMSTATUS",DGMTEDI,0),"^",2)
- ...W ?25,"Master Status: ",$S(DGMTST:"ACTIVE",1:"INACTIVE")
- ..S DGMV0=$G(^DGMMS(11.99,DGMMSI,"VUID"))
- ..W !?3,"VUID: ",$P(DGMV0,"^")
- Q
- ;
- MUA(DGMUA) ; Select (M)apped, (U)nmapped, or(A)ll - entries from 11 mapped to 11.99
- N DIR,DIRUT,Y
- W ! S DIR(0)="SAO^M:(M)apped;U:(U)nmapped;A:(A)ll"
- S DIR("?")="Enter ^ to exit"
- S DIR("A",1)="Run the report for"
- S DIR("A")="(M)apped, (U)nmapped, or (A)ll Marital Status entries: ",DIR("B")="A" D ^DIR
- I $D(DIRUT) S DGOUT=1 Q
- S DGMUA=Y
- Q
- ;
- SUMMARY() ; ask to print detailed or summary report
- N DIR,DIRUT,X,Y
- S DIR(0)="SOA^D:Detailed;S:Summary;",DIR("B")="Summary"
- S DIR("A")="Type of report to print: "
- W ! D ^DIR
- I $D(DIRUT) S DGSMS=1 Q 0
- Q $S(Y="S":1,Y="D":2,1:0)
- ;
- OUT() ; select Excel or Report format
- N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- W !
- S DIR(0)="SA^E:Excel;R:Report"
- S DIR("A")="(E)xcel Format or (R)eport Format: "
- S DIR("B")="Report"
- D ^DIR I $D(DIRUT) S DGSMS=1 Q ""
- Q Y
- ;
- DELIM(DGMS0,DGMSI) ; Print output in "^" delimited format
- ; Print data in (E)xcel format, e.g., "data^data^data"
- I '$G(DGDELHD) S DGDELHD=1 D
- .I $G(DGSUM)=1 W !,"VA Marital Status^Mapped/Not Mapped^Master Marital Status"
- .I $G(DGSUM)=2 W !,"VA Marital Status^VA Abbreviation^VA Status^VA Code^Mapped/Not Mapped^Master MS Name^Master MS Code^Master Status^VUID"
- S DGMSST=$P(DGMS0,"^",4)
- S DGMSST=$S(DGMSST:"INACTIVE",1:"ACTIVE")
- W !,$P(DGMS0,"^")
- I $G(DGSUM)=2 D
- .W "^",$P(DGMS0,"^",2)
- .W "^",DGMSST
- .S DGCT=$P(DGMS0,"^",3) W "^",DGCT
- S DGMMS0=$G(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"))
- S DGMMSI=+$P(DGMMS0,"^",4)
- W "^",$S(DGMMSI:"MAPPED",1:"NOT MAPPED")
- Q:'DGMMSI
- W "^",$P(DGMMS0,"^") ; $P(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^")
- I $G(DGSUM)=2 D
- .W "^",$P(DGMMS0,"^",2)
- .S DGMTED=$$NOW^XLFDT,DGMTED=$O(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED),-1)
- .I $G(DGMTED) D
- ..S DGMTEDI="",DGMTEDI=$O(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED,DGMTEDI))
- ..S DGMTST=$P(^DGMMS(11.99,DGMMSI,"TERMSTATUS",DGMTEDI,0),"^",2)
- ..W "^",$S(DGMTST:"ACTIVE",1:"INACTIVE")
- .S DGMV0=$G(^DGMMS(11.99,DGMMSI,"VUID"))
- .W "^",$P(DGMV0,"^")
- Q
- ;
- SELDEV() ; Propmt for output device, return 1 if queued
- I DGOUTP="E" D
- .N DIR,X,Y
- .S DIR("A",1)=""
- .S DIR("A",2)=" ************************************************************"
- .S DIR("A",3)=" ** You selected a Delimited report. Please verify you **"
- .S DIR("A",4)=" ** you have turned logging on to capture the output. **"
- .S DIR("A",5)=" ** **"
- .S DIR("A",6)=" ** To avoid undesired wrapping, enter '0;199;999' at **"
- .S DIR("A",7)=" ** the 'DEVICE:' prompt. The Terminal Session display **"
- .S DIR("A",8)=" ** may need to be set to 199 columns. **"
- .S DIR("A",9)=" ************************************************************"
- .S DIR("A",10)=""
- .S DIR("A",11)="",DIR("A",12)=""
- .S DIR("A")=" Press return to continue"
- .S DIR(0)="EA" D ^DIR W !
- ;
- N DGDONE
- W !,"You may queue this report to print at a later time.",!
- F Q:$G(DGSMS)!$G(DGDONE) D
- .K %ZIS,IOP,POP,ZTSK N I S DGION=$I,%ZIS="QM"
- .D ^%ZIS K %ZIS
- .I POP S IOP=DGION D ^%ZIS K IOP,DGION D Q
- ..N DIR,X,Y
- ..S DIR(0)="YA",DIR("A",1)=" ** No Device Selected **",DIR("A")="Select a different device? (Y/N) " D ^DIR
- ..S:'Y DGSMS=1
- .S DGDONE=1
- I $D(IO("Q")) D Q 1
- .N ZTDESC,ZTSAVE,ZTRTN
- .S ZTDESC="Marital Status to Master Marital Status Mapping Report",ZTRTN="DQ^DGMFR11"
- .S ZTSAVE("DATE*")="",ZTSAVE("DG*")="",ZTSAVE("ZTREQ")="@"
- .K IO("Q") D ^%ZTLOAD W:$D(ZTSK) !,"Report is Queued to print!" K ZTSK
- Q:$G(DGSMS) -1
- Q 0
- ;
- N DGHDR,DGTAB,DGSPACE
- S DGSMS=0
- I CRT,DGPGCNT>0,'$D(ZTQUEUED) D Q:DGSMS
- .N DIR,LIN
- .I MAXCNT<51 F LIN=1:1:(MAXCNT-$Y) W !
- .W !
- .S DIR(0)="E" D ^DIR K DIR
- .I 'Y S DGSMS=1 Q
- S DGPGCNT=DGPGCNT+1
- W @IOF,!
- S $P(DGSPACE," ",132)=""
- S DGHDR=" Marital Status to Master Marital Status Report "
- S DGHDR=DGHDR_"Page: "_DGPGCNT,DGTAB=132-$L(DGHDR)-1
- W ?DGTAB,DGHDR
- Q
- ;
- PRINMS(DGMSI) ; Print Marital Status file (#11) entry
- W !!,"Marital Status: ",$P(DGMS0,"^")
- N DGCT2
- I $G(DGSUM)=2 D
- .W !,"Abbreviation: ",$P(DGMS0,"^",2)
- .W ?30,"Status: ",DGMSST
- .S DGCT=$P(DGMS0,"^",3) I $L(DGCT) W !?3,"Code: ",DGCT
- S DGMMS0=$G(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"))
- S DGMMSI=+$P(DGMMS0,"^",4)
- W !,"Mapped to Master Marital Status : ",$S(DGMMSI:"YES",1:"NO")
- Q:'DGMMSI
- W !?3,"Master MS Name: ",$P(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^")
- I $G(DGSUM)=2 W !?3,"Master Code: ",$P(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^",2)
- Q
- ;
- INFO ; Display message, clear screen
- N MSG
- S MSG(1)=" This report prints Marital Statuses from the MARITAL"
- S MSG(2)=" STATUS file (#11), and each Marital Status' relationship"
- S MSG(3)=" to the Master Marital Status (#11.99) file."
- S MSG(4)=""
- D CLEAR^VALM1
- D BMES^XPDUTL(.MSG)
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGMFR11 7966 printed Feb 19, 2025@00:10:14 Page 2
- DGMFR11 ;DAL/JCH - NDS DEMOGRAPHICS MASTER MARITAL STATUS ASSOCIATIONS REPORT ;15-AUG-2017
- +1 ;;5.3;Registration;**933**;Aug 13, 1993;Build 44
- +2 ;
- +3 ; Available at Master File Reports [DGMF RMAIN] option, at the following menu path:
- +4 ; Supervisor ADT Menu [DG SUPERVISOR MENU]
- +5 ; ADT System Definition Menu [DG SYSTEM DEFINITION MENU]
- +6 ; Master File Menu [DGMF MNU]
- +7 ; Master File Reports [DGMF RMAIN]
- +8 QUIT
- +9 ;
- EN ; MMS Report Entry point
- +1 NEW DGOUT
- +2 SET DGOUT=0
- +3 FOR
- if $GET(DGOUT)
- QUIT
- Begin DoDot:1
- +4 DO MAIN
- if DGOUT
- QUIT
- +5 NEW DIR
- WRITE !!
- +6 SET DIR(0)="Y"
- SET DIR("B")="Y"
- SET DIR("A")="Run report again"
- DO ^DIR
- +7 if X'="Y"
- SET DGOUT=1
- End DoDot:1
- +8 QUIT
- +9 ;
- MAIN ; Driver loop
- +1 NEW DGSUM,DGMUA,DGSMS,DGOUTP
- +2 SET DGSMS=0
- +3 ;
- +4 DO INFO
- +5 ; Select (M)apped, (U)nmapped, or (A)ll entries from Marital Status (#11) file.
- +6 DO MUA(.DGMUA)
- IF '$DATA(DGMUA)!$GET(DGOUT)
- SET DGOUT=1
- QUIT
- +7 SET DGSUM=$$SUMMARY
- IF 'DGSUM
- QUIT
- +8 ;
- +9 ; Select output format
- +10 SET DGOUTP=$$OUT
- IF DGSMS
- QUIT
- +11 ;
- +12 ; Select device
- +13 IF $$SELDEV()!DGSMS
- QUIT
- +14 ;
- +15 IF DGOUTP="R"
- WRITE !!,"<*> please wait <*>"
- +16 USE IO
- DO DQ
- +17 QUIT
- +18 ;
- DQ ; report (queue) starts here
- +1 NEW DGMSI,DGMMSI,DGMS0,DGMMS0
- +2 ;
- +3 KILL ^TMP($JOB,"DGMFR11")
- +4 ; build list of Marital Statuses
- +5 SET DGMSI=0
- FOR
- SET DGMSI=$ORDER(^DIC(11,DGMSI))
- if 'DGMSI
- QUIT
- Begin DoDot:1
- +6 SET DGMS0=$GET(^DIC(11,DGMSI,0))
- +7 SET DGMSP02=+$GET(^DIC(11,DGMSI,.02))
- +8 SET DGMMSI=+$GET(^DIC(11,DGMSI,"MASTER"))
- +9 IF $GET(DGMUA)="U"
- IF $GET(DGMMSI)
- QUIT
- +10 IF $GET(DGMUA)="M"
- IF '$GET(DGMMSI)
- QUIT
- +11 SET DGMMS0=$SELECT($GET(DGMMSI):$GET(^DGMMS(11.99,+DGMMSI,0)),1:"Not Mapped")
- +12 IF DGMMSI
- SET $PIECE(DGMMS0,"^",4)=DGMMSI
- +13 SET ^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MS")=$GET(DGMS0)
- +14 SET ^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"STATUS")=DGMSP02
- +15 SET ^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MMSE")=$GET(DGMMS0)
- End DoDot:1
- +16 ;
- +17 DO PRINT
- +18 ;
- +19 DO ^%ZISC
- +20 KILL ^TMP($JOB,"DGMFR11")
- +21 QUIT
- +22 ;
- PRINT ; Print output
- +1 NEW MAXCNT,DGSMS,DGPGCNT,DGHDR,CRT,DGMS0,DGDELHD
- +2 IF IOST["C-"
- SET MAXCNT=IOSL-10
- SET CRT=1
- +3 IF '$TEST
- SET MAXCNT=IOSL-6
- SET CRT=0
- +4 IF DGSUM=1
- SET MAXCNT=MAXCNT+5
- +5 SET DGPGCNT=0
- SET DGSMS=0
- +6 ;
- +7 IF '$DATA(^TMP($JOB,"DGMFR11"))
- DO HEADER
- WRITE !!!?5,"No Data Found"
- QUIT
- +8 ;
- +9 SET DGMS0=""
- FOR
- SET DGMS0=$ORDER(^TMP($JOB,"DGMFR11",DGMS0))
- if DGMS0=""
- QUIT
- DO PRINT2(DGMS0)
- +10 QUIT
- PRINT2(DGMS0) ; Get details
- +1 NEW DGMSI
- +2 SET DGMSI=0
- FOR
- SET DGMSI=$ORDER(^TMP($JOB,"DGMFR11",DGMS0,DGMSI))
- if 'DGMSI!DGSMS
- QUIT
- Begin DoDot:1
- +3 NEW DGMMS0,DGCT,DGCTS,DGCTX,DGMSST
- +4 NEW DGMTST,DGMTED,DGMMSI,DGMTEDI,DGMPAR,DGMPARX
- +5 NEW DGMREPL,DGMREPX,DGMV0
- +6 ;
- +7 IF $GET(DGOUTP)="E"
- DO DELIM(DGMS0,DGMSI)
- QUIT
- +8 ;
- +9 IF ($Y+1>MAXCNT)!'DGPGCNT
- DO HEADER
- if DGSMS
- QUIT
- +10 SET DGMS0=$GET(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MS"))
- +11 SET DGMSST=+$GET(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"STATUS"))
- SET DGMSST=$SELECT(DGMSST:"INACTIVE",1:"ACTIVE")
- +12 DO PRINMS(DGMSI)
- +13 ;
- +14 if 'DGMMSI
- QUIT
- +15 IF $GET(DGSUM)=2
- Begin DoDot:2
- +16 SET DGMTED=$$NOW^XLFDT
- SET DGMTED=$ORDER(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED),-1)
- +17 ; This should always be true, if data came from STS MFS process
- IF DGMTED
- Begin DoDot:3
- +18 SET DGMTEDI=""
- SET DGMTEDI=$ORDER(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED,DGMTEDI))
- +19 SET DGMTST=$PIECE(^DGMMS(11.99,DGMMSI,"TERMSTATUS",DGMTEDI,0),"^",2)
- +20 WRITE ?25,"Master Status: ",$SELECT(DGMTST:"ACTIVE",1:"INACTIVE")
- End DoDot:3
- +21 SET DGMV0=$GET(^DGMMS(11.99,DGMMSI,"VUID"))
- +22 WRITE !?3,"VUID: ",$PIECE(DGMV0,"^")
- End DoDot:2
- End DoDot:1
- +23 QUIT
- +24 ;
- MUA(DGMUA) ; Select (M)apped, (U)nmapped, or(A)ll - entries from 11 mapped to 11.99
- +1 NEW DIR,DIRUT,Y
- +2 WRITE !
- SET DIR(0)="SAO^M:(M)apped;U:(U)nmapped;A:(A)ll"
- +3 SET DIR("?")="Enter ^ to exit"
- +4 SET DIR("A",1)="Run the report for"
- +5 SET DIR("A")="(M)apped, (U)nmapped, or (A)ll Marital Status entries: "
- SET DIR("B")="A"
- DO ^DIR
- +6 IF $DATA(DIRUT)
- SET DGOUT=1
- QUIT
- +7 SET DGMUA=Y
- +8 QUIT
- +9 ;
- SUMMARY() ; ask to print detailed or summary report
- +1 NEW DIR,DIRUT,X,Y
- +2 SET DIR(0)="SOA^D:Detailed;S:Summary;"
- SET DIR("B")="Summary"
- +3 SET DIR("A")="Type of report to print: "
- +4 WRITE !
- DO ^DIR
- +5 IF $DATA(DIRUT)
- SET DGSMS=1
- QUIT 0
- +6 QUIT $SELECT(Y="S":1,Y="D":2,1:0)
- +7 ;
- OUT() ; select Excel or Report format
- +1 NEW DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
- +2 WRITE !
- +3 SET DIR(0)="SA^E:Excel;R:Report"
- +4 SET DIR("A")="(E)xcel Format or (R)eport Format: "
- +5 SET DIR("B")="Report"
- +6 DO ^DIR
- IF $DATA(DIRUT)
- SET DGSMS=1
- QUIT ""
- +7 QUIT Y
- +8 ;
- DELIM(DGMS0,DGMSI) ; Print output in "^" delimited format
- +1 ; Print data in (E)xcel format, e.g., "data^data^data"
- +2 IF '$GET(DGDELHD)
- SET DGDELHD=1
- Begin DoDot:1
- +3 IF $GET(DGSUM)=1
- WRITE !,"VA Marital Status^Mapped/Not Mapped^Master Marital Status"
- +4 IF $GET(DGSUM)=2
- WRITE !,"VA Marital Status^VA Abbreviation^VA Status^VA Code^Mapped/Not Mapped^Master MS Name^Master MS Code^Master Status^VUID"
- End DoDot:1
- +5 SET DGMSST=$PIECE(DGMS0,"^",4)
- +6 SET DGMSST=$SELECT(DGMSST:"INACTIVE",1:"ACTIVE")
- +7 WRITE !,$PIECE(DGMS0,"^")
- +8 IF $GET(DGSUM)=2
- Begin DoDot:1
- +9 WRITE "^",$PIECE(DGMS0,"^",2)
- +10 WRITE "^",DGMSST
- +11 SET DGCT=$PIECE(DGMS0,"^",3)
- WRITE "^",DGCT
- End DoDot:1
- +12 SET DGMMS0=$GET(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MMSE"))
- +13 SET DGMMSI=+$PIECE(DGMMS0,"^",4)
- +14 WRITE "^",$SELECT(DGMMSI:"MAPPED",1:"NOT MAPPED")
- +15 if 'DGMMSI
- QUIT
- +16 ; $P(^TMP($J,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^")
- WRITE "^",$PIECE(DGMMS0,"^")
- +17 IF $GET(DGSUM)=2
- Begin DoDot:1
- +18 WRITE "^",$PIECE(DGMMS0,"^",2)
- +19 SET DGMTED=$$NOW^XLFDT
- SET DGMTED=$ORDER(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED),-1)
- +20 IF $GET(DGMTED)
- Begin DoDot:2
- +21 SET DGMTEDI=""
- SET DGMTEDI=$ORDER(^DGMMS(11.99,DGMMSI,"TERMSTATUS","B",DGMTED,DGMTEDI))
- +22 SET DGMTST=$PIECE(^DGMMS(11.99,DGMMSI,"TERMSTATUS",DGMTEDI,0),"^",2)
- +23 WRITE "^",$SELECT(DGMTST:"ACTIVE",1:"INACTIVE")
- End DoDot:2
- +24 SET DGMV0=$GET(^DGMMS(11.99,DGMMSI,"VUID"))
- +25 WRITE "^",$PIECE(DGMV0,"^")
- End DoDot:1
- +26 QUIT
- +27 ;
- SELDEV() ; Propmt for output device, return 1 if queued
- +1 IF DGOUTP="E"
- Begin DoDot:1
- +2 NEW DIR,X,Y
- +3 SET DIR("A",1)=""
- +4 SET DIR("A",2)=" ************************************************************"
- +5 SET DIR("A",3)=" ** You selected a Delimited report. Please verify you **"
- +6 SET DIR("A",4)=" ** you have turned logging on to capture the output. **"
- +7 SET DIR("A",5)=" ** **"
- +8 SET DIR("A",6)=" ** To avoid undesired wrapping, enter '0;199;999' at **"
- +9 SET DIR("A",7)=" ** the 'DEVICE:' prompt. The Terminal Session display **"
- +10 SET DIR("A",8)=" ** may need to be set to 199 columns. **"
- +11 SET DIR("A",9)=" ************************************************************"
- +12 SET DIR("A",10)=""
- +13 SET DIR("A",11)=""
- SET DIR("A",12)=""
- +14 SET DIR("A")=" Press return to continue"
- +15 SET DIR(0)="EA"
- DO ^DIR
- WRITE !
- End DoDot:1
- +16 ;
- +17 NEW DGDONE
- +18 WRITE !,"You may queue this report to print at a later time.",!
- +19 FOR
- if $GET(DGSMS)!$GET(DGDONE)
- QUIT
- Begin DoDot:1
- +20 KILL %ZIS,IOP,POP,ZTSK
- NEW I
- SET DGION=$IO
- SET %ZIS="QM"
- +21 DO ^%ZIS
- KILL %ZIS
- +22 IF POP
- SET IOP=DGION
- DO ^%ZIS
- KILL IOP,DGION
- Begin DoDot:2
- +23 NEW DIR,X,Y
- +24 SET DIR(0)="YA"
- SET DIR("A",1)=" ** No Device Selected **"
- SET DIR("A")="Select a different device? (Y/N) "
- DO ^DIR
- +25 if 'Y
- SET DGSMS=1
- End DoDot:2
- QUIT
- +26 SET DGDONE=1
- End DoDot:1
- +27 IF $DATA(IO("Q"))
- Begin DoDot:1
- +28 NEW ZTDESC,ZTSAVE,ZTRTN
- +29 SET ZTDESC="Marital Status to Master Marital Status Mapping Report"
- SET ZTRTN="DQ^DGMFR11"
- +30 SET ZTSAVE("DATE*")=""
- SET ZTSAVE("DG*")=""
- SET ZTSAVE("ZTREQ")="@"
- +31 KILL IO("Q")
- DO ^%ZTLOAD
- if $DATA(ZTSK)
- WRITE !,"Report is Queued to print!"
- KILL ZTSK
- End DoDot:1
- QUIT 1
- +32 if $GET(DGSMS)
- QUIT -1
- +33 QUIT 0
- +34 ;
- +1 NEW DGHDR,DGTAB,DGSPACE
- +2 SET DGSMS=0
- +3 IF CRT
- IF DGPGCNT>0
- IF '$DATA(ZTQUEUED)
- Begin DoDot:1
- +4 NEW DIR,LIN
- +5 IF MAXCNT<51
- FOR LIN=1:1:(MAXCNT-$Y)
- WRITE !
- +6 WRITE !
- +7 SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- +8 IF 'Y
- SET DGSMS=1
- QUIT
- End DoDot:1
- if DGSMS
- QUIT
- +9 SET DGPGCNT=DGPGCNT+1
- +10 WRITE @IOF,!
- +11 SET $PIECE(DGSPACE," ",132)=""
- +12 SET DGHDR=" Marital Status to Master Marital Status Report "
- +13 SET DGHDR=DGHDR_"Page: "_DGPGCNT
- SET DGTAB=132-$LENGTH(DGHDR)-1
- +14 WRITE ?DGTAB,DGHDR
- +15 QUIT
- +16 ;
- PRINMS(DGMSI) ; Print Marital Status file (#11) entry
- +1 WRITE !!,"Marital Status: ",$PIECE(DGMS0,"^")
- +2 NEW DGCT2
- +3 IF $GET(DGSUM)=2
- Begin DoDot:1
- +4 WRITE !,"Abbreviation: ",$PIECE(DGMS0,"^",2)
- +5 WRITE ?30,"Status: ",DGMSST
- +6 SET DGCT=$PIECE(DGMS0,"^",3)
- IF $LENGTH(DGCT)
- WRITE !?3,"Code: ",DGCT
- End DoDot:1
- +7 SET DGMMS0=$GET(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MMSE"))
- +8 SET DGMMSI=+$PIECE(DGMMS0,"^",4)
- +9 WRITE !,"Mapped to Master Marital Status : ",$SELECT(DGMMSI:"YES",1:"NO")
- +10 if 'DGMMSI
- QUIT
- +11 WRITE !?3,"Master MS Name: ",$PIECE(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^")
- +12 IF $GET(DGSUM)=2
- WRITE !?3,"Master Code: ",$PIECE(^TMP($JOB,"DGMFR11",DGMS0,DGMSI,"MMSE"),"^",2)
- +13 QUIT
- +14 ;
- INFO ; Display message, clear screen
- +1 NEW MSG
- +2 SET MSG(1)=" This report prints Marital Statuses from the MARITAL"
- +3 SET MSG(2)=" STATUS file (#11), and each Marital Status' relationship"
- +4 SET MSG(3)=" to the Master Marital Status (#11.99) file."
- +5 SET MSG(4)=""
- +6 DO CLEAR^VALM1
- +7 DO BMES^XPDUTL(.MSG)
- +8 QUIT