| 1 | QANDBASE ;WCIOFO/ERC - TEST FOR BAD RECORDS IN ^QA(742 ;9/20/99
 | 
|---|
| 2 |  ;;2.0;Incident Reporting;;*26*;08/07/1992
 | 
|---|
| 3 |  S QANSIT=$P(^QA(740,1,0),U)
 | 
|---|
| 4 |  S QANSIT=$P(^DIC(4,QANSIT,0),U)
 | 
|---|
| 5 |  S QANCNT=1
 | 
|---|
| 6 |  N QANCC,QANEE,QANRR
 | 
|---|
| 7 |  S QANFLG=0
 | 
|---|
| 8 | START ; use date cross-reference to determine starting record in 742
 | 
|---|
| 9 |  S QANSTART=2990501 ; use date before QAN27
 | 
|---|
| 10 |  S QANSTART=$O(^QA(742.4,"BDT",QANSTART)) Q:QANSTART'>0  D
 | 
|---|
| 11 |  . S QANEE=$O(^QA(742.4,"BDT",QANSTART,0)) Q:QANEE'>0  D
 | 
|---|
| 12 |  . . S QANCC=$O(^QA(742,"BCS",QANEE,0)) Q:QANCC'>0  D 742
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | 742 ; loop through 742, using QANCC as first record
 | 
|---|
| 15 |  S QANRR=QANCC-1
 | 
|---|
| 16 |  F  S QANRR=$O(^QA(742,QANRR)) Q:QANRR'>0  D
 | 
|---|
| 17 |  . D NOZERO
 | 
|---|
| 18 |  . D NO7424
 | 
|---|
| 19 |  I $G(QANFLG)=0 S QANTXT(QANCNT)="No records in file 742 with missing .01 field.",QANCNT=QANCNT+1
 | 
|---|
| 20 |  S QANTXT(QANCNT)="Last entry in file 742 is "_$P(^QA(742,0),U,3)
 | 
|---|
| 21 |  D MAIL
 | 
|---|
| 22 |  Q
 | 
|---|
| 23 | NOZERO ; check for .01 FIELD
 | 
|---|
| 24 |  I $P(^QA(742,QANRR,0),U)']"" S QANTXT(QANCNT)="File 742 record #"_QANRR_" is bad - no .01 Field" S QANFLG=1,QANCNT=QANCNT+1
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 | NO7424 ; sub-routine will check entries in 742 for valid pointer to 742.4
 | 
|---|
| 27 |  S QAN7424=$P(^QA(742,QANRR,0),U,3) Q:$G(QAN7424)']""
 | 
|---|
| 28 |  I '$D(^QA(742.4,QAN7424,0)) D
 | 
|---|
| 29 |  . S QANTXT(QANCNT)="File 742 record #"_QANRR_" points to a non-existent record in file 742.4.",QANCNT=QANCNT+1
 | 
|---|
| 30 |  . S DFN=$P(^QA(742,QANRR,0),U)
 | 
|---|
| 31 |  . D DEM^VADPT
 | 
|---|
| 32 |  . S QANTXT(QANCNT)="    Patient for file 742 record #"_QANRR_" is "_VADM(1),QANCNT=QANCNT+1
 | 
|---|
| 33 |  . K DFN,VADM
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 | MAIL ;
 | 
|---|
| 36 |  N DIFROM,XMROU
 | 
|---|
| 37 |  D KILL^XM
 | 
|---|
| 38 |  S XMDUZ=.5,XMY(DUZ)=""
 | 
|---|
| 39 |  S XMTEXT="QANTXT("
 | 
|---|
| 40 |  S XMY("CURTIN,EDNA@FORUM.VA.GOV")=""
 | 
|---|
| 41 |  S XMSUB="QAN FILE 742 REPORT - "_QANSIT
 | 
|---|
| 42 |  D ^XMD
 | 
|---|
| 43 |  D KILL^XM
 | 
|---|
| 44 | KILL ;
 | 
|---|
| 45 |  K QAN7424,QANCNT,QANFLG,QANSIT,QANSTART,QANTXT
 | 
|---|
| 46 |  K XMDUZ,XMTEXT,XMY
 | 
|---|
| 47 |  Q
 | 
|---|