DG53P451 ;TDM/BRM - Patch DG*5.3*451 Install Utility Routine ; 4/27/04 2:14pm ;;5.3;Registration;**451**; Aug 13,1993 ; D CHKBOS Q:$G(XPDABORT)=2 D ADDBOS D ADDINC Q:$G(XPDABORT)=2 D EDITINC^DG53E451 Q CHKBOS ;Check to ensure that Merchant Seaman and B.E.C. are in the BOS file ; K XPDABORT N BOS F BOS="MERCHANT SEAMAN","B.E.C." Q:$D(XPDABORT) D .Q:$D(^DIC(23,"B",BOS)) .S XPDABORT=2 .D BMES^XPDUTL(" >>> ERROR: Branch of Service File (#23) needs to be reviewed by NVS! <<<") .D MES^XPDUTL(" The National Entry for '"_BOS_"' does not exist!") .D BMES^XPDUTL(" <<<< INSTALLATION ABORTED >>>>") Q ADDBOS ;Add new entries to BRANCH OF SERVICE file (#23) N ARY,BOS,FDA,ERR,MSG S ARY(1)="F.COMMONWEALTH" S ARY(2)="F.GUERILLA" S ARY(3)="F.SCOUTS NEW" S ARY(4)="F.SCOUTS OLD" ; D BMES^XPDUTL(" >> Adding New Branch Of Service Entries.") S BOS="" F S BOS=$O(ARY(BOS)) Q:BOS="" D .K FDA,ERR .S MSG=" "_ARY(BOS)_" - " .I $$FIND1^DIC(23,"","X",ARY(BOS)) D BMES^XPDUTL(MSG_"entry already exists!") Q .S FDA(23,"+1,",.01)=ARY(BOS) .D UPDATE^DIE("","FDA","","ERR") .I $D(ERR) D BMES^XPDUTL(MSG_"not added! ERROR:"),MES^XPDUTL(ERR("DIERR",1)_": "_ERR("DIERR",1,"TEXT",1)) Q .D MES^XPDUTL(MSG_"successfully added.") Q ; ADDINC ; add new entries to the INCONSISTENT DATA ELEMENTS file (#38.6) N DGK,DGWP,ROOT,DGFDA,DGWP,DGERR,DGIEN,DGTITL K XPDABORT D BMES^XPDUTL(" >> Adding entries 72-85 into the INCONSISTENT DATA ELEMENTS file (#38.6)") F DGK=72:1:85 Q:$G(XPDABORT)=2 D .I $D(^DGIN(38.6,DGK)) D Q ..D BMES^XPDUTL(" Internal Entry # "_DGK_" already exists in file #38.6") ..S ROOT="DGFDA(38.6,"""_DGK_","")" D @DGK ..I $P($G(^DGIN(38.6,DGK,0)),"^")=$G(@ROOT@(.01)) D MES^XPDUTL(" Entry "_DGK_" matches incoming entry - OK") Q ..D MES^XPDUTL(" >>> ERROR: Entry # "_DGK_" needs to be reviewed by NVS! <<<") ..D MES^XPDUTL(" Existing entry: "_$P($G(^DGIN(38.6,DGK,0)),"^")) ..D MES^XPDUTL(" Incoming entry: "_$G(@ROOT@(.01))) ..D BMES^XPDUTL(" <<<< INSTALLATION ABORTED >>>>") ..S XPDABORT=2 .K DGFDA,ROOT,DGWP .S ROOT="DGFDA(38.6,""?+1,"")" .D @DGK Q:'$D(DGFDA) .S DGIEN(1)=DGK .S DGTITL=@ROOT@(.01) .D UPDATE^DIE("","DGFDA","DGIEN","DGERR") .I $D(DGERR) D Q ..D BMES^XPDUTL(" >>> ERROR! "_DGTITL_" not added to file #38.6") ..D MES^XPDUTL(" "_DGERR("DIERR",1)_": "_DGERR("DIERR",1,"TEXT",1)) ..D BMES^XPDUTL(" <<<< INSTALLATION ABORTED >>>>") ..S XPDABORT=2 .D BMES^XPDUTL(" "_DGTITL_" successfully added.") Q 72 ; S @ROOT@(.01)="MSE DATA MISSING/INCOMPLETE" S @ROOT@(2)="MSE REQUIRED DATA FIELDS ARE MISSING OR INCOMPLETE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="Inconsistency results when any of the required MSE data fields are " S DGWP(2,0)="either left blank or an imprecise date (less than month/year precision) " S DGWP(3,0)="is entered. The following fields are required for any given Military " S DGWP(4,0)="Service Episode: BRANCH OF SERVICE, SERVICE ENTRY DATE, SERVICE " S DGWP(5,0)="SEPARATION DATE, DISCHARGE TYPE." Q 73 ; S @ROOT@(.01)="MSE DATES INCONSISTENT" S @ROOT@(2)="SERVICE SEPARATION DATE PRECEDES SERVICE ENTRY DATE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="Inconsistency results when a SERVICE ENTRY DATE is found to be after the" S DGWP(2,0)="SERVICE SEPARATION DATE." Q 74 ; S @ROOT@(.01)="CONFLICT DT MISSING/INCOMPLETE" S @ROOT@(2)="CONFLICT DATE IS MISSING OR INCOMPLETE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when a conflict date is either missing or " S DGWP(2,0)="incomplete (imprecise dates must have at least month and year). The " S DGWP(3,0)="following date fields can trigger this inconsistency: SOMALIA FROM DATE," S DGWP(4,0)="SOMALIA TO DATE, YUGOSLAVIA FROM DATE, YUGOSLAVIA TO DATE, PANAMA FROM " S DGWP(5,0)="DATE, PANAMA TO DATE, GRENADA FROM DATE, GRENADA TO DATE, LEBANON FROM " S DGWP(6,0)="DATE, LEBANON TO DATE, VIETNAM FROM DATE, VIETNAM TO DATE, GULF WAR FROM" S DGWP(7,0)="DATE, GULF WAR TO DATE." Q 75 ; S @ROOT@(.01)="CONFLICT TO DT BEFORE FROM DT" S @ROOT@(2)="CONFLICT TO DATE PRECEDES THE CONFLICT FROM DATE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when a conflict to date is prior to a conflict " S DGWP(2,0)="from date. The following date fields can trigger this inconsistency:" S DGWP(3,0)="SOMALIA FROM DATE, SOMALIA TO DATE, YUGOSLAVIA FROM DATE, YUGOSLAVIA TO" S DGWP(4,0)="DATE, PANAMA FROM DATE, PANAMA TO DATE, GRENADA FROM DATE, GRENADA TO" S DGWP(5,0)="DATE, LEBANON FROM DATE, LEBANON TO DATE, VIETNAM FROM DATE, VIETNAM TO" S DGWP(6,0)="DATE, GULF WAR FROM DATE, GULF WAR TO DATE." Q 76 ; S @ROOT@(.01)="INACCURATE CONFLICT DATE" S @ROOT@(2)="CONFLICT DATE IS NOT WITHIN THE ACCEPTABLE CONFLICT DATE RANGE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when a conflict from and/or to date is not " S DGWP(2,0)="within the designated date ranges for the specific conflict." S DGWP(3,0)=" " S DGWP(4,0)="The following date fields can trigger this inconsistency:" S DGWP(5,0)="SOMALIA FROM DATE, SOMALIA TO DATE, YUGOSLAVIA FROM DATE, YUGOSLAVIA TO" S DGWP(6,0)="DATE, PANAMA FROM DATE, PANAMA TO DATE, GRENADA FROM DATE, GRENADA TO" S DGWP(7,0)="DATE, LEBANON FROM DATE, LEBANON TO DATE, VIETNAM FROM DATE, VIETNAM TO" S DGWP(8,0)="DATE, GULF WAR FROM DATE, GULF WAR TO DATE." Q 77 ; S @ROOT@(.01)="INACCURATE POW DT/LOCATION" S @ROOT@(2)="POW DATE(S) AND LOCATION DO NOT MATCH" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when the POW from and/or to date is not " S DGWP(2,0)="within the designated date range for the specified POW LOCATION." Q 78 ; S @ROOT@(.01)="INACCURATE COMBAT DT/LOC" S @ROOT@(2)="COMBAT DATES ARE NOT VALID FOR SPECIFIED LOCATION" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when the COMBAT from and/or to date is " S DGWP(2,0)="not within the designated date range for the specified COMBAT LOCATION." Q 79 ; S @ROOT@(.01)="MSE DATES OVERLAP" S @ROOT@(2)="MSE DATES OVERLAP" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when more than one Military Service " S DGWP(2,0)="Episode exists for this patient on a single day." Q 80 ; S @ROOT@(.01)="POW DT NOT WITHIN MSE" S @ROOT@(2)="POW DATES ARE NOT WITHIN THE MSE RANGE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when the entered POW From/To Dates are not " S DGWP(2,0)="within the patient's military service episodes." Q 81 ; S @ROOT@(.01)="COMBAT DT NOT WITHIN MSE" S @ROOT@(2)="COMBAT DATE IS NOT WITHIN THE MSE RANGE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when the entered COMBAT From/To Dates are not" S DGWP(2,0)="within the patient's military service episodes." Q 82 ; S @ROOT@(.01)="CONFLICT DT NOT WITHIN MSE" S @ROOT@(2)="CONFLICT DATES ARE NOT WITHIN MSE DATE RANGE" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="This inconsistency results when the entered Conflict From/To Dates are not" S DGWP(2,0)="within the patient's military service episodes." S DGWP(3,0)=" " S DGWP(4,0)="The following fields could cause this inconsistency to occur: SOMALIA" S DGWP(5,0)="FROM DATE, SOMALIA TO DATE, YUGOSLAVIA FROM DATE, YUGOSLAVIA TO DATE," S DGWP(6,0)="PANAMA FROM DATE, PANAMA TO DATE, GRENADA FROM DATE, GRENADA TO DATE," S DGWP(7,0)="LEBANON FROM DATE, LEBANON TO DATE, VIETNAM FROM DATE, VIETNAM TO DATE," S DGWP(8,0)="GULF WAR FROM DATE, GULF WAR TO DATE." Q 83 ; S @ROOT@(.01)="BOS REQUIRES DATE W/IN WWII" S @ROOT@(2)="MERCH SEA OR FILIPINO VET BOS REQUIRES SERVICE DATES DURING WWII" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="Inconsistency results when the Branch of Service is MERCHANT SEAMAN or" S DGWP(2,0)="one of the Filipino Veteran branches of service (F.COMMONWEALTH," S DGWP(3,0)="F.GUERILLA, F.SCOUTS NEW, F.SCOUTS OLD) but neither the Military" S DGWP(4,0)="Service Start Date nor the Service End Date is within World War II" S DGWP(5,0)="(12/7/1941 - 8/15/1945)." Q 84 ; S @ROOT@(.01)="FILIPINO VET, PROOF MISSING" S @ROOT@(2)="FILIPINO VETERAN BOS WAS ENTERED, FILIPINO VET PROOF IS MISSING" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="Inconsistency results if a Filipino Veteran branch of service is entered" S DGWP(2,0)="(F.COMMONWEATH, F.GUERILLA, or F.SCOUTS NEW) but the FILIPINO VET PROOF" S DGWP(3,0)="field is left blank." Q 85 ; S @ROOT@(.01)="FILIPINO VET SHOULD BE VET='Y'" S @ROOT@(2)="VERIFIED FILIPINO VETERAN SHOULD HAVE A VETERAN STATUS OF 'YES'" S @ROOT@(3)=3 S @ROOT@(50)="DGWP" S DGWP(1,0)="Inconsistency results if a veteran has a Filipino Veteran branch of" S DGWP(2,0)="service (F.COMMONWEALTH, F.GUERILLA, F.SCOUTS NEW, or F.SCOUTS OLD)," S DGWP(3,0)="military service dates during World War II, proof of F.Vet eligibility" S DGWP(4,0)="(for the first three BOS only), but the Veteran Status is not 'YES'." Q