| 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.",!
 | 
|---|