| 1 | ORWDBA12 ; SLC/GDU - Billing Awareness - Phase I [10/18/04 10:24]
 | 
|---|
| 2 |  ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;Enable Clinical Indicator Data Capture By Provider Parameter Module
 | 
|---|
| 5 |  ;ORWDBA12 - Delete the assigned parameter
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;This program is used to delete the assigned parameter of a selected
 | 
|---|
| 8 |  ;provider.
 | 
|---|
| 9 |  ;
 | 
|---|
| 10 |  ;Programs Called:
 | 
|---|
| 11 |  ; GETS^DIQ      Silent FileMan DBS call to get provider information
 | 
|---|
| 12 |  ; ^DIR          General purpose response reader
 | 
|---|
| 13 |  ; DEL^XPAR      Deletes the selected parameter
 | 
|---|
| 14 |  ; ENVAL^XPAR    Returns list of records related to the parameter
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  ;Variables used:
 | 
|---|
| 17 |  ; BAEI       Billing Awareness Enabled Parameter Internal value
 | 
|---|
| 18 |  ; DIR        Input array variable for ^DIR
 | 
|---|
| 19 |  ; DTOUT      Timeout indicator output variable for ^DIR
 | 
|---|
| 20 |  ; DUOUT      Up Arrow '^' indictor output variable for ^DIR
 | 
|---|
| 21 |  ; ENT        Enitity, input variable for ^XPAR
 | 
|---|
| 22 |  ; ORERR      Error, output variable for ^XPAR, and ^DIQ
 | 
|---|
| 23 |  ; FILE       File number, input variable for ^DIQ
 | 
|---|
| 24 |  ; FLD        Field number, input variable for ^DIQ
 | 
|---|
| 25 |  ; FLG        Flag, input parameters variable for ^DIQ
 | 
|---|
| 26 |  ; FST        Work variable controls build of user selection display
 | 
|---|
| 27 |  ; GBL        Global, input parameter to direct ^XPAR output to a global
 | 
|---|
| 28 |  ; HC         Help Count, work variable to set help text lines for ^DIR
 | 
|---|
| 29 |  ; INST       Instance, input variable for ^XPAR
 | 
|---|
| 30 |  ; LIST       List, output variable for ^XPAR
 | 
|---|
| 31 |  ; OPTCNT     Option Count, counter variable to build options display
 | 
|---|
| 32 |  ;            input variable for ^DIR
 | 
|---|
| 33 |  ; PAR        Parameter, IEN of the parameter being worked with, input
 | 
|---|
| 34 |  ;            variable for ^XPAR
 | 
|---|
| 35 |  ; PRVCNT     Provider Count, counter variable to determine the number
 | 
|---|
| 36 |  ;            of providers with the parameter assigned to them
 | 
|---|
| 37 |  ; PRVIEN     Provider IEN, the internal entry number of the provider
 | 
|---|
| 38 |  ; PRVNAME    Provider Name, the name of the provider
 | 
|---|
| 39 |  ; RF         Record Found, output variable for ^DIQ
 | 
|---|
| 40 |  ; SELKEY     Selected Key, work variable the IEN of the temp global
 | 
|---|
| 41 |  ;            indicating the user's selection.
 | 
|---|
| 42 |  ; U          Delemiter variable, defaulted to ^
 | 
|---|
| 43 |  ; X          Standard work variable
 | 
|---|
| 44 |  ; Y          Processed user selection output variable for ^DIC
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ;Globals Used:
 | 
|---|
| 47 |  ;^XTV(8989.51,"B"
 | 
|---|
| 48 |  ;    Standard B index for the Parameters file.
 | 
|---|
| 49 |  ;    ^XTV(8989.51,"B",Parameter Name,Parameter IEN)
 | 
|---|
| 50 |  ;^TMP("ORPAL",$J
 | 
|---|
| 51 |  ;    Multipurpose temp global used for the delete process
 | 
|---|
| 52 |  ;    Output global for ^XPAR
 | 
|---|
| 53 |  ;    ^TMP("ORPAL",$J,"A")=total records returned
 | 
|---|
| 54 |  ;    ^TMP("ORPAL",$J,"A",Provider IEN_";VA(200,",1)=parameter value
 | 
|---|
| 55 |  ;    First pass processing of ^XPAR output
 | 
|---|
| 56 |  ;    ^TMP("ORPAL",$J,"B",Provider Name)=IEN^param value
 | 
|---|
| 57 |  ;    Second pass processing of ^XPAR output, work data for program
 | 
|---|
| 58 |  ;    ^TMP("ORPAL",$J,"C",Record Count)=Name^IEN^param value
 | 
|---|
| 59 |  ;    Third pass processing of ^XPAR output, input data for ^DIR, used
 | 
|---|
| 60 |  ;    to create the user selection interface
 | 
|---|
| 61 |  ;    ^TMP("ORPAL",$J,"D",Provider Name)=Record Count from "C"
 | 
|---|
| 62 | MAIN ;Main starting point for the delete assigned Enable BA By User
 | 
|---|
| 63 |  ;process
 | 
|---|
| 64 |  N BAEI,DIR,DTOUT,DUOUT,ENT,ORERR,FILE,FLD,FLG,FST,GBL,HC,INST,LIST
 | 
|---|
| 65 |  N OPTCNT,PAR,PRVCNT,PRVIEN,PRVNAME,RF,SELKEY,U,X,Y
 | 
|---|
| 66 |  K ^TMP("ORPAL",$J),^TMP("SPL",$J)
 | 
|---|
| 67 |  S U="^",(INST,GBL)=1
 | 
|---|
| 68 |  S PAR=$QS($Q(^XTV(8989.51,"B","OR BILLING AWARENESS BY USER")),4)
 | 
|---|
| 69 | BLDLST ;Build list of providers with the Enable CIDC By User parameter already
 | 
|---|
| 70 |  ;assigned to them.
 | 
|---|
| 71 |  S LIST="^TMP(""ORPAL"",$J,""A"")"
 | 
|---|
| 72 |  D ENVAL^XPAR(LIST,PAR,INST,.ORERR,GBL)
 | 
|---|
| 73 |  I ^TMP("ORPAL",$J,"A")=0 D  G EXIT
 | 
|---|
| 74 |  . D SCRHDR
 | 
|---|
| 75 |  . S DIR(0)="E"
 | 
|---|
| 76 |  . S DIR("A",1)=$P($T(NPA1),";",2)
 | 
|---|
| 77 |  . S DIR("A",2)=$P($T(NPA2),";",2)
 | 
|---|
| 78 |  . S DIR("A",3)=$P($T(NPA3),";",2)
 | 
|---|
| 79 |  . S DIR("A")=$P($T(NPA4),";",2)
 | 
|---|
| 80 |  . W !!! D ^DIR K DIR
 | 
|---|
| 81 |  S FILE=200,FLD=.01,(BAEI,FLG,PRVIEN,PRVNAME,X)=""
 | 
|---|
| 82 |  F  S X=$O(^TMP("ORPAL",$J,"A",X)) Q:X=""  D
 | 
|---|
| 83 |  . S PRVIEN=$P(X,";")
 | 
|---|
| 84 |  . S BAEI=^TMP("ORPAL",$J,"A",X,1)
 | 
|---|
| 85 |  . K RF,ERR
 | 
|---|
| 86 |  . D GETS^DIQ(FILE,PRVIEN,FLD,FLG,"RF","ERR")
 | 
|---|
| 87 |  . S PRVNAME=RF(FILE,PRVIEN_",",.01)
 | 
|---|
| 88 |  . S ^TMP("ORPAL",$J,"B",PRVNAME)=PRVIEN_U_BAEI
 | 
|---|
| 89 |  S PRVNAME="",PRVCNT=0
 | 
|---|
| 90 |  F  S PRVNAME=$O(^TMP("ORPAL",$J,"B",PRVNAME)) Q:PRVNAME=""  D
 | 
|---|
| 91 |  . S PRVCNT=PRVCNT+1
 | 
|---|
| 92 |  . S ^TMP("ORPAL",$J,"C",PRVCNT)=PRVNAME_U_^TMP("ORPAL",$J,"B",PRVNAME)
 | 
|---|
| 93 |  S PRVNAME="",PRVCNT=0
 | 
|---|
| 94 |  F  S PRVCNT=$O(^TMP("ORPAL",$J,"C",PRVCNT)) Q:PRVCNT=""  D
 | 
|---|
| 95 |  . S PRVNAME=$P(^TMP("ORPAL",$J,"C",PRVCNT),U)
 | 
|---|
| 96 |  . S ^TMP("ORPAL",$J,"D",PRVNAME)=PRVCNT
 | 
|---|
| 97 |  S FST=1  ;Prepare for display
 | 
|---|
| 98 | DISOPT ;Display the list of providers with the Enable BDC By User parameter
 | 
|---|
| 99 |  ;assigned to them. The user selects from this list the provider
 | 
|---|
| 100 |  ;whose parameter is to be deleted.
 | 
|---|
| 101 | DO1 S FST=1  ;Prepare for display
 | 
|---|
| 102 | DO2 D SCRHDR  ;Display starts here
 | 
|---|
| 103 |  S (OPTCNT,PRVNAME,X)="",DIR(0)="SO"_U
 | 
|---|
| 104 |  F X=FST:1:10+(FST-1) Q:$D(^TMP("ORPAL",$J,"C",X))=0  D
 | 
|---|
| 105 |  . S OPTCNT=OPTCNT+1
 | 
|---|
| 106 |  . S:OPTCNT>10 OPTCNT=1
 | 
|---|
| 107 |  . S PRVNAME=$P(^TMP("ORPAL",$J,"C",X),U)
 | 
|---|
| 108 |  . S DIR(0)=DIR(0)_OPTCNT_":"_PRVNAME_";"
 | 
|---|
| 109 |  S:OPTCNT=10 DIR(0)=DIR(0)_";"_$P($T(D0N),";",2)
 | 
|---|
| 110 |  S:FST>10 DIR(0)=DIR(0)_";"_$P($T(D0P),";",2)
 | 
|---|
| 111 |  S DIR(0)=DIR(0)_";"_$P($T(D0Q),";",2)
 | 
|---|
| 112 |  S HC=1,DIR("?",HC)=$P($T(DHD),";",2)
 | 
|---|
| 113 |  S:OPTCNT=10 HC=HC+1,DIR("?",HC)=$P($T(DHN),";",2)
 | 
|---|
| 114 |  S:FST>10 HC=HC+1,DIR("?",HC)=$P($T(DHP),";",2)
 | 
|---|
| 115 |  S DIR("A")=$P($T(DAD),";",2)
 | 
|---|
| 116 |  S DIR("?")=$P($T(DHQ),";",2)
 | 
|---|
| 117 |  D ^DIR K DIR
 | 
|---|
| 118 |  I Y="Q"!(Y="")!($D(DTOUT))!($D(DUOUT)) G EXIT
 | 
|---|
| 119 |  I Y="N" S FST=FST+10 G DO2
 | 
|---|
| 120 |  I Y="P" S FST=FST-10 G DO2
 | 
|---|
| 121 |  S PRVNAME=Y(0),(SELKEY,PRVIEN)=""
 | 
|---|
| 122 |  S SELKEY=^TMP("ORPAL",$J,"D",PRVNAME)
 | 
|---|
| 123 |  S PRVIEN=$P(^TMP("ORPAL",$J,"C",SELKEY),U,2)
 | 
|---|
| 124 |  S BAEI=$P(^TMP("ORPAL",$J,"C",SELKEY),U,3)
 | 
|---|
| 125 | DELETE ;Confirm the selected provider and delete the selected provider's
 | 
|---|
| 126 |  ;assigned Enable BDC By User parameter
 | 
|---|
| 127 |  D SCRHDR
 | 
|---|
| 128 |  W !!,$P($P($T(DPM),";",2),"|"),PRVNAME,$P($P($T(DPM),";",2),"|",2)
 | 
|---|
| 129 |  I BAEI=1 W !,$P($T(DPEM),";",2)
 | 
|---|
| 130 |  E  W !,$P($T(DPDM),";",2)
 | 
|---|
| 131 |  S DIR(0)="Y"
 | 
|---|
| 132 |  S DIR("A")=$P($T(DPA),";",2)
 | 
|---|
| 133 |  S DIR("B")="N"
 | 
|---|
| 134 |  S DIR("?",1)=$P($T(DPHY),";",2)
 | 
|---|
| 135 |  S DIR("?")=$P($T(DPHN),";",2)
 | 
|---|
| 136 |  D ^DIR K DIR
 | 
|---|
| 137 |  I $D(DTOUT)!($D(DUOUT)) Q
 | 
|---|
| 138 |  I Y=1 D
 | 
|---|
| 139 |  . S ENT=PRVIEN_";VA(200,"
 | 
|---|
| 140 |  . D DEL^XPAR(ENT,PAR,INST,.ORERR)
 | 
|---|
| 141 | AGAIN ;Ask the user if they want to do the delete process again.
 | 
|---|
| 142 |  S DIR(0)="Y"
 | 
|---|
| 143 |  S DIR("A")=$P($T(ADA),";",2)
 | 
|---|
| 144 |  S DIR("B")="N"
 | 
|---|
| 145 |  S DIR("?",1)=$P($T(ADHY),";",2)
 | 
|---|
| 146 |  S DIR("?")=$P($T(ADHN),";",2)
 | 
|---|
| 147 |  W !! D ^DIR K DIR
 | 
|---|
| 148 |  I Y=1 G MAIN
 | 
|---|
| 149 |  G EXIT
 | 
|---|
| 150 | NPA ;No Parameter Set
 | 
|---|
| 151 |  ;Error trap for no Enable BDC By User parameter are currently assigned
 | 
|---|
| 152 |  D SCRHDR
 | 
|---|
| 153 |  S DIR(0)="E"
 | 
|---|
| 154 |  S DIR("A",1)=$P($T(NPA1),";",2)
 | 
|---|
| 155 |  S DIR("A",2)=$P($T(NPA2),";",2)
 | 
|---|
| 156 |  S DIR("A",3)=$P($T(NPA3),";",2)
 | 
|---|
| 157 |  S DIR("A")=$P($T(NPA4),";",2)
 | 
|---|
| 158 | EXIT ;Common exit point for this program
 | 
|---|
| 159 |  K ^TMP("ORPAL",$J)
 | 
|---|
| 160 |  Q
 | 
|---|
| 161 | SCRHDR ;Screen Header Display
 | 
|---|
| 162 |  W:$D(IOF) @IOF
 | 
|---|
| 163 |  W !,"Enable Clinical Indicator Data Capture By Provider Parameter Management"
 | 
|---|
| 164 |  W !,"Delete Assigned Parameter"
 | 
|---|
| 165 |  Q
 | 
|---|
| 166 |  ;Text for the user prompt in NPA
 | 
|---|
| 167 | NPA1 ;No providers currently have the parameter assigned to them.
 | 
|---|
| 168 | NPA2 ;You will need to select the 'Assign parameter to provider' option and
 | 
|---|
| 169 | NPA3 ;assign this parameter to the providers.
 | 
|---|
| 170 | NPA4 ;Press the return key or '^' to continue
 | 
|---|
| 171 |  ;This is the text to build the DIR variables for use with ^DIR in
 | 
|---|
| 172 |  ;DISOPT
 | 
|---|
| 173 | D0N ;N:Next 10 Providers
 | 
|---|
| 174 | D0P ;P:Previous 10 Providers
 | 
|---|
| 175 | D0Q ;Q:Quit
 | 
|---|
| 176 | DAD ;Select the provider to delete the assigned parameter
 | 
|---|
| 177 | DHD ;Select the provider whose assigned parameter value is to be deleted.
 | 
|---|
| 178 | DHN ;Enter N for the next 10 providers in the list.
 | 
|---|
| 179 | DHP ;Enter P for the previous 10 providers in the list.
 | 
|---|
| 180 | DHQ ;Enter Q to quit and return to the previous menu
 | 
|---|
| 181 |  ;This is the text to build the DIR variable for use with ^DIR in DELETE
 | 
|---|
| 182 |  ;and the user message.
 | 
|---|
| 183 | DPM ;You have selected | to delete.
 | 
|---|
| 184 | DPEM ;Clinical Indicator Data Capture for this provider is currently enabled.
 | 
|---|
| 185 | DPDM ;Clinical Indicator Data Capture for this provider is currently disabled.
 | 
|---|
| 186 | DPA ;Are you sure that you want to delete this provider's parameter
 | 
|---|
| 187 | DPHY ;Enter Y for Yes to confirm deletion of this provider's parameter.
 | 
|---|
| 188 | DPHN ;Enter N for No to not delete this provider's parameter.
 | 
|---|
| 189 |  ;This is the text to build the DIR variable for use with ^DIR in AGAIN
 | 
|---|
| 190 | ADA ;Delete another provider's parameter
 | 
|---|
| 191 | ADHY ;Enter Y for Yes to delete another provider's parameter.
 | 
|---|
| 192 | ADHN ;Enter N for No to not delete another provider's parameter.
 | 
|---|