1 | IVMPTRN1 ;ALB/MLI - Clock routine for testing only ; 04-MAY-93
|
---|
2 | ;;2.0;INCOME VERIFICATION MATCH;**9**; 21-OCT-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | ;
|
---|
6 | START ; start clock remove after v1
|
---|
7 | D NOW^%DTC S IVMBEG=%
|
---|
8 | K %
|
---|
9 | Q
|
---|
10 | ;
|
---|
11 | ;
|
---|
12 | STOP ; stop clock, mail bulletin remove after v1
|
---|
13 | N X,Y ; from DTC call
|
---|
14 | I '$G(IVMGTOT) G STOPQ
|
---|
15 | D NOW^%DTC S IVMEND=%
|
---|
16 | S IVMTEXT(1)="The IVM bulk transmission has completed successfully.",IVMTEXT(2)=" "
|
---|
17 | S IVMTEXT(3)="Start Time: "_IVMBEG
|
---|
18 | S IVMTEXT(4)="End Time: "_IVMEND
|
---|
19 | S IVMTEXT(5)="Number of Transmissions: "_IVMGTOT
|
---|
20 | X ^%ZOSF("UCI")
|
---|
21 | S XMTEXT="IVMTEXT(",XMSUB="IVM BULK TRANSMISSION HAS COMPLETED"
|
---|
22 | S XMDUZ=.5,XMY(DUZ)=""
|
---|
23 | D ^XMD
|
---|
24 | STOPQ K IVMGBEG,IVMEND,IVMGTOT
|
---|
25 | K XMTEXT,IVMTEXT,XMSUB,XMDUZ,XMY
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | ;
|
---|
29 | DELMT ; send delete mt transaction if pt no longer meets IVM criteria
|
---|
30 | ;
|
---|
31 | ; Input - DFN
|
---|
32 | ; IVMMTDT - date of means test
|
---|
33 | ;
|
---|
34 | N I,IVMIY,X
|
---|
35 | S IVMIY=$$LYR^DGMTSCU1(IVMMTDT)
|
---|
36 | F I=1:1:5,8:1:14 S $P(X,HLFS,I)=HLQ
|
---|
37 | S ^TMP("HLS",$J,HLSDT,IVMCT)="ZMT"_HLFS_X
|
---|
38 | D CLOSE(IVMIY,DFN,2,3) ; set flag to stop future transmissions
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | ;
|
---|
42 | CLOSE(IVMIY,DFN,IVMCS,IVMCR) ; Close IVM case record for a patient
|
---|
43 | ; Input: DFN -- Pointer to the patient in file #2
|
---|
44 | ; IVMIY -- Income year of the closed case
|
---|
45 | ; IVMCS -- Closure source [1=IVM | 2=DHCP]
|
---|
46 | ; IVMCR -- Pointer to the closure reason in file #301.93
|
---|
47 | ;
|
---|
48 | N DA,DIE,DR,X,Y,EVENTS,STATUS
|
---|
49 | I '$G(IVMIY)!'$G(DFN)!'$G(IVMCS)!'$G(IVMCR) G CLOSEQ
|
---|
50 | S IVMDELMT=1 ; flag indicates deletion
|
---|
51 | S DA=$O(^IVM(301.5,"APT",+DFN,+IVMIY,0))
|
---|
52 | I $G(^IVM(301.5,+DA,0))']"" G CLOSEQ
|
---|
53 | ;
|
---|
54 | ;don't want closing a case to stop transmission of an enrollment event
|
---|
55 | S STATUS=1
|
---|
56 | I ($$STATUS^IVMPLOG(+DA,.EVENTS)=0),EVENTS("ENROLL")=1 S STATUS=0
|
---|
57 | ;
|
---|
58 | D NOW^%DTC S DR=".03////"_STATUS_";.04////1;1.01////"_IVMCR_";1.02////"_IVMCS_";1.03////"_%
|
---|
59 | S DIE="^IVM(301.5," D ^DIE
|
---|
60 | CLOSEQ Q
|
---|
61 | ;
|
---|
62 | ;
|
---|
63 | PSEUDO ; strip P from pseudo SSNs before transmitting to IVM
|
---|
64 | ;
|
---|
65 | N X
|
---|
66 | S X=IVMPID_$G(IVMPID(1))
|
---|
67 | S $P(X,HLFS,20)=$E($P(X,HLFS,20),1,9) ; remove P
|
---|
68 | K IVMPID S IVMPID=$E(X,1,245)
|
---|
69 | I $L(X)>245 S IVMPID(1)=$E(X,246,999)
|
---|
70 | Q
|
---|