DGCV ;ALB/DW,ERC,BRM,TMK,LBD,JAM - COMBAT VET ELIGIBILTY; 10/15/05 ; 6/16/09 10:40am
Source file <DGCV.m>
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| CVELIG(DFN) | ;
|
|
| RES(DG1,DG2) | ;determine the final RESULT code from DG1 & DG2
|
|
| CHKDATE(DGDATE,I,SSD) | ;check to see if date is imprecise or missing
|
|
| SETCV(DFN,DGSRV) | ;calculate CV end date
; DGSRV is the most recent of the Service Separation Date ; or the OEF/OIF To Date, called from file #2 new style ; cross reference "ACVCOM" |
|
| CALCCV(DFN,DGSRV) | ; Calculate CV end date given DFN and date to start
; calculation from ; Function returns null or CV end date calculated |
|
| CVRULES(DFN,DGSRV,DGNDAA,DGYRS) | ;apply rules for the CV End Date
|
|
| CVEDT(DFN,DGDT) | ;Provide Combat Vet Eligibility End Date, if eligible
|
|
| PARSE | ;GETS^DIQ called in CVELIG - in this subroutine stuff results into array
|
|
| CHKSSD(DFN) | ;check the Serv Sep Date [Last]
; DGSRV=last SSD ; Output - RESULT ; 1 - Date is present and after 11/11/1998 ; 0 - Date is present but before 11/11/1998 ; A - Date is imprecise & either is or potentially is after 11/11/98 ; F - Date is missing |
|
| CHKREST(DGDATE,SSD) | ;
; SSD = optional, = to the last serv sep date |
|
| MISS(DFN,DGLEN,DGRES) | ;there is at least one missing date, and in order to
|
|
| DELCV(DFN) | ;called by the Kill logic of the ACVCOM cross reference
|
| FileNo | Call Tags |
|---|---|
| ^DPT - [#2] | GET1^DIQ, GETS^DIQ |
| ^DGEN(27.11 - [#27.11] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DGEN(27.11 - [#27.11] | CVRULES+18 |
| ^DPT - [#2] | CVELIG+31, CALCCV+5, CVEDT+16, PARSE+3, DELCV+9 |
| ^TMP("DGCVE" | CVELIG+33, SETCV+6 |
| Name | Line Occurrences |
|---|---|
| $$CALCCV | SETCV+9 |
| $$CHKDATE | CHKSSD+9, CHKREST+11 |
| $$CHKREST | CVELIG+50 |
| $$CHKSSD | CVELIG+40, CVELIG+47 |
| $$MISS | CHKREST+20 |
| $$RES | CVELIG+51 |
| CVRULES | CALCCV+7 |
| PARSE | CVELIG+38 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| DFN | CVELIG~, CVELIG+30, CVELIG+31, CVELIG+33, CVELIG+37, CVELIG+40, CVELIG+47, SETCV~, SETCV+6, SETCV+8 , SETCV+9, SETCV+11, CALCCV~, CALCCV+4, CALCCV+5, CALCCV+7, CVRULES~, CVRULES+17, CVEDT~, CVEDT+15 , CVEDT+16, CVEDT+21, PARSE+3, PARSE+4, PARSE+5, PARSE+6, PARSE+7, PARSE+8, PARSE+9, PARSE+11 , CHKSSD~, CHKREST+20, MISS~, MISS+6, MISS+7, MISS+8, MISS+9, MISS+10, DELCV~, DELCV+8 , DELCV+9, DELCV+10, DELCV+13 |
| DG1 | CVELIG+27~, CVELIG+29*, CVELIG+40*, CVELIG+43, CVELIG+48*, CVELIG+51, RES~, RES+2, RES+4, RES+5 , RES+6, RES+8, RES+9, CHKSSD+7~, CHKSSD+9*, CHKSSD+10*, CHKSSD+11 |
| DG2 | CVELIG+27~, CVELIG+29*, CVELIG+50*, CVELIG+51, RES~, RES+2, RES+4, RES+5, RES+6, RES+8* , RES+9 |
| DG3 | CHKREST+2~, CHKREST+3*, CHKREST+12*, CHKREST+13, CHKREST+15, CHKREST+16*, CHKREST+20 |
| DG4 | CHKREST+2~, CHKREST+3*, CHKREST+11*, CHKREST+12 |
| DGARR | CVELIG+36~, MISS+3~ |
| DGARR(2 | PARSE+4, PARSE+5, PARSE+6, PARSE+7, PARSE+8, PARSE+9, MISS+7, MISS+8, MISS+9, MISS+10 |
| DGCHAR | CHKREST+15*, CHKREST+16, CHKREST+17, MISS+3~, MISS+5*, MISS+11*, MISS+12, MISS+13, MISS+14, MISS+15 |
| DGCIEN | CVRULES+9~, CVRULES+17*, CVRULES+18, CVRULES+19, CVRULES+22, CVRULES+29 |
| DGCIND | MISS+4~, MISS+7*, MISS+12 |
| DGCOM | CVELIG+28~, CVELIG+41, PARSE+5* |
| DGCUTOFF | CVRULES+9~, CVRULES+16*, CVRULES+31, CVRULES+35 |
| DGCV | DELCV+5~, DELCV+10*, DELCV+11 |
| DGCVDT | CVELIG+28~, PARSE+9* |
| DGCVEDT | SETCV+4~, SETCV+9*, SETCV+10, SETCV+11, CALCCV+3~, CALCCV+17*, CALCCV+18*, CALCCV+19 |
| DGCVFLG | CVELIG+28~, DELCV+6!, DELCV+7*, DELCV+12* |
| DGDATE | CVELIG+41*, CVELIG+43, CVELIG+47, CVELIG+50, CHKDATE~, CHKDATE+6, CHKDATE+8, CHKDATE+9, CHKDATE+10, CHKDATE+15 , CHKREST~, CHKREST+9 |
| DGDT | CVEDT~, CVEDT+18*, CVEDT+19*, CVEDT+20, CVEDT+23, CHKREST+2~, CHKREST+9*, CHKREST+10, CHKREST+11 |
| DGENRDT | CVRULES+9~, CVRULES+19*, CVRULES+20, CVRULES+21, CVRULES+24*, CVRULES+25, CVRULES+26 |
| DGERR | CVELIG+36~, MISS+3~ |
| DGFDA | SETCV+4~, DELCV+5~ |
| DGFDA(2 | SETCV+11*, DELCV+13* |
| DGFLG | CHKREST+2~, CHKREST+5*, CHKREST+10*, CHKREST+20 |
| DGGULF | CVELIG+28~, CVELIG+41, PARSE+6* |
| DGLEN | CHKREST+2~, CHKREST+13*, CHKREST+15, CHKREST+20, MISS~, MISS+11 |
| DGNDAA | CALCCV+3~, CALCCV+6*, CALCCV+7, CALCCV+16, CVRULES~, CVRULES+20, CVRULES+21, CVRULES+26 |
| DGOEIF | CVELIG+28~, CVELIG+41, PARSE+11* |
| DGPGIND | MISS+4~, MISS+10*, MISS+15 |
| DGPIEN | CVRULES+9~, CVRULES+22*, CVRULES+23*, CVRULES+24 |
| DGPLUS3 | CALCCV+3~ |
| DGPRI | CVRULES+9~, CVRULES+15*, CVRULES+20*, CVRULES+26*, CVRULES+28 |
| DGQ | CHKREST+2~, CHKREST+4*, CHKREST+14*, CHKREST+15, CHKREST+16*, CHKREST+17*, CHKREST+18, CHKREST+19, MISS+3~, MISS+5* , MISS+11, MISS+12*, MISS+13*, MISS+14* |
| DGQT | CVRULES+9~, CVRULES+15*, CVRULES+23, CVRULES+26* |
| DGR | CHKREST+2~, CHKREST+3*, CHKREST+17*, CHKREST+19, MISS+3~, MISS+5*, MISS+12*, MISS+13*, MISS+14*, MISS+15* , MISS+16 |
| DGRES | CHKREST+2~, CHKREST+3*, CHKREST+20*, CHKREST+21, MISS~, MISS+11 |
| DGSIND | MISS+4~, MISS+9*, MISS+14 |
| DGSOM | CVELIG+28~, CVELIG+41, PARSE+7* |
| DGSRV | CVELIG+28~, CVELIG+43, CVELIG+46~, CVELIG+47*, CVELIG+50, SETCV~, SETCV+9, CALCCV~, CALCCV+4, CALCCV+7 , CALCCV+16, CVRULES~, CVRULES+14, CVRULES+31, CVRULES+35, PARSE+3*, PARSE+4*, CHKSSD+8, CHKSSD+9 |
| DGSTAT | CVRULES+9~, CVRULES+29*, CVRULES+30 |
| DGTMPDT | CALCCV+3~, CALCCV+16*, CALCCV+17 |
| DGX | CHKREST+2~, CHKREST+8*, CHKREST+9, CHKREST+10, CHKREST+11, CHKREST+15*, MISS+3~, MISS+11* |
| DGYIND | MISS+4~, MISS+8*, MISS+13 |
| DGYRS | CALCCV+3~, CALCCV+7, CALCCV+10, CALCCV+16, CALCCV+17, CVRULES~, CVRULES+13*, CVRULES+14*, CVRULES+31*, CVRULES+35* |
| DGYUG | CVELIG+28~, CVELIG+41, PARSE+8* |
| DT | CVEDT+18 |
| I | CVELIG+27~, CHKDATE~, CHKDATE+6, CHKDATE+7, CHKDATE+9, CHKDATE+13 |
| RES | CHKDATE+4~, CHKDATE+5*, CHKDATE+6, CHKDATE+7*, CHKDATE+9*, CHKDATE+13*, CHKDATE+14, CHKDATE+15*, CHKDATE+16 |
| RESULT | CVELIG+27~, CVELIG+29*, CVELIG+30, CVELIG+31, CVELIG+33, CVELIG+51*, CVELIG+52, CVEDT+13~, CVEDT+14*, CVEDT+21* , CVEDT+22, CVEDT+23*, CVEDT+24*, CVEDT+25 |
| SSD | CHKDATE~, CHKREST~, CHKREST+11 |
| U | CVELIG+43, CVELIG+47, PARSE+3, PARSE+11, CHKREST+9 |
| Z | CVELIG+46~, CVELIG+47*, CVELIG+48 |