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

AGEDPRV.m

Go to the documentation of this file.
  1. AGEDPRV ;IHS/ASDS/TPF - PRIVATE INSURANCE PAGE A ;
  1. ;;7.1;PATIENT REGISTRATION;**1,2,3,8,11,12**;AUG 25, 2005;Build 1
  1. ;IHS/OIT/NKD AG*7.1*11 MU2 UNKNOWN SEX
  1. ;IHS/OIT/NKD AG*7.1*12 INSURER TYPE
  1. ;
  1. EN(ID0,ID1,NEWENTRY,AGSELECT,AGINSPTR,POLHPTR,COVPTR) ;EP - CALLED BY AG7
  1. K EXIT
  1. I '$G(POLHPTR),('NEWENTRY) D I $G(EXIT) D CLEAN11(ID0,ID1) W !,"New entry not made" H 2 K EXIT D END Q
  1. .W !,"THIS RECORD HAS NO POLICY HOLDER PLEASE ENTER ONE NOW"
  1. .W !,"OR PRESS RETURN TO DELETE THIS RECORD!"
  1. .D ADDPOLH(ID0,AGINSPTR,.EXIT,.POLHPTR) I $G(POLHPTR)="" S EXIT=1 Q
  1. .;AG*7.1*2
  1. .S COMPIEN=ID0_",11,"_ID1_","_0
  1. .S AGSELECT=$$UPDTSEL^AGUTILS(.AGINS,COMPIEN,AGINSPTR)
  1. .K MYERRS,MYVARS
  1. .D FETCHERR^AGEDERR(AG("PG"),.MYERRS)
  1. .S MYVARS("DFN")=ID0,MYVARS("FINDCALL")="FINDPVT"
  1. .S MYVARS("SELECTION")=$G(AGSELECT),MYVARS("SITE")=DUZ(2)
  1. .D EDITCHEK^AGEDERR(.MYERRS,.MYVARS,1)
  1. .;END
  1. S AG("PG")="4PVTA"
  1. S ROUTID=$P($T(+1)," ")
  1. S CALLER="SCREEN"
  1. I NEWENTRY D Q:$G(EXIT)!($G(POLHPTR)="")
  1. .D DRAW("")
  1. .D WMSG
  1. .D NEWENTRY(ID0) I +$G(Y)<0 S EXIT=1 W !,"Entry could not be created." H 2 D END Q
  1. .D ADDINS(ID0,AGINSPTR) I +$G(Y)<0 D CLEAN(ID0) S EXIT=1 W !,"New entry not made" H 2 D END Q
  1. .;D ADDPOLH(ID0,AGINSPTR,.EXIT,.POLHPTR) I $G(EXIT)!($G(POLHPTR)="") D CLEAN(ID0) W !,"New entry not made" H 2 D END Q
  1. .D ADDPOLH(ID0,AGINSPTR,.EXIT,.POLHPTR) I $G(EXIT)!($G(POLHPTR)="") D CLEAN11(ID0,ID1) D CLEAN(ID0) W !,"New entry not made" H 2 D END Q ;AG*7.1*3 IM23566
  1. .S NEWENTRY=0
  1. .S COMPIEN=ID0_",11,"_ID1_","_0
  1. .S AGSELECT=$$UPDTSEL^AGUTILS(.AGINS,COMPIEN,AGINSPTR)
  1. S COMPIEN=ID0_",11,"_ID1_","_0
  1. VAR ;
  1. Q:$G(POLHPTR)=""
  1. D DRAW(POLHPTR)
  1. I $D(AGSEENLY) K DIR S DIR(0)="E",DIR("A")="Enter Response" D ^DIR Q
  1. W !,AGLINE("EQ")
  1. K DIR
  1. S DIR("A")="ENTER ACTION (<E>dit Data,<A>dd Member,<D>elete Member,<V>iew/Edit PH Addr):"
  1. S DIR(0)="SAO^E:EDIT;A:ADD;D:DELETE;V:VIEW"
  1. D ^DIR
  1. Q:Y=$G(AGOPT("ESCAPE"))
  1. I '$D(AGSEENLY) I $D(MYERRS("C","E")),(Y'?1N.N),(Y'="E"),(Y'="V"),(Y'="A"),(Y'="D") W !,"ERRORS ON THIS PAGE. PLEASE EDIT BEFORE EXITING!!" H 3 G VAR
  1. I Y="" D CLEAN(ID0) Q
  1. Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. I Y="A" D ADDMEMB^AGEDPRVP(ID0,POLHPTR,AGINSPTR,"A",.POLMEMBS) G VAR
  1. I Y="D" D Q:$G(LASTDEL)!($G(DELALL)) G VAR
  1. .K LASTDEL,DELALL,CANCELED
  1. .D DELMEM^AGEDPRVP(POLHPTR,POLMCNT,.POLMEMBS,.LASTDEL,.DELALL,.CANCELED) K POLMEMBS
  1. .Q:$G(CANCELED)
  1. .I $G(LASTDEL) D
  1. ..W !!,"You have deleted the last member of this policy."
  1. ..W !,"Therefore the eligibility record has been deleted."
  1. ..H 3
  1. .I $G(DELALL) D
  1. ..W !!,"You have deleted the policy holder of this policy."
  1. ..W !,"Therefore the eligibility record has been deleted."
  1. ..H 3
  1. ;I Y="V" D EN^AGPHADDR($G(POLHPTR)) G VAR
  1. ;I Y="V" K DLOUT,DUOUT,DFOUT,DQOUT,DTOUT,DIROUT D EN^AGPHADDR($G(POLHPTR)) G VAR ;AG*7.1*2 COULDN'T CHOOSE v) twice in a row if exiting View with "^^"
  1. I Y="V" K DLOUT,DUOUT,DFOUT,DQOUT,DTOUT,DIROUT D EN^AGPHADDR($G(POLHPTR)) ;AG*7.1*2 COULDN'T CHOOSE v) twice in a row if exiting View with "^^"
  1. ;I Y="E" D EDIT D:$G(EXIT) END Q:$G(EXIT) G VAR
  1. I Y="E" D EDIT D:$G(EXIT) END Q:$G(EXIT)
  1. ;IM????? FIX ERRONEOUS MISSING ADDRESS ERROR
  1. ;IM????? NOT REPORTED. ERRORS NOT UPDATING WHEN CHANGING
  1. S COMPIEN=ID0_",11,"_ID1_","_0
  1. N GLO
  1. S GLO="^AUPNPRVT("_COMPIEN_")"
  1. S SHOWINAC='$$ISACTIVE^AGINS($P(@GLO,U,6),$P(@GLO,U,7))
  1. K GLO
  1. S AGSELECT=$$UPDTSEL^AGUTILS(.AGINS,COMPIEN,AGINSPTR)
  1. K MYERRS,MYVARS
  1. D FETCHERR^AGEDERR(AG("PG"),.MYERRS)
  1. S MYVARS("DFN")=ID0,MYVARS("FINDCALL")="FINDPVT"
  1. S MYVARS("SELECTION")=$G(AGSELECT),MYVARS("SITE")=DUZ(2)
  1. D EDITCHEK^AGEDERR(.MYERRS,.MYVARS,1)
  1. ;END IM?????
  1. ;W !,"COMMAND "_Y_" UNKNOWN!" H 3
  1. G VAR
  1. EDIT ;EP
  1. K DIR
  1. K DLOUT,DUOUT,DFOUT,DQOUT,DTOUT,DIROUT ;AG*7.1*2
  1. S DIR("A")="CHANGE which item? (1-"_$G(AG("N"))_") NONE// "
  1. S DIR(0)="LO^1:"_$G(AG("N"))
  1. D ^DIR
  1. I Y=$G(AGOPT("ESCAPE")) S EXIT=1 Q
  1. S CHOICES=Y
  1. I '$D(AGSEENLY) I ($D(MYERRS("C","E"))&(+Y'?1N.N)),(Y'["V"),(Y'=$G(AGOPT("ESCAPE"))) W !,"ERRORS ON THIS PAGE. PLEASE FIX BEFORE EXITING!!" H 3 Q
  1. Q:Y=$G(AGOPT("ESCAPE"))
  1. Q:$D(DLOUT)!(Y["N")!$D(DUOUT)
  1. Q:$D(DFOUT)!$D(DTOUT)
  1. I $D(DQOUT)!(+Y<1)!(+Y>AG("N")) W !!,"You must enter a number from 1 to ",AG("N") H 2 Q
  1. S AGY=Y
  1. F AGI=1:1 S AG("SEL")=+$P(AGY,"|",AGI) Q:AG("SEL")<1!(AG("SEL")>AG("N")) D
  1. .I AG("SEL")>13 D EDITPOLM^AGEDPRVI(.POLMEMBS,CHOICES) Q
  1. .D @($P(AG("C"),"|",AG("SEL")))
  1. ;S COMPIEN=ID0_",11,"_ID1_","_0
  1. ;S AGSELECT=$$UPDTSEL^AGUTILS("FINDPVT",.AGINS,COMPIEN)
  1. ;S AGSELECT=$$UPDTSEL^AGUTILS(.AGINS,COMPIEN,$P(AGSELECT,U,2)) ;;AG*7.1*1 IM18549
  1. D UPDATE1^AGED(DUZ(2),ID0,3,"")
  1. K AGI,AGY
  1. Q
  1. CLEAN11(ID0,ID1) ;EP-
  1. K DIK,DA
  1. S DA(1)=ID0
  1. S DA=ID1
  1. S DIK="^AUPNPRVT("_DA(1)_",11," D ^DIK
  1. D CLEAN(ID0)
  1. Q
  1. CLEAN(ID0) ;EP -
  1. I '$O(^AUPNPRVT(ID0,11,0)) D CLEANZER(ID0)
  1. Q
  1. CLEANZER(ID0) ;EP - CLEAN ZERO NODE
  1. K DIK,DA
  1. S DIK="^AUPNPRVT(",DA=ID0 D ^DIK
  1. Q
  1. END ;EP -
  1. K AG,DLOUT,DTOUT,DFOUT,DQOUT,DA,DIC,DR,AGSCRN,Y
  1. K ADA,WDA,ADT,WDT,REC,NEWENTRY,POLPTR,ID0,ID1,CALLER
  1. Q
  1. DRAW(POLHPTR) ;EP -
  1. D HDR^AGEDPRVU(ID0)
  1. D GETAW(POLHPTR)
  1. Q
  1. GETAW(POLHPTR) ;EP -
  1. K AG("C")
  1. F AG=1:1 D Q:$G(AGSCRN)[("*END*")
  1. . S AGSCRN=$P($T(@1+AG),";;",2,15)
  1. . Q:AGSCRN[("*END*")
  1. . S CAPTION=$P(AGSCRN,U)
  1. . I $E(CAPTION)="-" W !,CAPTION Q
  1. . S DIC=$P(AGSCRN,U,3)
  1. . S DR=$P(AGSCRN,U,4)
  1. . S NEWLINE=$P(AGSCRN,U,5)
  1. . S CAPDENT=$P(AGSCRN,U,2)
  1. . S ITEMNUM=$P(AGSCRN,U,6)
  1. . S TAGCALL=$TR($P($P(AGSCRN,U,7),"|",1),"~",U)
  1. . S EXECUTE=$P(AGSCRN,"|",2)
  1. . S PREEXEC=$P(AGSCRN,"|",3)
  1. . S PRECAPEX=$P(AGSCRN,"|",4)
  1. . S POSTEXEC=$P(AGSCRN,"|",5)
  1. . S:TAGCALL'="" $P(AG("C"),"|",ITEMNUM)=TAGCALL
  1. . W @NEWLINE
  1. . W ITEMNUM
  1. . W $S(ITEMNUM'="":") ",1:"")
  1. . I PRECAPEX="" W @CAPDENT,$S($G(CAPTION)'="":CAPTION_": ",$G(CAPTION)="":"",1:$P($G(^DD(DIC,DR,0)),U)_": ")
  1. . I PRECAPEX'="" X PRECAPEX I $T W @CAPDENT,$S($G(CAPTION)'="":CAPTION_": ",$G(CAPTION)="":"",1:$P($G(^DD(DIC,DR,0)),U)_": ")
  1. .I 'NEWENTRY D
  1. .. S D0=ID0
  1. .. I DIC'["." S D0=D0_","
  1. .. E S D0=ID1_","_D0_","
  1. .. S FLAG=""
  1. .. ;I DIC=9999999.18 S D0=$G(AGINSPTR) I DR=.21 S FLAG="I"
  1. .. I DIC=9999999.18 S D0=$G(AGINSPTR) ;IHS/OIT/NKD AG*7.1*12
  1. .. N PIECE
  1. .. S VDR=DR
  1. .. F PIECE=1:1 S DR=$P(VDR,";",PIECE) Q:DR="" D
  1. ... I $P(PREEXEC,";",PIECE)'="" X $P(PREEXEC,";",PIECE)
  1. ... I $P(EXECUTE,";",PIECE)="" D
  1. .... ;IHS/OIT/NKD AG*7.1*11 MU2 - REMOVED GENDER DISPLAY'S INTERNAL FLAG
  1. .... ;I DIC=9000003.1&(DR=.08) S FLAG="I"
  1. .... I DIC=9000003.1 S D0=POLHPTR S COVPTR=$$GET1^DIQ(DIC,D0,.05,"I") S NOPVTB=COVPTR=""
  1. .... I DIC=9000003.1,(DR=.19) W $$FMTE^XLFDT($$GET1^DIQ(DIC,D0,DR,"I"),5) Q
  1. .... I DIC=9000006.11,(DR=.08) S POLHPTR=$$GET1^DIQ(DIC,D0,DR,"I") ;D POLMEM(POLHPTR,.POLMCNT,.POLMEMBS) Q ;DISPLAY POLICY MEMBERS
  1. .... I DIC=9000003.1,(DR=.06) S GRPPTR=$$GET1^DIQ(DIC,D0,DR,"I")
  1. .... I DIC=9999999.77,(DR=.02) S D0=$G(GRPPTR)
  1. .... I DIC=9999999.65,(DR=.01) S D0=$G(COVPTR)
  1. .... I DIC=9000006.11,(DR=.15) W $$GET1^DIQ(DIC,D0,DR,"I") W:$$GET1^DIQ(DIC,D0,DR,"I")="Y" ?62,"Date:",$$FMTE^XLFDT($$GET1^DIQ(DIC,D0,.16,"I"),5) Q
  1. .... I (CAPTION[("Policy Member")) D POLMEM(POLHPTR,.POLMCNT,.POLMEMBS) Q ;DISPLAY POLICY MEMBERS
  1. .... Q:DIC=9000003.1&(DR=.02)
  1. .... W $$GET1^DIQ(DIC,D0,DR,FLAG)
  1. .... S FLAG=""
  1. ... I $P(EXECUTE,";",PIECE)'="" S D0=$TR(D0,",") X $P(EXECUTE,";",PIECE)
  1. ... I $P(POSTEXEC,";",PIECE)'="" X $P(POSTEXEC,";",PIECE)
  1. ..K PIECE,VDR
  1. S AG("N")=$L(AG("C"),"|")+$G(POLMCNT)
  1. W !,$G(AGLINE("-"))
  1. ;S COMPIEN=ID0_",11,"_ID1_","_0
  1. ;S AGSELECT=$$UPDTSEL^AGUTILS(.AGINS,COMPIEN,AGINSPTR)
  1. K MYERRS,MYVARS
  1. D FETCHERR^AGEDERR(AG("PG"),.MYERRS)
  1. S MYVARS("DFN")=ID0,MYVARS("FINDCALL")="FINDPVT"
  1. S MYVARS("SELECTION")=$G(AGSELECT),MYVARS("SITE")=DUZ(2)
  1. I '$G(NEWENTRY) D EDITCHEK^AGEDERR(.MYERRS,.MYVARS,1)
  1. D VERIF^AGUTILS
  1. Q
  1. WMSG ;EP -
  1. W !,"Entering new PRIVATE INSURANCE ELIGIBILITY record"
  1. Q
  1. NEWENTRY(ID0) ;EP -
  1. K DIC,DIE,DR,DA,DO,DIR
  1. S X="`"_ID0
  1. S DIC(0)="L"
  1. S DIC="^AUPNPRVT("
  1. D ^DIC
  1. Q:+Y<0
  1. S ID0=+Y
  1. Q
  1. ADDINS(ID0,AGINSPTR) ;EP -
  1. K DIC,DIE,DR,DA,DO,DIR,X,DINUM
  1. N DOUBLE
  1. S DOUBLE=0
  1. ;AG*7.1*2 IM20237
  1. I $D(^AUPNPRVT("I",AGINSPTR,ID0)) S DOUBLE=1 W *7,!!,"WARNING: If you proceed you will be ADDING an Insurer that the Patient already",!," has an Eligibility Record for!"
  1. K DTOUT,DUOUT,DIRUT
  1. I W ! K DIR S DIR(0)="Y",DIR("A")=" Do you wish to proceed" D ^DIR K DIR W:Y=1 " (OK, then proceed with caution)"
  1. I Y=0!$D(DTOUT)!$D(DIRUT)!(Y="^") S Y=-1 Q
  1. ;AG*7.1*2 IM21372
  1. ;S X="`"_AGINSPTR AG*7.1*2 IM20237
  1. ;S DIC(0)="L"
  1. ;D ^DIC
  1. ;Q:+Y<0
  1. ;AG*7.1*2 END
  1. S X=AGINSPTR,DIC(0)="L"
  1. S DIC("S")="I +$G(Y)'=AGINSPTR,($P($G(^(1)),U,7)'=0)"
  1. S DA(1)=ID0
  1. S DIC="^AUPNPRVT("_DA(1)_",11,"
  1. D FILE^DICN ;IM21372
  1. S ID1=+Y
  1. Q
  1. ADDPOLH(PATPTR,AGINSPTR,EXIT,POLHPTR) ;EP - ADD POL HOLD
  1. ADDPOLH2 N SAME,TARGET,REGISTER
  1. S (SAME,REGISTER,EXIT)=0
  1. W !!,"Enter the NAME of the POLICY HOLDER or the POLICY NUMBER if it already exists."
  1. W !?10,"(Enter 'SAME' if the PATIENT is the Policy Holder.)"
  1. K DIR W !
  1. S DIR(0)="FO^1:30",DIR("A")="Select POLICY HOLDER"
  1. ;AGEL("D")="^AUPN3PPH(",AGEL("D0")="QZEM",AGEL("DS")="I $P(^(0),U,3)=AGELP(""INS"")" I $D(AGELP("TYPE")),AGELP("TYPE")="MCD",$D(AG("NUM")) S AGEL("DS")=AGEL("DS")_",$P(^(0),U,4)=AG(""NUM"")"
  1. S DIR("?",1)="Enter Name of the person in whose name the account is carried or"
  1. S DIR("?",2)="the Policy Number if the Policy already exists."
  1. S DIR("?",3)="Enter SAME or SELF if the policy holder is the same as the patient."
  1. S DIR("?",4)=""
  1. S DIR("?")="(NOTE: Existing Policy Holders are displayed by entering ""??"")"
  1. S DIR("??")="^S X=""??"",DIC=""^AUPN3PPH("",DIC(0)=""QZEM"",DIC(""S"")=""I ($P($G(^(0)),U,3)=$G(AGINSPTR)),($P($G(^(0)),U,4)=$G(POLNUM))"" D ^DIC"
  1. D ^DIR
  1. ;IM?AG*7.1*2
  1. I Y=" " G ADDPOLH2
  1. I Y="/.,"!(Y="")!$D(DTOUT)!$D(DUOUT)!$D(DIROUT) S EXIT=1 Q
  1. ;S TARGET=X
  1. S (TARGET,FTARGET)=X ;AG*7.1*3 IM23566
  1. I $$UPPER^AGUTILS(TARGET)="SAME"!($$UPPER^AGUTILS(TARGET)="SELF") S SAME=1 S REGISTER=1,TARGET=$P($G(^DPT(ID0,0)),U) W !!!! D PULLPATI(PATPTR,TARGET,PATPTR,SAME,.EXIT,ID1) Q ;AG*7.1*2 RTN TOO BIG
  1. W !
  1. K RET,POLHPTR
  1. D PHLOOKUP(TARGET,.NEWPH,AGINSPTR) S REGISTER=0 I NEWPH>0 S POLHPTR=NEWPH D CONFIRM^AGEDPRV1 Q
  1. W !!,"No Hit Found in POLICY HOLDER file",!!,"Searching PATIENT file ...."
  1. K RET
  1. ;D PTLOOKUP(TARGET,.NEWPH) I $G(NEWPH)>0 S SAME=NEWPH=ID0 S REGISTER=1,TARGET=$P($G(^DPT(NEWPH,0)),U) D CONFIRM Q:$G(EXIT) W !!!! D PULLPATI(NEWPH,TARGET,ID0,SAME,.EXIT,ID1) Q
  1. D PTLOOKUP(TARGET,.NEWPH) I $G(NEWPH)>0 S SAME=NEWPH=ID0 S REGISTER=1,TARGET=$P($G(^DPT(NEWPH,0)),U) D CONFIRM^AGEDPRV1 W !!!! S TMPEXIT=EXIT D:'$G(EXIT) PULLPATI(NEWPH,TARGET,ID0,SAME,.EXIT,ID1) Q:'$G(TMPEXIT) ;AG*7.1*3 IM23566
  1. W !!,"No Hit Found in PATIENT File for ",$G(TARGET),"!" W !
  1. S TARGET=FTARGET,REGISTER=0 ;AG*7.1*3 IM23566
  1. W !!,TARGET," is a non registered patient"
  1. D CONFIRM^AGEDPRV1
  1. S EXIT=0 ;AG*7.1*3 IM23566
  1. Q
  1. PHLOOKUP(X,NEWPH,AGINSPTR) ;EP -
  1. K DIC,DIE,DR,DA,DIR
  1. S DIC(0)="EM"
  1. S DIC="^AUPN3PPH("
  1. S DIC("S")="I $P(^(0),U,3)=$G(AGINSPTR)"
  1. S TEMPDFN=$G(DFN)
  1. D ^DIC
  1. S DFN=TEMPDFN
  1. S X=Y
  1. S NEWPH=+Y
  1. Q
  1. PTLOOKUP(X,NEWPH) ;EP -
  1. K DIC,DIE,DR,DA,DIR
  1. S DIC(0)="EMFO"
  1. S DIC="^DPT("
  1. S TEMPDFN=$G(DFN)
  1. D ^DIC
  1. S DFN=TEMPDFN
  1. S X=Y
  1. S NEWPH=+Y
  1. Q
  1. PULLPATI(NEWPH,X,PATPTR,SAME,EXIT,INSPTR) ;EP -
  1. N FILE,FIELD,FN
  1. S FN="FIELD"
  1. S FILE=2
  1. F FIELD=".01",".02",".03",".111",".114",".115",".116",".131" D
  1. .S FN=FN_"("_FILE_","_FIELD_")"
  1. .S @FN=$$GET1^DIQ(FILE,NEWPH,FIELD)
  1. .S FN="FIELD"
  1. S FILE=9000001
  1. F FIELD=".21",".19" D
  1. .S FN=FN_"("_FILE_","_FIELD_")"
  1. .S @FN=$$GET1^DIQ(FILE,NEWPH,FIELD,"I")
  1. .S FN="FIELD"
  1. ;D PUTPOLH(NEWPH,PATPTR,.POLHPTR,"NEW",.FIELD,SAME,.EXIT,INSPTR)
  1. D PUTPOLH^AGEDPRV1(NEWPH,PATPTR,.POLHPTR,"NEW",.FIELD,SAME,.EXIT,INSPTR) ;AG*7.1*3
  1. Q
  1. POLMEM(POLHPTR,POLMCNT,POLMEMBS) ;EP - DISPLAY POLICY MEMBERS
  1. N POLMEM,CNT,RECNO,POLMEM,POL0,POL11,RELATION,FROM,THRU
  1. K POLMEMBS
  1. I '$G(POLHPTR) W !,"THERE ARE NO POLICY MEMBERS FOR THIS ELIGIBLITY RECORD!" Q
  1. S POLMEM=""
  1. F CNT=1:1 S POLMEM=$O(^AUPNPRVT("C",POLHPTR,POLMEM)) Q:'POLMEM D
  1. .S RECNO=0
  1. .F S RECNO=$O(^AUPNPRVT("C",POLHPTR,POLMEM,RECNO)) Q:'RECNO D
  1. ..S POL0=$G(^AUPNPRVT(POLMEM,0))
  1. ..S POL11=$G(^AUPNPRVT(POLMEM,11,RECNO,0))
  1. ..;AG*7.1*2 IM21986
  1. ..I POL11="" K ^AUPNPRVT("C",POLHPTR,POLMEM,RECNO) Q
  1. ..S PTPTR=$P(POL0,U)
  1. ..S RELATION=$P(POL11,U,5)
  1. ..S FROM=$P(POL11,U,6)
  1. ..S THRU=$P(POL11,U,7)
  1. ..I RELATION'="" S RELATION=$P($G(^AUTTRLSH(RELATION,0)),U) I RELATION="SELF" S POLMEMBS("SELF")=POLMEM
  1. ..W !,CNT+13,")"
  1. ..S POLMEMBS(CNT+13,POLMEM,RECNO)=""
  1. ..W:PTPTR'="" " "_$E($P($G(^DPT(PTPTR,0)),U),1,17)
  1. ..W ?22,$P(POL11,U,12)
  1. ..N AGPH ;AG*7.1*8
  1. ..S AGPH=$P($G(^AUPNPRVT(POLMEM,11,RECNO,2)),U)
  1. ..I AGPH]"" W ?26,$E(AGPH,1,16)
  1. ..I AGPH="" D
  1. ...S AGPH=$P($G(^AUPNPRVT(POLMEM,11,RECNO,0)),U,8)
  1. ...W ?26,$E($P($G(^AUPN3PPH(AGPH,0)),U,4),1,16)
  1. ..W ?42,$P($G(^AUPNPAT(POLMEM,41,DUZ(2),0)),U,2)
  1. ..W ?50,$E(RELATION,1,9)
  1. ..S:FROM'="" FROM=$$FMTE^XLFDT(FROM,5)
  1. ..;W ?60,FROM
  1. ..W ?59,FROM ;AG*7.1*2
  1. ..I THRU'="" S THRU=$$FMTE^XLFDT(THRU,5) W "-",THRU
  1. S POLMCNT=CNT-1
  1. Q
  1. 1 ;
  1. ;;Policy Holder.^?3^9000003.1^.01^!^1^EDITEM1~AGEDPRVP(ID0,POLHPTR)||||
  1. ;;^?3^9000003.1^.02^?0^^||||D NOTREG^AGEDPRV1(POLHPTR) W ?50,$C(124)
  1. ;;Gender^?3^9000003.1^.08^?50^5^EDITGEN~AGEDPRVP(POLHPTR,CALLER)
  1. ;;Policy or SSN.^?3^9000003.1^.04^!^2^EDITPOLN~AGEDPRVP(POLHPTR)||||W ?50,$C(124)
  1. ;;Date of Birth^?3^9000003.1^.19^?50^6^EDITDOB~AGEDPRVP(POLHPTR,CALLER)^
  1. ;;Effective Date^?3^9000003.1^.17^!^3^EFFDT~AGEDPRVP(POLHPTR)||||W ?40,$C(124)
  1. ;;PCP^?3^9000006.11^.14^?40^7^EDITPCP~AGEDPRVI(ID0,ID1,CALLER)|
  1. ;;Expire Date...^?3^9000003.1^.18^!^4^EDITEXP~AGEDPRVP(POLHPTR)||||W ?40,$C(124)
  1. ;;CD Name.....^?3^9000003.1^2^?40^8^EDCARDNM~AGEDPRVP(POLHPTR)
  1. ;;-HOLDER'S EMPLOYER INFO---------------------------------------------------------
  1. ;;Status........^?3^9000003.1^.15^!^9^EDITEMPL~AGEDPRVP(POLHPTR,"","",CALLER)||||W ?40,$C(124)
  1. ;;Employer^?3^9000003.1^.16^?41^10^EDITEMP~AGEDPRVP(POLHPTR,CALLER)^||
  1. ;;-INSURER INFORMATION------------------------------------------------------------
  1. ;;^?0^9000006.11^.01^!^^||||W ?40,$C(124)
  1. ;;Grp Name^?3^9000003.1^.06^?41^11^EDITGRP~AGEDPRVP(POLHPTR,CALLER)^||||
  1. ;;^?3^9999999.18^.02^!^^^||||W ?40,$C(124)
  1. ;;Grp Number^?3^9999999.77^.02^?45^^^|||
  1. ;;^?3^9999999.18^.03;.04;.05;^!^^^||||W ", ";W " ";W ?40,$C(124)
  1. ;;Coverage^?3^9999999.65^.01^?41^12^EDITCOV~AGEDPRVP(POLHPTR,CALLER)^||||W !|
  1. ;;^?3^9999999.18^.06^?0^^^||||
  1. ;;Ins. Type^?3^9999999.18^.211^?23^^^||||W ?40,$C(124)
  1. ;;CCopy^?3^9000006.11^.15^?41^13^EDITCC~AGEDPRVI(ID0,ID1,CALLER)^|||
  1. ;;----Policy Members----PC-----Member #------HRN-----Rel----------From/Thru-------
  1. ;;Policy Member^?3^9000006.11^.^?0^^^|||I CAPTION'[("Policy Member")|
  1. ;;*END*