| 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
 | 
|---|