PSSDSEXF ;BIR/CMF - Exceptions for Dose call Continuation ; Feb 24, 2009@16:00
 ;;1.0;PHARMACY DATA MANAGEMENT;**224,254**;9/30/97;Build 109
 ;
 ;Called from PSSDSEXE, this routine takes the results from the call to First DataBank and creates displayable TMP
 ;globals for the calling applications. Typically, PSSDBASA indicates a CPRS call, and PSSDBASB indicates a pharmacy call
 ;
 ;PSSDBCAR ARRAY pieces, set mostly in PSSDSAPD are described in PSSDSEXC:
 ;
 ;;
TWEAK200 ;; loop through exception then error globals, ensure no duplicate generic messages
 N PSSDXLP,PSSREPL,PSSDEMSG
 S PSSDXLP=""
 F  S PSSDXLP=$O(^TMP($J,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP)) Q:PSSDXLP=""  D 
 .S PSSDXLP("MSG")="",PSSDXLP("RSN")="",PSSDXLP("TYP")="",PSSDXLP("FLG")=""
 .S PSSDXLP("MSG")=$G(^TMP($J,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,1))
 .Q:PSSDXLP("MSG")=""
 .S PSSDXLP("TYP")=$S(PSSDXLP("MSG")["Maximum Single":"S",PSSDXLP("MSG")["Max Daily":"D",1:"B")
 .S PSSDXLP("RSN")=$G(^TMP($J,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,2))
 .D:PSSDXLP("RSN")="" TWEAK205(.PSSDXLP)
 .D:PSSDXLP("FLG")=1
 ..S PSSREPL("Maximum Single Dose Check")="Dosing Checks"
 ..S PSSREPL("Max Daily Dose Check")="Dosing Checks"
 ..S PSSDEMSG=$$REPLACE^XLFSTR(PSSDXLP("MSG"),.PSSREPL)
 ..S ^TMP($J,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,1)=PSSDEMSG
 ..S $P(PSSDBCAR(PSSDXLP),U,27)=1
 ..Q
 .Q
 ;;
TWEAK205(PSSDXLP) ;; look for errors matching the exception, remove if found, return flag to TWEAK200
 N PSSDWLP,PSSDWCNT
 S PSSDWLP=PSSDXLP
 S PSSDWCNT=""
 F  S PSSDWCNT=$O(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)) Q:'PSSDWCNT  D 
 .S PSSDWLP("MSG")=$G(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"MSG"))
 .Q:PSSDWLP("MSG")=""
 .S PSSDWLP("RSN")=$G(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT"))
 .D:PSSDWLP("RSN")=""
 ..S PSSDWLP("MSG")="",PSSDWLP("RSN")="",PSSDWLP("TYP")=""
 ..S PSSDWLP("TYP")=$S(PSSDWLP("MSG")["Maximum Single":"S",PSSDWLP("MSG")["Max Daily":"D",1:"B")
 ..S:PSSDWLP("TYP")'=PSSDXLP("TYP") PSSDXLP("FLG")=1
 ..K ^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)
 .Q
 ;;
TWEAK28A(PSSDWLP)  ;; if CPRS call, alter 'Chemo/cycle' errors to generic  ;;254
 ;Full message in 4.5: This chemo drug screening record is coded as a single dose per cycle.
 ;Called from PSSDSEXE
 N PSSDWCNT,PSSDWMSG,PSSDWRSN,FLAG
 S FLAG=0
 S PSSDWCNT=0
 F  S PSSDWCNT=$O(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)) Q:'PSSDWCNT  D 
 .S PSSDWRSN=$G(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT"))
 .D:PSSDWRSN["chemo drug screening record is coded as a single dose per cycle" 
 ..S PSSDWMSG=$$CHECKMSG^PSSDSEXD(PSSDWLP)_$$MSGEND^PSSDSEXE(PSSDWLP,$P(PSSDBCAR(PSSDWLP),U,2))
 ..S PSSDWRSN=""
 ..S ^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"MSG")=PSSDWMSG
 ..S ^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT")=PSSDWRSN
 ..D:(PSSDWMSG["Dosing Checks")&(PSSDWCNT=1)
 ...F  S PSSDWCNT=$O(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)) Q:'PSSDWCNT  D
 ....K ^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)
 ..S $P(PSSDBCAR(PSSDWLP),U,27)=1
 ..S FLAG=1
 Q FLAG
 ;;
TWEAK27A ;;  *254 FDB 4.5
 ;CPRS message contains "Dosing Checks could not", "Age Range", or "contraindicated" 
 ;Called by PSSDSAPA
 N DRUGNAME,EXCLUDE,INTRO,ISCMPLEX,PSSDMSG,PSSDTXT,PSSPC5,PSSPC6
 S ISCMPLEX=0
 S PSSPC5="" F  S PSSPC5=$O(PSSDBCAR(PSSPC5)) Q:PSSPC5=""  D
 .S PSSPC6="" F  S PSSPC6=$O(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6)) Q:PSSPC6=""  D
 ..S PSSDMSG=$G(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"MSG"))
 ..S PSSDTXT=$G(^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"TEXT"))
 ..S ISCMPLEX=$$ISCMPLEX^PSSDSEXD(PSSPC5)
 ..I $P(PSSDMSG,":")["Dosing Checks" D
 ...S INTRO=$$CHECKMSG^PSSDSEXD(PSSPC5)
 ...I INTRO["Single" S PSSDMSG=INTRO_" could not be done for Drug:"_$P(PSSDMSG,":",2)
 ...S EXCLUDE=($G(^TMP($J,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"TYPE"))="ExclusionMessage-ExclusionMessageText")
 ...I EXCLUDE,(($$UP^XLFSTR(PSSDTXT)[" AGE")!($$UP^XLFSTR(PSSDTXT)["CONTRAINDICATED")) D
 ....S DRUGNAME=$S(ISCMPLEX:"(Dose="_$G(PSSDSDPL(PSSPC5))_")",1:"")
 ....S ^TMP($J,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"MSG")=PSSDMSG_DRUGNAME
 ....S $P(PSSDBCAR(PSSPC5),U,27)=1
 Q
 ;;
TWEAK27B ;;  *254 FDB 4.5
 ;Backdoor message contains "Dosing Checks could not", "Age Range", "contraindicated", or "screening supports"
 ;Called by PSSDSAPA
 N EXCLUDE,INTRO,PSSDMSG,PSSDTXT,PSSPC4,PSSPC5,PSSPC7
 S PSSPC5="" F  S PSSPC5=$O(PSSDBCAR(PSSPC5)) Q:PSSPC5=""  D
 .S PSSPC4="" F  S PSSPC4=$O(^TMP($J,PSSDBASG,"OUT",PSSPC4)) Q:PSSPC4=""  D
 ..I '$D(^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5)) Q
 ..S PSSPC7="" F  S PSSPC7=$O(^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7)) Q:PSSPC7=""  D
 ...S PSSDMSG=$G(^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"MSG"))
 ...S PSSDTXT=$G(^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT"))
 ...I $P(PSSDMSG,":")["Dosing Checks" D
 ....S INTRO=$$CHECKMSG^PSSDSEXD(PSSPC5)
 ....I INTRO["Single" S PSSDMSG=INTRO_" could not be done for Drug:"_$P(PSSDMSG,":",2)
 ....;First Check - Age Exclusion and Contraindication
 ....S EXCLUDE=($G(^TMP($J,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC7,"TYPE"))="ExclusionMessage-ExclusionMessageText")
 ....I EXCLUDE,(($$UP^XLFSTR(PSSDTXT)[" AGE")!($$UP^XLFSTR(PSSDTXT)["CONTRAINDICATED")) D  Q
 .....S ^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"MSG")=PSSDMSG
 .....S $P(PSSDBCAR(PSSPC5),U,27)=1
 ....;Second Check - Screening support, No Match
 ....S EXCLUDE=($G(^TMP($J,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC7,"TYPE"))="ExclusionMessage-NoDosingforProfileandOrder")
 ....I EXCLUDE,(PSSDTXT[" Screening supports the ordered drug") D
 .....S PSSDTXT=$P(^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT"),":")
 .....S PSSDTXT=PSSDTXT_": No dosing information is available from the database."
 .....S ^TMP($J,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT")=PSSDTXT
 .....S $P(PSSDBCAR(PSSPC5),U,27)=1
 Q
 ;;
TWEAK26A ;;  *254 FDB 4.5
 ;CPRS message reformatting when subsequenct message is "one or more required patient parameters"
 ;Remove the leading spaces - the indent is for Vista display
 ;Called by TWEAK26^PSSDSEXE
 N NEXT,REASON
 S NEXT=$O(^TMP($J,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,PSSDWE2))
 I NEXT'="" D
 .S REASON=$P(^TMP($J,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,NEXT),U,10)
 .I $$UP^XLFSTR(REASON)["ONE OR MORE REQUIRED PATIENT PARAMETERS UNAVAILABLE" D
 ..S $P(^TMP($J,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,NEXT),U,7)=MESSAGE
 ..S ^TMP($J,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,3)=$$TRIM^XLFSTR(REASON,"L"," ")
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSSDSEXF   6781     printed  Sep 23, 2025@20:07                                                                                                                                                                                                       Page 2
PSSDSEXF  ;BIR/CMF - Exceptions for Dose call Continuation ; Feb 24, 2009@16:00
 +1       ;;1.0;PHARMACY DATA MANAGEMENT;**224,254**;9/30/97;Build 109
 +2       ;
 +3       ;Called from PSSDSEXE, this routine takes the results from the call to First DataBank and creates displayable TMP
 +4       ;globals for the calling applications. Typically, PSSDBASA indicates a CPRS call, and PSSDBASB indicates a pharmacy call
 +5       ;
 +6       ;PSSDBCAR ARRAY pieces, set mostly in PSSDSAPD are described in PSSDSEXC:
 +7       ;
 +8       ;;
TWEAK200  ;; loop through exception then error globals, ensure no duplicate generic messages
 +1        NEW PSSDXLP,PSSREPL,PSSDEMSG
 +2        SET PSSDXLP=""
 +3        FOR 
               SET PSSDXLP=$ORDER(^TMP($JOB,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP))
               if PSSDXLP=""
                   QUIT 
               Begin DoDot:1
 +4                SET PSSDXLP("MSG")=""
                   SET PSSDXLP("RSN")=""
                   SET PSSDXLP("TYP")=""
                   SET PSSDXLP("FLG")=""
 +5                SET PSSDXLP("MSG")=$GET(^TMP($JOB,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,1))
 +6                if PSSDXLP("MSG")=""
                       QUIT 
 +7                SET PSSDXLP("TYP")=$SELECT(PSSDXLP("MSG")["Maximum Single":"S",PSSDXLP("MSG")["Max Daily":"D",1:"B")
 +8                SET PSSDXLP("RSN")=$GET(^TMP($JOB,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,2))
 +9                if PSSDXLP("RSN")=""
                       DO TWEAK205(.PSSDXLP)
 +10               if PSSDXLP("FLG")=1
                       Begin DoDot:2
 +11                       SET PSSREPL("Maximum Single Dose Check")="Dosing Checks"
 +12                       SET PSSREPL("Max Daily Dose Check")="Dosing Checks"
 +13                       SET PSSDEMSG=$$REPLACE^XLFSTR(PSSDXLP("MSG"),.PSSREPL)
 +14                       SET ^TMP($JOB,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDXLP,1)=PSSDEMSG
 +15                       SET $PIECE(PSSDBCAR(PSSDXLP),U,27)=1
 +16                       QUIT 
                       End DoDot:2
 +17               QUIT 
               End DoDot:1
 +18      ;;
TWEAK205(PSSDXLP) ;; look for errors matching the exception, remove if found, return flag to TWEAK200
 +1        NEW PSSDWLP,PSSDWCNT
 +2        SET PSSDWLP=PSSDXLP
 +3        SET PSSDWCNT=""
 +4        FOR 
               SET PSSDWCNT=$ORDER(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT))
               if 'PSSDWCNT
                   QUIT 
               Begin DoDot:1
 +5                SET PSSDWLP("MSG")=$GET(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"MSG"))
 +6                if PSSDWLP("MSG")=""
                       QUIT 
 +7                SET PSSDWLP("RSN")=$GET(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT"))
 +8                if PSSDWLP("RSN")=""
                       Begin DoDot:2
 +9                        SET PSSDWLP("MSG")=""
                           SET PSSDWLP("RSN")=""
                           SET PSSDWLP("TYP")=""
 +10                       SET PSSDWLP("TYP")=$SELECT(PSSDWLP("MSG")["Maximum Single":"S",PSSDWLP("MSG")["Max Daily":"D",1:"B")
 +11                       if PSSDWLP("TYP")'=PSSDXLP("TYP")
                               SET PSSDXLP("FLG")=1
 +12                       KILL ^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)
                       End DoDot:2
 +13               QUIT 
               End DoDot:1
 +14      ;;
TWEAK28A(PSSDWLP) ;; if CPRS call, alter 'Chemo/cycle' errors to generic  ;;254
 +1       ;Full message in 4.5: This chemo drug screening record is coded as a single dose per cycle.
 +2       ;Called from PSSDSEXE
 +3        NEW PSSDWCNT,PSSDWMSG,PSSDWRSN,FLAG
 +4        SET FLAG=0
 +5        SET PSSDWCNT=0
 +6        FOR 
               SET PSSDWCNT=$ORDER(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT))
               if 'PSSDWCNT
                   QUIT 
               Begin DoDot:1
 +7                SET PSSDWRSN=$GET(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT"))
 +8                if PSSDWRSN["chemo drug screening record is coded as a single dose per cycle"
                       Begin DoDot:2
 +9                        SET PSSDWMSG=$$CHECKMSG^PSSDSEXD(PSSDWLP)_$$MSGEND^PSSDSEXE(PSSDWLP,$PIECE(PSSDBCAR(PSSDWLP),U,2))
 +10                       SET PSSDWRSN=""
 +11                       SET ^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"MSG")=PSSDWMSG
 +12                       SET ^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT,"TEXT")=PSSDWRSN
 +13                       if (PSSDWMSG["Dosing Checks")&(PSSDWCNT=1)
                               Begin DoDot:3
 +14                               FOR 
                                       SET PSSDWCNT=$ORDER(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT))
                                       if 'PSSDWCNT
                                           QUIT 
                                       Begin DoDot:4
 +15                                       KILL ^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSDWLP,PSSDWCNT)
                                       End DoDot:4
                               End DoDot:3
 +16                       SET $PIECE(PSSDBCAR(PSSDWLP),U,27)=1
 +17                       SET FLAG=1
                       End DoDot:2
               End DoDot:1
 +18       QUIT FLAG
 +19      ;;
TWEAK27A  ;;  *254 FDB 4.5
 +1       ;CPRS message contains "Dosing Checks could not", "Age Range", or "contraindicated" 
 +2       ;Called by PSSDSAPA
 +3        NEW DRUGNAME,EXCLUDE,INTRO,ISCMPLEX,PSSDMSG,PSSDTXT,PSSPC5,PSSPC6
 +4        SET ISCMPLEX=0
 +5        SET PSSPC5=""
           FOR 
               SET PSSPC5=$ORDER(PSSDBCAR(PSSPC5))
               if PSSPC5=""
                   QUIT 
               Begin DoDot:1
 +6                SET PSSPC6=""
                   FOR 
                       SET PSSPC6=$ORDER(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6))
                       if PSSPC6=""
                           QUIT 
                       Begin DoDot:2
 +7                        SET PSSDMSG=$GET(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"MSG"))
 +8                        SET PSSDTXT=$GET(^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"TEXT"))
 +9                        SET ISCMPLEX=$$ISCMPLEX^PSSDSEXD(PSSPC5)
 +10                       IF $PIECE(PSSDMSG,":")["Dosing Checks"
                               Begin DoDot:3
 +11                               SET INTRO=$$CHECKMSG^PSSDSEXD(PSSPC5)
 +12                               IF INTRO["Single"
                                       SET PSSDMSG=INTRO_" could not be done for Drug:"_$PIECE(PSSDMSG,":",2)
 +13                               SET EXCLUDE=($GET(^TMP($JOB,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"TYPE"))="ExclusionMessage-ExclusionMessageText")
 +14                               IF EXCLUDE
                                       IF (($$UP^XLFSTR(PSSDTXT)[" AGE")!($$UP^XLFSTR(PSSDTXT)["CONTRAINDICATED"))
                                           Begin DoDot:4
 +15                                           SET DRUGNAME=$SELECT(ISCMPLEX:"(Dose="_$GET(PSSDSDPL(PSSPC5))_")",1:"")
 +16                                           SET ^TMP($JOB,PSSDBASF,"OUT","DOSE","ERROR",PSSPC5,PSSPC6,"MSG")=PSSDMSG_DRUGNAME
 +17                                           SET $PIECE(PSSDBCAR(PSSPC5),U,27)=1
                                           End DoDot:4
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +18       QUIT 
 +19      ;;
TWEAK27B  ;;  *254 FDB 4.5
 +1       ;Backdoor message contains "Dosing Checks could not", "Age Range", "contraindicated", or "screening supports"
 +2       ;Called by PSSDSAPA
 +3        NEW EXCLUDE,INTRO,PSSDMSG,PSSDTXT,PSSPC4,PSSPC5,PSSPC7
 +4        SET PSSPC5=""
           FOR 
               SET PSSPC5=$ORDER(PSSDBCAR(PSSPC5))
               if PSSPC5=""
                   QUIT 
               Begin DoDot:1
 +5                SET PSSPC4=""
                   FOR 
                       SET PSSPC4=$ORDER(^TMP($JOB,PSSDBASG,"OUT",PSSPC4))
                       if PSSPC4=""
                           QUIT 
                       Begin DoDot:2
 +6                        IF '$DATA(^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5))
                               QUIT 
 +7                        SET PSSPC7=""
                           FOR 
                               SET PSSPC7=$ORDER(^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7))
                               if PSSPC7=""
                                   QUIT 
                               Begin DoDot:3
 +8                                SET PSSDMSG=$GET(^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"MSG"))
 +9                                SET PSSDTXT=$GET(^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT"))
 +10                               IF $PIECE(PSSDMSG,":")["Dosing Checks"
                                       Begin DoDot:4
 +11                                       SET INTRO=$$CHECKMSG^PSSDSEXD(PSSPC5)
 +12                                       IF INTRO["Single"
                                               SET PSSDMSG=INTRO_" could not be done for Drug:"_$PIECE(PSSDMSG,":",2)
 +13      ;First Check - Age Exclusion and Contraindication
 +14                                       SET EXCLUDE=($GET(^TMP($JOB,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC7,"TYPE"))="ExclusionMessage-ExclusionMessageText")
 +15                                       IF EXCLUDE
                                               IF (($$UP^XLFSTR(PSSDTXT)[" AGE")!($$UP^XLFSTR(PSSDTXT)["CONTRAINDICATED"))
                                                   Begin DoDot:5
 +16                                                   SET ^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"MSG")=PSSDMSG
 +17                                                   SET $PIECE(PSSDBCAR(PSSPC5),U,27)=1
                                                   End DoDot:5
                                                   QUIT 
 +18      ;Second Check - Screening support, No Match
 +19                                       SET EXCLUDE=($GET(^TMP($JOB,PSSDBASE,"OUT","DOSE","ERROR",PSSPC5,PSSPC7,"TYPE"))="ExclusionMessage-NoDosingforProfileandOrder")
 +20                                       IF EXCLUDE
                                               IF (PSSDTXT[" Screening supports the ordered drug")
                                                   Begin DoDot:5
 +21                                                   SET PSSDTXT=$PIECE(^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT"),":")
 +22                                                   SET PSSDTXT=PSSDTXT_": No dosing information is available from the database."
 +23                                                   SET ^TMP($JOB,PSSDBASG,"OUT",PSSPC4,PSSPC5,"ERROR",PSSPC7,"TEXT")=PSSDTXT
 +24                                                   SET $PIECE(PSSDBCAR(PSSPC5),U,27)=1
                                                   End DoDot:5
                                       End DoDot:4
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +25       QUIT 
 +26      ;;
TWEAK26A  ;;  *254 FDB 4.5
 +1       ;CPRS message reformatting when subsequenct message is "one or more required patient parameters"
 +2       ;Remove the leading spaces - the indent is for Vista display
 +3       ;Called by TWEAK26^PSSDSEXE
 +4        NEW NEXT,REASON
 +5        SET NEXT=$ORDER(^TMP($JOB,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,PSSDWE2))
 +6        IF NEXT'=""
               Begin DoDot:1
 +7                SET REASON=$PIECE(^TMP($JOB,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,NEXT),U,10)
 +8                IF $$UP^XLFSTR(REASON)["ONE OR MORE REQUIRED PATIENT PARAMETERS UNAVAILABLE"
                       Begin DoDot:2
 +9                        SET $PIECE(^TMP($JOB,PSSDBASE,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,NEXT),U,7)=MESSAGE
 +10                       SET ^TMP($JOB,PSSDBASF,"OUT","EXCEPTIONS","DOSE",PSSDWEX2,3)=$$TRIM^XLFSTR(REASON,"L"," ")
                       End DoDot:2
               End DoDot:1
 +11       QUIT