1 | IVMYZ1 ;ALB/SEK - PURGE INCORRECT IVM PATIENT & TRANSMISSION RECORDS ; 8-NOV-94
|
---|
2 | ;;Version 2.0 ; INCOME VERIFICATION MATCH ;**1**; 21-OCT-94
|
---|
3 | ;
|
---|
4 | EN ; this routine will delete ivm patient (301.5) and ivm
|
---|
5 | ; transmission log (301.6) records for incorrect income years of
|
---|
6 | ; -10000 & -910000.
|
---|
7 | ; this routine will also send notification to the IVM Center once
|
---|
8 | ; the facility has installed IVM*2*1 patch.
|
---|
9 | ;
|
---|
10 | TYPE ; Ask user if this installation is for a test account or live account.
|
---|
11 | S DIR(0)="SM^1:PRODUCTION;0:TEST"
|
---|
12 | S DIR("A")="Enter type of account you are installing in"
|
---|
13 | S DIR("?")="Enter P for production account or T for test account"
|
---|
14 | F I=1:1 S X=$P($T(TEXT+I),";;",2) Q:X="QUIT" S DIR("?",I)=X
|
---|
15 | D ^DIR
|
---|
16 | I Y=""!(Y["^") W:Y="" !!,*7,"User Timed Out..."
|
---|
17 | S IVMPROD=Y
|
---|
18 | K DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y
|
---|
19 | I IVMPROD=""!(IVMPROD["^") K IVMPROD Q
|
---|
20 | ;
|
---|
21 | ; - do the purge
|
---|
22 | S IVMCTR=0
|
---|
23 | F IVMYR=-10000,-910000 S DFN="" D
|
---|
24 | .S DFN=$O(^IVM(301.5,"AYR",IVMYR,DFN)) Q:'DFN D
|
---|
25 | ..S IVMDA=0 F S IVMDA=$O(^IVM(301.5,"AYR",IVMYR,DFN,IVMDA)) Q:'IVMDA D S DIK="^IVM(301.5,",DA=IVMDA D ^DIK S IVMCTR=IVMCTR+1
|
---|
26 | ...S IVMTR=0 F S IVMTR=$O(^IVM(301.6,"B",IVMDA,IVMTR)) Q:'IVMTR D
|
---|
27 | ....S DIK="^IVM(301.6,",DA=IVMTR D ^DIK
|
---|
28 | ;
|
---|
29 | W !!," Total number of 301.5 records deleted: "_IVMCTR
|
---|
30 | K DA,DFN,DIK,IVMYR,IVMDA,IVMTR,IVMCTR
|
---|
31 | ;
|
---|
32 | ;
|
---|
33 | ; Send notification to the IVM Center once the facility has installed
|
---|
34 | ; IVM*2*1 patch in production account.
|
---|
35 | ;
|
---|
36 | I 'IVMPROD K IVMPROD Q
|
---|
37 | N DIFROM
|
---|
38 | W !!,"Sending a 'completed installation' notice to the IVM Center... "
|
---|
39 | S XMSUB="IVM*2*1 PATCH INSTALLATION"
|
---|
40 | S XMDUZ="IVM PACKAGE"
|
---|
41 | S XMY("WEATHERLY@IVM.VA.GOV")="",XMY(DUZ)="",XMY(.5)=""
|
---|
42 | S XMTEXT="IVMTEXT("
|
---|
43 | S IVMX=$$SITE^VASITE
|
---|
44 | S IVMTEXT(1)=" Facility: "_$P(IVMX,"^",2)
|
---|
45 | S IVMTEXT(2)=" Station Number: "_$P(IVMX,"^",3)
|
---|
46 | ;
|
---|
47 | D NOW^%DTC S Y=% D DD^%DT
|
---|
48 | S IVMTEXT(3)=" Installed IVM*2*1 patch on: "_Y
|
---|
49 | D ^XMD W "done."
|
---|
50 | K IVMPROD,IVMTEXT,IVMX,XMDUZ,XMSUB,XMTEXT,XMY,%
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | TEXT ; Text for help for production/test question
|
---|
54 | ;;If you are currently installing this IVM package in a production
|
---|
55 | ;;account, you must answer P. If you are installing in a test account
|
---|
56 | ;;you must answer T.
|
---|
57 | ;;
|
---|
58 | ;;The answer to this question is extremely important as it determines
|
---|
59 | ;;where income data for patients gets transmitted. Test data must not
|
---|
60 | ;;be transmitted to the IVM Center's production account. Production
|
---|
61 | ;;data, likewise, will not be evaluated properly if it is not sent to
|
---|
62 | ;;the IVM Center's production account.
|
---|
63 | ;;
|
---|
64 | ;;Enter '^' to abort this installation.
|
---|
65 | ;;
|
---|
66 | ;;QUIT
|
---|