| [613] | 1 | IBNCPDPI ;DALOI/SS - for ECME SCREEN INSURANCE VIEW AND UTILITIES ;05-APR-05 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**276**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; -- main entry point | 
|---|
|  | 5 | Q | 
|---|
|  | 6 | EN ; | 
|---|
|  | 7 | Q | 
|---|
|  | 8 | EN1(DFN) ; | 
|---|
|  | 9 | I $G(DFN)'>0 Q | 
|---|
|  | 10 | Q:$$PFSSON()  ;quit if PFSS is ON | 
|---|
|  | 11 | N J,POP,START,X,VA,ALMBG,DIC,DT,C,CTRLCOL,DILN | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | ;if the user does have IB keys to edit insurances | 
|---|
|  | 14 | I $D(^XUSEC("IB INSURANCE SUPERVISOR",DUZ))!($D(^XUSEC("IB INSURANCE COMPANY ADD",DUZ))) D  Q | 
|---|
|  | 15 | . N D1,DA,DDER,DDH,DIE,DR,I | 
|---|
|  | 16 | . N IBCH,IBCNS,IBCNSEH,IBCNT,IBCPOL,IBDT,IBDUZ,IBFILE,IBLCNT,IBN,IBNEW,IBPPOL | 
|---|
|  | 17 | . N IBTYP,IBYE,IBCDFN,IBCDFND1,IBCGN | 
|---|
|  | 18 | . D EN^VALM("IBNCPDP INSURANCE MANAGEMENT") | 
|---|
|  | 19 | ;if the user doesn't have insurance IB keys | 
|---|
|  | 20 | D | 
|---|
|  | 21 | . N D0,IBCAB,IBCDFN,IBCDFND1,IBCNS,IBCNT,IBCPOL,IBDT,IBEXP1 | 
|---|
|  | 22 | . N IBEXP2,IBFILE,IBLCNT,IBN,IBPPOL | 
|---|
|  | 23 | . D EN1^IBNCPDPV(DFN) | 
|---|
|  | 24 | Q | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | INIT ; -- set up initial variables | 
|---|
|  | 27 | ;DFN should be defined | 
|---|
|  | 28 | I '$D(DFN) Q | 
|---|
|  | 29 | S U="^",VALMCNT=0,VALMBG=1 | 
|---|
|  | 30 | K ^TMP("IBNSM",$J),^TMP("IBNSMDX",$J) | 
|---|
|  | 31 | S IBTYP="P" | 
|---|
|  | 32 | D BLD^IBCNSM | 
|---|
|  | 33 | Q | 
|---|
|  | 34 | ; | 
|---|
|  | 35 | HDR ; -- screen header for initial screen | 
|---|
|  | 36 | D HDR^IBCNSM | 
|---|
|  | 37 | Q | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | HELP ; -- help code | 
|---|
|  | 40 | Q | 
|---|
|  | 41 | ; | 
|---|
|  | 42 | EXIT ; -- exit code | 
|---|
|  | 43 | Q | 
|---|
|  | 44 | ; | 
|---|
|  | 45 | EXPND ; -- expand code | 
|---|
|  | 46 | Q | 
|---|
|  | 47 | ; | 
|---|
|  | 48 | ;check if PFSS On? | 
|---|
|  | 49 | ;returns: | 
|---|
|  | 50 | ; 1 - PFSS is ON | 
|---|
|  | 51 | ; 0 - PFSS is OFF or not installed | 
|---|
|  | 52 | PFSSON() ; | 
|---|
|  | 53 | N BPST | 
|---|
|  | 54 | S BPST=0 | 
|---|
|  | 55 | I $L($T(SWSTAT^IBBAPI))>0 S BPST=+$$SWSTAT^IBBAPI() | 
|---|
|  | 56 | I BPST=1 D  Q 1 | 
|---|
|  | 57 | . W !,"This functionality is not supported on PFSS sites." D PAUSE^VALM1 | 
|---|
|  | 58 | Q 0 | 
|---|
|  | 59 | ;** | 
|---|
|  | 60 | ;API for ECME (DBIA #4721) | 
|---|
|  | 61 | ;Insurance Company lookup API | 
|---|
|  | 62 | ;NOTE: PFSS needs to modify this code to return back values | 
|---|
|  | 63 | ;  from the appropriate PFSS file instead of ALL ("0") | 
|---|
|  | 64 | ;input: | 
|---|
|  | 65 | ; PRMTMSG - prompt message | 
|---|
|  | 66 | ; DFLTVAL - INSURANCE NAME as a default value for the prompt (optional) | 
|---|
|  | 67 | ;output: | 
|---|
|  | 68 | ; IEN^INSURANCE_NAME^PFSS_STATUS | 
|---|
|  | 69 | ;   0^^PFSS_STATUS  means ALL selected (temporary solution for PFSS sites) | 
|---|
|  | 70 | ;  -1^^PFSS_STATUS  nothing was selected, timeout expired or uparrow entered | 
|---|
|  | 71 | ; where: IEN is record number in file #36. | 
|---|
|  | 72 | ; PFSS_STATUS - the value returned by the PFSS switch: 0 - OFF, 1- ON | 
|---|
|  | 73 | SELINSUR(PRMTMSG,DFLTVAL) ;*/ | 
|---|
|  | 74 | N Y,DUOUT,DTOUT,IBQUIT,DIROUT,IBPFSS | 
|---|
|  | 75 | S IBPFSS=$$PFSSON() | 
|---|
|  | 76 | ;PFSS needs to modify this code to return back | 
|---|
|  | 77 | ;selection in new PFSS file instead of ALL ("0") | 
|---|
|  | 78 | I IBPFSS=1 Q "0^^"_IBPFSS | 
|---|
|  | 79 | S IBQUIT=0 | 
|---|
|  | 80 | N DIC | 
|---|
|  | 81 | S DIC="^DIC(36," | 
|---|
|  | 82 | S DIC(0)="AEMNQ" | 
|---|
|  | 83 | S:$L($G(DFLTVAL))>0 DIC("B")=DFLTVAL | 
|---|
|  | 84 | S DIC("A")=PRMTMSG_": " | 
|---|
|  | 85 | D ^DIC | 
|---|
|  | 86 | I (Y=-1)!$D(DUOUT)!$D(DTOUT) S IBQUIT=1 | 
|---|
|  | 87 | I IBQUIT=1 Q "-1^^"_IBPFSS | 
|---|
|  | 88 | Q Y_U_IBPFSS | 
|---|
|  | 89 | ; | 
|---|
|  | 90 | ;API for ECME (DBIA #4729) | 
|---|
|  | 91 | ;Determine Bill# and Account Receivable information about the bill | 
|---|
|  | 92 | ;input: | 
|---|
|  | 93 | ; IBRX - pointer to file #52 (internal prescription number) | 
|---|
|  | 94 | ; IBREF - re-fill number | 
|---|
|  | 95 | ;output: | 
|---|
|  | 96 | ;Returns a string of information about the bill requested: | 
|---|
|  | 97 | ; piece #1:  Bill number (field(#.01) of file (#399)) | 
|---|
|  | 98 | ; piece #2:  Original Amount of bill | 
|---|
|  | 99 | ; piece #3:  Current Status (pointer to file #430.3) | 
|---|
|  | 100 | ; piece #4:  Current Balance | 
|---|
|  | 101 | ; piece #5:  Total Collected | 
|---|
|  | 102 | ; piece #6:  % Collected Returns null if no data or bill found. | 
|---|
|  | 103 | ; piece #7:  PFSS switch status: 0-OFF, 1-ON | 
|---|
|  | 104 | ;On PFSS site the API will always return "^^^^^^1" | 
|---|
|  | 105 | ; | 
|---|
|  | 106 | BILLINFO(IBRX,IBREF) ; | 
|---|
|  | 107 | N IBIEN,IBBNUM,RCRET | 
|---|
|  | 108 | N IBPFSS,IBRETV | 
|---|
|  | 109 | S RCRET="",IBRETV="" | 
|---|
|  | 110 | S IBPFSS=$$PFSSON() | 
|---|
|  | 111 | I IBPFSS=1 S $P(IBRETV,U,7)=IBPFSS Q IBRETV | 
|---|
|  | 112 | S IBBNUM=$$BILL^IBNCPDPU(IBRX,IBREF) | 
|---|
|  | 113 | I IBBNUM]"" D | 
|---|
|  | 114 | .S IBIEN=$O(^DGCR(399,"B",IBBNUM,"")) Q:IBIEN="" | 
|---|
|  | 115 | .S RCRET=$$BILL^RCJIBFN2(IBIEN) | 
|---|
|  | 116 | S IBRETV=IBBNUM_U_RCRET | 
|---|
|  | 117 | S $P(IBRETV,U,7)=IBPFSS | 
|---|
|  | 118 | Q IBRETV | 
|---|
|  | 119 | ; | 
|---|
|  | 120 | ;entry point for TPJI option of the ECME User Screen | 
|---|
|  | 121 | TPJI(DFN) ; | 
|---|
|  | 122 | Q:$$PFSSON()  ;quit if PFSS is ON | 
|---|
|  | 123 | I DFN>0 D EN^IBJTLA | 
|---|
|  | 124 | Q | 
|---|
|  | 125 | ; | 
|---|