BPS10PRE ;ALB/DMB - Pre-install for BPS*1.0*10 ;09/20/2010
;;1.0;E CLAIMS MGMT ENGINE;**10**;JUN 2004;Build 27
;;Per VHA Directive 2004-038, this routine should not be modified.
;
Q
;
PRE ; Entry Point for pre-install
D MES^XPDUTL(" Starting pre-install of BPS*1*10")
;
; Delete data dictionary structures
; Update dictionaries with new identifiers to prevent duplicate IENs
D DICT,DFIELDS,FIELDS("NFLDS"),REJECTS("NRJCT"),RFIELDS
;
D MES^XPDUTL(" Finished pre-install of BPS*1*10")
Q
;
DICT ;Delete data dictionaries so that corrected ones can be installed in their place
N DIU
D MES^XPDUTL(" - Removing files that will be rebuilt")
S DIU=9002313.02,DIU(0)="" D EN^DIU2 K DIU ; BPS Claims
S DIU=9002313.03,DIU(0)="" D EN^DIU2 K DIU ; BPS Responses
D MES^XPDUTL(" - Done with files")
D MES^XPDUTL(" ")
Q
;
DFIELDS ;Update changed dictionary entries
N LINE,DATA,NUM,NAME,DA,DIE,DR,CNT,DCT,FLDNUM
D MES^XPDUTL(" - Updating dictionaries values")
S CNT=0
F LINE=1:1 S DATA=$P($T(DFLDS+LINE),";;",2,99) Q:DATA="" D
. S NUM=$P(DATA,";",1),DCT=$P(DATA,";",3),FLDNUM=$P(DATA,";",4)
. S DA=$O(^BPS(DCT,"B",NUM,""))
. I 'DA D MES^XPDUTL(" - No IEN found for entry "_NUM) Q
. S DIE=DCT,NAME=$P(DATA,";",2),DR=FLDNUM_"////"_NAME,CNT=CNT+1
. D ^DIE
D MES^XPDUTL(" - "_CNT_" entries updated")
D MES^XPDUTL(" - Done with updating dictionaries values")
D MES^XPDUTL(" ")
Q
;
DFLDS ;
;;9;SUBSTITUTION ALLOWED BY PRESCRIBER BUT PLAN REQUESTS BRAND;9002313.24;1
;;4;EXEMPT FROM COPAY/COINSURANCE;9002313.26;.02
;;DA;DRUG-ALLERGY;9002313.23;1
;;DC;DRUG-DISEASE (INFERRED);9002313.23;1
;;DS;TOBACCO USE;9002313.23;1
;;ER;OVERUSE;9002313.23;1
;;HD;HIGH DOSE;9002313.23;1
;;IC;IATROGENIC CONDITION;9002313.23;1
;;LD;LOW DOSE;9002313.23;1
;;LR;UNDERUSE;9002313.23;1
;;MC;DRUG-DISEASE (REPORTED);9002313.23;1
;;MN;INSUFFICIENT DURATION;9002313.23;1
;;MX;EXCESSIVE DURATION;9002313.23;1
;;OH;ALCOHOL CONFLICT;9002313.23;1
;;PA;DRUG-AGE;9002313.23;1
;;PG;DRUG-PREGNANCY;9002313.23;1
;;PR;PRIOR ADVERSE REACTION;9002313.23;1
;;SE;SIDE EFFECT;9002313.23;1
;;SX;DRUG-GENDER;9002313.23;1
;;TD;THERAPEUTIC;9002313.23;1
;;3H;FOLLOW-UP/REPORT;9002313.22;1
;;1;PROOF OF ELIGIBILITY UNKNOWN;9002313.29;.02
;;3;AUTHORIZATION DELAYS;9002313.29;.02
;;4;DELAY IN CERTIFYING PROVIDER;9002313.29;.02
;;5;DELAY - BILLING FORMS;9002313.29;.02
;;6;DELAY - CUSTOM-MADE APPLIANCES;9002313.29;.02
;;7;THIRD PARTY PROCESSING DELAY;9002313.29;.02
;;9;ORIGINAL CLAIMS REJECTED;9002313.29;.02
;;10;ADMIN DELAY IN PRIOR APPROVAL;9002313.29;.02
;;12;RECEIVED LATE W/ NO EXCEPTIONS;9002313.29;.02
;;13;DAMAGE TO PROVIDER RECORDS;9002313.29;.02
;;14;THEFT/OTHER ACTS BY EMPLOYEE;9002313.29;.02
;;4;ASSISTED LIVING FACILITY;9002313.27;.02
;;5;CUSTODIAL CARE FACILITY;9002313.27;.02
;;6;GROUP HOME;9002313.27;.02
;;7;INPATIENT PSYCHIATRIC FACILITY;9002313.27;.02
;;9;INTERMEDIATE CARE FACILITY;9002313.27;.02
;;10;SUBSTANCE ABUSE FACILITY;9002313.27;.02
;;13;INPATIENT REHAB FACILITY;9002313.27;.02
;;15;CORRECTIONAL INSTITUTION;9002313.27;.02
;;1;COMMUNITY/RETAIL;9002313.28;.02
;;3;HOME INFUSION THERAPY;9002313.28;.02
;;5;LONG TERM CARE;9002313.28;.02
;;7;MANAGED CARE ORGANIZATION;9002313.28;.02
;;8;SPECIALTY CARE;9002313.28;.02
;;
;
FIELDS(LABEL) ; Update Field Defs with new descriptions
N LINE,DATA,NUM,NAME,DA,DIE,DR,CNT
D MES^XPDUTL(" - Updating BPS NCPDP FIELD DEFS")
S CNT=0
F LINE=1:1 S DATA=$P($T(@LABEL+LINE),";;",2,99) Q:DATA="" D
. S NUM=$P(DATA,";",1)
. S DA=$O(^BPSF(9002313.91,"B",NUM,""))
. I 'DA D MES^XPDUTL(" - No IEN found for entry "_NUM) Q
. S DIE=9002313.91,NAME=$P(DATA,";",2),DR=".03////^S X=NAME",CNT=CNT+1
. D ^DIE
D MES^XPDUTL(" - "_CNT_" entries updated")
D MES^XPDUTL(" - Done with BPS NCPDP FIELD DEFS")
D MES^XPDUTL(" ")
Q
;
NFLDS ; New field names
;;301;GROUP ID
;;302;CARDHOLDER ID
;;305;PATIENT GENDER CODE
;;306;PATIENT RELATIONSHIP CODE
;;307;PLACE OF SERVICE
;;318;EMPLOYER STATE/PROV ADDRESS
;;319;EMPLOYER ZIP/POSTAL ZONE
;;323;PATIENT CITY ADDRESS
;;324;PATIENT STATE/PROVINCE ADDRESS
;;325;PATIENT ZIP/POSTAL ZONE
;;327;CARRIER ID
;;330;ALTERNATE ID
;;337;COB/OTHER PAYMENTS COUNT
;;342;OTHER PAYER AMT PAID QUALIFIER
;;346;BASIS OF CALC - DISPENSING FEE
;;349;BASIS OF CALC - % SALES TAX
;;351;OTHER PAYER-PAT RESP AMT QLFR
;;401;DATE OF SERVICE
;;402;PRESCRIPTION/SERVICE REF NO
;;403;FILL NUMBER
;;408;DAW PRODUCT SELECTION CODE
;;415;NUMBER OF REFILLS AUTHORIZED
;;420;SUBMISSION CLARIFICATION CODE
;;421;PRIMARY CARE PROVIDER ID
;;426;USUAL AND CUSTOMARY CHARGE
;;429;SPECIAL PACKAGING INDICATOR
;;435;CLAIM/REFERENCE ID
;;436;PRODUCT/SERVICE ID QUALIFIER
;;439;REASON FOR SERVICE CODE
;;440;PROFESSIONAL SERVICE CODE
;;441;RESULT OF SERVICE CODE
;;443;OTHER PAYER DATE
;;446;ORIGINALLY PRESCRIBED QUANTITY
;;447;COMPOUND INGREDIENT COMP COUNT
;;448;COMPOUND INGREDIENT QUANTITY
;;449;COMPOUND INGREDIENT DRUG COST
;;450;COMPOUND DOSAGE FORM DESC CODE
;;451;COMPOUND DISP UNIT FORM INDCTR
;;452;COMPOUND ROUTE OF ADMIN
;;455;PRESCRIPTION/SERV REF NO QLFR
;;456;ASSOC PRESCRIPTION/SERV REF NO
;;457;ASSOC PRESCRIPTION/SERV DATE
;;462;PRIOR AUTH NUMBER SUBMITTED
;;463;INTERMEDIARY AUTH TYPE ID
;;468;PRIMARY CARE PROVIDER ID QLFR
;;477;PROF SERVICE FEE SUBMITTED
;;478;OTHER AMT CLAIMED SBMTTD COUNT
;;479;OTHER AMT CLAIMED SUBM QLFR
;;480;OTHER AMT CLAIMED SUBMITTED
;;481;FLAT SALES TAX AMT SUBMITTED
;;482;PERCENT SALES TAX AMT SBMTTD
;;483;PERCENT SALES TAX RATE SBMTTD
;;484;PERCENT SALES TAX BASIS SBMTTD
;;488;COMPOUND PRODUCT ID QUALIFIER
;;489;COMPOUND PRODUCT ID
;;490;COMP INGRED BASIS COST DETERM
;;494;MEASUREMENT DATE
;;495;MEASUREMENT TIME
;;496;MEASUREMENT DIMENSION
;;497;MEASUREMENT UNIT
;;498.05;AUTHORIZED REP FIRST NAME
;;498.07;AUTHORIZED REP STREET ADDRESS
;;498.09;AUTHORIZED REP STATE/PROV ADDR
;;498.11;AUTHORIZED REP ZIP/POSTAL ZONE
;;498.13;PRIOR AUTH SUPPORTING DOCUMENT
;;498.14;PRIOR AUTH NUMBER-ASSIGNED
;;498.52;PRIOR AUTH EFFECTIVE DATE
;;498.53;PRIOR AUTH EXPIRATION DATE
;;498.54;PRIOR AUTH NO REFILLS AUTH
;;498.55;PRIOR AUTH QTY ACCUMULATED
;;498.57;PRIOR AUTHORIZATION QUANTITY
;;498.58;PRIOR AUTH DOLLARS AUTHORIZED
;;499;MEASUREMENT VALUE
;;503;AUTHORIZATION NUMBER
;;512;ACCUMULATED DEDUCTIBLE AMOUNT
;;513;REMAINING DEDUCTIBLE AMOUNT
;;514;REMAINING BENEFIT AMOUNT
;;517;AMT APPLIED TO PERIODIC DEDUCT
;;518;AMOUNT OF COPAY
;;519;AMT ATTRIBUTED TO PRODUCT SEL
;;520;AMOUNT EXCEEDING PERIODIC MAX
;;522;BASIS OF REIMB DETERMINATION
;;523;AMOUNT ATTRIBUTED TO SALES TAX
;;526;ADDITIONAL MESSAGE INFORMATION
;;546;REJECTED FLD OCCURRENCE INDCTR
;;555;PREF PRODUCT COST SHARE INCNTV
;;559;PERCENTAGE SALES TAX AMT PAID
;;560;PERCENTAGE SALES TAX RATE PAID
;;561;PERCENT SALES TAX BASIS PAID
;;600;UNIT OF MEASURE
;;
;
REJECTS(LABEL) ; Update Reject Codes with new explanations
N LINE,DATA,NUM,NAME,DA,DIE,DR,CNT
D MES^XPDUTL(" - Updating BPS NCPDP REJECT CODES")
S CNT=0
F LINE=1:1 S DATA=$P($T(@LABEL+LINE),";;",2,99) Q:DATA="" D
. S DIE=9002313.93,NUM=$P(DATA,";",1)
. S DA=$O(^BPSF(DIE,"B",NUM,""))
. I 'DA Q ; quit if no IEN found for entry
. S NAME=$P(DATA,";",2),DR=".02////^S X=NAME",CNT=CNT+1
. D ^DIE
D MES^XPDUTL(" - "_CNT_" entries updated")
D MES^XPDUTL(" - Done with BPS NCPDP REJECT CODES")
D MES^XPDUTL(" ")
Q
;
NRJCT ; New reject explanations
;;70;Product/Service Not Covered - Plan/Benefit Exclusion
;;232;Smoker/Non-Smoker Code is not used for this Transaction Code
;;288;Patient Assignment Indicator is not used for this Trans Code
;;474;Prescriber Id Qualifier Does Not Precede Prescriber ID
;;489;DUR Co-Agent ID Qualifier Does Not Precede DUR Co-Agent ID
;;491;Compound Product ID Qualifier Does Not Precede Compound Product ID
;;537;Patient Assignment Indicator Value Not Supported
;;553;Smoker/Non-Smoker Code Value Not Supported
;;557;COB Segment Present On A Non-COB Claim
;;4R;Required Question Num/Letter Response for Indicated Document Missing
;;6G;COB/Other Payments Segment Required For Adjudication
;;7M;Discrepancy Between Other Coverage Code & Other Coverage Info On File
;;7P;COB/Other Payments Count Exceeds Number of Supported Payers
;;7T;Quantity Intended To Be Dispensed Required For Partial Fill Trans
;;7U;Days Supply Intended To Be Dispensed Required For Partial Fill Trans
;;8B;Compound Segment Missing On A Compound Claim
;;8E;M/I DUR/PPS Level Of Effort
;;8G;Product/Service ID (407-D7) Must Be A Single Zero '0' For Compounds
;;9K;Compound Ingredient Component Cnt Exceeds Num Of Ingredients Supported
;;G9;Pharmacy Not Contracted in 90 Day Retail Network
;;MR;Product Not On Formulary
;;N4;M/I Medicaid Subrogation Internal Ctrl Number/Transaction Ctrl Number
;;RM;Compl Trans Not Permitted With Same 'Date Of Service' As Partial Trans
;;RT;M/I Associated Prescription/Service Reference Number On Partial Trans
;;T0;Accumulator Month Count Exceeds Number of Occurrences Supported
;;UU;DAW 0 cannot be submitted on a multi-source drug w/available generics
;;X3;Out of order Accumulator Months
;;YA;Compound Ingredient Mod Code Cnt Exceeds Num Of Occurrences Supported
;;YH;Clinical Information Counter Exceeds Number of Occurrences Supported
;;Z6;Service Prov Segment Present On A non-Controlled Sub Reporting Trans
;;
;
RFIELDS ;Remove obsolete PROFESSIONAL SERVICE CODE
N LINE,DATA,NUM,DA,DIK,CNT,DCT
D MES^XPDUTL(" Deleting obsolete dictionary values")
S CNT=0
F LINE=1:1 S DATA=$P($T(RFLDS+LINE),";;",2,99) Q:DATA="" D
. S NUM=$P(DATA,";",1),DIK=$P(DATA,";",2),DCT=$P(DATA,";",3)
. S DA=$O(^BPS(DCT,"B",NUM,""))
. I 'DA D MES^XPDUTL(" - No IEN found for entry "_NUM) Q
. D ^DIK
. S CNT=CNT+1
D MES^XPDUTL(" - "_CNT_" entries updated")
D MES^XPDUTL(" - Done with deleting obsolete dictionary values")
D MES^XPDUTL(" ")
Q
;
RFLDS ;
;;PF;^BPS(9002313.21,;9002313.21
;;
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HBPS10PRE 10237 printed Mar 13, 2024@22:59:24 Page 2
BPS10PRE ;ALB/DMB - Pre-install for BPS*1.0*10 ;09/20/2010
+1 ;;1.0;E CLAIMS MGMT ENGINE;**10**;JUN 2004;Build 27
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 ;
+4 QUIT
+5 ;
PRE ; Entry Point for pre-install
+1 DO MES^XPDUTL(" Starting pre-install of BPS*1*10")
+2 ;
+3 ; Delete data dictionary structures
+4 ; Update dictionaries with new identifiers to prevent duplicate IENs
+5 DO DICT
DO DFIELDS
DO FIELDS("NFLDS")
DO REJECTS("NRJCT")
DO RFIELDS
+6 ;
+7 DO MES^XPDUTL(" Finished pre-install of BPS*1*10")
+8 QUIT
+9 ;
DICT ;Delete data dictionaries so that corrected ones can be installed in their place
+1 NEW DIU
+2 DO MES^XPDUTL(" - Removing files that will be rebuilt")
+3 ; BPS Claims
SET DIU=9002313.02
SET DIU(0)=""
DO EN^DIU2
KILL DIU
+4 ; BPS Responses
SET DIU=9002313.03
SET DIU(0)=""
DO EN^DIU2
KILL DIU
+5 DO MES^XPDUTL(" - Done with files")
+6 DO MES^XPDUTL(" ")
+7 QUIT
+8 ;
DFIELDS ;Update changed dictionary entries
+1 NEW LINE,DATA,NUM,NAME,DA,DIE,DR,CNT,DCT,FLDNUM
+2 DO MES^XPDUTL(" - Updating dictionaries values")
+3 SET CNT=0
+4 FOR LINE=1:1
SET DATA=$PIECE($TEXT(DFLDS+LINE),";;",2,99)
if DATA=""
QUIT
Begin DoDot:1
+5 SET NUM=$PIECE(DATA,";",1)
SET DCT=$PIECE(DATA,";",3)
SET FLDNUM=$PIECE(DATA,";",4)
+6 SET DA=$ORDER(^BPS(DCT,"B",NUM,""))
+7 IF 'DA
DO MES^XPDUTL(" - No IEN found for entry "_NUM)
QUIT
+8 SET DIE=DCT
SET NAME=$PIECE(DATA,";",2)
SET DR=FLDNUM_"////"_NAME
SET CNT=CNT+1
+9 DO ^DIE
End DoDot:1
+10 DO MES^XPDUTL(" - "_CNT_" entries updated")
+11 DO MES^XPDUTL(" - Done with updating dictionaries values")
+12 DO MES^XPDUTL(" ")
+13 QUIT
+14 ;
DFLDS ;
+1 ;;9;SUBSTITUTION ALLOWED BY PRESCRIBER BUT PLAN REQUESTS BRAND;9002313.24;1
+2 ;;4;EXEMPT FROM COPAY/COINSURANCE;9002313.26;.02
+3 ;;DA;DRUG-ALLERGY;9002313.23;1
+4 ;;DC;DRUG-DISEASE (INFERRED);9002313.23;1
+5 ;;DS;TOBACCO USE;9002313.23;1
+6 ;;ER;OVERUSE;9002313.23;1
+7 ;;HD;HIGH DOSE;9002313.23;1
+8 ;;IC;IATROGENIC CONDITION;9002313.23;1
+9 ;;LD;LOW DOSE;9002313.23;1
+10 ;;LR;UNDERUSE;9002313.23;1
+11 ;;MC;DRUG-DISEASE (REPORTED);9002313.23;1
+12 ;;MN;INSUFFICIENT DURATION;9002313.23;1
+13 ;;MX;EXCESSIVE DURATION;9002313.23;1
+14 ;;OH;ALCOHOL CONFLICT;9002313.23;1
+15 ;;PA;DRUG-AGE;9002313.23;1
+16 ;;PG;DRUG-PREGNANCY;9002313.23;1
+17 ;;PR;PRIOR ADVERSE REACTION;9002313.23;1
+18 ;;SE;SIDE EFFECT;9002313.23;1
+19 ;;SX;DRUG-GENDER;9002313.23;1
+20 ;;TD;THERAPEUTIC;9002313.23;1
+21 ;;3H;FOLLOW-UP/REPORT;9002313.22;1
+22 ;;1;PROOF OF ELIGIBILITY UNKNOWN;9002313.29;.02
+23 ;;3;AUTHORIZATION DELAYS;9002313.29;.02
+24 ;;4;DELAY IN CERTIFYING PROVIDER;9002313.29;.02
+25 ;;5;DELAY - BILLING FORMS;9002313.29;.02
+26 ;;6;DELAY - CUSTOM-MADE APPLIANCES;9002313.29;.02
+27 ;;7;THIRD PARTY PROCESSING DELAY;9002313.29;.02
+28 ;;9;ORIGINAL CLAIMS REJECTED;9002313.29;.02
+29 ;;10;ADMIN DELAY IN PRIOR APPROVAL;9002313.29;.02
+30 ;;12;RECEIVED LATE W/ NO EXCEPTIONS;9002313.29;.02
+31 ;;13;DAMAGE TO PROVIDER RECORDS;9002313.29;.02
+32 ;;14;THEFT/OTHER ACTS BY EMPLOYEE;9002313.29;.02
+33 ;;4;ASSISTED LIVING FACILITY;9002313.27;.02
+34 ;;5;CUSTODIAL CARE FACILITY;9002313.27;.02
+35 ;;6;GROUP HOME;9002313.27;.02
+36 ;;7;INPATIENT PSYCHIATRIC FACILITY;9002313.27;.02
+37 ;;9;INTERMEDIATE CARE FACILITY;9002313.27;.02
+38 ;;10;SUBSTANCE ABUSE FACILITY;9002313.27;.02
+39 ;;13;INPATIENT REHAB FACILITY;9002313.27;.02
+40 ;;15;CORRECTIONAL INSTITUTION;9002313.27;.02
+41 ;;1;COMMUNITY/RETAIL;9002313.28;.02
+42 ;;3;HOME INFUSION THERAPY;9002313.28;.02
+43 ;;5;LONG TERM CARE;9002313.28;.02
+44 ;;7;MANAGED CARE ORGANIZATION;9002313.28;.02
+45 ;;8;SPECIALTY CARE;9002313.28;.02
+46 ;;
+47 ;
FIELDS(LABEL) ; Update Field Defs with new descriptions
+1 NEW LINE,DATA,NUM,NAME,DA,DIE,DR,CNT
+2 DO MES^XPDUTL(" - Updating BPS NCPDP FIELD DEFS")
+3 SET CNT=0
+4 FOR LINE=1:1
SET DATA=$PIECE($TEXT(@LABEL+LINE),";;",2,99)
if DATA=""
QUIT
Begin DoDot:1
+5 SET NUM=$PIECE(DATA,";",1)
+6 SET DA=$ORDER(^BPSF(9002313.91,"B",NUM,""))
+7 IF 'DA
DO MES^XPDUTL(" - No IEN found for entry "_NUM)
QUIT
+8 SET DIE=9002313.91
SET NAME=$PIECE(DATA,";",2)
SET DR=".03////^S X=NAME"
SET CNT=CNT+1
+9 DO ^DIE
End DoDot:1
+10 DO MES^XPDUTL(" - "_CNT_" entries updated")
+11 DO MES^XPDUTL(" - Done with BPS NCPDP FIELD DEFS")
+12 DO MES^XPDUTL(" ")
+13 QUIT
+14 ;
NFLDS ; New field names
+1 ;;301;GROUP ID
+2 ;;302;CARDHOLDER ID
+3 ;;305;PATIENT GENDER CODE
+4 ;;306;PATIENT RELATIONSHIP CODE
+5 ;;307;PLACE OF SERVICE
+6 ;;318;EMPLOYER STATE/PROV ADDRESS
+7 ;;319;EMPLOYER ZIP/POSTAL ZONE
+8 ;;323;PATIENT CITY ADDRESS
+9 ;;324;PATIENT STATE/PROVINCE ADDRESS
+10 ;;325;PATIENT ZIP/POSTAL ZONE
+11 ;;327;CARRIER ID
+12 ;;330;ALTERNATE ID
+13 ;;337;COB/OTHER PAYMENTS COUNT
+14 ;;342;OTHER PAYER AMT PAID QUALIFIER
+15 ;;346;BASIS OF CALC - DISPENSING FEE
+16 ;;349;BASIS OF CALC - % SALES TAX
+17 ;;351;OTHER PAYER-PAT RESP AMT QLFR
+18 ;;401;DATE OF SERVICE
+19 ;;402;PRESCRIPTION/SERVICE REF NO
+20 ;;403;FILL NUMBER
+21 ;;408;DAW PRODUCT SELECTION CODE
+22 ;;415;NUMBER OF REFILLS AUTHORIZED
+23 ;;420;SUBMISSION CLARIFICATION CODE
+24 ;;421;PRIMARY CARE PROVIDER ID
+25 ;;426;USUAL AND CUSTOMARY CHARGE
+26 ;;429;SPECIAL PACKAGING INDICATOR
+27 ;;435;CLAIM/REFERENCE ID
+28 ;;436;PRODUCT/SERVICE ID QUALIFIER
+29 ;;439;REASON FOR SERVICE CODE
+30 ;;440;PROFESSIONAL SERVICE CODE
+31 ;;441;RESULT OF SERVICE CODE
+32 ;;443;OTHER PAYER DATE
+33 ;;446;ORIGINALLY PRESCRIBED QUANTITY
+34 ;;447;COMPOUND INGREDIENT COMP COUNT
+35 ;;448;COMPOUND INGREDIENT QUANTITY
+36 ;;449;COMPOUND INGREDIENT DRUG COST
+37 ;;450;COMPOUND DOSAGE FORM DESC CODE
+38 ;;451;COMPOUND DISP UNIT FORM INDCTR
+39 ;;452;COMPOUND ROUTE OF ADMIN
+40 ;;455;PRESCRIPTION/SERV REF NO QLFR
+41 ;;456;ASSOC PRESCRIPTION/SERV REF NO
+42 ;;457;ASSOC PRESCRIPTION/SERV DATE
+43 ;;462;PRIOR AUTH NUMBER SUBMITTED
+44 ;;463;INTERMEDIARY AUTH TYPE ID
+45 ;;468;PRIMARY CARE PROVIDER ID QLFR
+46 ;;477;PROF SERVICE FEE SUBMITTED
+47 ;;478;OTHER AMT CLAIMED SBMTTD COUNT
+48 ;;479;OTHER AMT CLAIMED SUBM QLFR
+49 ;;480;OTHER AMT CLAIMED SUBMITTED
+50 ;;481;FLAT SALES TAX AMT SUBMITTED
+51 ;;482;PERCENT SALES TAX AMT SBMTTD
+52 ;;483;PERCENT SALES TAX RATE SBMTTD
+53 ;;484;PERCENT SALES TAX BASIS SBMTTD
+54 ;;488;COMPOUND PRODUCT ID QUALIFIER
+55 ;;489;COMPOUND PRODUCT ID
+56 ;;490;COMP INGRED BASIS COST DETERM
+57 ;;494;MEASUREMENT DATE
+58 ;;495;MEASUREMENT TIME
+59 ;;496;MEASUREMENT DIMENSION
+60 ;;497;MEASUREMENT UNIT
+61 ;;498.05;AUTHORIZED REP FIRST NAME
+62 ;;498.07;AUTHORIZED REP STREET ADDRESS
+63 ;;498.09;AUTHORIZED REP STATE/PROV ADDR
+64 ;;498.11;AUTHORIZED REP ZIP/POSTAL ZONE
+65 ;;498.13;PRIOR AUTH SUPPORTING DOCUMENT
+66 ;;498.14;PRIOR AUTH NUMBER-ASSIGNED
+67 ;;498.52;PRIOR AUTH EFFECTIVE DATE
+68 ;;498.53;PRIOR AUTH EXPIRATION DATE
+69 ;;498.54;PRIOR AUTH NO REFILLS AUTH
+70 ;;498.55;PRIOR AUTH QTY ACCUMULATED
+71 ;;498.57;PRIOR AUTHORIZATION QUANTITY
+72 ;;498.58;PRIOR AUTH DOLLARS AUTHORIZED
+73 ;;499;MEASUREMENT VALUE
+74 ;;503;AUTHORIZATION NUMBER
+75 ;;512;ACCUMULATED DEDUCTIBLE AMOUNT
+76 ;;513;REMAINING DEDUCTIBLE AMOUNT
+77 ;;514;REMAINING BENEFIT AMOUNT
+78 ;;517;AMT APPLIED TO PERIODIC DEDUCT
+79 ;;518;AMOUNT OF COPAY
+80 ;;519;AMT ATTRIBUTED TO PRODUCT SEL
+81 ;;520;AMOUNT EXCEEDING PERIODIC MAX
+82 ;;522;BASIS OF REIMB DETERMINATION
+83 ;;523;AMOUNT ATTRIBUTED TO SALES TAX
+84 ;;526;ADDITIONAL MESSAGE INFORMATION
+85 ;;546;REJECTED FLD OCCURRENCE INDCTR
+86 ;;555;PREF PRODUCT COST SHARE INCNTV
+87 ;;559;PERCENTAGE SALES TAX AMT PAID
+88 ;;560;PERCENTAGE SALES TAX RATE PAID
+89 ;;561;PERCENT SALES TAX BASIS PAID
+90 ;;600;UNIT OF MEASURE
+91 ;;
+92 ;
REJECTS(LABEL) ; Update Reject Codes with new explanations
+1 NEW LINE,DATA,NUM,NAME,DA,DIE,DR,CNT
+2 DO MES^XPDUTL(" - Updating BPS NCPDP REJECT CODES")
+3 SET CNT=0
+4 FOR LINE=1:1
SET DATA=$PIECE($TEXT(@LABEL+LINE),";;",2,99)
if DATA=""
QUIT
Begin DoDot:1
+5 SET DIE=9002313.93
SET NUM=$PIECE(DATA,";",1)
+6 SET DA=$ORDER(^BPSF(DIE,"B",NUM,""))
+7 ; quit if no IEN found for entry
IF 'DA
QUIT
+8 SET NAME=$PIECE(DATA,";",2)
SET DR=".02////^S X=NAME"
SET CNT=CNT+1
+9 DO ^DIE
End DoDot:1
+10 DO MES^XPDUTL(" - "_CNT_" entries updated")
+11 DO MES^XPDUTL(" - Done with BPS NCPDP REJECT CODES")
+12 DO MES^XPDUTL(" ")
+13 QUIT
+14 ;
NRJCT ; New reject explanations
+1 ;;70;Product/Service Not Covered - Plan/Benefit Exclusion
+2 ;;232;Smoker/Non-Smoker Code is not used for this Transaction Code
+3 ;;288;Patient Assignment Indicator is not used for this Trans Code
+4 ;;474;Prescriber Id Qualifier Does Not Precede Prescriber ID
+5 ;;489;DUR Co-Agent ID Qualifier Does Not Precede DUR Co-Agent ID
+6 ;;491;Compound Product ID Qualifier Does Not Precede Compound Product ID
+7 ;;537;Patient Assignment Indicator Value Not Supported
+8 ;;553;Smoker/Non-Smoker Code Value Not Supported
+9 ;;557;COB Segment Present On A Non-COB Claim
+10 ;;4R;Required Question Num/Letter Response for Indicated Document Missing
+11 ;;6G;COB/Other Payments Segment Required For Adjudication
+12 ;;7M;Discrepancy Between Other Coverage Code & Other Coverage Info On File
+13 ;;7P;COB/Other Payments Count Exceeds Number of Supported Payers
+14 ;;7T;Quantity Intended To Be Dispensed Required For Partial Fill Trans
+15 ;;7U;Days Supply Intended To Be Dispensed Required For Partial Fill Trans
+16 ;;8B;Compound Segment Missing On A Compound Claim
+17 ;;8E;M/I DUR/PPS Level Of Effort
+18 ;;8G;Product/Service ID (407-D7) Must Be A Single Zero '0' For Compounds
+19 ;;9K;Compound Ingredient Component Cnt Exceeds Num Of Ingredients Supported
+20 ;;G9;Pharmacy Not Contracted in 90 Day Retail Network
+21 ;;MR;Product Not On Formulary
+22 ;;N4;M/I Medicaid Subrogation Internal Ctrl Number/Transaction Ctrl Number
+23 ;;RM;Compl Trans Not Permitted With Same 'Date Of Service' As Partial Trans
+24 ;;RT;M/I Associated Prescription/Service Reference Number On Partial Trans
+25 ;;T0;Accumulator Month Count Exceeds Number of Occurrences Supported
+26 ;;UU;DAW 0 cannot be submitted on a multi-source drug w/available generics
+27 ;;X3;Out of order Accumulator Months
+28 ;;YA;Compound Ingredient Mod Code Cnt Exceeds Num Of Occurrences Supported
+29 ;;YH;Clinical Information Counter Exceeds Number of Occurrences Supported
+30 ;;Z6;Service Prov Segment Present On A non-Controlled Sub Reporting Trans
+31 ;;
+32 ;
RFIELDS ;Remove obsolete PROFESSIONAL SERVICE CODE
+1 NEW LINE,DATA,NUM,DA,DIK,CNT,DCT
+2 DO MES^XPDUTL(" Deleting obsolete dictionary values")
+3 SET CNT=0
+4 FOR LINE=1:1
SET DATA=$PIECE($TEXT(RFLDS+LINE),";;",2,99)
if DATA=""
QUIT
Begin DoDot:1
+5 SET NUM=$PIECE(DATA,";",1)
SET DIK=$PIECE(DATA,";",2)
SET DCT=$PIECE(DATA,";",3)
+6 SET DA=$ORDER(^BPS(DCT,"B",NUM,""))
+7 IF 'DA
DO MES^XPDUTL(" - No IEN found for entry "_NUM)
QUIT
+8 DO ^DIK
+9 SET CNT=CNT+1
End DoDot:1
+10 DO MES^XPDUTL(" - "_CNT_" entries updated")
+11 DO MES^XPDUTL(" - Done with deleting obsolete dictionary values")
+12 DO MES^XPDUTL(" ")
+13 QUIT
+14 ;
RFLDS ;
+1 ;;PF;^BPS(9002313.21,;9002313.21
+2 ;;
+3 ;