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

DG1010P3.m

Go to the documentation of this file.
  1. DG1010P3 ;ALB/REW - PRINT 1010 CONT'D PART III ; 8/18/00 9:47am
  1. ;;5.3;Registration;**343**;Aug 13, 1993
  1. ;;1
  1. PARTIII ;
  1. K DGP,DGD,DESTXT,DGADDR,DGD1,DGDCTY,DGDSL,DGDST,DGDSTR,DGDSUM,DGDZIP,DGQ,DG1010P2
  1. F I="VET",0,.13,.22,.25,.3,.311,.32,.321,.322,.36,.52,.53 S DGP(I)=$G(^DPT(DFN,I))
  1. S DGDMAX=1
  1. S X=$$POINT^DG1010P0(DGP(0),5,11,3),DGNOTMAR=$S(((X="M")!(X="S")):0,1:1) ;0=>MARRIED,SEPARATED
  1. S DGSPC=1,DGBLANK=0
  1. W !!,?50,"PART III - APPLICANT/SPOUSE DATA",!,$C(13),DGLUND
  1. S DGNA=DGNOTMAR
  1. ;$$DISP(N,P,NA,BL) RETURNS THE Pth PIECE OF NODE N USUALLY N=DGP(Z) WHERE Z IS NODE SUBSCRIPT NULL=UNANWERED OR NOT APPLICABLE BASED ON NA. BL=1 WILL CAUSE ""(NOTHING) PRINTED
  1. W !,"1. APPLICANT'S EMPLOYMENT STATUS: ",$$ESTATUS(DGP(.311)),!,$C(13),DGLUND
  1. ;X IS EMP STATUS NUMBER ON FORM
  1. S DGVUNEMP=$S(("3^7"[+X):1,1:0)
  1. W !,"2. SPOUSE'S EMPLOYMENT STATUS: ",$$ESTATUS(DGP(.25),DGNA),!,$C(13),DGLUND
  1. S DGSUNEMP=$S(("3^7"[+X):1,1:0)
  1. W !,?66,"| ",!?14,"3. APPLICANT INFORMATION",?66,"| ",?87,"4. SPOUSE'S INFORMATION",?131,$C(13),DGLUND
  1. W !,"3A. OCCUPATION: ",$$DISP^DG1010P0(DGP(0),7),?66,"| ","4A. OCCUPATION: ",$$DISP^DG1010P0(DGP(.25),14,DGNA),!,DGL2
  1. W !,"3B. EMPLOYER (Name, Street Address, City, State, Zip)",?66,"| "
  1. W "4B. EMPLOYER (Name, Street Address, City, State, Zip)"
  1. NAME W !?5,$$DISP^DG1010P0(DGP(.311),1,DGVUNEMP) S (DGBLANK,DGBLANK1)=DGUNK
  1. S DGNA=$S(DGSUNEMP:1,1:DGNA)
  1. W ?66,"| ",?73,$$DISP^DG1010P0(DGP(.25),1,DGNA) S DGBLANK2=DGUNK
  1. SETADD ;
  1. S DGI=.311,DGNA=0
  1. I (DGNOTMAR)!(DGSUNEMP) F DGDPC=3:1:8 S DGD(.25,DGDPC)=""
  1. I DGVUNEMP F DGDPC=3:1:8 S DGD(.311,DGDPC)=""
  1. S DGPCDIFF=0 ;OFFSET FROM APPLICANT PIECE
  1. F DGI=.311,.25 D
  1. .Q:(DGI=.25)&(DGNOTMAR!DGSUNEMP)
  1. .Q:(DGI=.311)&(DGVUNEMP)
  1. .I DGI=.25 S DGPCDIFF=-1,DGNA=DGNOTMAR,DGBLANK=DGBLANK2
  1. .;ADDR=3-5,6-8=CITY,STATE (NOTE:ZIP+4 IS ON .22 NODE & NOT 8TH PC)
  1. .F DGDPC=3:1:8 D
  1. ..S:(DGDPC<6) DGD(DGI,DGDPC)=$$DISP^DG1010P0(DGP(DGI),(DGDPC+DGPCDIFF),0,1)
  1. ..S:(DGDPC=6) DGD(DGI,DGDPC)=$$DISP^DG1010P0(DGP(DGI),(DGDPC+DGPCDIFF),0,1)_$S(('DGUNK):", ",1:"")
  1. ..S:(DGDPC=7) X=$P(DGP(DGI),U,7+DGPCDIFF),DGD(DGI,DGDPC)=$$UNK^DG1010P0($P($G(^DIC(5,+X,0)),U,2),0,1)_$S(('DGUNK):", ",1:"")
  1. ..I (DGDPC=4)!(DGDPC=5) S:(DGDMAX<DGDPC)&($L(DGD(DGI,DGDPC))) DGDMAX=DGDPC
  1. ..S:(DGDPC=8) DGD(DGI,DGDPC)=$$DISP^DG1010P0(DGP(.22),($S(DGI=.25:6,1:5)),0,1)
  1. S DGBLANK=0
  1. STREET W !?5,DGD(.311,3),?66,"| ",?73,DGD(.25,3)
  1. W:(DGDMAX>3) !?5,DGD(.311,4),?66,"|",?73,DGD(.25,4)
  1. W:(DGDMAX>4) !?5,DGD(.311,5),?66,"|",?73,DGD(.25,5)
  1. CTSTZP W !?5,DGD(.311,6),DGD(.311,7),DGD(.311,8),?66,"| ",?73,DGD(.25,6),DGD(.25,7),DGD(.25,8),!,DGL2
  1. W !,"3C. WORK TELEPHONE NUMBER: ",$$DISP^DG1010P0(DGP(.311),9,0,DGBLANK1),?66,"| ","4C. WORK TELEPHONE NUMBER: ",$$DISP^DG1010P0(DGP(.25),8,DGNA,DGBLANK2),?131,$C(13),DGLUND
  1. K DGVUNEMP,DGSUNEMP
  1. G PARTIV^DG1010P4
  1. ESTATUS(N,NA) ;
  1. ; Returns the external value of the Employment Status for either the
  1. ; Spouse or the Patient, unless NA=1.
  1. ; INPUT: N -- A node [either the .311 or the .25]
  1. ; NA -- If =1 returns 'NOT APPLICABLE'
  1. ; [N is REQUIRED]
  1. ; OUTPUT[Returned & SET] -- X
  1. I $G(NA) S X="NOT APPLICABLE" G QE
  1. S X=+($P(N,U,15))
  1. I 'X S X="NOT ANSWERED" G QE
  1. S X=$P($P(^DD(2,.31115,0),U,3),";",X)
  1. I 'X S X="7. UNKNOWN" G QE ;RESULT IF INPUT X>6
  1. S X=+X_". "_$P(X,":",2)
  1. QE ;
  1. Q X