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

ABSPOSS8.m

Go to the documentation of this file.
  1. ABSPOSS8 ; IHS/FCS/DRS - 9002313.99 ;
  1. ;;1.0;PHARMACY POINT OF SALE;**19,39,45,46,48**;JUN 21, 2001;Build 38
  1. ;----------------------------------------------------------------------
  1. ;IHS/SD/RLT 11/7/06 - Patch 19
  1. ; Force user to run BAS setup option first. Running other options
  1. ; first causes error creating the ^ABSP(9002313.99,1,0) node.
  1. ;
  1. Q
  1. PART1 ;EP - option ABSP SETUP PART 1 - the basic setup
  1. W !!,"Edit Pharmacy POS configuration",!
  1. W !!,"Answer with '?' for help at any question.",!
  1. D NEW99
  1. N DIE,DA,DR,DIDEL,DTOUT
  1. S DIE=9002313.99,DA=1
  1. S DR="943R~How will data be input to Point of Sale?"
  1. S DR=DR_";440.01R~What is the default dial-out to send claims to?"
  1. S DR=DR_";1501To get an outside line, what number should be dialed?"
  1. S DR=DR_";170.01R~What Accounts Receivable system is used?"
  1. D ^DIE
  1. ;IHS/OIT/CNI/SCR 042610 patch 39 START changes to add parameter that will keep rejects from passing to IHS 3PB
  1. S ABSP3PB=$P($G(^ABSP(9002313.99,1,"A/R INTERFACE")),U,1) ;'3' FOR IHS 3RD PARTY BILLING;
  1. I ABSP3PB=3 D
  1. .S DIE=9002313.99,DA=1
  1. .S DR="170.02R~Send POS rejected claims to 3PB/AR?" ;IHS/OIT/CNI/SCR 042610 patch 39 add paramater to keep rejects from crossing to 3PB
  1. .D ^DIE
  1. ;IHS/OIT/CNI/SCR 042610 patch 39 END changes to add parameter that will keep rejects from passing to IHS 3PB
  1. W !!,"Now set up the STANDARD Pricing Formula. (Different pricing",!
  1. W "policies for different insurers can be established later.)",!
  1. S DIE=9002313.53,DA=1
  1. S DR=".02R~Where do we find the UNIT PRICE of a drug?"
  1. S DR=DR_";.04R~Multiply the unit price by what factor (1 = 100%, .95 = 95%, etc.) ?"
  1. S DR=DR_";.05R~What is the default DISPENSING FEE?"
  1. D ^DIE
  1. Q
  1. NEW99 ; create new entry in 9002313.99
  1. Q:$P($G(^ABSP(9002313.99,1,0)),U)]"" ; already has an entry
  1. N FDA,IEN,MSG
  1. S FDA(9002313.99,"+1,",.01)="POINT OF SALE SETUP"
  1. S FDA(9002313.99,"+1,",951)=30 ; insurance grace period default
  1. N99A D UPDATE^DIE("","FDA","IEN","MSG")
  1. I $D(MSG) D LOG^ABSPOSL2("N99A^ABSPOSS8",.MSG) ; /IHS/OIT/RAM ; 12 JUN 17 ; AND LOG IT IF AN ERROR OCCURS.
  1. I '$D(MSG),IEN(1)=1,$D(^ABSP(9002313.99,1,0)) D Q ; success
  1. . ; Insurance base scores - default to Private primary,
  1. . ; Medicaid secondary, Medicare tertiary, No insurance last
  1. . S ^ABSP(9002313.99,1,"INS BASE SCORES")="900^300^600^300^100"
  1. ; Failure:
  1. D ZWRITE^ABSPOS("FDA","IEN","MSG")
  1. G N99A:$$IMPOSS^ABSPOSUE("FM","TRI","UPDATE^DIE failed",,"N99A",$T(+0))
  1. Q
  1. CHK1 ;Set out of order messages on the following options
  1. ;if ^ABSP(9002313.99,1,0) node doesn't exist.
  1. ;Force user to run BAS option first.
  1. ;Once BAS option is run remove out of order message.
  1. ;Ran from ABSP SETUP MENU and ABSP SETUP PART 1 options.
  1. ;IHS/SD/RLT - 11/7/06 - Patch 19
  1. ;
  1. N OPTNAME,OPTCNT,OPTMSG,OPTMSG2,OPTIEN
  1. ;
  1. S OPTNAME(1)="ABSP SETUP ILC AR"
  1. S OPTNAME(2)="ABSP SETUP DIAL OUT MENU"
  1. S OPTNAME(3)="ABSP SETUP PHARMACY"
  1. S OPTNAME(4)="ABSP SETUP INSURANCE MENU"
  1. S OPTNAME(5)="ABSP SETUP USERS"
  1. S OPTNAME(6)="ABSP UNBILLABLE MENU"
  1. S OPTNAME(7)="ABSP SETUP PRICING"
  1. S OPTNAME(8)="ABSP SETUP MISC."
  1. S OPTNAME(9)="ABSP PROVIDER #S EDIT"
  1. ;
  1. I $D(^ABSP(9002313.99,1,0)) S OPTMSG="@"
  1. E S OPTMSG="Basic setup NOT complete - Contact site MGR"
  1. ;
  1. F OPTCNT=1:1:9 D
  1. . D ^XBFMK ;kill FileMan variables
  1. . S OPTIEN=0
  1. . S OPTIEN=$O(^DIC(19,"B",OPTNAME(OPTCNT),OPTIEN))
  1. . Q:OPTIEN=""
  1. . S OPTMSG2=$P($G(^DIC(19,OPTIEN,0)),U,3)
  1. . I OPTMSG'="@"&(OPTMSG2'="") Q
  1. . I OPTMSG'="@"&(OPTMSG2="Basic setup NOT complete - Contact site MGR") Q
  1. . I OPTMSG="@"&(OPTMSG2'="Basic setup NOT complete - Contact site MGR") Q
  1. . S DIE=19,DA=OPTIEN
  1. . S DR="2///^S X=OPTMSG"
  1. . D ^DIE
  1. Q
  1. INS ;EP - option ABSP INSURANCE SEL
  1. N DIE,DA,DR,DIDEL,DTOUT
  1. S DIE=9002313.99,DA=1
  1. W !!,"The insurance selection ""grace period"" means that if the",!
  1. W "registration data shows that insurance has expired, but the",!
  1. W "expiration was within N days prior to the prescription fill",!
  1. W "date, we assume that the coverage was renewed.",!
  1. W "This is a system-wide default setting; you can override it later",!
  1. W "on an insurer-by-insurer basis.",!
  1. S DR="951Grace period default"
  1. D ^DIE
  1. ;
  1. W !!,"Enter the base scores for each insurance type.",!
  1. W !,"For example, if Private insurance is usually primary,",!
  1. W ?10,"and Medicaid is secondary and Medicare is tertiary",!
  1. W "then you might give Private 900 points, Medicaid 600 points,",!
  1. W "Medicare and Railroad each 300 points and Self pay 100 points.",!
  1. W !
  1. S DR="960.01;960.03;960.02;960.04;960.05"
  1. D ^DIE
  1. ;
  1. ;OIT/CAS/RCS 112712 Patch 45 - Add Default ICD10 Insurer effective date
  1. W !!,"Enter the ICD10 default date for POS insurers."
  1. W !,"You will have the ability to override this effective date"
  1. W !,?5,"for the individual Insurer using the ADV option.",!
  1. W !
  1. S DR="800Default ICD10 effective date"
  1. D ^DIE
  1. ;
  1. ;OIT/CAS/RCS 080913 Patch 46 - Add Maximum Dollar Limit
  1. W !!,"Enter the Maximum Dollar Limit."
  1. W !,"Any Claim that is billed higher than this limit,"
  1. W !,"will automatically be sent to paper for review.",!
  1. W !
  1. S DR="801Maximum Dollar Limit"
  1. D ^DIE
  1. ;
  1. N ALLRULES,MYRULES
  1. 11 S (ALLRULES,MYRULES)=0 ; have we printed them yet?
  1. 10 W !!,"Select any additional insurance rules that might",!
  1. W "be needed for distinguishing among private insurances.",!
  1. I 'ALLRULES,$$ALLRULES D G 10
  1. . D TEMPLATE^ABSPOSS2("ABSP INSURANCE RULES AVAIL",9002313.94)
  1. . S ALLRULES=1
  1. I 'MYRULES,$$MYRULES D RPTINUSE S MYRULES=1 G 10
  1. W !,"Usually, the plus points value for a rule is about 10 or 20",!
  1. W "and the minus points value is 0."
  1. W "If you need a new rule which isn't shown in the list,",!
  1. W "the Point of Sale programmer will have to add it.",!
  1. W "The INS RULE ORDER tells what order the rules are applied,",!
  1. W "from low to high. 10, 20, 30, etc. are good choices for ORDER.",!
  1. S DIE=9002313.99,DR=970.01,DA=1
  1. D ^DIE
  1. I $$ANYINUSE I $$MYRULES D RPTINUSE
  1. I $$MOREEDIT G 11
  1. ;
  1. W !!,"This concludes the system-wide insurance setup.",!
  1. W "Remember, there is another setup program to setup specific",!
  1. W "insurers with their electronic formats, insurance selection",!
  1. W "settings, grace period override, etc.",!
  1. N % R %:10,!
  1. Q
  1. ANYINUSE() ;EP - ABSPOSS1
  1. Q $O(^ABSP(9002313.99,1,"INS RULES",0))
  1. RPTINUSE ;EP - ABSPOSS1
  1. D TEMPLATE^ABSPOSS2("ABSP INSURANCE RULES IN-USE",9002313.99) Q
  1. ALLRULES() Q $$YESNO("Do you want to see a list of all the AVAILABLE rules")
  1. MYRULES() Q $$YESNO("Do you want to see a list of the rules that are IN USE now")
  1. MOREEDIT() Q $$YESNO("Do you want to go back and edit the rules again")
  1. YESNO(TEXT) ;EP - ABSPOSS3
  1. Q $$YESNO^ABSPOSU3(TEXT,"NO",1,60)=1