| [613] | 1 | VAQDBIM4 ;ALB/JRP - MEANS TEST EXTRACTION (SCREEN 4);5-MAR-93
 | 
|---|
 | 2 |  ;;1.5;PATIENT DATA EXCHANGE;**38**;NOV 17, 1993
 | 
|---|
 | 3 |  ; **********
 | 
|---|
 | 4 |  ; * PARTS OF THIS ROUTINE HAVE BEEN COPIED AND ALTERED FROM THE
 | 
|---|
 | 5 |  ; * DGMTSC* ROUTINES.  FOR MODULES THIS WAS DONE FOR, A REFERENCE
 | 
|---|
 | 6 |  ; * TO THE DGMTSC* ROUTINE WILL BE INCLUDE.
 | 
|---|
 | 7 |  ; **********
 | 
|---|
 | 8 |  ;
 | 
|---|
 | 9 | XTRCT4(DFN,ARRAY,OFFSET) ;EXTRACT SCREEN 1
 | 
|---|
 | 10 |  ;PREVIOUS CALENDAR YEAR NET WORTH
 | 
|---|
 | 11 |  ;This module is based on DIS^DGMTSC4
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ;INPUT  : See EXTRACT^VAQDBIM for explanation of parameters.  Input
 | 
|---|
 | 14 |  ;         also includes all DG* variables required to build screen.
 | 
|---|
 | 15 |  ;OUTPUT : n - Number of lines in display
 | 
|---|
 | 16 |  ;         -1^Error_text - Error
 | 
|---|
 | 17 |  ;
 | 
|---|
 | 18 |  ;CHECK INPUT
 | 
|---|
 | 19 |  Q:('$D(DFN)) "-1^Pointer to patient file not passed"
 | 
|---|
 | 20 |  Q:('$D(ARRAY)) "-1^Reference to output array not passed"
 | 
|---|
 | 21 |  Q:('$D(OFFSET)) "-1^Starting offset not passed"
 | 
|---|
 | 22 |  ;DECLARE VARIABLES
 | 
|---|
 | 23 |  N DGCAT,DGDC,DGDET,DGIN0,DGIN1,DGIN2,DGINT,DGINTF,DGMTS,DGNC
 | 
|---|
 | 24 |  N DGND,DGNWT,DGNWTF,DGSP,DGTYC,DGTHA,DGTHB,DGVIR0,TMP,LINES,Y
 | 
|---|
 | 25 |  ;INITIALIZE MEANS TEST VARIABLES
 | 
|---|
 | 26 |  D SET^DGMTSCU2
 | 
|---|
 | 27 |  ;EXTRACT HEADER
 | 
|---|
 | 28 |  S LINES=OFFSET
 | 
|---|
 | 29 |  S TMP=$$HEADER^VAQDBIM0(4,ARRAY,OFFSET)
 | 
|---|
 | 30 |  Q:(TMP<0) TMP
 | 
|---|
 | 31 |  S OFFSET=LINES+TMP
 | 
|---|
 | 32 |  ;SET COLUMN HEADINGS
 | 
|---|
 | 33 |  S TMP="Income Thresholds:   "
 | 
|---|
 | 34 |  I $D(DGTHA) D
 | 
|---|
 | 35 |  .S Y="Category A: "_$$AMT^DGMTSCU1(DGTHA)
 | 
|---|
 | 36 |  .S TMP=$$INSERT^VAQUTL1(Y,TMP)
 | 
|---|
 | 37 |  I $D(DGTHB) D
 | 
|---|
 | 38 |  .S Y="Category B: "_$$AMT^DGMTSCU1(DGTHB)
 | 
|---|
 | 39 |  .S TMP=$$INSERT^VAQUTL1(Y,TMP,56)
 | 
|---|
 | 40 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 41 |  S OFFSET=OFFSET+1
 | 
|---|
 | 42 |  S TMP=""
 | 
|---|
 | 43 |  S:$D(DGMTPAR("PREV")) TMP="*Previous Years Thresholds*"
 | 
|---|
 | 44 |  S TMP=$$INSERT^VAQUTL1("Veteran",TMP,35)
 | 
|---|
 | 45 |  S:DGSP TMP=$$INSERT^VAQUTL1("Spouse",TMP,47)
 | 
|---|
 | 46 |  S TMP=$$INSERT^VAQUTL1("Total",TMP,74)
 | 
|---|
 | 47 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 48 |  S OFFSET=OFFSET+1
 | 
|---|
 | 49 |  S TMP=$$REPEAT^VAQUTL1("-",47)
 | 
|---|
 | 50 |  S TMP=$$INSERT^VAQUTL1(TMP,"",32)
 | 
|---|
 | 51 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 52 |  S OFFSET=OFFSET+1
 | 
|---|
 | 53 |  D FLD(1,"Cash, Amts in Bank Accts")
 | 
|---|
 | 54 |  D FLD(2,"Stocks and Bonds")
 | 
|---|
 | 55 |  D FLD(3,"Real Property")
 | 
|---|
 | 56 |  D FLD(4,"Other Property or Assets")
 | 
|---|
 | 57 |  D FLD(5,"Debts")
 | 
|---|
 | 58 |  S TMP=$$INSERT^VAQUTL1("Total -->","",52)
 | 
|---|
 | 59 |  S Y=$J($$AMT^DGMTSCU1(DGNWT),12)
 | 
|---|
 | 60 |  S TMP=$$INSERT^VAQUTL1(Y,TMP,67)
 | 
|---|
 | 61 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 62 |  S OFFSET=OFFSET+1
 | 
|---|
 | 63 |  F TMP=1:1:7 S @ARRAY@("DISPLAY",OFFSET,0)="" S OFFSET=OFFSET+1
 | 
|---|
 | 64 |  I $P($G(^DGMT(408.31,DGMTI,0)),U,14) S TMP="Declines to give income information makes a Category C."
 | 
|---|
 | 65 |  E  D
 | 
|---|
 | 66 |  . S TMP="Income of  "_$J($$AMT^DGMTSCU1(DGINT-DGDET),12)_" Category "_DGCAT
 | 
|---|
 | 67 |  . I DGTYC="M",(DGNWT+DGINT-DGDET)>$P(DGMTPAR,"^",8) S TMP=TMP_" property of "_$J($$AMT^DGMTSCU1(DGNWT),12)_" makes a Category C."
 | 
|---|
 | 68 |  . I DGTYC="M",'DGNWTF S TMP=TMP_" requires property information."
 | 
|---|
 | 69 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 70 |  S OFFSET=OFFSET+1
 | 
|---|
 | 71 |  Q (OFFSET-LINES)
 | 
|---|
 | 72 |  ;
 | 
|---|
 | 73 | FLD(PIECE,LABEL) ;EXTRACT NET WORTH FIELDS
 | 
|---|
 | 74 |  ;INPUT  : PIECE - Piece position in DGIN2 to extract
 | 
|---|
 | 75 |  ;         LABEL - Label to use (income description)
 | 
|---|
 | 76 |  ;         Input also includes:
 | 
|---|
 | 77 |  ;           all DG* variables
 | 
|---|
 | 78 |  ;           ARRAY
 | 
|---|
 | 79 |  ;           OFFSET
 | 
|---|
 | 80 |  ;
 | 
|---|
 | 81 |  ;This module is based on FLD^DGMTSC4
 | 
|---|
 | 82 |  ;
 | 
|---|
 | 83 |  ;DECLARE VARIABLES
 | 
|---|
 | 84 |  N TOTAL,I,TMP,Y
 | 
|---|
 | 85 |  ;EXTRACT INFO
 | 
|---|
 | 86 |  S TMP=$$INSERT^VAQUTL1(LABEL,"",5)
 | 
|---|
 | 87 |  S Y=$J($$AMT^DGMTSCU1($P(DGIN2("V"),"^",PIECE)),10)
 | 
|---|
 | 88 |  S TMP=$$INSERT^VAQUTL1(Y,TMP,32)
 | 
|---|
 | 89 |  I $D(DGIN2("S")) D
 | 
|---|
 | 90 |  .S Y=$J($$AMT^DGMTSCU1($P(DGIN2("S"),"^",PIECE)),10)
 | 
|---|
 | 91 |  .S TMP=$$INSERT^VAQUTL1(Y,TMP,43)
 | 
|---|
 | 92 |  ;CALCULATE TOTAL FOR FIELD
 | 
|---|
 | 93 |  S TOTAL=0,I="" F  S I=$O(DGIN2(I)) Q:I=""  S TOTAL=TOTAL+$P(DGIN2(I),"^",PIECE)
 | 
|---|
 | 94 |  S Y=$J($$AMT^DGMTSCU1(TOTAL),12)
 | 
|---|
 | 95 |  S TMP=$$INSERT^VAQUTL1(Y,TMP,67)
 | 
|---|
 | 96 |  S @ARRAY@("DISPLAY",OFFSET,0)=TMP
 | 
|---|
 | 97 |  S OFFSET=OFFSET+1
 | 
|---|
 | 98 |  Q
 | 
|---|