IVMLDEM1 ;ALB/KCL - IVM DEMOGRAPHIC UPLOAD ACTIONS ; 11-APR-94
 ;;Version 2.0 ; INCOME VERIFICATION MATCH ;; 21-OCT-94
 ;;Per VHA Directive 10-93-142, this routine should not be modified.
 ;
 ;
UD ; - (action) select patient for (demographic upload)
 ;
 ;  Input - ^TMP("IVMLST",$J,"IDX",ctr,ctr)=dfn^pat name^ivm ien^ivm sub ien
 ;          VALMY(n)=array of selections
 ;
 ; - generic seletor used within list manager action call
 D EN^VALM2($G(XQORNOD(0)),"S")
 Q:'$D(VALMY)
 S IVMENT1=0 F  S IVMENT1=$O(VALMY(IVMENT1)) Q:'IVMENT1  D
 .;
 .; - get index record used for processing
 .S IVMIDX=$G(^TMP("IVMLST",$J,"IDX",IVMENT1,IVMENT1)) I IVMIDX']"" Q
 .;
 .; - call list manager application to display demo fields
 .S DFN=+IVMIDX,IVMDA2=$P(IVMIDX,"^",3),IVMDA1=$P(IVMIDX,"^",4)
 .S IVMNAME=$P(IVMIDX,"^",2)
 .D ^IVMLDEM2
 ;
UDQ ; clean-up variables
 D QACTION
 Q
 ;
 ;
ND ; - (action) select patient for (non-uploadable demographic)
 ;
 ;  Input - ^TMP("IVMLST",$J,"IDX",ctr,ctr)=dfn^pat name^ivm ien^ivm sub ien
 ;          VALMY(n)=array of selections
 ;
 ; - generic seletor used within list manager action
 D EN^VALM2($G(XQORNOD(0)),"S")
 Q:'$D(VALMY)
 S IVMENT1=0 F  S IVMENT1=$O(VALMY(IVMENT1)) Q:'IVMENT1  D
 .;
 .; - get index record used for processing
 .S IVMIDX=$G(^TMP("IVMLST",$J,"IDX",IVMENT1,IVMENT1)) I IVMIDX']"" Q
 .;
 .; - call list manager application to display non-uploadable fields
 .S DFN=+IVMIDX,IVMDA2=$P(IVMIDX,"^",3),IVMDA1=$P(IVMIDX,"^",4)
 .S IVMNAME=$P(IVMIDX,"^",2)
 .D ^IVMLDEM3
 ;
NDQ ; - clean up variables
 D QACTION
 Q
 ;
 ;
QACTION ; - kill variables used from all protocols
 D INIT^IVMLDEM ; reset array for list manager display
 S VALMBCK="R"
 K DFN,IVMDA1,IVMDA2,IVMDND,IVMENT1,IVMIDX,IVMNAME,IVMSSN,IVMWHERE
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIVMLDEM1   1812     printed  Sep 23, 2025@19:37:03                                                                                                                                                                                                    Page 2
IVMLDEM1  ;ALB/KCL - IVM DEMOGRAPHIC UPLOAD ACTIONS ; 11-APR-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       ;
UD        ; - (action) select patient for (demographic upload)
 +1       ;
 +2       ;  Input - ^TMP("IVMLST",$J,"IDX",ctr,ctr)=dfn^pat name^ivm ien^ivm sub ien
 +3       ;          VALMY(n)=array of selections
 +4       ;
 +5       ; - generic seletor used within list manager action call
 +6        DO EN^VALM2($GET(XQORNOD(0)),"S")
 +7        if '$DATA(VALMY)
               QUIT 
 +8        SET IVMENT1=0
           FOR 
               SET IVMENT1=$ORDER(VALMY(IVMENT1))
               if 'IVMENT1
                   QUIT 
               Begin DoDot:1
 +9       ;
 +10      ; - get index record used for processing
 +11               SET IVMIDX=$GET(^TMP("IVMLST",$JOB,"IDX",IVMENT1,IVMENT1))
                   IF IVMIDX']""
                       QUIT 
 +12      ;
 +13      ; - call list manager application to display demo fields
 +14               SET DFN=+IVMIDX
                   SET IVMDA2=$PIECE(IVMIDX,"^",3)
                   SET IVMDA1=$PIECE(IVMIDX,"^",4)
 +15               SET IVMNAME=$PIECE(IVMIDX,"^",2)
 +16               DO ^IVMLDEM2
               End DoDot:1
 +17      ;
UDQ       ; clean-up variables
 +1        DO QACTION
 +2        QUIT 
 +3       ;
 +4       ;
ND        ; - (action) select patient for (non-uploadable demographic)
 +1       ;
 +2       ;  Input - ^TMP("IVMLST",$J,"IDX",ctr,ctr)=dfn^pat name^ivm ien^ivm sub ien
 +3       ;          VALMY(n)=array of selections
 +4       ;
 +5       ; - generic seletor used within list manager action
 +6        DO EN^VALM2($GET(XQORNOD(0)),"S")
 +7        if '$DATA(VALMY)
               QUIT 
 +8        SET IVMENT1=0
           FOR 
               SET IVMENT1=$ORDER(VALMY(IVMENT1))
               if 'IVMENT1
                   QUIT 
               Begin DoDot:1
 +9       ;
 +10      ; - get index record used for processing
 +11               SET IVMIDX=$GET(^TMP("IVMLST",$JOB,"IDX",IVMENT1,IVMENT1))
                   IF IVMIDX']""
                       QUIT 
 +12      ;
 +13      ; - call list manager application to display non-uploadable fields
 +14               SET DFN=+IVMIDX
                   SET IVMDA2=$PIECE(IVMIDX,"^",3)
                   SET IVMDA1=$PIECE(IVMIDX,"^",4)
 +15               SET IVMNAME=$PIECE(IVMIDX,"^",2)
 +16               DO ^IVMLDEM3
               End DoDot:1
 +17      ;
NDQ       ; - clean up variables
 +1        DO QACTION
 +2        QUIT 
 +3       ;
 +4       ;
QACTION   ; - kill variables used from all protocols
 +1       ; reset array for list manager display
           DO INIT^IVMLDEM
 +2        SET VALMBCK="R"
 +3        KILL DFN,IVMDA1,IVMDA2,IVMDND,IVMENT1,IVMIDX,IVMNAME,IVMSSN,IVMWHERE
 +4        QUIT