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

ACHSDNL3.m

Go to the documentation of this file.
  1. ACHSDNL3 ; IHS/ITSC/PMF - DENIAL LTR/FS (LTR2) (4/6) ;7/23/10 15:32
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**3,4,5,6,12,18,21,27**;JUNE 11, 2001;Build 43
  1. ;ACHS*3.1*3 prt alt ins, chg chart no display,fx opt prt, allow for a third sig
  1. ;ACHS*3.1*4 include effective dates on alt ins and fx left margin
  1. ;ACHS*3.1*5 12/06/2002 display of Medicare dt
  1. ;ACHS*3.1*6 3.24.03 IHS/SET/FCJ CHECK FOR PRT SUD AND AREA DIR, TEST PROV,ALT RES AND FOR TOT $ AMT TO PRT
  1. ;ACHS*3.1*18 6.11.10 IHS/SET/ABK Top, Lft Mar par BC name and phone no
  1. ;ACHS*3.1*18 9.31.10 IHS.OIT.FCJ MULT Chng FOR NEW DEN REA AND OPT, EDIT OPT is calling this rtn-ACHSDN4
  1. ;ACHS*3.1*27 11.14.17 IHS.OIT.FCJ CHANGE FOR NEW MEDICARE NUMBER
  1. BODY ;EP - Print body of Den let
  1. ;CHECK 'PRT DEN AMOUNT ON LETTERS?' PAR
  1. ;ACHS*3.1*6 3.27.03 IHS/SET/FCJ ADD COUNT TEST
  1. I ACHSCNT>0,$P($G(^ACHSDENR(DUZ(2),0)),U,6)="Y" S DA=ACHSA D AMT^ACHSDNA ;ACHS*3.1*6
  1. S ACHSNFAC=$P(^DIC(4,DUZ(2),0),U,1) ;ACHS*3.1*18
  1. A ;
  1. ;{ABK, 6/11/10} SET TOPM AND DIWL
  1. S T2=$G(^ACHSDENR(DUZ(2),0)),DIWL=$P(T2,U,9),TOPM=$P(T2,U,11)
  1. S:DIWL="" DIWL=5 S:TOPM="" TOPM=5
  1. ;{abk,6/15/10}S DIWL=5,DIWR=75,DIWF="W",ACHD=0,ACHDPRE=""
  1. S DIWR=75,DIWF="W",ACHD=0,ACHDPRE=""
  1. W !!,?DIWL-1,"Dear ",$S($G(ACHDALT)'="N":$G(ACHDNAMP),1:$G(ACHDALTN)),",",!!
  1. ;
  1. MIDTXT ; --- Prt Mid Text of Den let
  1. ;{ABK, 6/11/10} SET TOPM AND DIWL FROM CHS DENIAL PAR
  1. S T2=$G(^ACHSDENR(DUZ(2),0)),DIWL=$P(T2,U,9),TOPM=$P(T2,U,11)
  1. S:DIWL="" DIWL=5 S:TOPM="" TOPM=5
  1. F S ACHD=$O(^ACHSDENR(DUZ(2),2,ACHD)) Q:+ACHD=0 D Q:$G(ACHSQUIT)
  1. .S X=$G(^ACHSDENR(DUZ(2),2,ACHD,0)) I X["ACHSFAC" S X=$P(X,"ACHSFAC",1)_ACHSNFAC_$P(X,"ACHSFAC",2)
  1. .D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. S DIWF="WI5C55"
  1. ;
  1. PRIREAS ;PRIMARY DEN REA?
  1. S ACHDPREN=$G(^ACHSDEN(DUZ(2),"D",ACHSA,250))
  1. I ACHDPREN S ACHDPRE=$P($G(^ACHSDENS($P(ACHDPREN,U),0)),U)
  1. ;NO DEN REA AND NO OTHER DEN REA SKIP DOING DEN SECT
  1. I 'ACHDPREN,'$D(^ACHSDEN(DUZ(2),"D",ACHSA,300)) W ?DIWL+10,"(No denial reason on file.)",! G A5
  1. ;
  1. PRITXT ;
  1. ;ACHS*3.1*18 IHS.OIT.FCJ SPLIT LINE INTO DO AND ADDED NXT LINE
  1. I $P(ACHDPREN,U,3) S ACHDFC=$P(^DIC(4,$P(ACHDPREN,U,3),0),U)
  1. I ACHDPREN W !?DIWL-1,ACHDPRE D
  1. .F ACHD=0:0 S ACHD=$O(^ACHSDENS(+ACHDPREN,1,ACHD)) Q:'ACHD D
  1. ..S X=$G(^ACHSDENS(+ACHDPREN,1,ACHD,0))
  1. ..D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. ;
  1. Q:$G(ACHSQUIT)
  1. D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. S ACHSX=$G(^ACHSDENR(DUZ(2),0)),ACHSDBCN=$P(ACHSX,U,12),ACHSDBCP=$P(ACHSX,U,13) ;ACHS*3.1*18
  1. ;
  1. G:'$P(ACHDPREN,U,2) PRICMT
  1. I $D(^ACHSDENS(+ACHDPREN,20,$P(ACHDPREN,U,2),1,1,0)) D Q:$G(ACHSQUIT)
  1. .S ACHD=""
  1. .;ACHS*3.1*18 ACHS*3.1*18 MULT CHANGES SPLIT F LOOP ADDED LINES, ETC
  1. .F S ACHD=$O(^ACHSDENS(+ACHDPREN,20,$P(ACHDPREN,U,2),1,ACHD)) Q:ACHD="" D
  1. ..S X=$G(^ACHSDENS(+ACHDPREN,20,$P(ACHDPREN,U,2),1,ACHD,0))
  1. ..I X["ACHSDBCN" S X=$P(X,"ACHSDBCN",1)_ACHSDBCN_$P(X,"ACHSDBCN",2) ;ACHS*3.1*18
  1. ..I X["ACHSDBCP" S X=$P(X,"ACHSDBCP",1)_ACHSDBCP_$P(X,"ACHSDBCP",2) ;ACHS*3.1*18
  1. ..I X["ACHDALT" S X=$P(X,"ACHDALT",1) D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT) D ALTINS Q ;ACHS*3.1*18
  1. ..I X["ACHDTY" S X1=$P(X,"ACHDTY",1),X2=$P(X,"ACHDTY",2) D ALTOPT S X=X1_ACHDTY_X2 ;ACHS*3.1*18
  1. ..I X["ACHSNFAC" S X=$P(X,"ACHSNFAC",1)_ACHSNFAC_$P(X,"ACHSNFAC",2) ;ACHS*3.1*18
  1. ..I X["ACHDFC" S X=$P(X,"ACHDFC",1)_ACHDFC_$P(X,"ACHDFC",2) ;ACHS*3.1*18
  1. ..D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. . D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. Q:$G(ACHSQUIT)
  1. ;
  1. PRICMT ;
  1. I $D(^ACHSDEN(DUZ(2),"D",ACHSA,255,0)) D Q:$G(ACHSQUIT)
  1. . W !
  1. . S X="Primary Denial Comments:"
  1. . D ^DIWP,^DIWW
  1. . S ACHD=0
  1. . F S ACHD=$O(^ACHSDEN(DUZ(2),"D",ACHSA,255,ACHD)) Q:'ACHD D Q:$G(ACHSQUIT)
  1. ..S X=$G(^ACHSDEN(DUZ(2),"D",ACHSA,255,ACHD,0))
  1. ..D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. .Q:$G(ACHSQUIT) D ^DIWW
  1. Q:$G(ACHSQUIT)
  1. ;
  1. OTHTXT ;OTH DEN REA
  1. S ACHDI=0
  1. ;ACHS*3.1*18 MULT CHANGES
  1. F S ACHDI=$O(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI)) Q:+ACHDI=0 I $D(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,0)) D
  1. .S A=0,DA=$P($G(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,0)),U) D PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. .S ACHDO=^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,0)
  1. .;WRITE OTH REA
  1. .W !?DIWL-1,$P($G(^ACHSDENS(DA,0)),U) S A=0 D
  1. ..;WRITE THE TEXT
  1. ..F S A=$O(^ACHSDENS(DA,1,A)) Q:+A=0 S X=$G(^ACHSDENS(DA,1,A,0)) D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. ..D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. ..;WRITE OPT
  1. ..S ACHDOPT=$P(ACHDO,U,2),ACHDFC=$P(ACHDO,U,3)
  1. ..I ACHDFC>0 S ACHDFC=$P(^DIC(4,ACHDFC,0),U)
  1. ..I ACHDOPT S A=0 F S A=$O(^ACHSDENS(DA,20,ACHDOPT,1,A)) Q:A'?1N.N D
  1. ...S X=$G(^ACHSDENS(DA,20,ACHDOPT,1,A,0))
  1. ...I X["ACHSDBCN" S X=$P(X,"ACHSDBCN",1)_ACHSDBCN_$P(X,"ACHSDBCN",2) ;ACHS*3.1*18
  1. ...I X["ACHSDBCP" S X=$P(X,"ACHSDBCP",1)_ACHSDBCP_$P(X,"ACHSDBCP",2) ;ACHS*3.1*18
  1. ...I X["ACHDALT" S X=$P(X,"ACHDALT",1) D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT) D ALTINS Q ;ACHS*3.1*18
  1. ...I X["ACHDTY" S X1=$P(X,"ACHDTY",1),X2=$P(X,"ACHDTY",2) D ALTOPT2 S X=X1_ACHDTY_X2 ;ACHS*3.1*18
  1. ...I X["ACHDFC" S X=$P(X,"ACHDFC",1)_ACHDFC_$P(X,"ACHDFC",2) ;ACHS*3.1*18
  1. ...D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT) ; ACHS*3.1*3
  1. ..D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. ..D OTHCMT
  1. G A5
  1. ;
  1. OTHCMT ;
  1. Q:+ACHDI=0
  1. I $D(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,1,0)) D
  1. . W !
  1. . S X="Other Denial Comments:"
  1. . D ^DIWP,^DIWW
  1. . S ACHDC=0
  1. . F S ACHDC=$O(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,1,ACHDC)) Q:'ACHDC S X=$G(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,1,ACHDC,0)) D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. . D ^DIWW,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. Q
  1. ;
  1. A5 ;
  1. D PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. S ACHD=0,DIWF="W",DIWR=75
  1. ;
  1. BOTTXT ; --Prt Bot Text of Den let
  1. W !!
  1. ;{ABK, 6/11/10} SET TOPM AND DIWL
  1. S T2=$G(^ACHSDENR(DUZ(2),0)),DIWL=$P(T2,U,9),TOPM=$P(T2,U,11)
  1. S:DIWL="" DIWL=5 S:TOPM="" TOPM=5
  1. S DIWR=75,DIWF="W"
  1. F ACHD=0:0 S ACHD=$O(^ACHSDENR(DUZ(2),3,ACHD)) Q:+ACHD=0 S X=$G(^ACHSDENR(DUZ(2),3,ACHD,0)) D ^DIWP,PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. D ^DIWW
  1. D PG:$Y>ACHSBM
  1. Q:$G(ACHSQUIT)
  1. ;
  1. ;PRT SUD info
  1. I +$P($G(^AUTTLOC(DUZ(2),0)),U,10)'=353610,+$P($G(^AUTTLOC(DUZ(2),0)),U,10)'=353601 D SUD(20)
  1. ;
  1. CLOSTXT ; --- Prt closing text
  1. W !!
  1. F ACHD=0:0 S ACHD=$O(^ACHSDENR(DUZ(2),9,ACHD)) Q:+ACHD=0 S X=$G(^ACHSDENR(DUZ(2),9,ACHD,0)) D ^DIWP,PG:(($Y+7)>ACHSBM) Q:$G(ACHSQUIT)
  1. D ^DIWW
  1. ;
  1. ;
  1. AREADIR ; --- Area Director info
  1. G:$P($G(^ACHSDENR(DUZ(2),200)),U)="" SIGTXT ;ACHS*3.1*6
  1. W !!?20,$P($G(^ACHSDENR(DUZ(2),200)),U)
  1. W !?20,$P($G(^ACHSDENR(DUZ(2),200)),U,2)
  1. S ACHSYAYA=$P($G(^ACHSDENR(DUZ(2),200)),U,8) I ACHSYAYA'="" W !,?20,ACHSYAYA
  1. S ACHSYAYA=$P($G(^ACHSDENR(DUZ(2),200)),U,9) I ACHSYAYA'="" W !,?20,ACHSYAYA
  1. K ACHSYAYA
  1. ;
  1. W !?20,$P($G(^ACHSDENR(DUZ(2),200)),U,3),", "
  1. W $P($G(^DIC(5,$P($G(^ACHSDENR(DUZ(2),200)),U,4),0)),U,2)," "
  1. W $P($G(^ACHSDENR(DUZ(2),200)),U,5)
  1. W !?20,$P($G(^ACHSDENR(DUZ(2),200)),U,6),!
  1. ;
  1. ;
  1. SIGTXT ;
  1. ; --- Print sig text
  1. D PG:$Y>(ACHSBM-10) Q:$G(ACHSQUIT)
  1. S DIWF="NW"
  1. W !!
  1. F ACHD=0:0 S ACHD=$O(^ACHSDENR(DUZ(2),7,ACHD)) Q:+ACHD=0 S X=$G(^ACHSDENR(DUZ(2),7,ACHD,0)) D ^DIWP,PG:($Y>ACHSBM) Q:$G(ACHSQUIT)
  1. D ^DIWW
  1. D PG:$Y>ACHSBM
  1. Q:$G(ACHSQUIT)
  1. W !!
  1. ;
  1. ;sig person ;PRINT SUD INFO
  1. I $D(^ACHSDENR(DUZ(2),300)) D I 1
  1. . N DATA,ZZ F ZZ=300:1:305 S DATA=$G(^ACHSDENR(DUZ(2),ZZ)) I DATA'="" W !,?4,DATA
  1. . S DATA=$G(^ACHSDENR(DUZ(2),306)) I DATA'="" W $P($G(^DIC(5,DATA,0)),U,2)
  1. . S DATA=$G(^ACHSDENR(DUZ(2),307)) I DATA'="" W " ",DATA
  1. . S DATA=$G(^ACHSDENR(DUZ(2),308)) I DATA'="" W !,?4,DATA
  1. E D SUD(4)
  1. I ACHDONE D END Q
  1. ;
  1. ;
  1. OFC ; --- Print office info at bottom
  1. ;11/28/01 pmf changes to include the Pawnee BP #
  1. ;W !!!,"Denial Number: ",$$DN^ACHS(0,1),!,"Chart Number: " ; ACHS*3.1*3
  1. ;I $G(DFN)'="" D ; ACHS*3.1*3
  1. ;.W:$D(^AUPNPAT(DFN,41,DUZ(2),0)) $P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,2)_" "_$P($G(^DIC(4,DUZ(2),0)),U) ; ACHS*3.1*3
  1. ;.W:'$D(^AUPNPAT(DFN,41,DUZ(2),0)) "(No Chart At This Facility)" ; ACHS*3.1*3
  1. ;E W $P($G(^ACHSDEN(DUZ(2),"D",ACHSA,10)),U,6) ;'CHART # (OTHER FACILITY) ; ACHS*3.1*3
  1. ;.Q ; ACHS*3.1*3
  1. W !!!,"Denial Number: ",$$DN^ACHS(0,1) ; ACHS*3.1*3
  1. D SETCHT^ACHSDNL2 ; ACHS*3.1*3
  1. W !,ACHDCH ; ACHS*3.1*3
  1. ;
  1. I $$DN^ACHS(850,1)'="Y" W !,"No Receipt Information Available",! G CMT1
  1. ;
  1. W !,"Method of receipt: "
  1. S X=$$DN^ACHS(850,2),Y=$P($G(^DD(9002071.01,851,0)),U,3)
  1. F %=1:1 D Q:'%
  1. . I $P(Y,";",%)="" W "<unknown>" S %=0 Q
  1. . I $P($P(Y,";",%),":")=X W $P($P(Y,";",%),":",2) S %=0 Q
  1. . Q
  1. W !,"Date of receipt: ",$$FMTE^XLFDT($$DN^ACHS(850,3))
  1. W !,"Received by: ",$$DN^ACHS(850,4)
  1. CMT1 ;
  1. I '$D(^ACHSDEN(DUZ(2),"D",ACHSA,900)) D END Q
  1. W !!,"CHS Office Comments: ",!
  1. S ACHD=0
  1. F S ACHD=$O(^ACHSDEN(DUZ(2),"D",ACHSA,900,ACHD)) Q:'ACHD S X=$G(^ACHSDEN(DUZ(2),"D",ACHSA,900,ACHD,0)) D ^DIWP
  1. D ^DIWW
  1. END ;
  1. Q:$G(ACHSQUIT)
  1. W !!!
  1. I $$DN^ACHS(0,8)="Y" F I=1:1:4 W "DOCUMENT CANCELLED *"
  1. W !!
  1. ;
  1. I 'ACHDONE F I=1:1:4 W "*** OFFICE COPY *** "
  1. ;
  1. D RTRN^ACHS
  1. W @IOF
  1. K ACHDALT,ACHDI,ACHDPRE,ACHDPREN,ACHDPROV,DA,DTOUT,DUOUT,STATEPRT,SUDSTUFF,ACHSCNT,ACHDO,ACHDOPT,ACHDFC,ACHSNFAC
  1. Q
  1. ;
  1. PG ;Heading other than first page.
  1. Q:$G(ACHSQUIT)
  1. D RTRN^ACHS
  1. S ACHSPG=ACHSPG+1
  1. W @IOF,!!!?DIWL-1,ACHDNAMP,?76-$L($$DN^ACHS(0,1)),$$DN^ACHS(0,1),!?70,"Page ",ACHSPG,!!
  1. Q
  1. SUD(OFFSET) ;
  1. Q:$P($G(^ACHSDENR(DUZ(2),100)),U)=""
  1. S SUDSTUFF=$G(^ACHSDENR(DUZ(2),100))
  1. W !?OFFSET,$P(SUDSTUFF,U)
  1. W !?OFFSET,$P(SUDSTUFF,U,2)
  1. I $P(SUDSTUFF,U,8)'="" W !?OFFSET,$P(SUDSTUFF,U,8)
  1. I $P(SUDSTUFF,U,9)'="" W !?OFFSET,$P(SUDSTUFF,U,9)
  1. ;
  1. W !?OFFSET,$P(SUDSTUFF,U,3)
  1. W ", "
  1. S STATEPTR=$P($G(^ACHSDENR(DUZ(2),100)),U,4)
  1. W:STATEPTR'="" $P($G(^DIC(5,STATEPTR,0)),U,2)," ",$P($G(^ACHSDENR(DUZ(2),100)),U,5),!?OFFSET,$P($G(^ACHSDENR(DUZ(2),100)),U,6)
  1. D PG:$Y>ACHSBM Q:$G(ACHSQUIT)
  1. Q
  1. ;
  1. ALTINS ;
  1. I '$D(^ACHSDEN(DUZ(2),"D",ACHSA,320)) Q
  1. I $G(DFN)="" Q
  1. W !
  1. N DAT,DAT1,DAT2,DAT3,SS,TAG
  1. W !,?DIWL+4,"INSURANCE",?31,"ID NO.",?43,"EFF. DATE",?55,"TRM. DATE",!,?DIWL+4 F DAT=1:1 W "-" I $X>64 Q
  1. S SS=0 F S SS=$O(^ACHSDEN(DUZ(2),"D",ACHSA,320,SS)) Q:SS="" D
  1. . S DAT2=$G(^ACHSDEN(DUZ(2),"D",ACHSA,320,SS,0)),DAT=$P(DAT2,U,2)
  1. . S TAG="PINS"_DAT I $L(TAG)=5 D @TAG
  1. W !
  1. Q
  1. ;
  1. PINSM ; MEDICARE
  1. ;ACHS*3.1*27 REWROTE TO PRINT NEW MBI AND PART "D"
  1. N DATMCR S DATMCR=""
  1. S DAT1=$G(^AUPNMCR(DFN,0))
  1. S DATMCR=$$GETMBI^AUPNMBI(DFN,DT,0)
  1. S DAT2=$P(DAT2,U,3) I DAT2="" Q
  1. S DAT2=$G(^AUPNMCR(DFN,11,DAT2,0))
  1. W !,?DIWL+4,"Medicare"
  1. I $P(DAT2,U,3)?1"D" W ?30,$P($G(DAT2),U,6)
  1. E W ?30,$S(+DATMCR<1:$P(DAT1,U,3),1:$P(DATMCR,U)) I $P(DAT1,U,4),+DATMCR<1 W $G(^AUTTMCS($P(DAT1,U,4),0),U)
  1. W ?42," " S DAT=$P(DAT2,U,1) D PDATE
  1. W ?54," " S DAT=$P(DAT2,U,2) D PDATE
  1. S DATADD=$P(DAT1,U,2)
  1. D:$G(DATADD) PADD
  1. Q
  1. ;
  1. PINSC ;MEDICAID
  1. S DAT3=$P(DAT2,U,3)
  1. I DAT3="" Q
  1. W !,?DIWL+4,"Medicaid"
  1. S DAT1=$G(^AUPNMCD(DAT3,0))
  1. W ?30," ",$P(DAT1,U,3)
  1. S DAT2=$P(DAT2,U,4)
  1. I DAT2="" Q
  1. S DAT2=$G(^AUPNMCD(DAT3,11,DAT2,0))
  1. W ?42," " S DAT=$P(DAT2,U,1) D PDATE
  1. W ?54," " S DAT=$P(DAT2,U,2) D PDATE
  1. S DATADD=$P(DAT1,U,10)
  1. D:$G(DATADD) PADD
  1. Q
  1. ;
  1. PINSR ;RAILROAD
  1. ;ACHS*3.1*27 REWROTE TO PRINT NEW MBI
  1. N DATMCR S DATMCR=""
  1. S DAT1=$G(^AUPNRRE(DFN,0))
  1. S DATMCR=$$GETMBI^AUPNMBI(DFN,DT,0)
  1. S DAT2=$P(DAT2,U,3) I DAT2="" Q ;CHECK FOR ELIG DATES
  1. W !,?DIWL+4,"Railroad Retirement"
  1. I $P(DAT1,U,3),+DATMCR<1 W ?30,$G(^AUTTRRP($P(DAT1,U,3),0),U) ;PRNT PREFIX FOR OLD NUMBER
  1. W ?30,$S(+DATMCR<1:$P(DAT1,U,4),1:$P(DATMCR,U))
  1. S DAT2=$G(^AUPNRRE(DFN,11,DAT2,0))
  1. W ?42," " S DAT=$P(DAT2,U,1) D PDATE
  1. W ?54," " S DAT=$P(DAT2,U,2) D PDATE
  1. S DATADD=$P(DAT1,U,2)
  1. D:$G(DATADD) PADD
  1. Q
  1. ;
  1. PINSP ;PRIVATE INS
  1. S DAT=$P(DAT2,U,3),DAT3=$G(^AUPNPRVT(DFN,11,DAT,0))
  1. S DAT=$P(DAT3,U,1) I DAT'="" S DAT=$P($G(^AUTNINS(DAT,0)),U) I DAT="" S DAT=" --- "
  1. W !,?DIWL+4,$E(DAT,1,21),?30," ",$P(DAT2,U,2)
  1. W ?42," " S DAT=$P(DAT3,U,6) D PDATE
  1. W ?54," " S DAT=$P(DAT3,U,7) D PDATE
  1. Q:'$P(DAT3,U) ;ACHS*3.1*18
  1. S DATADD=$G(^AUTNINS($P(DAT3,U),0),0) ;ACHS*3.1*18
  1. W !?DIWL+4,$P(DATADD,U,2)," ",$P(DATADD,U,3),", " I $P(DATADD,U,4) W $P(^DIC(5,$P(DATADD,U,4),0),U,2) ;ACHS*3.1*18
  1. W " ",$P(DATADD,U,5) ;ACHS*3.1*18
  1. Q
  1. ;
  1. PDATE ;
  1. ;ACHS*3.1*4 new module
  1. I 'DAT Q
  1. W $E(DAT,4,5),"/",$E(DAT,6,7),"/",($E(DAT,1,3)+1700)
  1. Q
  1. PADD ;PRINT INS ADDRESS;ACHS*3.1*18-NEW
  1. ;Q:'$P(DAT1,U,2)
  1. S DATADD=$G(^AUTNINS(DATADD,0),0) ;ACHS*3.1*27 CHNG DATADD
  1. W !?DIWL+4,$P(DATADD,U,2)," ",$P(DATADD,U,3),", " I $P(DATADD,U,4) W $P(^DIC(5,$P(DATADD,U,4),0),U,2)
  1. W " ",$P(DATADD,U,5)
  1. Q
  1. ALTOPT ;OPT FOR PRI REASON;ACHS*3.1*18 NEW MODULE
  1. I '$D(^ACHSDEN(DUZ(2),"D",ACHSA,256)) Q
  1. S T1="",ACHDTY="",I=0,CT=0,CT1=0
  1. F S I=$O(^ACHSDEN(DUZ(2),"D",ACHSA,256,I)) Q:I'?1N.N S CT=CT+1
  1. S I=0 F S I=$O(^ACHSDEN(DUZ(2),"D",ACHSA,256,I)) Q:I'?1N.N D
  1. .S CT1=CT1+1
  1. .S T=$P(^ACHSDEN(DUZ(2),"D",ACHSA,256,I,0),U)
  1. .I CT>1,CT1>1 S T1=$S(CT1<CT:", ",1:" and ")
  1. .S ACHDTY=ACHDTY_T1_^ACHSDENS(+ACHDPREN,30,T,0)
  1. Q
  1. ALTOPT2 ;OPT FOR OTHER REASON;ACHS*3.1*18 NEW MODULE
  1. I '$D(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,4)) Q
  1. S T1="",ACHDTY="",I=0,CT=0,CT1=0
  1. F S I=$O(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,4,I)) Q:I'?1N.N S CT=CT+1
  1. S I=0 F S I=$O(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,4,I)) Q:I'?1N.N D
  1. .S CT1=CT1+1
  1. .S T=$P(^ACHSDEN(DUZ(2),"D",ACHSA,300,ACHDI,4,I,0),U)
  1. .I CT>1,CT1>1 S T1=$S(CT1<CT:", ",1:" and ")
  1. .S ACHDTY=ACHDTY_T1_^ACHSDENS(DA,30,T,0)
  1. Q