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

AG6.m

Go to the documentation of this file.
  1. AG6 ; IHS/ASDS/EFG - ENTER RAILROAD RETIREMENT DATA ;
  1. ;;7.1;PATIENT REGISTRATION;**1,2,11,13**;AUG 25, 2005;Build 1
  1. ;IHS/OIT/NKD AG*7.1*11 MU2 UNKNOWN SEX
  1. ;IHS/OIT/NKD AG*7.1*13 MBI IMPLEMENTATION
  1. ;
  1. L1 S AG("LT")=$S($D(^AUPNRRE(DFN,0)):"YES",1:"NO")
  1. W !!,"Does this patient have RAILROAD RETIREMENT COVERAGE? (Y/N) "
  1. W AG("LT"),"// "
  1. D READ^AG
  1. S AG("LT")=$S($E(Y)="Y":"YES",1:"NO")
  1. ;TESTING USE OF EDIT SCREEN FOR ADDING INSURANCE TO NEW PATIENT 5/13/2005
  1. I $G(^AGFAC(DUZ(2),"NEWADDINS")) I AG("LT")="YES" S AGPAT=$P($G(^DPT(DFN,0)),U) S AGXTERN=1 D EN^AGED6("") K AGXTERN G:$G(NEWENTRY)=0 ^AG7 G L1
  1. I $G(^AGFAC(DUZ(2),"NEWADDINS")),$D(DUOUT) G DUOUT^AG5
  1. I $G(^AGFAC(DUZ(2),"NEWADDINS")),($G(AG("LT"))="NO") G ^AG7
  1. ;TESTING
  1. Q:$D(DTOUT)!$D(DFOUT)
  1. G DUOUT^AG5:$D(DUOUT),L2:Y["Y",END1:Y["N"!($D(DLOUT)&(AG("LT")="NO")),L2:$D(DLOUT)&(AG("LT")="YES")
  1. D YN^AG G L1
  1. ADDNEW ;EP - Add New Railroad Client.
  1. L2 W !
  1. ;BEGIN AG*7.1*2 IM20637
  1. I $$ISMINOR^AGUTILS(DFN) D G:'Y END1
  1. .K DIR
  1. .S DIR(0)="Y"
  1. .S DIR("A")="A MINOR CANNOT BE THE POLICY HOLDER FOR RAILROAD RETIREMENT ..DO YOU WISH TO ADD ENTRY?//" ;IHS/SD/TPF 4/28/2006 AG*7.1*2 IM20637
  1. .S DIR("B")="N"
  1. .D ^DIR
  1. ;END AG*7.1*2 IM20637
  1. S NEWENTRY=1 ;IHS/SD/TPF 12/6/2005 AG*7.1*1
  1. I $G(AGTYPE)="MD" G ADDCOV ;IHS/SD/TPF 12/6/2005 AG*7.1*1 ITEM 2
  1. S DIE="^AUPNPAT(",DR=.04,DA=DFN
  1. D ^DIE
  1. Q:$D(Y)&$D(AG("EDIT"))
  1. G L1:$D(Y),L6A:$D(^AUPNRRE(DFN,0))
  1. S AG("INS")=$O(^AUTNINS("B","RAILROAD RETIREMENT",""))
  1. K DIC,DIE,DR,DIR,D0,DD
  1. S DIC="^AUPNRRE("
  1. S DIC(0)="L"
  1. S X="`"_DFN
  1. D ^DIC
  1. Q:+Y<0
  1. S DA=+Y
  1. S DIE="^AUPNRRE("
  1. S DA=DFN,DR=".02///"_AG("INS")
  1. D ^DIE
  1. L6A ;
  1. ;W !!
  1. ;W "Enter the RAILROAD RET. INSURANCE NUMBER"
  1. ;W "(""prefix"" will be asked first)."
  1. ;REQUIRE RR NUMBER
  1. L7 ;
  1. ;S DR=".03R",DIE="^AUPNRRE("
  1. ;D ^DIE
  1. ;I $D(Y) Q:$D(AG("EDIT")) G L1
  1. ;REQUIRE RR SUFFIX
  1. L8 ;
  1. ;S DIE="^AUPNRRE("
  1. ;S DA=DFN,DR=".04R"
  1. ;D ^DIE
  1. ;I $D(Y) G L7
  1. D EDITRRE^AGUTL(DFN,1) ;IHS/OIT/NKD AG*7.1*13
  1. S DIE="^AUPNRRE(",DA=DFN
  1. S ADDCHK=""
  1. ;REQUIRE RR NAME
  1. RRNM S DR="2101R"
  1. I $G(NEWENTRY)!($P($G(^AUPNRRE(DA,21)),U)="") S DR=DR_"//"_$P($G(^DPT(DFN,0)),U)
  1. D ^DIE
  1. I '$D(^AUPNRRE(DFN,21)) G RRDB
  1. I $P(^AUPNRRE(DFN,21),U)]"" D
  1. .S DIE="^DPT(",DA=DFN
  1. .S DR="1///"_$P(^AUPNRRE(DFN,21),U),DR(2,2.01)=.01
  1. .D ^DIE
  1. QMB S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.08
  1. D ^DIE
  1. SIG S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.11
  1. D ^DIE
  1. SIGD S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.12
  1. D ^DIE
  1. PCP S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.14
  1. D ^DIE
  1. CC S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.15
  1. D ^DIE
  1. CCD S DIE="^AUPNRRE("
  1. S DA=DFN,DR=.16
  1. D ^DIE
  1. ;REQUIRE RR DOB
  1. RRDB S DR="2102R"
  1. I $G(NEWENTRY)!($P($G(^AUPNRRE(DA,21)),U,2)="") N AGDOB,Y S Y=$P($G(^DPT(DFN,0)),U,3) X ^DD("DD") S AGDOB=Y S DR=DR_"//"_AGDOB K Y
  1. D ^DIE
  1. ADDCOV ;EP - Add New Coverage.
  1. L9 W !!,"Enter the ELIGIBILITY DATE: "
  1. D:'$D(AG("EDIT")) DFLT1
  1. D READ^AG
  1. I $D(DUOUT) W !,"ELIGIBLITY DATE REQUIRED!" H 2 G ADDCOV
  1. I $D(DTOUT)!$D(DFOUT)!($D(DLOUT)) W !,"ELIGIBLITY DATE REQUIRED!" H 2 G ADDCOV
  1. Q:$D(DUOUT)&$D(AG("EDIT"))
  1. G END1:$D(DTOUT)!$D(DFOUT)!($D(DLOUT)&'$D(AG("LT1")))
  1. G L8:$D(DUOUT),L9A:$D(DLOUT)
  1. S:$D(DQOUT) Y="?"
  1. S X=Y,%DT="EX"
  1. D ^%DT
  1. G L9:Y<2600000!(Y>(DT+20000))
  1. I Y>DT D
  1. .W *7,!!,"SURE ABOUT THE FUTURE START DATE"
  1. .S %=2
  1. .D YN^DICN G:%=2 L9
  1. S AG("DT")=Y
  1. K AG("COV"),COVTYP ;IHS/OIT/NKD AG*7.1*13
  1. ;L9A I $G(AGTYPE)="MD" S AG("COV")="D" K AG("MORE") G L10 ;IHS/SD/TPF 12/2/2005 AG*7.1*1
  1. L9A ;I $G(AGTYPE)="MD" S AG("COV")="D" K AG("MORE") G L10 ;IHS/SD/TPF 12/2/2005 AG*7.1*1 ;IHS/OIT/NKD AG*7.1*13
  1. ;W !!,"Type of COVERAGE (A, B): "
  1. W !!,"Type of COVERAGE (A, B, D): "
  1. D:'$D(AG("EDIT")) DFLT2
  1. D READ^AG
  1. I Y="D",$$NOPARTAB^AGED6(DFN) W !,"PATIENT MUST HAVE RAILROAD PART A OR B BEFORE BEING ELIGIBLE FOR PART D!" G L8 ;AG*7.1*1 ITEM 2
  1. ;I Y="D",AGELP("INS")=1 W !!,"DO NOT ADD PART D COVERAGE TO RAILROAD RETIREMENT",!,"REFER TO PATCH 1 ADDENDUM IN HOW TO SET UP PART D INSURERS",! G L8 ;IHS/SD/TPF 4/25/2006 AG*7.1*2 IM20523
  1. ;I Y="D",($P($G(^AUTNINS(AGELP("INS"),2)),U)'="MD") W !!,"CAN NOT ADD PART D COVERAGE TO A NON MEDICARE PART D INSURER",!,"REFER TO PATCH 1 ADDENDUM IN HOW TO SET UP PART D INSURERS",! G L8
  1. ;I Y="" W !,"Enter either ""A"" or ""B""." G L9A
  1. I Y="" W !,"Enter either ""A"" or ""B"" or ""D""." G L9A
  1. G END1:$D(DTOUT)!$D(DFOUT)!($D(DLOUT)&'$D(AG("LT2"))),L9:$D(DUOUT),L10:$D(DLOUT)
  1. ;I $D(DQOUT)!((Y'="A")&(Y'="B")) W !,"Enter either ""A"" or ""B""."
  1. I $D(DQOUT)!((Y'="A")&(Y'="B")&(Y'="D")) W !,"Enter either ""A"" or ""B"" or ""D""." G L9A
  1. S AG("COV")=Y
  1. K AG("MORE")
  1. L10 S DIE="^AUPNRRE("
  1. ;LINE BELOW ALLOWS ENTRY OF SAME DATE EVEN THOUGH THIS FIELD IS DINUMED
  1. ;THIS IS SO RAILROAD PART A AND B CAN BE ENTERED UNDER THE SAME DATE
  1. S DR="1101///"_$C(34)_AG("DT")_$C(34)
  1. S DR(2,9000005.11)=".03///"_AG("COV"),DA=DFN
  1. ;IHS/OIT/NKD AG*7.1*11 MU2 - STUFF PT SEX INTO ELIGIBLE SEX FIELD - START NEW CODE
  1. N AGSEX
  1. S AGSEX=$$GET1^DIQ(2,DFN,.02,"I")
  1. S DR(2,9000005.11)=DR(2,9000005.11)_";.08////^S X=AGSEX"
  1. ;IHS/OIT/NKD AG*7.1*11 MU2 - END NEW CODE
  1. D ^DIE
  1. S WD0=DFN,WD1=$O(^AUPNRRE(WD0,11,"B",AG("DT"),""))
  1. S COMPIEN=WD0_",11,"_WD1
  1. ;BEGIN NEW CODE IHS/SD/TPF 12/2/2005 AG*7.1*1 ITEM 1
  1. I $G(AG("COV"))="D" D ASKPARTD(DFN,D1) S NEWENTRY=0 D EN^AGED6PD(COMPIEN) K AG("MORE") Q:$D(AG("EDIT")) ;AG*7.1*2 ;AG*7.1*2 REPORTED DURING ALPHA 11/9/2006 AG("EDIT") SHOULD BE DEFINED ONLY WHEN EDITING A PAT.
  1. I $G(GOL8) G L9A ;IHS/SD/TPF 12/2/2005 AG*7.1*1 ITEM 1
  1. K DIE,DIC,DR,DA
  1. ;END NEW CODE
  1. END Q:$D(AG("EDIT"))
  1. D MORE
  1. G ADDCOV:$D(AG("MORE"))
  1. K AG
  1. G ^AG7
  1. END1 G END:'$D(^AUPNRRE(DFN,0))!$D(AG("EDIT"))
  1. S DA=DFN,DIE="^AUPNRRE("
  1. S DR=".01///@"
  1. D ^DIE
  1. G END
  1. DUOUT ;EP
  1. G L1
  1. DFLT1 K AG("LT1")
  1. Q:'$D(^AUPNRRE(DFN,11,1,0))
  1. S DIC=9000005.11,DR=.01,DA=DFN,AG("DRENT")=1
  1. ;REQUIRE ELIG BEGIN DATE
  1. S DR=".01R" ;AG*7.1*1 ITEM 2
  1. D ^AGDICLK
  1. Q:$D(AG("LKERR"))
  1. S AG("LT1")=AG("LKPRINT"),AG("DT")=AG("LKDATA")
  1. W AG("LKPRINT"),"// "
  1. Q
  1. DFLT2 K AG("LT2")
  1. Q:'$D(^AUPNRRE(DFN,11,1,0))
  1. S (AG("LT2"),AG("COV"))=$P(^AUPNRRE(DFN,11,1,0),U,3)
  1. Q:AG("LT2")=""
  1. W AG("LT2"),"// "
  1. Q
  1. MORE K AG("MORE")
  1. Q:'$D(^AUPNRRE(DFN,11,0))
  1. W !!,"Do you wish to ADD ANOTHER COVERAGE TYPE? (Y/N) NO// "
  1. D READ^AG
  1. Q:$D(DTOUT)!$D(DFOUT)!$D(DLOUT)!(Y["N")
  1. G MORE1:Y["Y"
  1. D YN^AG
  1. G MORE
  1. MORE1 S AG("MORE")=""
  1. Q
  1. ASKPARTD(DFN,D1) ;ASK PART D FIELDS
  1. K DIC,DIE,DR,DA
  1. S GOL8=0
  1. S DA=D1
  1. S DA(1)=DFN
  1. S DIE="^AUPNRRE("_DA(1)_",11,"
  1. F04 ;EP
  1. S COMPIEN=DA(1)_",11,"_DA_",0"
  1. ;I $G(AGELP("INS"))'="" S DR=".04R//^S X=$P(^AUTNINS($G(AGELP(""INS"")),0),U)"
  1. I $G(AGELP("INS"))'="",($G(AGELP("INS"))'=1) S DR=".04R//^S X=$P(^AUTNINS($G(AGELP(""INS"")),0),U)"
  1. E S DR=".04R"
  1. D ^DIE
  1. I $D(Y) S GOL8=1 Q
  1. F05 ;EP
  1. S DR=".05R//^S X=$P($G(^AUPNRRE(DA(1),21)),U)"
  1. D ^DIE
  1. I $D(Y) G F04
  1. F06 ;EP
  1. K DR
  1. S DR=".06R//^S X=$P($G(^AUPNRRE(DA(1),0)),U,4)"
  1. S DR=".06R//"_$$GETRRE^AGUTL(DFN) ;IHS/OIT/NKD AG*7.1*13
  1. D ^DIE
  1. I $D(Y) G F05
  1. F07 ;EP
  1. S DR=".07"
  1. D ^DIE
  1. I $D(Y) G F06
  1. F08 ;EP
  1. S DR=".08R//^S X=$P($G(^DPT(DA(1),0)),U,2)"
  1. D ^DIE
  1. I $D(Y) G F07
  1. F09 ;EP
  1. S DR=".09R//^S X=$P($G(^DPT(DA(1),0)),U,3)"
  1. D ^DIE
  1. I $D(Y) G F08
  1. F11 ;EP
  1. S DR=".11"
  1. D ^DIE
  1. I $D(Y) G F09
  1. F13 ;EP
  1. S DR=".13R"
  1. D ^DIE
  1. I $D(Y) G F11
  1. Q