Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQDBIM4

VAQDBIM4.m

Go to the documentation of this file.
  1. VAQDBIM4 ;ALB/JRP - MEANS TEST EXTRACTION (SCREEN 4);5-MAR-93
  1. ;;1.5;PATIENT DATA EXCHANGE;**38**;NOV 17, 1993
  1. ; **********
  1. ; * PARTS OF THIS ROUTINE HAVE BEEN COPIED AND ALTERED FROM THE
  1. ; * DGMTSC* ROUTINES. FOR MODULES THIS WAS DONE FOR, A REFERENCE
  1. ; * TO THE DGMTSC* ROUTINE WILL BE INCLUDE.
  1. ; **********
  1. ;
  1. XTRCT4(DFN,ARRAY,OFFSET) ;EXTRACT SCREEN 1
  1. ;PREVIOUS CALENDAR YEAR NET WORTH
  1. ;This module is based on DIS^DGMTSC4
  1. ;
  1. ;INPUT : See EXTRACT^VAQDBIM for explanation of parameters. Input
  1. ; also includes all DG* variables required to build screen.
  1. ;OUTPUT : n - Number of lines in display
  1. ; -1^Error_text - Error
  1. ;
  1. ;CHECK INPUT
  1. Q:('$D(DFN)) "-1^Pointer to patient file not passed"
  1. Q:('$D(ARRAY)) "-1^Reference to output array not passed"
  1. Q:('$D(OFFSET)) "-1^Starting offset not passed"
  1. ;DECLARE VARIABLES
  1. N DGCAT,DGDC,DGDET,DGIN0,DGIN1,DGIN2,DGINT,DGINTF,DGMTS,DGNC
  1. N DGND,DGNWT,DGNWTF,DGSP,DGTYC,DGTHA,DGTHB,DGVIR0,TMP,LINES,Y
  1. ;INITIALIZE MEANS TEST VARIABLES
  1. D SET^DGMTSCU2
  1. ;EXTRACT HEADER
  1. S LINES=OFFSET
  1. S TMP=$$HEADER^VAQDBIM0(4,ARRAY,OFFSET)
  1. Q:(TMP<0) TMP
  1. S OFFSET=LINES+TMP
  1. ;SET COLUMN HEADINGS
  1. S TMP="Income Thresholds: "
  1. I $D(DGTHA) D
  1. .S Y="Category A: "_$$AMT^DGMTSCU1(DGTHA)
  1. .S TMP=$$INSERT^VAQUTL1(Y,TMP)
  1. I $D(DGTHB) D
  1. .S Y="Category B: "_$$AMT^DGMTSCU1(DGTHB)
  1. .S TMP=$$INSERT^VAQUTL1(Y,TMP,56)
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. S TMP=""
  1. S:$D(DGMTPAR("PREV")) TMP="*Previous Years Thresholds*"
  1. S TMP=$$INSERT^VAQUTL1("Veteran",TMP,35)
  1. S:DGSP TMP=$$INSERT^VAQUTL1("Spouse",TMP,47)
  1. S TMP=$$INSERT^VAQUTL1("Total",TMP,74)
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. S TMP=$$REPEAT^VAQUTL1("-",47)
  1. S TMP=$$INSERT^VAQUTL1(TMP,"",32)
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. D FLD(1,"Cash, Amts in Bank Accts")
  1. D FLD(2,"Stocks and Bonds")
  1. D FLD(3,"Real Property")
  1. D FLD(4,"Other Property or Assets")
  1. D FLD(5,"Debts")
  1. S TMP=$$INSERT^VAQUTL1("Total -->","",52)
  1. S Y=$J($$AMT^DGMTSCU1(DGNWT),12)
  1. S TMP=$$INSERT^VAQUTL1(Y,TMP,67)
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. F TMP=1:1:7 S @ARRAY@("DISPLAY",OFFSET,0)="" S OFFSET=OFFSET+1
  1. I $P($G(^DGMT(408.31,DGMTI,0)),U,14) S TMP="Declines to give income information makes a Category C."
  1. E D
  1. . S TMP="Income of "_$J($$AMT^DGMTSCU1(DGINT-DGDET),12)_" Category "_DGCAT
  1. . I DGTYC="M",(DGNWT+DGINT-DGDET)>$P(DGMTPAR,"^",8) S TMP=TMP_" property of "_$J($$AMT^DGMTSCU1(DGNWT),12)_" makes a Category C."
  1. . I DGTYC="M",'DGNWTF S TMP=TMP_" requires property information."
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. Q (OFFSET-LINES)
  1. ;
  1. FLD(PIECE,LABEL) ;EXTRACT NET WORTH FIELDS
  1. ;INPUT : PIECE - Piece position in DGIN2 to extract
  1. ; LABEL - Label to use (income description)
  1. ; Input also includes:
  1. ; all DG* variables
  1. ; ARRAY
  1. ; OFFSET
  1. ;
  1. ;This module is based on FLD^DGMTSC4
  1. ;
  1. ;DECLARE VARIABLES
  1. N TOTAL,I,TMP,Y
  1. ;EXTRACT INFO
  1. S TMP=$$INSERT^VAQUTL1(LABEL,"",5)
  1. S Y=$J($$AMT^DGMTSCU1($P(DGIN2("V"),"^",PIECE)),10)
  1. S TMP=$$INSERT^VAQUTL1(Y,TMP,32)
  1. I $D(DGIN2("S")) D
  1. .S Y=$J($$AMT^DGMTSCU1($P(DGIN2("S"),"^",PIECE)),10)
  1. .S TMP=$$INSERT^VAQUTL1(Y,TMP,43)
  1. ;CALCULATE TOTAL FOR FIELD
  1. S TOTAL=0,I="" F S I=$O(DGIN2(I)) Q:I="" S TOTAL=TOTAL+$P(DGIN2(I),"^",PIECE)
  1. S Y=$J($$AMT^DGMTSCU1(TOTAL),12)
  1. S TMP=$$INSERT^VAQUTL1(Y,TMP,67)
  1. S @ARRAY@("DISPLAY",OFFSET,0)=TMP
  1. S OFFSET=OFFSET+1
  1. Q