Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IVMYZ3

IVMYZ3.m

Go to the documentation of this file.
IVMYZ3 ;ALB/SEK - PURGE INCORRECT IVM PATIENT & TRANSMISSION RECORDS ; 13-JUNE-95
 ;;Version 2.0 ; INCOME VERIFICATION MATCH ;**3**; 21-OCT-94
 ;
EN ; this routine will delete ivm patient (#301.5) and ivm
 ; transmission log (#301.6) records for incorrect income years of
 ; -10000 & -910000.
 ; this routine will also send notification to the IVM Center once
 ; the facility has installed IVM*2*3 patch. 
 ;
 S IVMQUIT="" D ENV I '$D(IVMQUIT) W !,"PATCH IVM*2*3 INITIALIZATION ABORTED..." G Q
 D TYPE Q:'$D(IVMPROD)
 D PURGE
 D NOTE
Q K IVMQUIT,IVMPROD
 Q
 ;
ENV ; make sure required patches are installed
 N X
 S X="DGDEP" X ^%ZOSF("TEST") E  K IVMQUIT W !?3,*7,"Patch DG*5.3*45 must be installed first!"
 S X="IVMUM9" X ^%ZOSF("TEST") E  K IVMQUIT W !?3,*7,"Patch IVM*2*1 must be installed first!"
 I '$F($T(+2^DGMTCOU1),54) K IVMQUIT W !?3,*7,"Patch DG*5.3*54 must be installed first!"
 Q
 ;
TYPE ; Ask user if this installation is for a test account or live account.
 N I
 S DIR(0)="SM^1:PRODUCTION;0:TEST"
 S DIR("A")="Enter type of account you are installing in"
 S DIR("?")="Enter P for production account or T for test account"
 F I=1:1 S X=$P($T(TEXT+I),";;",2) Q:X="QUIT"  S DIR("?",I)=X
 D ^DIR
 I Y=""!(Y["^") W:Y="" !!,*7,"User Timed Out, Process Aborted..."
 S IVMPROD=Y
 K DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y
 I IVMPROD=""!(IVMPROD["^") K IVMPROD Q
 Q
 ;
 ;
NOTE ; Send notification to the IVM Center once the facility has installed
 ; IVM*2*3 patch in production account.
 ;
 I 'IVMPROD K IVMPROD Q
 N DIFROM
 W !!,"Sending a 'completed installation' notice to the IVM Center... "
 S XMSUB="IVM*2*3 PATCH INSTALLATION"
 S XMDUZ="IVM PACKAGE"
 S XMY("WEATHERLY@IVM.DOMAIN.EXT")="",XMY(DUZ)="",XMY(.5)=""
 S XMTEXT="IVMTEXT("
 S IVMX=$$SITE^VASITE
 S IVMTEXT(1)="  Facility:                   "_$P(IVMX,"^",2)
 S IVMTEXT(2)="  Station Number:             "_$P(IVMX,"^",3)
 ;
 D NOW^%DTC S Y=% D DD^%DT
 S IVMTEXT(3)="  Installed IVM*2*3 patch on: "_Y
 D ^XMD W "done."
 K IVMPROD,IVMTEXT,IVMX,XMDUZ,XMSUB,XMTEXT,XMY,%
 Q
 ;
 ;
PURGE ;  do the purge
 S IVMCTR=0
 F IVMYR=-10000,-910000 D
 .S DFN="" F  S DFN=$O(^IVM(301.5,"AYR",IVMYR,DFN)) Q:'DFN  D
 ..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
 ...S IVMTR=0 F  S IVMTR=$O(^IVM(301.6,"B",IVMDA,IVMTR)) Q:'IVMTR  D
 ....S DIK="^IVM(301.6,",DA=IVMTR D ^DIK
 ;
 W !!,"  Total number of IVM PATIENT (#301.5) records deleted: "_IVMCTR
 K DA,DFN,DIK,IVMYR,IVMDA,IVMTR,IVMCTR
 Q
 ;
 ;
TEXT ; Text for help for production/test question
 ;;If you are currently installing this IVM patch in a production
 ;;account, you must answer P.  If you are installing in a test account
 ;;you must answer T.
 ;;
 ;;The answer to this question is extremely important as it determines
 ;;where income data for patients gets transmitted.  Test data must not
 ;;be transmitted to the IVM Center's production account.  Production
 ;;data, likewise, will not be evaluated properly if it is not sent to
 ;;the IVM Center's production account.
 ;;
 ;;Enter '^' to abort this process.
 ;;
 ;;QUIT