| 1 | ORWDBA18 ; SLC/GDU - Billing Awareness - Phase I [10/18/04 10:30] | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997 | 
|---|
| 3 | ; | 
|---|
| 4 | ;Enable Billing Awareness By User Parameter Module | 
|---|
| 5 | ;ORWDBA18 - Assign the parameter utilities | 
|---|
| 6 | ; | 
|---|
| 7 | SETUP ;Run temp global kill, build assigned list, build unassigned list | 
|---|
| 8 | D KTG,LISTA,LISTU Q | 
|---|
| 9 | ; | 
|---|
| 10 | KTG ;Kill the temp globals used by this program | 
|---|
| 11 | K ^TMP("ORPAL",$J),^TMP("ORPUL",$J) Q | 
|---|
| 12 | LISTA ;Build a list of providers with the parameter already assigned to them. | 
|---|
| 13 | N ORERR,PIV,NAME,X | 
|---|
| 14 | S (ORERR,X)="",U="^" | 
|---|
| 15 | D ENVAL^XPAR("^TMP(""ORPAL"",$J,""A"")","OR BILLING AWARENESS BY USER",1,.ORERR,1) | 
|---|
| 16 | Q:^TMP("ORPAL",$J,"A")=0 | 
|---|
| 17 | F  S X=$O(^TMP("ORPAL",$J,"A",X)) Q:X=""  D | 
|---|
| 18 | . S IEN=$P(X,";"),PIV=^TMP("ORPAL",$J,"A",X,1) | 
|---|
| 19 | . S NAME=$$GET1^DIQ(200,IEN,.01) | 
|---|
| 20 | . S ^TMP("ORPAL",$J,"B",IEN)=NAME_U_PIV | 
|---|
| 21 | Q | 
|---|
| 22 | LISTU ;Build a list of providers who have not been assigned the parameter | 
|---|
| 23 | N CNT,IEN,PRVKEY,NAME | 
|---|
| 24 | S (NAME,IEN,PRVKEY)="",(CNT,^TMP("ORPUL",$J,"A"))=0 | 
|---|
| 25 | F  S NAME=$O(^VA(200,"B",NAME)) Q:NAME=""  D | 
|---|
| 26 | . S IEN=$QS($Q(^VA(200,"B",NAME)),4) | 
|---|
| 27 | . S PRVKEY=$$PRVKEY^ORWDBA1(IEN)  ;Check for provider key | 
|---|
| 28 | . I PRVKEY=0 Q  ;If not a provider quit | 
|---|
| 29 | . I $D(^TMP("ORPAL",$J,"B",IEN))=1 Q  ;If already assigned quit | 
|---|
| 30 | . ;Build ^TMP("ORPUL" | 
|---|
| 31 | . S CNT=CNT+1,^TMP("ORPUL",$J,"A")=CNT | 
|---|
| 32 | . S ^TMP("ORPUL",$J,"B",CNT)=NAME_U_IEN | 
|---|
| 33 | . S ^TMP("ORPUL",$J,"C",NAME)=CNT | 
|---|
| 34 | Q | 
|---|
| 35 | ALERT ;Alert the user, all providers have been assigned the parameter | 
|---|
| 36 | ;Kill temp globals and quit | 
|---|
| 37 | N DIR | 
|---|
| 38 | D SCRHDR S DIR(0)="E" | 
|---|
| 39 | W !!,$P($T(ALLPA),";",2),!! | 
|---|
| 40 | D ^DIR K DIR | 
|---|
| 41 | D KTG Q | 
|---|
| 42 | ; | 
|---|
| 43 | DISPRV ;Displays the providers in the unassigned list for user selection | 
|---|
| 44 | ;PRVNAME is set to null in ORWDBA8 and is reset based on user selection | 
|---|
| 45 | ;Selection of Q for quit, timeout, and up arrow will set PRVNAME to Q | 
|---|
| 46 | ;Selection of provider will set PRVNAME to the selected provider's name | 
|---|
| 47 | ;Prepare for display of providers | 
|---|
| 48 | ;N CNT,DIR,DTOUT,DUOUT,FST,HC,U,X,Y | 
|---|
| 49 | S FST=1,U="^" | 
|---|
| 50 | DPO ;Display process starts here | 
|---|
| 51 | D SCRHDR | 
|---|
| 52 | S (X,Y)="",CNT=0,HC=1,DIR(0)=$P($T(SOOPT),";",3) | 
|---|
| 53 | F X=FST:1:10+(FST-1) Q:$D(^TMP("ORPUL",$J,"B",X))=0  D | 
|---|
| 54 | . S CNT=CNT+1 S:CNT>10 CNT=1 | 
|---|
| 55 | . S DIR(0)=DIR(0)_CNT_":"_$P(^TMP("ORPUL",$J,"B",X),U)_";" | 
|---|
| 56 | S:CNT=10 DIR(0)=DIR(0)_";"_$P($T(D0N),";",3) | 
|---|
| 57 | S:FST>10 DIR(0)=DIR(0)_";"_$P($T(D0P),";",3) | 
|---|
| 58 | S DIR(0)=DIR(0)_";"_$P($TEXT(D0Q),";",3) | 
|---|
| 59 | S DIR("A")=$P($T(DA),";",3) | 
|---|
| 60 | S DIR("?",HC)=$P($T(DH),";",3) | 
|---|
| 61 | S:CNT=10 HC=HC+1,DIR("?",HC)=$P($T(DHN),";",3) | 
|---|
| 62 | S:FST>10 HC=HC+1,DIR("?",HC)=$P($T(DHP),";",3) | 
|---|
| 63 | S DIR("?")=$P($T(DHQ),";",3) | 
|---|
| 64 | D ^DIR K DIR | 
|---|
| 65 | I Y="Q"!(Y="")!($D(DTOUT))!($D(DUOUT)) S PRVNAME="Q" Q | 
|---|
| 66 | I Y="N"!(Y="P") S FST=$S(Y="N":FST+10,1:FST-10) G DPO | 
|---|
| 67 | S PRVNAME=Y(0) Q | 
|---|
| 68 | CONMAS ;Confirm the mass assignment of the parameter | 
|---|
| 69 | ;MRC is set to null and ORWDBA8 and reset based on user selection here | 
|---|
| 70 | ;DIR array is set to values based on user selection in ORWDBA8 | 
|---|
| 71 | ;Selection of NO, timeout, and up arrow will set MRC=0 | 
|---|
| 72 | ;Selection of YES will set MRC=1 | 
|---|
| 73 | S Y="" D SCRHDR,^DIR K DIR I Y="NO"!($D(DTOUT))!($D(DUOUT)) S MRC=0 Q | 
|---|
| 74 | S MRC=1 Q | 
|---|
| 75 | MASASN ;Mass Assignment of the parameter | 
|---|
| 76 | ;SEL is set in ORWDBA8 by user selection. | 
|---|
| 77 | ;SEL="E", the parameter is set to 1 to enable Billing Data Capture | 
|---|
| 78 | ;SEL="D", the parameter is set to 0 to disable Billing Data Capture | 
|---|
| 79 | N DIR,ENT,ORERR,INST,PAR,U,VAL,X | 
|---|
| 80 | S (ENT,X)="",U="^",INST=1,VAL=$S(SEL="E":1,1:0) | 
|---|
| 81 | S PAR=$QS($Q(^XTV(8989.1,"B","OR BILLING AWARENESS BY USER")),4) | 
|---|
| 82 | D SCRHDR W !! | 
|---|
| 83 | F X=1:1:^TMP("ORPUL",$J,"A") D | 
|---|
| 84 | . W "." | 
|---|
| 85 | . S ENT=$P(^TMP("ORPUL",$J,"B",X),U,2)_";VA(200," | 
|---|
| 86 | . D ADD^XPAR(ENT,PAR,INST,VAL,.ORERR) | 
|---|
| 87 | S DIR(0)="E",DIR("A")=$S(SEL="E":$P($T(MEC),";",3),1:$P($T(MDC),";",3)) | 
|---|
| 88 | D ^DIR K DIR Q | 
|---|
| 89 | SCRHDR ;Screen Header | 
|---|
| 90 | W:$D(IOF) @IOF | 
|---|
| 91 | W !,$P($T(SH),";",3),! | 
|---|
| 92 | W:SEL="" $P($T(SHA),";",3) | 
|---|
| 93 | W:SEL="E" $P($T(SHAE),";",3) | 
|---|
| 94 | W:SEL="D" $P($T(SHAD),";",3) | 
|---|
| 95 | W:SEL="I" $P($T(SHAI),";",3) | 
|---|
| 96 | Q | 
|---|
| 97 | ;;Text for user messages, selection options, user help | 
|---|
| 98 | ALLPA ;;All providers have been assigned the parameter. | 
|---|
| 99 | SOOPT ;;SO^ | 
|---|
| 100 | SXOPT ;;SX^ | 
|---|
| 101 | SH ;;Enable Clinical Indicator Data Capture By Provider Parameter Management | 
|---|
| 102 | SHA ;;Assign Parameter To Provider Option | 
|---|
| 103 | SHAE ;;Assign/Enable Parameter For All Providers Option | 
|---|
| 104 | SHAD ;;Assign/Disable Parameter For All Providers Option | 
|---|
| 105 | SHAI ;;Assign and Enable/Disable Parameter By Individual Provider Option | 
|---|
| 106 | MMPA ;;All providers have the Enable CIDC By User parameter assigned. | 
|---|
| 107 | DH ;;Select the provider who the parameter will be assigned to. | 
|---|
| 108 | DHN ;;Enter N to get the next 10 providers in the list. | 
|---|
| 109 | DHP ;;Enter P to get the previous 10 providers in the list. | 
|---|
| 110 | DHQ ;;Enter Q to quit and return to previous menu. | 
|---|
| 111 | D0N ;;N:Next 10 providers | 
|---|
| 112 | D0P ;;P:Previous 10 providers | 
|---|
| 113 | D0Q ;;Q:Quit | 
|---|
| 114 | DA ;;Select the provider to assign the parameter | 
|---|
| 115 | MEP ;;Now assigning and enabling the Clinical Indicatr Data Capture parameter | 
|---|
| 116 | MEC ;;Assignment and enable Clinical Indicator Data Capture complete | 
|---|
| 117 | MDP ;;Now assigning and disabling the Clinical Indicator Data Capture parameter | 
|---|
| 118 | MDC ;;Assignment and disable Clinical Indicator Data Capture complete | 
|---|