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

DVBA187P.m

Go to the documentation of this file.
  1. DVBA187P ;ALB/GAK - PATCH DVBA*2.7*187 POST-INSTALL ROUTINE;08-OCT-2013
  1. ;;2.7;AMIE;**187**;Apr 10, 1995;Build 13
  1. Q
  1. ;
  1. ENTER ;
  1. D AMIE
  1. D SECKEY
  1. Q
  1. ;
  1. ;
  1. AMIE ;Update for the AMIE EXAM (#396.6) file
  1. ;
  1. ;Used to inactivate old entries and/or create new entries for designated worksheet updates
  1. ;
  1. D BMES^XPDUTL(" Update to AMIE EXAM (#396.6) file...")
  1. I '$D(^DVB(396.6)) D BMES^XPDUTL("Missing AMIE EXAM (#396.6) file") Q
  1. I $D(^DVB(396.6)) D
  1. . ;Add new SHA entry to AMIE EXAM file
  1. . D NEW
  1. . ;Rename existing Medical Opinion 1 entry in AMIE EXAM file
  1. . D RENAMIE
  1. . ;Inactivate existing entires in AMIE EXAM file
  1. . D INACAMIE
  1. . ; Rename Medical Opinion PRINT NAME field
  1. . D RENMEDOP
  1. Q
  1. ;
  1. ;
  1. NEW ;Add new exam entry
  1. ;
  1. N DVBAI,DVBLINE,DVBIEN,DVBEXM,DVBPNM,DVBBDY,DVBROU,DVBSTAT,DVBWKS
  1. ;
  1. D BMES^XPDUTL(" Adding new AMIE EXAM (#396.6) file entry...")
  1. F DVBAI=1:1 S DVBLINE=$P($T(AMIENEW+DVBAI),";;",2) Q:DVBLINE="QUIT" D
  1. . N DVBAMSG
  1. . S DVBIEN=$P(DVBLINE,";",1) ;ien
  1. . S DVBEXM=$P(DVBLINE,";",2) ;exam name
  1. . S DVBPNM=$P(DVBLINE,";",3) ;print name
  1. . S DVBBDY=$P(DVBLINE,";",4) ;body system
  1. . S DVBROU=$P(DVBLINE,";",5) ;routine name
  1. . S DVBSTAT=$P(DVBLINE,";",6) ;status
  1. . S DVBWKS=$P(DVBLINE,";",8) ;worksheet number
  1. . D BMES^XPDUTL(" Attempting to add Entry #"_DVBIEN_"...")
  1. . D NEWEXAM^DVBAUTLP(DVBIEN,DVBEXM,DVBPNM,DVBBDY,DVBROU,DVBSTAT,DVBWKS,.DVBAMSG)
  1. . ; Display status message returned if any
  1. . D:$D(DVBAMSG)>0 MES^XPDUTL(.DVBAMSG)
  1. . D BMES^XPDUTL(" Completed adding new AMIE EXAM (#396.6) file entry...")
  1. Q
  1. ;
  1. RENAMIE ;Rename existing DBQ exam file entries
  1. ;
  1. N DVBAI,DVBLINE,DVBIEN,DVBEXMO,DVBEXMN
  1. ;
  1. D BMES^XPDUTL("Renaming AMIE EXAM (#396.6) file entries...")
  1. F DVBAI=1:1 S DVBLINE=$P($T(EXOLDNEW+DVBAI),";;",2) Q:DVBLINE="QUIT" D
  1. . S DVBIEN=$P(DVBLINE,";",1) ;ien
  1. . S DVBEXMO=$P(DVBLINE,";",2) ;old exam name
  1. . S DVBEXMN=$P(DVBLINE,";",3) ;new exam name
  1. . D RENEXAM
  1. D BMES^XPDUTL("Completed Renaming AMIE EXAM (#396.6) file entries...")
  1. K DVBEXMO,DVBEXMN
  1. Q
  1. ;
  1. RENEXAM ;
  1. ;Quit if critical variables missing. For each EXOLDNEW entry, do this.
  1. I $G(DVBIEN)'>0!($G(DVBEXMO)']"")!($G(DVBEXMN)']"") D Q
  1. . D BMES^XPDUTL("Insufficient data to process change at #"_DVBIEN_")")
  1. ;
  1. ; Update existing entry
  1. ;
  1. N DVBAERR,DVBAFDA
  1. ;
  1. ; Check for existing entry
  1. I $G(^DVB(396.6,DVBIEN,0))']"" D Q
  1. . D BMES^XPDUTL("No entry found at #"_DVBIEN)
  1. ;
  1. ; Check for previous update
  1. I $P(^DVB(396.6,DVBIEN,0),"^",1)=DVBEXMN D Q
  1. . D BMES^XPDUTL("Entry at ien #"_DVBIEN_" has previously been updated")
  1. ;
  1. ; Check for correct entry NAME to update
  1. I $P(^DVB(396.6,DVBIEN,0),"^",1)'=DVBEXMO D Q
  1. . D BMES^XPDUTL("Entry at ien #"_DVBIEN_" does not match expected name "_DVBEXMO_" No updating will take place")
  1. ;
  1. ; Update entry
  1. S DVBAFDA(396.6,+DVBIEN_",",.01)=$G(DVBEXMN) D
  1. . D FILE^DIE("","DVBAFDA","DVBAERR")
  1. ;
  1. ; Report sucessful update
  1. ;
  1. I $D(DVBAERR("DIERR"))'>0 D Q
  1. . D BMES^XPDUTL("Renamed entry #"_DVBIEN_" from "_DVBEXMO_" to "_DVBEXMN)
  1. ;
  1. ; Report update error
  1. ;
  1. I $D(DVBAERR("DIERR"))>0 D
  1. . D BMES^XPDUTL(" *** Warning - Unable to update entry #"_DVBIEN_" *** ")
  1. . D MSG^DIALOG()
  1. Q
  1. ;
  1. INACAMIE ;Inactivate exams
  1. ;
  1. N DVBAI,DVBLINE,DVBIEN,DVBEXM
  1. ;
  1. D BMES^XPDUTL(" Inactivating AMIE EXAM (#396.6) file entries...")
  1. D MES^XPDUTL("")
  1. F DVBAI=1:1 S DVBLINE=$P($T(AMIEOLD+DVBAI),";;",2) Q:DVBLINE="QUIT" D
  1. . N DVBAMSG
  1. . S DVBIEN=$P(DVBLINE,";",1)
  1. . S DVBEXM=$P(DVBLINE,";",2)
  1. . ;D BMES^XPDUTL("Going to INACTEXM^DVBAUTLP with DVBIEN="_DVBIEN_", DVBEXM="_DVBEXM_", and the message array passed")
  1. . D INACTEXM^DVBAUTLP(DVBIEN,DVBEXM,.DVBAMSG)
  1. . ; Display status message returned, if any
  1. . D:$D(DVBAMSG)>0 MES^XPDUTL(.DVBAMSG)
  1. . D MES^XPDUTL("")
  1. D BMES^XPDUTL(" Completed Inactivating AMIE EXAM (#396.6) file entries...")
  1. Q
  1. ;
  1. RENMEDOP ;
  1. D BMES^XPDUTL(" Changing PRINT NAME of DBQ Medical Opinion to DBQ MEDICAL OPINION")
  1. I $P($G(^DVB(396.6,437,0)),"^",1)'="DBQ Medical Opinion" D Q
  1. . D BMES^XPDUTL(" Could not change PRINT NAME of DBQ Medical Opinion to DBQ MEDICAL OPINION")
  1. N DVBAERR
  1. S DVBAFDA(396.6,437_",",6)="DBQ MEDICAL OPINION" D FILE^DIE("","DVBAFDA","DVBAERR")
  1. I $D(DVBAERR("DIERR"))'>0 D
  1. . D BMES^XPDUTL("DBQ Medical Opinion print name changed to DBQ MEDICAL OPINION")
  1. I $D(DVBAERR("DIERR"))>0 D
  1. . D BMES^XPDUTL("Could not change DBQ Medical Opinion print name to DBQ MEDICAL OPINION")
  1. Q
  1. ;
  1. SECKEY ;
  1. ;
  1. N XDUZ,KEYNUM,XIEN,XMNU,STOP1,ZTST,OPTIEN,PERDUZ,MSG,ERR,KEYIEN,PERSON,TODAY,X,ZZ
  1. ;
  1. S ZZ="" D OWNSKEY^XUSRB(.ZZ,"XUMGR",DUZ)
  1. I $G(ZZ(0))'=1 D Q
  1. . D BMES^XPDUTL("NOTE: THE NEW SECURITY KEY 'DVBA CAPRI GETVBADOCS' DID NOT SUCCESSFULLY UPDATE WITH THE REQUIRED HOLDERS.")
  1. . D BMES^XPDUTL("THE USER RUNNING THIS POST INSTALL ROUTINE DOES NOT HAVE XUMGR KEY ASSIGNED TO THEM.")
  1. . D BMES^XPDUTL("PLEASE RUN SECKEY^DVBA187P AGAIN WITH USER WHO IS A HOLDER OF THE 'XUMGR' SECURITY KEY.")
  1. ;
  1. K ^TMP($J,"DVBA187P")
  1. ;
  1. D NOW^%DTC S TODAY=X
  1. ;
  1. ;FIND DVBA CAPRI GUI IN OPTION FILE (SHOULD ALWAYS BE 9510) BUT CHECKING JUST THE SAME
  1. S STOP1=0,OPTIEN=""
  1. S XIEN=0 F S XIEN=$O(^DIC(19,XIEN)) Q:XIEN=""!('XIEN)!(STOP1=1) D
  1. . S ZTST=$G(^DIC(19,XIEN,0),"")
  1. . S ZTST=$P(ZTST,"^",1)
  1. . I ZTST="DVBA CAPRI GUI" S STOP1=1,OPTIEN=XIEN
  1. I OPTIEN="" D BMES^XPDUTL("'DVBA CAPRI GUI' OPTION NOT FOUND IN OPTION FILE. USERS OF DVBA CAPRI GETVBADOCS COULD NOT BE SETUP") Q
  1. ;
  1. ;FIND PERSONS WITH DVBA CAPRI GUI OPTION
  1. I OPTIEN'="" D
  1. . S PERDUZ=0 F S PERDUZ=$O(^VA(200,PERDUZ)) Q:PERDUZ=""!('PERDUZ) D
  1. .. K MSG,ERR
  1. .. D GETS^DIQ(200,PERDUZ_",","9.2","I","MSG","ERR")
  1. .. I $G(MSG(200,PERDUZ_",",9.2,"I"))'="",($G(MSG(200,PERDUZ_",",9.2,"I"))<=TODAY) D Q
  1. ... S ^TMP($J,"DVBA187P",PERDUZ,"TERMEDPERSON")=""
  1. .. ;
  1. .. I $G(^VA(200,PERDUZ,201)) I $P(^VA(200,PERDUZ,201),"^",1)=OPTIEN S ^TMP($J,"DVBA187P",PERDUZ,"USERSWITHOPTION")="" Q
  1. .. Q:'$D(^VA(200,PERDUZ,203))
  1. .. S STOP1=0
  1. .. S XMNU=0 F S XMNU=$O(^VA(200,PERDUZ,203,XMNU)) Q:XMNU=""!('XMNU)!(STOP1=1) D
  1. ... I $G(^VA(200,PERDUZ,203,XMNU,0)) I $P(^VA(200,PERDUZ,203,XMNU,0),"^",1)=OPTIEN S STOP1=1,^TMP($J,"DVBA187P",PERDUZ,"USERSWITHOPTION")=""
  1. ;
  1. ;DOES THE USER HAVE ACCESS TO THE CURRENT KEY
  1. S KEYNUM=$$LKUP^XPDKEY("DVBA CAPRI DENY_GETVBADOCS")
  1. I $G(KEYNUM)="" D BMES^XPDUTL("'DVBA CAPRI DENY_GETVBADOCS' SECURITY KEY HAS ALREADY BEEN DELETED. SECKEY^DVBA187P CAN NOT CONTINUE") Q
  1. S PERDUZ=0 F S PERDUZ=$O(^VA(200,PERDUZ)) Q:PERDUZ=""!('PERDUZ) D
  1. . I $D(^VA(200,PERDUZ,51,KEYNUM)) D Q
  1. .. S ^TMP($J,"DVBA187P",PERDUZ,"DVBA CAPRI DENY_GETVBADOCS")=""
  1. .. I $D(^TMP($J,"DVBA187P",PERDUZ,"USERSWITHOPTION")) S ^TMP($J,"DVBA187P",PERDUZ,"USERSWITHOPTION")="DVBA CAPRI DENY_GETVBADOCS"
  1. ;
  1. ;ADD NEW SECURITY KEY TO ALL NON-TERMED PERSONS WHO DON'T HAVE OLD KEY
  1. S KEYNUM=$$LKUP^XPDKEY("DVBA CAPRI GETVBADOCS")
  1. I $G(KEYNUM)="" D BMES^XPDUTL("'DVBA CAPRI GETVBADOCS' SECURITY KEY HAS NOT BEEN INSTALLED ON SYSTEM. INSTALL AND RERUN SECKEY^DVBA187P") Q
  1. S PERDUZ=0 F S PERDUZ=$O(^TMP($J,"DVBA187P",PERDUZ)) Q:PERDUZ=""!('PERDUZ) D
  1. . Q:$D(^VA(200,PERDUZ,3,"B","VISITOR"))=10 ;DO NOT INCLUDE USERS WHO ARE VISITORS
  1. . Q:'$D(^TMP($J,"DVBA187P",PERDUZ,"USERSWITHOPTION"))
  1. . Q:$D(^TMP($J,"DVBA187P",PERDUZ,"TERMEDPERSON"))
  1. . Q:$D(^TMP($J,"DVBA187P",PERDUZ,"DVBA CAPRI DENY_GETVBADOCS"))
  1. . ;IF AFTER FIRST RUN THIS ROUTINE IS RUN AGAIN EXCLUDE PERSON WITH KEY FROM FIRST RUN
  1. . Q:$D(^XUSEC("DVBA CAPRI GETVBADOCS",PERDUZ))
  1. . K FDA,ERR,DIERR,KEYIEN
  1. . S FDA(200.051,"+1,"_PERDUZ_",",.01)=KEYNUM
  1. . S FDA(200.051,"+1,"_PERDUZ_",",1)=DUZ
  1. . S FDA(200.051,"+1,"_PERDUZ_",",2)=TODAY
  1. . S KEYIEN(1)=KEYNUM
  1. . D UPDATE^DIE("","FDA","KEYIEN","ERR")
  1. . S PERSON=$P(^VA(200,PERDUZ,0),"^",1)
  1. . I $D(DIERR) D BMES^XPDUTL("PERSON DUZ: "_PERDUZ_" ("_PERSON_") SHOULD BE ASSIGNED THE SECURITY KEY 'DVBA CAPRI GETVBADOCS' BUT COULD NOT IN THE DVBA*2.7*187 POST INSTALL ROUTINE. PLEASE SET THIS PERSON MANUALLY") Q
  1. . D BMES^XPDUTL("PERSON DUZ: "_PERDUZ_" ("_PERSON_") HAS BEEN ASSIGNED THE NEW SECURITY KEY 'DVBA CAPRI GETVBADOCS'")
  1. ;
  1. K ^TMP($J,"DVBA187P")
  1. D BMES^XPDUTL("OK to delete DVBA187P")
  1. Q
  1. ;
  1. ;***************************************************************************
  1. ; AMIE EXAM (#396.6) file exam(s) to activate (create or update).
  1. ; Data should be in internal format.
  1. ; format: ien;exam name (60 chars);print name;body system;routine;status;;wks#
  1. ;***************************************************************************
  1. ;
  1. AMIENEW ;
  1. ;;463;DBQ Medical SHA;DBQ SEPRATN HEALTH ASMNT;1;DVBCQDRV;A; ; ;
  1. ;;QUIT
  1. ;
  1. Q
  1. ;
  1. ; **************************************************************************
  1. ; AMIE EXAM (#396.6) file exam(s) to rename. Data should be in internal format.
  1. ; Format: ;;ien;"old" exam name(up to 60 chars);"new" exam name(up to 60 chars)
  1. ;
  1. ; **************************************************************************
  1. EXOLDNEW ;
  1. ;;437;DBQ Medical Opinion 1;DBQ Medical Opinion
  1. ;;QUIT
  1. ;;
  1. Q
  1. ;***************************************************************************
  1. ; AMIE EXAM (#396.6) file exam(s) to deactivate. Data should be in
  1. ; internal format.
  1. ; Format: ien;exam name (60 chars);
  1. ;***************************************************************************
  1. ;
  1. AMIEOLD ;
  1. ;;416;DBQ MUSC Flatfoot (pes planus);16;DVBCQDRV;I;;
  1. ;;433;DBQ CARDIO Ischemic heart disease;6;DVBCQDRV;I;;
  1. ;;438;DBQ Medical Opinion 2;17;DVBCQDRV;I;;
  1. ;;439;DBQ Medical Opinion 3;17;DVBCQDRV;I;;
  1. ;;440;DBQ Medical Opinion 4;17;DVBCQDRV;I;;
  1. ;;441;DBQ Medical Opinion 5;17;DVBCQDRV;I;;
  1. ;;QUIT
  1. ;
  1. Q