IVMLSU1 ;ALB/MLI/KCL - IVM SSA/SSN UPLOAD DISPLAY LIST ; 07-JAN-94
 ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
 ;;Per VHA Directive 10-93-142, this routine should not be modified.
 ;
 ;
INIT ; - Init variables and list array
 K ^TMP("IVMLST",$J)
 S IVMBL="",$P(IVMBL," ",30)="",IVMCT=0,IVMNM=""
 ;
 ; - sort by patient name
 F  S IVMNM=$O(^TMP("IVMUP",$J,IVMNM)) Q:IVMNM']""  S IVMSSN="" D
 .F  S IVMSSN=$O(^TMP("IVMUP",$J,IVMNM,IVMSSN)) Q:IVMSSN']""  S IVMI="" D
 ..F  S IVMI=$O(^TMP("IVMUP",$J,IVMNM,IVMSSN,IVMI)) Q:'IVMI  S IVMJ="" D
 ...F  S IVMJ=$O(^TMP("IVMUP",$J,IVMNM,IVMSSN,IVMI,IVMJ)) Q:'IVMJ  D
 ....S X=$G(^TMP("IVMUP",$J,IVMNM,IVMSSN,IVMI,IVMJ))
 ....S DFN=$P(X,"^",1),IVMSIEN=$P(X,"^",2)
 ....S IVMSTAR=$S($P(X,"^",3)]"":"*",1:" "),IVMLN=$P(X,"^",4,99)
 ....S IVMCT=IVMCT+1 D WRLINE(IVMLN,IVMCT)
 ....;
 ....; - set ^TMP("IVMLST" array for look-up
 ....S ^TMP("IVMLST",$J,"IDX",IVMCT,IVMCT)=IVMNM_"^"_IVMSSN_"^"_DFN_"^"_IVMSIEN_"^"_$P(X,"^",3)_"^"_IVMI_"^"_IVMJ
 ;
 S VALMCNT=IVMCT
 ;
INITQ K C,DFN,IVMBL,IVMCT,IVMI,IVMJ,IVMLN,IVMNM,IVMSIEN,IVMSSN,IVMSTAR
 Q
 ;
 ;
WRLINE(X,C) ; - Write line out
 ;
 ;  Input:  X as pt name^pt ssn^pt ssa ssn^sp name^sp ssn^sp ssa ssn
 ;          C as line number
 ; Output:  None
 ;
 N IVMLN
 ; - patient data
 S IVMLN=IVMSTAR_$E($P(X,"^",1)_IVMBL,1,14)_"  "_$E($P(X,"^",2)_IVMBL,1,11)_$E($P(X,"^",3)_IVMBL,1,11)
 ;
 ; - spouse data
 S IVMLN=IVMLN_$E($P(X,"^",4)_IVMBL,1,14)_"  "_$E($P(X,"^",5)_IVMBL,1,11)_$E($P(X,"^",6)_IVMBL,1,10)
 ;
 ; - highlight SSA/SSN for patient
 D CNTRL^VALM10(C,33,9,IOINHI,IOINORM)
 ; - highlight SSA/SSN for spouse
 D CNTRL^VALM10(C,71,9,IOINHI,IOINORM)
 ;
 ; - display list
 S @VALMAR@(C,0)=$E(C_"    ",1,4)_IVMLN
 Q
 ;
 ;
HDR ; - Header code
 S VALMHDR(1)="Income Verification Match                      Suggested SSA/SSNs for Uploading"
 S VALMHDR(2)="  (*) - Indicates Date of Death Reported"
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIVMLSU1   1945     printed  Sep 23, 2025@19:37:25                                                                                                                                                                                                     Page 2
IVMLSU1   ;ALB/MLI/KCL - IVM SSA/SSN UPLOAD DISPLAY LIST ; 07-JAN-94
 +1       ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
 +2       ;;Per VHA Directive 10-93-142, this routine should not be modified.
 +3       ;
 +4       ;
INIT      ; - Init variables and list array
 +1        KILL ^TMP("IVMLST",$JOB)
 +2        SET IVMBL=""
           SET $PIECE(IVMBL," ",30)=""
           SET IVMCT=0
           SET IVMNM=""
 +3       ;
 +4       ; - sort by patient name
 +5        FOR 
               SET IVMNM=$ORDER(^TMP("IVMUP",$JOB,IVMNM))
               if IVMNM']""
                   QUIT 
               SET IVMSSN=""
               Begin DoDot:1
 +6                FOR 
                       SET IVMSSN=$ORDER(^TMP("IVMUP",$JOB,IVMNM,IVMSSN))
                       if IVMSSN']""
                           QUIT 
                       SET IVMI=""
                       Begin DoDot:2
 +7                        FOR 
                               SET IVMI=$ORDER(^TMP("IVMUP",$JOB,IVMNM,IVMSSN,IVMI))
                               if 'IVMI
                                   QUIT 
                               SET IVMJ=""
                               Begin DoDot:3
 +8                                FOR 
                                       SET IVMJ=$ORDER(^TMP("IVMUP",$JOB,IVMNM,IVMSSN,IVMI,IVMJ))
                                       if 'IVMJ
                                           QUIT 
                                       Begin DoDot:4
 +9                                        SET X=$GET(^TMP("IVMUP",$JOB,IVMNM,IVMSSN,IVMI,IVMJ))
 +10                                       SET DFN=$PIECE(X,"^",1)
                                           SET IVMSIEN=$PIECE(X,"^",2)
 +11                                       SET IVMSTAR=$SELECT($PIECE(X,"^",3)]"":"*",1:" ")
                                           SET IVMLN=$PIECE(X,"^",4,99)
 +12                                       SET IVMCT=IVMCT+1
                                           DO WRLINE(IVMLN,IVMCT)
 +13      ;
 +14      ; - set ^TMP("IVMLST" array for look-up
 +15                                       SET ^TMP("IVMLST",$JOB,"IDX",IVMCT,IVMCT)=IVMNM_"^"_IVMSSN_"^"_DFN_"^"_IVMSIEN_"^"_$PIECE(X,"^",3)_"^"_IVMI_"^"_IVMJ
                                       End DoDot:4
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +16      ;
 +17       SET VALMCNT=IVMCT
 +18      ;
INITQ      KILL C,DFN,IVMBL,IVMCT,IVMI,IVMJ,IVMLN,IVMNM,IVMSIEN,IVMSSN,IVMSTAR
 +1        QUIT 
 +2       ;
 +3       ;
WRLINE(X,C) ; - Write line out
 +1       ;
 +2       ;  Input:  X as pt name^pt ssn^pt ssa ssn^sp name^sp ssn^sp ssa ssn
 +3       ;          C as line number
 +4       ; Output:  None
 +5       ;
 +6        NEW IVMLN
 +7       ; - patient data
 +8        SET IVMLN=IVMSTAR_$EXTRACT($PIECE(X,"^",1)_IVMBL,1,14)_"  "_$EXTRACT($PIECE(X,"^",2)_IVMBL,1,11)_$EXTRACT($PIECE(X,"^",3)_IVMBL,1,11)
 +9       ;
 +10      ; - spouse data
 +11       SET IVMLN=IVMLN_$EXTRACT($PIECE(X,"^",4)_IVMBL,1,14)_"  "_$EXTRACT($PIECE(X,"^",5)_IVMBL,1,11)_$EXTRACT($PIECE(X,"^",6)_IVMBL,1,10)
 +12      ;
 +13      ; - highlight SSA/SSN for patient
 +14       DO CNTRL^VALM10(C,33,9,IOINHI,IOINORM)
 +15      ; - highlight SSA/SSN for spouse
 +16       DO CNTRL^VALM10(C,71,9,IOINHI,IOINORM)
 +17      ;
 +18      ; - display list
 +19       SET @VALMAR@(C,0)=$EXTRACT(C_"    ",1,4)_IVMLN
 +20       QUIT 
 +21      ;
 +22      ;
HDR       ; - Header code
 +1        SET VALMHDR(1)="Income Verification Match                      Suggested SSA/SSNs for Uploading"
 +2        SET VALMHDR(2)="  (*) - Indicates Date of Death Reported"
 +3        QUIT