DGMSRPT ;ALB/LBD - Military Service Inconsistency Report; 01/05/04
;;5.3;Registration;**562,603**; Aug 13,1993
;
EN ; Called from DG MS INCONSISTENCIES RPT option
; Prompt user to select to run extract or print report
N DGSEL
S DGSEL=$$SEL Q:'DGSEL
S DGSEL="SEL"_DGSEL
G @DGSEL
Q
;
SEL() ; Select action: Extract or Print
; INPUT: None
; OUTPUT: 1=Extract; 2=Print; 0=Quit
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
W !!,"Military Service Data Inconsistencies Report"
W !,"============================================"
S DIR(0)="S^1:Extract and Count Inconsistencies;2:Print Inconsistencies Detail Report"
S DIR("A")="Enter 1 or 2"
S DIR("?",1)="(1) Extract and Count Inconsistencies - selecting this option will queue a"
S DIR("?",2)=" process to read through the Patient file and find records with"
S DIR("?",3)=" inconsistent military service data. The inconsistencies will be"
S DIR("?",4)=" totaled by category in the Military Service Data Inconsistencies Volume"
S DIR("?",5)=" Report that will be sent as a mail message to the DGEN ELIGIBILITY ALERT"
S DIR("?",6)=" mail group. This process must be run before the detail report can"
S DIR("?",7)=" be printed, and can be rerun as necessary."
S DIR("?",8)=""
S DIR("?",9)="(2) Print Inconsistencies Detail Report - selecting this option will"
S DIR("?",10)=" produce a detail report of the inconsistencies found for"
S DIR("?",11)=" individual veterans. The report can be sorted by veteran name"
S DIR("?",12)=" or SSN (terminal digits)."
S DIR("?")=" "
D ^DIR I 'Y!($D(DTOUT))!($D(DUOUT)) Q 0
Q Y
;
SEL1 ; Extract and count military service data inconsistencies from Patient
; file #2
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
I '$$CHK W ! S DIR(0)="E" D ^DIR Q
W !!
S DIR(0)="Y",DIR("A")="Queue Extract",DIR("B")="NO"
D ^DIR K DIR Q:'Y!($D(DTOUT))!($D(DUOUT))
K ^XTMP("DGMSRPT")
D EXTQUE
W ! S DIR(0)="E" D ^DIR
Q
SEL2 ; Print detail report of military service data inconsistencies
; extracted and stored in ^XTMP("DGMSRPT",
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,DGTOT,DGBEG,DGEND,DGSRT
I $P($G(^XTMP("DGMSRPT","DATE")),U,2)="" D Q
.W !!,*7,"*** The Extract of Military Service Data Inconsistencies must be run"
.W !," before the report can be printed."
.W ! S DIR(0)="E" D ^DIR
I '$$CHK W ! S DIR(0)="E" D ^DIR Q
I +$G(^XTMP("DGMSRPT","MSINC","CNT","VET"))=0 W !!,*7,"There are no records to print.",! S DIR(0)="E" D ^DIR Q
W !!
S DIR(0)="Y",DIR("A")="Print Report",DIR("B")="YES"
D ^DIR K DIR Q:'Y!($D(DTOUT))!($D(DUOUT))
S DGTOT=+$G(^XTMP("DGMSRPT","MSINC","CNT","VET"))
W !!,"Total veteran records to print: ",DGTOT
S DGBEG=$$BEG(DGTOT) Q:'DGBEG
S DGEND=$$END(DGBEG,DGTOT) Q:'DGEND
S DGSRT=$$SRT Q:DGSRT=""
D RPTQUE
Q
CHK() ; Check if extract can be tasked to run
; INPUT: None
; OUTPUT: 1=Run Extract; 0=Don't run Extract
N CHK S CHK=1
I $G(^XTMP("DGMSRPT","RUNNING")) D Q CHK
.N ZTSK
.S ZTSK=^XTMP("DGMSRPT","RUNNING") D STAT^%ZTLOAD
.I ZTSK(1)=1!(ZTSK(1)=2) W !!,*7,"*** Extract is currently running or queued as task ",^XTMP("DGMSRPT","RUNNING") S CHK=0
I $P($G(^XTMP("DGMSRPT","DATE")),U,2)'="" W !!,"Extract was last run ",$P(^XTMP("DGMSRPT","DATE"),U,2)
Q CHK
;
BEG(TOT) ; Get starting record number to print
; INPUT: TOT - Total number of veteran records to print
; OUTPUT: Y - Starting record number
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
I '$G(TOT) Q 0
S DIR(0)="NA^1:"_TOT,DIR("A")="Print from record: ",DIR("B")=1
D ^DIR I 'Y!($D(DTOUT))!($D(DUOUT)) Q 0
Q Y
END(BEG,TOT) ; Get ending record number to print
; INPUT: BEG - Starting record number to print
; TOT - Total number of veteran records to print
; OUTPUT: Y - Ending record number
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
I '$G(BEG),'$G(TOT) Q 0
S DIR(0)="NA^"_BEG_":"_TOT,DIR("A")=" to record: ",DIR("B")=DGTOT
D ^DIR I 'Y!($D(DTOUT))!($D(DUOUT)) Q 0
Q Y
SRT() ; Get sort order
; OUPUT: Y - Sort (N=Name; S=SSN)
N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
S DIR(0)="SA^N:Name;S:SSN (Terminal digits)",DIR("A")="Sort report by Name or SSN (Terminal digits): ",DIR("B")="NAME"
S DIR("?",1)="Indicate whether the report should be sorted by the"
S DIR("?")="Veteran's Name or the terminal digits of the Veteran's SSN"
D ^DIR I $D(DTOUT)!($D(DUOUT)) Q ""
Q Y
;
EXTQUE ; Queue extract task
N ZTRTN,ZTDESC,ZTSK,ZTIO,ZTDTH,DIR
S ZTRTN="EN^DGMSRPT1",ZTIO="",ZTDTH=""
S ZTDESC="Extract Military Service Inconsistencies"
D ^%ZTLOAD
I $G(ZTSK) D Q
.S ^XTMP("DGMSRPT","RUNNING")=ZTSK
.W !,"Extract queued as task ",ZTSK
.W !!,"When the process is completed a message containing the Military Service Data"
.W !,"Inconsistencies Volume Report will be sent to mail group DGEN ELIGIBILITY ALERT.",!
W !,*7,"Extract could not be queued!"
Q
;
RPTQUE ; Get report device. Queue report if requested.
N POP,ZTRTN,ZTDESC,ZTSAVE,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
K IOP,%ZIS
S %ZIS="MQ"
W !
D ^%ZIS I POP W !!,*7,"Report Cancelled!",! S DIR(0)="E" D ^DIR Q
I $D(IO("Q")) D Q
.S ZTRTN="EN^DGMSRPT2(DGBEG,DGEND,DGSRT)"
.S ZTDESC="Print Military Service Inconsistencies Report"
.S (ZTSAVE("DGBEG"),ZTSAVE("DGEND"),ZTSAVE("DGSRT"))=""
.D ^%ZTLOAD
.W !!,"Report "_$S($D(ZTSK):"Queued!",1:"Cancelled!")
.W ! S DIR(0)="E" D ^DIR
.D HOME^%ZIS
D EN^DGMSRPT2(DGBEG,DGEND,DGSRT)
D ^%ZISC
Q
;
MSG(DGXTMP) ; Send message with counts of inconsistencies when extract completes.
;INPUT: DGXTMP - ^XTMP global reference
N DGMSG,XMDUZ,XMSUB,XMTEXT,XMY,LN,SUB,SITE
S:$G(DGXTMP)="" DGXTMP="^XTMP(""DGMSRPT"",""MSINC"")"
S SITE=$P($$SITE^VASITE,U,3) S:SITE="" SITE="UNKNOWN"
S XMDUZ="STATION #"_SITE
I $$GET1^DIQ(869.3,"1,",.03,"I")'="P" S XMDUZ=XMDUZ_" [TEST]"
S XMSUB="MILITARY SERVICE DATA INCONSISTENCIES VOLUME REPORT"
S (XMY(DUZ),XMY("G.DGEN ELIGIBILITY ALERT"),XMY("HECDQSUPPORT@DOMAIN.EXT"))="",XMTEXT="DGMSG("
S DGMSG(1)="The extract of Military Service data inconsistencies has completed"
S DGMSG(2)="successfully."
S DGMSG(3)=""
S DGMSG(4)="Extract process started: "_$P($G(^XTMP("DGMSRPT","DATE")),U,1)
S DGMSG(5)="Extract process ended: "_$P($G(^XTMP("DGMSRPT","DATE")),U,2)
S DGMSG(6)=""
S DGMSG(7)="Total Veterans with MS Data Inconsistencies: "_+@DGXTMP@("CNT","VET")
S DGMSG(8)=""
S DGMSG(9)=$$LJ^XLFSTR(" INCONSISTENCY CATEGORY",55)_$$RJ^XLFSTR("TOTAL",20)
S DGMSG(10)=$$LJ^XLFSTR("",79,"=")
S LN=10,SUB=""
F S SUB=$O(@DGXTMP@("CNT",SUB)) Q:'SUB S LN=LN+1,DGMSG(LN)=$$LJ^XLFSTR($P(^(SUB),U,2),55)_$$RJ^XLFSTR($P(^(SUB),U,1),20)
D ^XMD
Q
;
INIT ; Set variables and initialize array for counts
S DGXTMP="^XTMP(""DGMSRPT"",""MSINC"")"
S @DGXTMP@("CNT",2)="0^Branch of Service=B.E.C."
S @DGXTMP@("CNT",3)="0^Branch of Service=Merchant Seaman, No WWII Service"
S @DGXTMP@("CNT",4)="0^Military Service Episode Data Missing"
S @DGXTMP@("CNT",5)="0^Military Service Episode Date Imprecise"
S @DGXTMP@("CNT",6)="0^Military Service Episode End Date Before Start Date"
S @DGXTMP@("CNT",7)="0^Military Service Episodes Overlap"
S @DGXTMP@("CNT",8)="0^Combat Data Missing"
S @DGXTMP@("CNT",9)="0^Combat Date Imprecise"
S @DGXTMP@("CNT",10)="0^Combat Date Not Valid for Location"
S @DGXTMP@("CNT",11)="0^Combat Date Not Within MSE"
S @DGXTMP@("CNT",12)="0^Conflict Data Missing"
S @DGXTMP@("CNT",13)="0^Conflict Date Imprecise"
S @DGXTMP@("CNT",14)="0^Conflict Date Not Valid for Location"
S @DGXTMP@("CNT",15)="0^Conflict Date Not Within MSE"
S @DGXTMP@("CNT",16)="0^Prisoner of War Data Missing"
S @DGXTMP@("CNT",17)="0^Prisoner of War Date Imprecise"
S @DGXTMP@("CNT",18)="0^Prisoner of War Date Not Valid for Location"
S @DGXTMP@("CNT",19)="0^Prisoner of War Date Not Within MSE"
S @DGXTMP@("CNT","VET")="0^Number of Veterans with Inconsistent MS Data"
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGMSRPT 7915 printed Nov 22, 2024@17:54:19 Page 2
DGMSRPT ;ALB/LBD - Military Service Inconsistency Report; 01/05/04
+1 ;;5.3;Registration;**562,603**; Aug 13,1993
+2 ;
EN ; Called from DG MS INCONSISTENCIES RPT option
+1 ; Prompt user to select to run extract or print report
+2 NEW DGSEL
+3 SET DGSEL=$$SEL
if 'DGSEL
QUIT
+4 SET DGSEL="SEL"_DGSEL
+5 GOTO @DGSEL
+6 QUIT
+7 ;
SEL() ; Select action: Extract or Print
+1 ; INPUT: None
+2 ; OUTPUT: 1=Extract; 2=Print; 0=Quit
+3 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+4 WRITE !!,"Military Service Data Inconsistencies Report"
+5 WRITE !,"============================================"
+6 SET DIR(0)="S^1:Extract and Count Inconsistencies;2:Print Inconsistencies Detail Report"
+7 SET DIR("A")="Enter 1 or 2"
+8 SET DIR("?",1)="(1) Extract and Count Inconsistencies - selecting this option will queue a"
+9 SET DIR("?",2)=" process to read through the Patient file and find records with"
+10 SET DIR("?",3)=" inconsistent military service data. The inconsistencies will be"
+11 SET DIR("?",4)=" totaled by category in the Military Service Data Inconsistencies Volume"
+12 SET DIR("?",5)=" Report that will be sent as a mail message to the DGEN ELIGIBILITY ALERT"
+13 SET DIR("?",6)=" mail group. This process must be run before the detail report can"
+14 SET DIR("?",7)=" be printed, and can be rerun as necessary."
+15 SET DIR("?",8)=""
+16 SET DIR("?",9)="(2) Print Inconsistencies Detail Report - selecting this option will"
+17 SET DIR("?",10)=" produce a detail report of the inconsistencies found for"
+18 SET DIR("?",11)=" individual veterans. The report can be sorted by veteran name"
+19 SET DIR("?",12)=" or SSN (terminal digits)."
+20 SET DIR("?")=" "
+21 DO ^DIR
IF 'Y!($DATA(DTOUT))!($DATA(DUOUT))
QUIT 0
+22 QUIT Y
+23 ;
SEL1 ; Extract and count military service data inconsistencies from Patient
+1 ; file #2
+2 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+3 IF '$$CHK
WRITE !
SET DIR(0)="E"
DO ^DIR
QUIT
+4 WRITE !!
+5 SET DIR(0)="Y"
SET DIR("A")="Queue Extract"
SET DIR("B")="NO"
+6 DO ^DIR
KILL DIR
if 'Y!($DATA(DTOUT))!($DATA(DUOUT))
QUIT
+7 KILL ^XTMP("DGMSRPT")
+8 DO EXTQUE
+9 WRITE !
SET DIR(0)="E"
DO ^DIR
+10 QUIT
SEL2 ; Print detail report of military service data inconsistencies
+1 ; extracted and stored in ^XTMP("DGMSRPT",
+2 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,DGTOT,DGBEG,DGEND,DGSRT
+3 IF $PIECE($GET(^XTMP("DGMSRPT","DATE")),U,2)=""
Begin DoDot:1
+4 WRITE !!,*7,"*** The Extract of Military Service Data Inconsistencies must be run"
+5 WRITE !," before the report can be printed."
+6 WRITE !
SET DIR(0)="E"
DO ^DIR
End DoDot:1
QUIT
+7 IF '$$CHK
WRITE !
SET DIR(0)="E"
DO ^DIR
QUIT
+8 IF +$GET(^XTMP("DGMSRPT","MSINC","CNT","VET"))=0
WRITE !!,*7,"There are no records to print.",!
SET DIR(0)="E"
DO ^DIR
QUIT
+9 WRITE !!
+10 SET DIR(0)="Y"
SET DIR("A")="Print Report"
SET DIR("B")="YES"
+11 DO ^DIR
KILL DIR
if 'Y!($DATA(DTOUT))!($DATA(DUOUT))
QUIT
+12 SET DGTOT=+$GET(^XTMP("DGMSRPT","MSINC","CNT","VET"))
+13 WRITE !!,"Total veteran records to print: ",DGTOT
+14 SET DGBEG=$$BEG(DGTOT)
if 'DGBEG
QUIT
+15 SET DGEND=$$END(DGBEG,DGTOT)
if 'DGEND
QUIT
+16 SET DGSRT=$$SRT
if DGSRT=""
QUIT
+17 DO RPTQUE
+18 QUIT
CHK() ; Check if extract can be tasked to run
+1 ; INPUT: None
+2 ; OUTPUT: 1=Run Extract; 0=Don't run Extract
+3 NEW CHK
SET CHK=1
+4 IF $GET(^XTMP("DGMSRPT","RUNNING"))
Begin DoDot:1
+5 NEW ZTSK
+6 SET ZTSK=^XTMP("DGMSRPT","RUNNING")
DO STAT^%ZTLOAD
+7 IF ZTSK(1)=1!(ZTSK(1)=2)
WRITE !!,*7,"*** Extract is currently running or queued as task ",^XTMP("DGMSRPT","RUNNING")
SET CHK=0
End DoDot:1
QUIT CHK
+8 IF $PIECE($GET(^XTMP("DGMSRPT","DATE")),U,2)'=""
WRITE !!,"Extract was last run ",$PIECE(^XTMP("DGMSRPT","DATE"),U,2)
+9 QUIT CHK
+10 ;
BEG(TOT) ; Get starting record number to print
+1 ; INPUT: TOT - Total number of veteran records to print
+2 ; OUTPUT: Y - Starting record number
+3 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+4 IF '$GET(TOT)
QUIT 0
+5 SET DIR(0)="NA^1:"_TOT
SET DIR("A")="Print from record: "
SET DIR("B")=1
+6 DO ^DIR
IF 'Y!($DATA(DTOUT))!($DATA(DUOUT))
QUIT 0
+7 QUIT Y
END(BEG,TOT) ; Get ending record number to print
+1 ; INPUT: BEG - Starting record number to print
+2 ; TOT - Total number of veteran records to print
+3 ; OUTPUT: Y - Ending record number
+4 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+5 IF '$GET(BEG)
IF '$GET(TOT)
QUIT 0
+6 SET DIR(0)="NA^"_BEG_":"_TOT
SET DIR("A")=" to record: "
SET DIR("B")=DGTOT
+7 DO ^DIR
IF 'Y!($DATA(DTOUT))!($DATA(DUOUT))
QUIT 0
+8 QUIT Y
SRT() ; Get sort order
+1 ; OUPUT: Y - Sort (N=Name; S=SSN)
+2 NEW DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+3 SET DIR(0)="SA^N:Name;S:SSN (Terminal digits)"
SET DIR("A")="Sort report by Name or SSN (Terminal digits): "
SET DIR("B")="NAME"
+4 SET DIR("?",1)="Indicate whether the report should be sorted by the"
+5 SET DIR("?")="Veteran's Name or the terminal digits of the Veteran's SSN"
+6 DO ^DIR
IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT ""
+7 QUIT Y
+8 ;
EXTQUE ; Queue extract task
+1 NEW ZTRTN,ZTDESC,ZTSK,ZTIO,ZTDTH,DIR
+2 SET ZTRTN="EN^DGMSRPT1"
SET ZTIO=""
SET ZTDTH=""
+3 SET ZTDESC="Extract Military Service Inconsistencies"
+4 DO ^%ZTLOAD
+5 IF $GET(ZTSK)
Begin DoDot:1
+6 SET ^XTMP("DGMSRPT","RUNNING")=ZTSK
+7 WRITE !,"Extract queued as task ",ZTSK
+8 WRITE !!,"When the process is completed a message containing the Military Service Data"
+9 WRITE !,"Inconsistencies Volume Report will be sent to mail group DGEN ELIGIBILITY ALERT.",!
End DoDot:1
QUIT
+10 WRITE !,*7,"Extract could not be queued!"
+11 QUIT
+12 ;
RPTQUE ; Get report device. Queue report if requested.
+1 NEW POP,ZTRTN,ZTDESC,ZTSAVE,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
+2 KILL IOP,%ZIS
+3 SET %ZIS="MQ"
+4 WRITE !
+5 DO ^%ZIS
IF POP
WRITE !!,*7,"Report Cancelled!",!
SET DIR(0)="E"
DO ^DIR
QUIT
+6 IF $DATA(IO("Q"))
Begin DoDot:1
+7 SET ZTRTN="EN^DGMSRPT2(DGBEG,DGEND,DGSRT)"
+8 SET ZTDESC="Print Military Service Inconsistencies Report"
+9 SET (ZTSAVE("DGBEG"),ZTSAVE("DGEND"),ZTSAVE("DGSRT"))=""
+10 DO ^%ZTLOAD
+11 WRITE !!,"Report "_$SELECT($DATA(ZTSK):"Queued!",1:"Cancelled!")
+12 WRITE !
SET DIR(0)="E"
DO ^DIR
+13 DO HOME^%ZIS
End DoDot:1
QUIT
+14 DO EN^DGMSRPT2(DGBEG,DGEND,DGSRT)
+15 DO ^%ZISC
+16 QUIT
+17 ;
MSG(DGXTMP) ; Send message with counts of inconsistencies when extract completes.
+1 ;INPUT: DGXTMP - ^XTMP global reference
+2 NEW DGMSG,XMDUZ,XMSUB,XMTEXT,XMY,LN,SUB,SITE
+3 if $GET(DGXTMP)=""
SET DGXTMP="^XTMP(""DGMSRPT"",""MSINC"")"
+4 SET SITE=$PIECE($$SITE^VASITE,U,3)
if SITE=""
SET SITE="UNKNOWN"
+5 SET XMDUZ="STATION #"_SITE
+6 IF $$GET1^DIQ(869.3,"1,",.03,"I")'="P"
SET XMDUZ=XMDUZ_" [TEST]"
+7 SET XMSUB="MILITARY SERVICE DATA INCONSISTENCIES VOLUME REPORT"
+8 SET (XMY(DUZ),XMY("G.DGEN ELIGIBILITY ALERT"),XMY("HECDQSUPPORT@DOMAIN.EXT"))=""
SET XMTEXT="DGMSG("
+9 SET DGMSG(1)="The extract of Military Service data inconsistencies has completed"
+10 SET DGMSG(2)="successfully."
+11 SET DGMSG(3)=""
+12 SET DGMSG(4)="Extract process started: "_$PIECE($GET(^XTMP("DGMSRPT","DATE")),U,1)
+13 SET DGMSG(5)="Extract process ended: "_$PIECE($GET(^XTMP("DGMSRPT","DATE")),U,2)
+14 SET DGMSG(6)=""
+15 SET DGMSG(7)="Total Veterans with MS Data Inconsistencies: "_+@DGXTMP@("CNT","VET")
+16 SET DGMSG(8)=""
+17 SET DGMSG(9)=$$LJ^XLFSTR(" INCONSISTENCY CATEGORY",55)_$$RJ^XLFSTR("TOTAL",20)
+18 SET DGMSG(10)=$$LJ^XLFSTR("",79,"=")
+19 SET LN=10
SET SUB=""
+20 FOR
SET SUB=$ORDER(@DGXTMP@("CNT",SUB))
if 'SUB
QUIT
SET LN=LN+1
SET DGMSG(LN)=$$LJ^XLFSTR($PIECE(^(SUB),U,2),55)_$$RJ^XLFSTR($PIECE(^(SUB),U,1),20)
+21 DO ^XMD
+22 QUIT
+23 ;
INIT ; Set variables and initialize array for counts
+1 SET DGXTMP="^XTMP(""DGMSRPT"",""MSINC"")"
+2 SET @DGXTMP@("CNT",2)="0^Branch of Service=B.E.C."
+3 SET @DGXTMP@("CNT",3)="0^Branch of Service=Merchant Seaman, No WWII Service"
+4 SET @DGXTMP@("CNT",4)="0^Military Service Episode Data Missing"
+5 SET @DGXTMP@("CNT",5)="0^Military Service Episode Date Imprecise"
+6 SET @DGXTMP@("CNT",6)="0^Military Service Episode End Date Before Start Date"
+7 SET @DGXTMP@("CNT",7)="0^Military Service Episodes Overlap"
+8 SET @DGXTMP@("CNT",8)="0^Combat Data Missing"
+9 SET @DGXTMP@("CNT",9)="0^Combat Date Imprecise"
+10 SET @DGXTMP@("CNT",10)="0^Combat Date Not Valid for Location"
+11 SET @DGXTMP@("CNT",11)="0^Combat Date Not Within MSE"
+12 SET @DGXTMP@("CNT",12)="0^Conflict Data Missing"
+13 SET @DGXTMP@("CNT",13)="0^Conflict Date Imprecise"
+14 SET @DGXTMP@("CNT",14)="0^Conflict Date Not Valid for Location"
+15 SET @DGXTMP@("CNT",15)="0^Conflict Date Not Within MSE"
+16 SET @DGXTMP@("CNT",16)="0^Prisoner of War Data Missing"
+17 SET @DGXTMP@("CNT",17)="0^Prisoner of War Date Imprecise"
+18 SET @DGXTMP@("CNT",18)="0^Prisoner of War Date Not Valid for Location"
+19 SET @DGXTMP@("CNT",19)="0^Prisoner of War Date Not Within MSE"
+20 SET @DGXTMP@("CNT","VET")="0^Number of Veterans with Inconsistent MS Data"
+21 QUIT