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

AGEVLM.m

Go to the documentation of this file.
  1. AGEVLM ; cmi/flag/maw - AGEV Insurance Eligibility Verification ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. MAIN ;-- main routine driver
  1. W:$D(IOF) @IOF
  1. F J=1:1:5 S X=$P($T(TEXT+J),";;",2) W !?80-$L(X)\2,X
  1. KILL X,J
  1. W !!
  1. S AGEVPLPT=""
  1. F D GETPAT Q:AGEVPLPT="" S DFN=AGEVPLPT D EN1,FULL^VALM1,EXIT K AGEVPLPT
  1. D EOJ
  1. Q
  1. ;
  1. GETPAT ;-- get patient
  1. KILL AGEVPLPT,AGEVLOC,AGEVPAT,AGEVDATE,AGEVPIEN,AGEVAF,AGEVPRB,AGEVOVRR
  1. KILL AGEVLOOK,AGEVPDFN
  1. D KILL^AUPNPAT
  1. S AGEVPLPT=""
  1. W !
  1. S DIC="^AGEVH(",DIC(0)="AEMQ"
  1. D ^DIC
  1. KILL DIC
  1. Q:Y<0
  1. S AGEVF=+Y,AGEVPLPT=$P(Y,U,2)
  1. Q
  1. ;
  1. EOJ ;-- end of job cleanup
  1. D:$D(VALMWD) CLEAR^VALM1 ;clears out all list man stuff
  1. K XQORNEST,VALMKEY,VALM,VALMAR,VALMBCK,VALMBG,VALMCAP,VALMCNT,VALMOFF
  1. K VALMMCON,VALMDN,VALMEVL,VALMIOXY,VALMKEY,VALMLFT,VALMLST,VALMMENU
  1. K VALMSGR,VALMUP,VALMWD,VALMY,XQORS,XQORSPEW
  1. K AGEVPLPT,AGEVLOC,AGEVPAT,AGEVDATE,AGEVPIEN,AGEVAF,AGEVPRB,AGEVOVRR
  1. K AGEVLOOK,AGEVPDFN
  1. D KILL^AUPNPAT,EN^XBVK("BHLX"),EN^XBVK("AGEV")
  1. Q
  1. ;
  1. EN1 ;PEP - requires DFN to be set to patient
  1. Q:'$G(DFN)
  1. S AGEVPLPT=DFN
  1. Q:'$G(AGEVPLPT)
  1. Q:'$D(^AUPNPAT(AGEVPLPT))
  1. Q:'$D(^DPT(AGEVPLPT))
  1. S Y=AGEVPLPT
  1. D ^AUPNPAT,EN
  1. KILL AGEVPLPT
  1. D FULL^VALM1,EXIT
  1. Q
  1. ;
  1. EN ;PEP - main entry point for AGEV ELIGIBILITY VERIFICATION
  1. S VALMCC=1 ;1 means screen mode, 0 means scrolling mode
  1. D EN^VALM("AGEV ELIGIBILITY VERIFICATION"),CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ;EP - header code
  1. S VALMHDR(1)=$TR($J(" ",80)," ","-")
  1. S VALMHDR(2)="Name: "_IORVON_$E($P(^DPT(AGEVPLPT,0),U),1,30)_IOINORM
  1. S VALMHDR(2)=VALMHDR(2)_" DOB: "_$$FTIME^VALM1(AUPNDOB)_" Sex: "
  1. S VALMHDR(2)=VALMHDR(2)_$P(^DPT(AGEVPLPT,0),U,2)_" HRN: "
  1. S VALMHDR(2)=VALMHDR(2)_$S($D(^AUPNPAT(AGEVPLPT,41,DUZ(2),0)):$P(^AUPNPAT(AGEVPLPT,41,DUZ(2),0),U,2),1:"????")
  1. S VALMHDR(3)=$TR($J(" ",80)," ","-")
  1. Q
  1. ;
  1. INIT ;-- init variables and list array
  1. D GATHER
  1. S VALMCNT=AGEVLINE ;this variable must be the total number of line
  1. Q
  1. ;
  1. GATHER ;EP - this gets the particular patient
  1. ;set up array containing insurances for the patient
  1. ;**** see page 7 of List Manager Manual for info on how to
  1. ;**** set up the array that contains the list
  1. KILL AGEVQUIT,AGEVPL
  1. S (AGEVCNT,AGEVRCNT,AGEVLINE)=0
  1. I '$O(^AGEVH("B",AGEVPLPT,0)) D Q
  1. . S ^TMP("AGEV",$J,1,0)="No insurance entries currently on file"
  1. . S ^TMP("AGEV",$J,"IDX",1,1)=""
  1. . S AGEVRCNT=1
  1. .Q
  1. S AGEVAF="A"
  1. D GATHER1
  1. Q
  1. ;
  1. GATHER1 ;-- this gets the patient and policy holder information
  1. Q:'$G(^AGEVH(AGEVF,0))
  1. S AGEVH0=$G(^AGEVH(AGEVF,0)),AGEVH1=$G(^AGEVH(AGEVF,1))
  1. Q:AGEVH1=""
  1. S AGEVINS=$P(AGEVH0,U,2)
  1. Q:AGEVINS=""
  1. S AGEVPOLH=$P(AGEVH1,U)
  1. S AGEVPOLN=$P(AGEVH1,U,3)
  1. S AGEVPOLG=$P(AGEVH1,U,4)
  1. S AGEVPHSX=$P(AGEVH1,U,5)
  1. S AGEVPST=$P(AGEVH1,U,8)
  1. S AGEVPDOB=$$FMTE^XLFDT($P(AGEVH1,U,10))
  1. D SUB,DEP
  1. I $$GET1^DIQ(9999999.18,AGEVINS,.01)["MEDICAID" D MCD^AGEVLM0 Q
  1. I $$GET1^DIQ(9999999.18,AGEVINS,.01)["MEDICARE" D MCR^AGEVLM0 Q
  1. I $$GET1^DIQ(9999999.18,AGEVINS,.01)["RAILROAD" D RR^AGEVLM0 Q
  1. D PI^AGEVLM0
  1. Q
  1. ;
  1. SUB ;-- this gets the subscriber information
  1. S AGEVHDA=0
  1. F S AGEVHDA=$O(^AGEVH(AGEVF,2,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("SUB REQ VAL",AGEVHDA)=$G(^AGEVH(AGEVF,2,AGEVHDA,0))
  1. .Q
  1. S AGEVHDA=0
  1. F S AGEVHDA=$O(^AGEVH(AGEVF,2.5,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("SUB DTP",AGEVHDA)=$P($G(^AGEVH(AGEVF,2.5,AGEVHDA,0)),U)
  1. . S $P(AGEV("SUB DTP",AGEVHDA),U,2)=$P($G(^AGEVH(AGEVF,2.5,AGEVHDA,0)),U,2)
  1. .Q
  1. S AGEVHDA=0
  1. F S AGEVHDA=$O(^AGEVH(AGEVF,3,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("SUB ELG INFO",AGEVHDA)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,0)),U)
  1. . S $P(AGEV("SUB ELG INFO",AGEVHDA),U,2)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,0)),U,2)
  1. . S $P(AGEV("SUB ELG INFO",AGEVHDA),U,3)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,0)),U,3)
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,3,AGEVHDA,"REF",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("SUB REF ID",AGEVHDA,AGEVADA)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,"REF",AGEVADA,0)),U)
  1. .. S $P(AGEV("SUB REF ID",AGEVHDA,AGEVADA),U,2)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,"REF",AGEVADA,0)),U,2)
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,3,AGEVHDA,"AAA",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("SUB ELG REQ VAL",AGEVHDA,AGEVADA)=$G(^AGEVH(AGEVF,3,AGEVHDA,"AAA",AGEVADA,0))
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,3,AGEVHDA,"DTP",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("SUB ELG DTP",AGEVHDA,AGEVADA)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,"DTP",AGEVADA,0)),U)
  1. .. S $P(AGEV("SUB ELG DTP",AGEVHDA,AGEVADA),U,2)=$P($G(^AGEVH(AGEVF,3,AGEVHDA,"DTP",AGEVADA,0)),U,2)
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,3,AGEVHDA,"MSG",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("SUB ELG MSG",AGEVHDA,AGEVADA)=$G(^AGEVH(AGEVF,3,AGEVHDA,"MSG",AGEVADA,0))
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. DEP ;-- this gets the dependent information
  1. S AGEVHDA=0
  1. F S AGEVHDA=$O(^AGEVH(AGEVF,4,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("DEP REQ VAL",AGEVHDA)=$G(^AGEVH(AGEVF,4,AGEVHDA,0))
  1. .Q
  1. S AGEVHDA=0
  1. F S AGEVHDA=$O(^AGEVH(AGEVF,4.5,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("DEP DTP",AGEVHDA)=$P($G(^AGEVH(AGEVF,4.5,AGEVHDA,0)),U)
  1. . S $P(AGEV("DEP DTP",AGEVHDA),U,2)=$P($G(^AGEVH(AGEVF,4.5,AGEVHDA,0)),U,2)
  1. S AGEVHDA=0 F S AGEVHDA=$O(^AGEVH(AGEVF,5,AGEVHDA)) Q:'AGEVHDA D
  1. . S AGEV("DEP ELG INFO",AGEVHDA)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,0)),U)
  1. . S $P(AGEV("DEP ELG INFO",AGEVHDA),U,2)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,0)),U,2)
  1. . S $P(AGEV("DEP ELG INFO",AGEVHDA),U,3)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,0)),U,3)
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,5,AGEVHDA,"REF",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("DEP REF ID",AGEVHDA,AGEVADA)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,"REF",AGEVADA,0)),U)
  1. .. S $P(AGEV("DEP REF ID",AGEVHDA,AGEVADA),U,2)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,"REF",AGEVADA,0)),U,2)
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,5,AGEVHDA,"AAA",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("DEP ELG REQ VAL",AGEVHDA,AGEVADA)=$G(^AGEVH(AGEVF,5,AGEVHDA,"AAA",AGEVADA,0))
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,5,AGEVHDA,"DTP",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("DEP ELG DTP",AGEVHDA,AGEVADA)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,"DTP",AGEVADA,0)),U)
  1. .. S $P(AGEV("DEP ELG DTP",AGEVHDA,AGEVADA),U,2)=$P($G(^AGEVH(AGEVF,5,AGEVHDA,"DTP",AGEVADA,0)),U,2)
  1. ..Q
  1. . S AGEVADA=0
  1. . F S AGEVADA=$O(^AGEVH(AGEVF,5,AGEVHDA,"MSG",AGEVADA)) Q:'AGEVADA D
  1. .. S AGEV("DEP ELG MSG",AGEVHDA,AGEVADA)=$G(^AGEVH(AGEVF,5,AGEVHDA,"MSG",AGEVADA,0))
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. TEXT ;
  1. ;;AGEV Eligibility Verification
  1. ;;
  1. ;;******************************
  1. ;;* Verify Patient Eligibility *
  1. ;;******************************
  1. ;;
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?"
  1. D DISP^XQORM1
  1. W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. D EN^XBVK("AGEV")
  1. K ^TMP("AGEV",$J)
  1. K AGEVRCNT,AGEVLINE,AGEVX,AGEVP0,AGEVC,AGEVL,AGEVLR,AGEVPIEN,AGEVAF
  1. K AGEVPRB,AGEVOVRR,AGEVLOOK,AGEVPDFN,AGEVLOC,AGEVDATE
  1. K X,Y
  1. K VALMHDR
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q