[623] | 1 | PSOMLLDT ;BIR/RTR - Copay date routine ;08/24/01
|
---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**71,157,143,219,278**;DEC 1997;Build 3
|
---|
| 3 | ;External reference SDC022 supported by DBIA 1579
|
---|
| 4 | ;External reference DGMSTAPI supported by DBIA2716
|
---|
| 5 | ;CIDC: Before doing EI question, check to see if should ask ei question
|
---|
| 6 | ; because the flag could have changed in enrollment and we shouldn't
|
---|
| 7 | ; ask if not flagged and should set nulls for answer if Rx is renewed
|
---|
| 8 | ; or copied when flags changed. Also, CPRS sometimes sends zeros for
|
---|
| 9 | ; null answers. 5/12/04
|
---|
| 10 | DT() ;function for Copay date
|
---|
| 11 | ;0 means Copay not in effect, 1 means Copay in effect
|
---|
| 12 | N PSOMILDT
|
---|
| 13 | S PSOMILDT=3020101
|
---|
| 14 | I '$G(DT) S DT=$$DT^XLFDT
|
---|
| 15 | Q $S(DT<PSOMILDT:0,1:1)
|
---|
| 16 | ;
|
---|
| 17 | Q
|
---|
| 18 | ;New Copay questions, require if a Renewal
|
---|
| 19 | ;PSOFLAG=1 for New, PSOFLAG=0 for Renewal
|
---|
| 20 | MST ;Military Sexual Trauma Question
|
---|
| 21 | I $G(PSODFN) I $P($$GETSTAT^DGMSTAPI(PSODFN),"^",2)'="Y" D Q
|
---|
| 22 | . K PSOANSQ("MST"),PSOANSQD("MST") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"MST")
|
---|
| 23 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 24 | K DIR S DIR(0)="Y"
|
---|
| 25 | S DIR("A")="Was treatment related to Military Sexual Trauma"
|
---|
| 26 | S DIR("?")=" ",DIR("?",1)="Enter 'Yes' if this prescription is being used to treat a condition related",DIR("?",2)="to Military Sexual Trauma. This response will be used to determine whether or"
|
---|
| 27 | S DIR("?",3)="not a copay should be applied to the prescription."
|
---|
| 28 | I '$G(PSOFLAG) S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"MST"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"MST"))=1:"YES",1:"") I DIR("B")="" K DIR("B") S PSOUFLAG=0
|
---|
| 29 | I $G(PSOFLAG),$G(PSONEWFF) I $G(PSOANSQD("MST"))=0!($G(PSOANSQD("MST"))=1) S DIR("B")=$S($G(PSOANSQD("MST"))=1:"YES",1:"NO")
|
---|
| 30 | W ! D ^DIR K DIR
|
---|
| 31 | I $G(PSOFLAG) W ! D Q
|
---|
| 32 | .I Y["^"!($D(DUOUT))!($D(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 33 | .S PSOANSQ("MST")=Y
|
---|
| 34 | .I $G(PSONEWFF) S PSOANSQD("MST")=Y
|
---|
| 35 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment of Military",!,"Sexual Trauma." D:$G(PSOSCP)<50 MESSM D PAUSE Q
|
---|
| 36 | .S PSOANSQ(PSOX("IRXN"),"MST")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 37 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"MST")=Y
|
---|
| 38 | E S PSOANSQ("MST")=Y
|
---|
| 39 | Q
|
---|
| 40 | VEH ;Vietnam-Era Herbicide Question
|
---|
| 41 | I $G(PSODFN) I '$$AO^SDCO22(PSODFN) D Q
|
---|
| 42 | . K PSOANSQ("VEH"),PSOANSQD("VEH") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"VEH")
|
---|
| 43 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 44 | K DIR S DIR(0)="Y"
|
---|
| 45 | S DIR("A")="Was treatment related to Agent Orange exposure"
|
---|
| 46 | S DIR("?")=" ",DIR("?",1)="Enter 'Yes' if this prescription is being used to treat a condition due to",DIR("?",2)="Vietnam-Era Herbicide (Agent Orange) exposure. This response will be used to"
|
---|
| 47 | S DIR("?",3)="determine whether or not a copay should be applied to the prescription."
|
---|
| 48 | I '$G(PSOFLAG) S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"VEH"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"VEH"))=1:"YES",1:"") I DIR("B")="" K DIR("B") S PSOUFLAG=0
|
---|
| 49 | I $G(PSOFLAG),$G(PSONEWFF) I $G(PSOANSQD("VEH"))=0!($G(PSOANSQD("VEH"))=1) S DIR("B")=$S($G(PSOANSQD("VEH"))=1:"YES",1:"NO")
|
---|
| 50 | W ! D ^DIR K DIR
|
---|
| 51 | I $G(PSOFLAG) W ! D Q
|
---|
| 52 | .I Y["^"!($D(DUOUT))!($D(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 53 | .S PSOANSQ("VEH")=Y
|
---|
| 54 | .I $G(PSONEWFF) S PSOANSQD("VEH")=Y
|
---|
| 55 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment of Vietnam-Era",!,"Herbicide (Agent Orange) exposure." D:$G(PSOSCP)<50 MESSV D PAUSE Q
|
---|
| 56 | .S PSOANSQ(PSOX("IRXN"),"VEH")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 57 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"VEH")=Y
|
---|
| 58 | E S PSOANSQ("VEH")=Y
|
---|
| 59 | Q
|
---|
| 60 | RAD ;Radiation question
|
---|
| 61 | I $G(PSODFN) I '$$IR^SDCO22(PSODFN) D Q
|
---|
| 62 | . K PSOANSQ("RAD"),PSOANSQD("RAD") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"RAD")
|
---|
| 63 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 64 | K DIR S DIR(0)="Y"
|
---|
| 65 | S DIR("A")="Was treatment related to Ionizing Radiation exposure"
|
---|
| 66 | S DIR("?")=" ",DIR("?",1)="Enter 'Yes' if this prescription is being used to treat a condition due to",DIR("?",2)="ionizing radiation exposure during military service. This response will be used"
|
---|
| 67 | S DIR("?",3)="to determine whether or not a copay should be applied to the prescription."
|
---|
| 68 | I '$G(PSOFLAG) S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"RAD"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"RAD"))=1:"YES",1:"") I DIR("B")="" K DIR("B") S PSOUFLAG=0
|
---|
| 69 | I $G(PSOFLAG),$G(PSONEWFF) I $G(PSOANSQD("RAD"))=0!($G(PSOANSQD("RAD"))=1) S DIR("B")=$S($G(PSOANSQD("RAD"))=1:"YES",1:"NO")
|
---|
| 70 | W ! D ^DIR K DIR
|
---|
| 71 | I $G(PSOFLAG) W ! D Q
|
---|
| 72 | .I Y["^"!($D(DUOUT))!($G(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 73 | .S PSOANSQ("RAD")=Y
|
---|
| 74 | .I $G(PSONEWFF) S PSOANSQD("RAD")=Y
|
---|
| 75 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment of ionizing",!,"radiation exposure." D:$G(PSOSCP)<50 MESSM D PAUSE Q
|
---|
| 76 | .S PSOANSQ(PSOX("IRXN"),"RAD")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 77 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"RAD")=Y
|
---|
| 78 | E S PSOANSQ("RAD")=Y
|
---|
| 79 | Q
|
---|
| 80 | PGW ;Persian Gulf War question
|
---|
| 81 | I $G(PSODFN) I '$$EC^SDCO22(PSODFN) D Q
|
---|
| 82 | . K PSOANSQ("PGW"),PSOANSQD("PGW") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"PGW")
|
---|
| 83 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 84 | K DIR S DIR(0)="Y"
|
---|
| 85 | S DIR("A")="Was treatment related to Environmental Contaminant exposure"
|
---|
| 86 | S DIR("?")=" ",DIR("?",1)="Enter 'Yes' if this prescription is being used to treat a condition due to",DIR("?",2)="environmental contaminant exposure during the Persian Gulf War. This response"
|
---|
| 87 | S DIR("?",3)="will be used to determine whether or not a copay should be applied to the",DIR("?",4)="prescription."
|
---|
| 88 | I '$G(PSOFLAG) S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"PGW"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"PGW"))=1:"YES",1:"") I DIR("B")="" K DIR("B") S PSOUFLAG=0
|
---|
| 89 | I $G(PSOFLAG),$G(PSONEWFF) I $G(PSOANSQD("PGW"))=0!($G(PSOANSQD("PGW"))=1) S DIR("B")=$S($G(PSOANSQD("PGW"))=1:"YES",1:"NO")
|
---|
| 90 | W ! D ^DIR K DIR
|
---|
| 91 | I $G(PSOFLAG) W ! D Q
|
---|
| 92 | .I Y["^"!($D(DUOUT))!($D(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 93 | .S PSOANSQ("PGW")=Y
|
---|
| 94 | .I $G(PSONEWFF) S PSOANSQD("PGW")=Y
|
---|
| 95 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment of",!,"environmental contaminant exposure during the Persian Gulf War." D:$G(PSOSCP)<50 MESS D PAUSE Q
|
---|
| 96 | .S PSOANSQ(PSOX("IRXN"),"PGW")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 97 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"PGW")=Y
|
---|
| 98 | E S PSOANSQ("PGW")=Y
|
---|
| 99 | Q
|
---|
| 100 | HNC ;Head or Neck Cancer question
|
---|
| 101 | I $G(PSODFN) I $T(GETCUR^DGNTAPI)]"" N PSONCP,PSONCPX S PSONCPX=$$GETCUR^DGNTAPI(PSODFN,"PSONCP") I $P($G(PSONCP("IND")),"^")'="Y" D Q
|
---|
| 102 | . K PSOANSQ("HNC"),PSOANSQD("HNC") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"HNC")
|
---|
| 103 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 104 | K DIR S DIR(0)="Y"
|
---|
| 105 | S DIR("A")="Was treatment related to Head and/or Neck Cancer"
|
---|
| 106 | S DIR("?")=" ",DIR("?",1)="Enter 'Yes' if this prescription is being used to treat Head and/or Neck Cancer",DIR("?",2)="due to nose or throat radium treatments while in the military. This response"
|
---|
| 107 | S DIR("?",3)="will be used to determine whether or not a copay should be applied to the",DIR("?",4)="prescription."
|
---|
| 108 | I '$G(PSOFLAG) S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"HNC"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"HNC"))=1:"YES",1:"") I DIR("B")="" K DIR("B") S PSOUFLAG=0
|
---|
| 109 | I $G(PSOFLAG),$G(PSONEWFF) I $G(PSOANSQD("HNC"))=0!($G(PSOANSQD("HNC"))=1) S DIR("B")=$S($G(PSOANSQD("HNC"))=1:"YES",1:"NO")
|
---|
| 110 | W ! D ^DIR K DIR
|
---|
| 111 | I $G(PSOFLAG) W ! D Q
|
---|
| 112 | .I Y["^"!($D(DUOUT))!($D(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 113 | .S PSOANSQ("HNC")=Y
|
---|
| 114 | .I $G(PSONEWFF) S PSOANSQD("HNC")=Y
|
---|
| 115 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment related to",!,"Head and/or Neck Cancer." D:$G(PSOSCP)<50 MESSV D PAUSE Q
|
---|
| 116 | .S PSOANSQ(PSOX("IRXN"),"HNC")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 117 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"HNC")=Y
|
---|
| 118 | E S PSOANSQ("HNC")=Y
|
---|
| 119 | Q
|
---|
| 120 | CV ; Combat Veteran Question
|
---|
| 121 | I $G(PSODFN) I '(+$P($$CVEDT^DGCV(PSODFN),"^",3)) D Q
|
---|
| 122 | . K PSOANSQ("CV"),PSOANSQD("CV") I $G(PSOX("IRXN")) K PSOANSQ(PSOX("IRXN"),"CV")
|
---|
| 123 | N PSOUFLAG S PSOUFLAG=0
|
---|
| 124 | K DIR S DIR(0)="Y"
|
---|
| 125 | S DIR("A")="Was treatment related to Combat"
|
---|
| 126 | S DIR("?")=" "
|
---|
| 127 | S DIR("?",1)="Enter 'Yes' if this prescription is being used to treat a condition due to"
|
---|
| 128 | S DIR("?",2)="active duty in a theater of combat operations during a period of war after the"
|
---|
| 129 | S DIR("?",3)="Gulf War. This response will be used to determine whether or not a copay should"
|
---|
| 130 | S DIR("?",4)="be applied to the prescription."
|
---|
| 131 | S DIR("B")="YES"
|
---|
| 132 | I '$G(PSOFLAG) D
|
---|
| 133 | . S (DIR("B"),PSOUFLAG)=$S($G(PSORX(+$G(PSORENW("OIRXN")),"CV"))=0:"NO",$G(PSORX(+$G(PSORENW("OIRXN")),"CV"))=1:"YES",1:"")
|
---|
| 134 | . I DIR("B")="" S (PSOUFLAG,DIR("B"))="YES"
|
---|
| 135 | I $G(PSOFLAG),$G(PSONEWFF) D
|
---|
| 136 | . I $G(PSOANSQD("CV"))=0!($G(PSOANSQD("CV"))=1) D
|
---|
| 137 | . . S DIR("B")=$S($G(PSOANSQD("CV"))=1:"YES",1:"NO")
|
---|
| 138 | W ! D ^DIR K DIR
|
---|
| 139 | I $G(PSOFLAG) W ! D Q
|
---|
| 140 | . I Y["^"!($D(DUOUT))!($G(DTOUT)) S PSOCPZ("DFLG")=1 Q
|
---|
| 141 | . S PSOANSQ("CV")=Y
|
---|
| 142 | . I $G(PSONEWFF) S PSOANSQD("CV")=Y
|
---|
| 143 | I Y["^"!($D(DUOUT))!($D(DTOUT)) D Q
|
---|
| 144 | . W !!,"This Renewal has been designated as"_$S($G(PSOUFLAG)="YES":"",1:" NOT")_" being used for treatment of military"
|
---|
| 145 | . W !,"combat service." D:$G(PSOSCP)<50 MESSM D PAUSE
|
---|
| 146 | . S PSOANSQ(PSOX("IRXN"),"CV")=$S($G(PSOUFLAG)="YES":1,1:0)
|
---|
| 147 | I $G(PSOX("IRXN")) S PSOANSQ(PSOX("IRXN"),"CV")=Y
|
---|
| 148 | E S PSOANSQ("CV")=Y
|
---|
| 149 | Q
|
---|
| 150 | PAUSE ;
|
---|
| 151 | K DIR W ! S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
|
---|
| 152 | Q
|
---|
| 153 | MESS ;
|
---|
| 154 | Q:$G(PSODRUG("DEA"))["S"!($G(PSODRUG("DEA"))["I")
|
---|
| 155 | W !,"Please use the 'Reset Copay Status/Cancel Charges' option to make corrections.",!
|
---|
| 156 | Q
|
---|
| 157 | MESSM ;
|
---|
| 158 | Q:$G(PSODRUG("DEA"))["S"!($G(PSODRUG("DEA"))["I")
|
---|
| 159 | W " Please use the 'Reset Copay Status/Cancel Charges' option",!,"to make corrections.",!
|
---|
| 160 | Q
|
---|
| 161 | MESSV ;
|
---|
| 162 | Q:$G(PSODRUG("DEA"))["S"!($G(PSODRUG("DEA"))["I")
|
---|
| 163 | W " Please use the 'Reset Copay Status/Cancel",!,"Charges' option to make corrections.",!
|
---|