ORWDBA8 ; SLC/GDU - Billing Awareness - Phase I [11/16/04 15:39]
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
 ;Clinical Indicator Data Capture By Provider Parameter Management
 ;
 ;Varaibles
 ;  CIDC   Clinical Indicator Data Capture Parameter, current value
 ;  CNT    Counter, incremented counter variable
 ;  DIR    Input array variable for ^DIR
 ;  DT     Standard Fileman/Kernel variable for current date
 ;         DT is set, but not newed or killed
 ;  DTOUT  Timeout indicator, output variable of ^DIR
 ;  DUOUT  Up arrow indicator, output variable of ^DIR
 ;  OREM   Error Message, output variable of ^DIC, and ^XPAR
 ;  FST    First, display control varible
 ;  HC     Help Counter, help text line count
 ;  IEN    Internal Entry Number
 ;  IOF    Standard Kernel variable to clear screen
 ;  NAME   Provider Name, parsed from RF output array from FIND^DIC
 ;  NX0    Next group of providers prompt, used to help build DIR(0)
 ;  NXC    Next group of providers count, used to help build DIR(0)
 ;  NXH    Next group of providers help, used to help build DIR("?"
 ;  PTD    Provider Termination Date, internal value
 ;  RF     Records Found, initial user search results
 ;  ORSCR  Screen, input variable to filter search
 ;  SP     Selected Provider
 ;  SV     Search Value
 ;  U      Standard FileMan, Kernel field delimiter
 ;  US     User Selection
 ;  WA     Work Array, filtered array of providers for user selection
 ;  X      Standard FileMan work varaible
 ;  Y      Processed output of user selection, output variable of ^DIR
 ;
 ;External References
 ;  FIND^DIC    DBIA 2051, FileMan record(s) finder
 ;  ^DIR        DBIA 10026, FileMan input reader
 ;  $$GET^XPAR  DBIA 2263, Get current value of single parameter
 ;  ADD^XPAR    DBIA 2263, Add new parameter
 ;  CHG^XPAR    DBIA 2263, Change current value of parameter
 ;  $$DT^XLFDT  DBIA 10103, Gets today's date from the system
 ;
EN ;Starting point of this program
 ;Ask user for provider
 N APS,CIDC,CNT,DIR,DTOUT,DUOUT,OREM,FST,HC,IEN,NAME,NX0,NXC,NXH,RF
 N ORSCR,PTD,SP,SV,US,VAL,WA,X,Y
 S DT=$$DT^XLFDT
 S DIR(0)=$P($T(FT0),";",3)
 S DIR("A")=$P($T(FA),";",3)
 S DIR("?",1)=$P($T(FH1),";",3)
 S DIR("?",2)=$P($T(FH2),";",3)
 S DIR("?")=$P($T(FH3),";",3)
 D SCRHDR W ! D ^DIR S SV=Y K DIR
 I SV=""!($D(DTOUT))!($D(DUOUT)) G EXIT
 S ORSCR="I $D(^XUSEC(""PROVIDER"",Y))=1"
 D FIND^DIC(200,"","@;.01;7;9.2I;9.2","CP",SV,"*","",.ORSCR,"","RF","OREM")
 ;Test if no matching records found. If true alert user.
 I $P(RF("DILIST",0),U)=0 D  G:Y=1 EN G EXIT
 . S DIR(0)="E"
 . S DIR("A",1)=$P($T(UAA1),";",3)_" "_SV
 . S DIR("A")=$P($T(UAA5),";",3)
 . D SCRHDR W ! D ^DIR K DIR
 S (SP,PTD)=""
 ;If search returns only 1 match
 I $P(RF("DILIST",0),U)=1 D
 . S SP=1,PTD=$P(RF("DILIST",SP,0),U,4)
 .;Test if provider is DISUSERED. If true alert user and quit
 . I $P(RF("DILIST",SP,0),U,3)="YES" D  Q
 .. S DIR(0)="E"
 .. S DIR("A",1)=$P(RF("DILIST",SP,0),U,2)_" "_$P($T(UAA2),";",3)
 .. S DIR("A")=$P($T(UAA5),";",3)
 .. D SCRHDR W ! D ^DIR K DIR
 .. S SP=$S(Y=1:"",1:"Q")
 .;Test if provider is terminated. If true alert user and quit
 . I PTD'="",(PTD=DT)!(PTD<DT) D  Q
 .. S DIR(0)="E"
 .. S DIR("A",1)=$P(RF("DILIST",SP,0),U,2)_" "_$P($T(UAA3),";",3)
 .. S DIR("A",1)=DIR("A",1)_" "_$P(RF("DILIST",SP,0),U,5)
 .. S DIR("A")=$P($T(UAA5),";",3)
 .. D SCRHDR W ! D ^DIR K DIR
 .. S SP=$S(Y=1:"",1:"Q")
 . S IEN=$P(RF("DILIST",1,0),U)
 . S NAME=$P(RF("DILIST",1,0),U,2)
 I $P(RF("DILIST",0),U)>1 D
 . S WA(0)=0
 . F X=1:1:$P(RF("DILIST",0),U) D
 .. S PTD=$P(RF("DILIST",X,0),U,4)
 .. I $P(RF("DILIST",X,0),U,3)="",(PTD="")!(PTD>DT) D
 ... S WA(0)=WA(0)+1
 ... S WA(WA(0))=RF("DILIST",X,0)
 . I WA(0)=0 D
 .. ;Alerting the user that this search failed because all providers
 .. ;returned are inactive
 .. S DIR(0)="E"
 .. S DIR("A",1)=$P($T(UAA4),";",3)_" "_SV
 .. S DIR("A")=$P($T(UAA5),";",3)
 .. D SCRHDR W ! D ^DIR K DIR
 .. S SP=$S(Y=1:"",1:"Q")
 . I WA(0)=0 Q
 . I WA(0)=1 S SP=1  ;Default to the single active provider
 . I WA(0)>1 D SPFL  ;Additional selection if several active providers
 . I SP="Q"!(SP="") Q
 . S IEN=$P(WA(SP),U)
 . S NAME=$P(WA(SP),U,2)
 I SP="Q" G EXIT
 I SP="" G EN
 D PSP G EN
EXIT ;Exit point for this program
 Q
FT0 ;;FO^1:40
FA ;;Select the provider to manage the parameter
FH1 ;;Enter the name/partial name of the provider.
FH2 ;;This is free text, 1 to 40 characters in length.
FH3 ;;This search will only return those with the PROVIDER key.
UAA1 ;;Found no provider records matching the search criteria of
UAA2 ;;is a provider who has been DISUSERED.
UAA3 ;;is an inactive provider with a termination date of
UAA4 ;;Found no active provider records matching the search criteria of
UAA5 ;;Hit enter to continue or "^" to quit
SPFL ;Select Provider From List
 I $D(FST)=0 S FST=1
 S DIR(0)="SO^"
 S DIR("?",1)=$P($T(DH),";",3)
 S DIR("?")=$P($T(DHS),";",3)
 S DIR("A")=$P($T(DA),";",3)
 I WA(0)<10 D
 . F X=1:1:WA(0)  S DIR(0)=DIR(0)_X_":"_$P(WA(X),U,2)_";"
 I WA(0)=10 D
 . F X=1:1:10  S DIR(0)=DIR(0)_X_":"_$P(WA(X),U,2)_";"
 I WA(0)>10 D
 . S CNT=0,HC=1,(NXC,NX0,NXH,SP,X,Y)=""
 . F X=FST:1:10+(FST-1) Q:$D(WA(X))=0  D
 .. S CNT=CNT+1
 .. S DIR(0)=DIR(0)_X_":"_$P(WA(X),U,2)_";"
 . S NXC=WA(0)-X,NXC=$S(NXC>10:10,1:NXC)
 . S NX0=$P($P($T(D0N),";",3),"|")_NXC_$P($P($T(D0N),";",3),"|",2)
 . S NXH=$P($P($T(DHN),";",3),"|")_NXC_$P($P($T(DHN),";",3),"|",2)
 . I CNT=10 D
 .. S DIR(0)=DIR(0)_";"_NX0
 .. S HC=HC+1,DIR("?",HC)=NXH
 . I FST>10 D
 .. S DIR(0)=DIR(0)_";"_$P($T(D0P),";",3)
 .. S HC=HC+1,DIR("?",HC)=$P($T(DHP),";",3)
 D SCRHDR,^DIR K DIR
 S SP=Y
 I SP="" Q
 I $D(DTOUT)!($D(DUOUT)) S SP="Q" Q
 I SP="N"!(SP="P") S FST=$S(SP="N":FST+10,1:FST-10) G SPFL
 I SP=""!(SP="Q") Q
 Q
D0N ;;N:Next | provider(s)
D0P ;;P:Previous 10 providers
DH ;;Select the provider for parameter management.
DHN ;;Enter N to get the next | providers.
DHP ;;Enter P to get the previous 10 providers.
DHS ;;Enter "^" to exit or the Enter key to return to provider lookup.
DA ;;Select the provider to assign the parameter
PSP ;Process Selected Provider
 S CIDC=$$GET^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,"Q")
 I CIDC="" D
 . ;Assign the CIDC parameter and enable/disable it
 . S DIR(0)="SO^"_$P($T(AE),";",3)_";"_$P($T(AD),";",3)
 . S DIR("A")=$P($T(AA),";",3)
 . S DIR("?",1)=$P($T(AHE),";",3),DIR("?")=$P($T(AHD),";",3)
 . D SCRHDR
 . W !,$P($T(ASH1),";",3)," ",NAME,!,$P($T(ASH2),";",3)
 . D ^DIR S US=Y K DIR
 . I US=""!($D(DTOUT))!($D(DUOUT)) Q
 . S VAL=$S(US="E":1,1:0),OREM=""
 . D ADD^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,VAL,.OREM)
 E  D
 . ;Edit the CIDC parameter to enable or disable it
 . S DIR(0)="Y"
 . I CIDC=0 S DIR("A")=$P($T(EEA),";",3),DIR("?",1)=$P($T(EHEY),";",3)
 . E  S DIR("A")=$P($T(EDA),";",3),DIR("?",1)=$P($T(EHDY),";",3)
 . S DIR("B")="YES",DIR("?")=$P($T(EHN),";",3)
 . D SCRHDR
 . W !,$P($T(ESH),";",3)_" "_NAME
 . W:CIDC=0 !,$P($T(EESH),";",3)
 . W:CIDC=1 !,$P($T(EDSH),";",3)
 . W ! D ^DIR S US=Y K DIR
 . I US=""!(US=0)!($D(DTOUT))!($D(DUOUT)) Q
 . S OREM="",VAL=$S(CIDC=0:1,1:0)
 . D CHG^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,VAL,.OREM)
 Q
ASH1 ;;Assign CIDC Functionality Parameter to
ASH2 ;;Enable / Disable CIDC Functionality
AE ;;E:Enable CIDC functionality
AD ;;D:Disable CIDC functionality
AA ;;Assign the parameter and enable / disable CIDC functionality
AHE ;;Enter E to assign the parameter and enable CIDC for this provider.
AHD ;;Enter D to assign the parameter and disable CIDC for this provider
ESH ;;Edit Assigned CIDC Functionality Parameter of
EESH ;;CIDC Functionality for this provider is currently DISABLED
EDSH ;;CIDC Functionality for this provider is currently ENABLED
EEA ;;Enable CIDC Functionality (YES/NO)
EDA ;;Disable CIDC Functionality (YES/NO)
EHEY ;;Enter YES to ENABLE CIDC Functionality
EHDY ;;Enter YES to DISABLE CIDC Functionality
EHN ;;Enter NO to leave CIDC Functionality unchanged
 ;
SCRHDR ;Screen Header
 W:$D(IOF) @IOF
 W !,$P($T(SH1),";",3)
 Q
SH1 ;;Clinical Indicator Data Capture By Provider Parameter Management
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORWDBA8   8246     printed  Sep 23, 2025@20:11:44                                                                                                                                                                                                     Page 2
ORWDBA8   ; SLC/GDU - Billing Awareness - Phase I [11/16/04 15:39]
 +1       ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
 +2       ;Clinical Indicator Data Capture By Provider Parameter Management
 +3       ;
 +4       ;Varaibles
 +5       ;  CIDC   Clinical Indicator Data Capture Parameter, current value
 +6       ;  CNT    Counter, incremented counter variable
 +7       ;  DIR    Input array variable for ^DIR
 +8       ;  DT     Standard Fileman/Kernel variable for current date
 +9       ;         DT is set, but not newed or killed
 +10      ;  DTOUT  Timeout indicator, output variable of ^DIR
 +11      ;  DUOUT  Up arrow indicator, output variable of ^DIR
 +12      ;  OREM   Error Message, output variable of ^DIC, and ^XPAR
 +13      ;  FST    First, display control varible
 +14      ;  HC     Help Counter, help text line count
 +15      ;  IEN    Internal Entry Number
 +16      ;  IOF    Standard Kernel variable to clear screen
 +17      ;  NAME   Provider Name, parsed from RF output array from FIND^DIC
 +18      ;  NX0    Next group of providers prompt, used to help build DIR(0)
 +19      ;  NXC    Next group of providers count, used to help build DIR(0)
 +20      ;  NXH    Next group of providers help, used to help build DIR("?"
 +21      ;  PTD    Provider Termination Date, internal value
 +22      ;  RF     Records Found, initial user search results
 +23      ;  ORSCR  Screen, input variable to filter search
 +24      ;  SP     Selected Provider
 +25      ;  SV     Search Value
 +26      ;  U      Standard FileMan, Kernel field delimiter
 +27      ;  US     User Selection
 +28      ;  WA     Work Array, filtered array of providers for user selection
 +29      ;  X      Standard FileMan work varaible
 +30      ;  Y      Processed output of user selection, output variable of ^DIR
 +31      ;
 +32      ;External References
 +33      ;  FIND^DIC    DBIA 2051, FileMan record(s) finder
 +34      ;  ^DIR        DBIA 10026, FileMan input reader
 +35      ;  $$GET^XPAR  DBIA 2263, Get current value of single parameter
 +36      ;  ADD^XPAR    DBIA 2263, Add new parameter
 +37      ;  CHG^XPAR    DBIA 2263, Change current value of parameter
 +38      ;  $$DT^XLFDT  DBIA 10103, Gets today's date from the system
 +39      ;
EN        ;Starting point of this program
 +1       ;Ask user for provider
 +2        NEW APS,CIDC,CNT,DIR,DTOUT,DUOUT,OREM,FST,HC,IEN,NAME,NX0,NXC,NXH,RF
 +3        NEW ORSCR,PTD,SP,SV,US,VAL,WA,X,Y
 +4        SET DT=$$DT^XLFDT
 +5        SET DIR(0)=$PIECE($TEXT(FT0),";",3)
 +6        SET DIR("A")=$PIECE($TEXT(FA),";",3)
 +7        SET DIR("?",1)=$PIECE($TEXT(FH1),";",3)
 +8        SET DIR("?",2)=$PIECE($TEXT(FH2),";",3)
 +9        SET DIR("?")=$PIECE($TEXT(FH3),";",3)
 +10       DO SCRHDR
           WRITE !
           DO ^DIR
           SET SV=Y
           KILL DIR
 +11       IF SV=""!($DATA(DTOUT))!($DATA(DUOUT))
               GOTO EXIT
 +12       SET ORSCR="I $D(^XUSEC(""PROVIDER"",Y))=1"
 +13       DO FIND^DIC(200,"","@;.01;7;9.2I;9.2","CP",SV,"*","",.ORSCR,"","RF","OREM")
 +14      ;Test if no matching records found. If true alert user.
 +15       IF $PIECE(RF("DILIST",0),U)=0
               Begin DoDot:1
 +16               SET DIR(0)="E"
 +17               SET DIR("A",1)=$PIECE($TEXT(UAA1),";",3)_" "_SV
 +18               SET DIR("A")=$PIECE($TEXT(UAA5),";",3)
 +19               DO SCRHDR
                   WRITE !
                   DO ^DIR
                   KILL DIR
               End DoDot:1
               if Y=1
                   GOTO EN
               GOTO EXIT
 +20       SET (SP,PTD)=""
 +21      ;If search returns only 1 match
 +22       IF $PIECE(RF("DILIST",0),U)=1
               Begin DoDot:1
 +23               SET SP=1
                   SET PTD=$PIECE(RF("DILIST",SP,0),U,4)
 +24      ;Test if provider is DISUSERED. If true alert user and quit
 +25               IF $PIECE(RF("DILIST",SP,0),U,3)="YES"
                       Begin DoDot:2
 +26                       SET DIR(0)="E"
 +27                       SET DIR("A",1)=$PIECE(RF("DILIST",SP,0),U,2)_" "_$PIECE($TEXT(UAA2),";",3)
 +28                       SET DIR("A")=$PIECE($TEXT(UAA5),";",3)
 +29                       DO SCRHDR
                           WRITE !
                           DO ^DIR
                           KILL DIR
 +30                       SET SP=$SELECT(Y=1:"",1:"Q")
                       End DoDot:2
                       QUIT 
 +31      ;Test if provider is terminated. If true alert user and quit
 +32               IF PTD'=""
                       IF (PTD=DT)!(PTD<DT)
                           Begin DoDot:2
 +33                           SET DIR(0)="E"
 +34                           SET DIR("A",1)=$PIECE(RF("DILIST",SP,0),U,2)_" "_$PIECE($TEXT(UAA3),";",3)
 +35                           SET DIR("A",1)=DIR("A",1)_" "_$PIECE(RF("DILIST",SP,0),U,5)
 +36                           SET DIR("A")=$PIECE($TEXT(UAA5),";",3)
 +37                           DO SCRHDR
                               WRITE !
                               DO ^DIR
                               KILL DIR
 +38                           SET SP=$SELECT(Y=1:"",1:"Q")
                           End DoDot:2
                           QUIT 
 +39               SET IEN=$PIECE(RF("DILIST",1,0),U)
 +40               SET NAME=$PIECE(RF("DILIST",1,0),U,2)
               End DoDot:1
 +41       IF $PIECE(RF("DILIST",0),U)>1
               Begin DoDot:1
 +42               SET WA(0)=0
 +43               FOR X=1:1:$PIECE(RF("DILIST",0),U)
                       Begin DoDot:2
 +44                       SET PTD=$PIECE(RF("DILIST",X,0),U,4)
 +45                       IF $PIECE(RF("DILIST",X,0),U,3)=""
                               IF (PTD="")!(PTD>DT)
                                   Begin DoDot:3
 +46                                   SET WA(0)=WA(0)+1
 +47                                   SET WA(WA(0))=RF("DILIST",X,0)
                                   End DoDot:3
                       End DoDot:2
 +48               IF WA(0)=0
                       Begin DoDot:2
 +49      ;Alerting the user that this search failed because all providers
 +50      ;returned are inactive
 +51                       SET DIR(0)="E"
 +52                       SET DIR("A",1)=$PIECE($TEXT(UAA4),";",3)_" "_SV
 +53                       SET DIR("A")=$PIECE($TEXT(UAA5),";",3)
 +54                       DO SCRHDR
                           WRITE !
                           DO ^DIR
                           KILL DIR
 +55                       SET SP=$SELECT(Y=1:"",1:"Q")
                       End DoDot:2
 +56               IF WA(0)=0
                       QUIT 
 +57      ;Default to the single active provider
                   IF WA(0)=1
                       SET SP=1
 +58      ;Additional selection if several active providers
                   IF WA(0)>1
                       DO SPFL
 +59               IF SP="Q"!(SP="")
                       QUIT 
 +60               SET IEN=$PIECE(WA(SP),U)
 +61               SET NAME=$PIECE(WA(SP),U,2)
               End DoDot:1
 +62       IF SP="Q"
               GOTO EXIT
 +63       IF SP=""
               GOTO EN
 +64       DO PSP
           GOTO EN
EXIT      ;Exit point for this program
 +1        QUIT 
FT0       ;;FO^1:40
FA        ;;Select the provider to manage the parameter
FH1       ;;Enter the name/partial name of the provider.
FH2       ;;This is free text, 1 to 40 characters in length.
FH3       ;;This search will only return those with the PROVIDER key.
UAA1      ;;Found no provider records matching the search criteria of
UAA2      ;;is a provider who has been DISUSERED.
UAA3      ;;is an inactive provider with a termination date of
UAA4      ;;Found no active provider records matching the search criteria of
UAA5      ;;Hit enter to continue or "^" to quit
SPFL      ;Select Provider From List
 +1        IF $DATA(FST)=0
               SET FST=1
 +2        SET DIR(0)="SO^"
 +3        SET DIR("?",1)=$PIECE($TEXT(DH),";",3)
 +4        SET DIR("?")=$PIECE($TEXT(DHS),";",3)
 +5        SET DIR("A")=$PIECE($TEXT(DA),";",3)
 +6        IF WA(0)<10
               Begin DoDot:1
 +7                FOR X=1:1:WA(0)
                       SET DIR(0)=DIR(0)_X_":"_$PIECE(WA(X),U,2)_";"
               End DoDot:1
 +8        IF WA(0)=10
               Begin DoDot:1
 +9                FOR X=1:1:10
                       SET DIR(0)=DIR(0)_X_":"_$PIECE(WA(X),U,2)_";"
               End DoDot:1
 +10       IF WA(0)>10
               Begin DoDot:1
 +11               SET CNT=0
                   SET HC=1
                   SET (NXC,NX0,NXH,SP,X,Y)=""
 +12               FOR X=FST:1:10+(FST-1)
                       if $DATA(WA(X))=0
                           QUIT 
                       Begin DoDot:2
 +13                       SET CNT=CNT+1
 +14                       SET DIR(0)=DIR(0)_X_":"_$PIECE(WA(X),U,2)_";"
                       End DoDot:2
 +15               SET NXC=WA(0)-X
                   SET NXC=$SELECT(NXC>10:10,1:NXC)
 +16               SET NX0=$PIECE($PIECE($TEXT(D0N),";",3),"|")_NXC_$PIECE($PIECE($TEXT(D0N),";",3),"|",2)
 +17               SET NXH=$PIECE($PIECE($TEXT(DHN),";",3),"|")_NXC_$PIECE($PIECE($TEXT(DHN),";",3),"|",2)
 +18               IF CNT=10
                       Begin DoDot:2
 +19                       SET DIR(0)=DIR(0)_";"_NX0
 +20                       SET HC=HC+1
                           SET DIR("?",HC)=NXH
                       End DoDot:2
 +21               IF FST>10
                       Begin DoDot:2
 +22                       SET DIR(0)=DIR(0)_";"_$PIECE($TEXT(D0P),";",3)
 +23                       SET HC=HC+1
                           SET DIR("?",HC)=$PIECE($TEXT(DHP),";",3)
                       End DoDot:2
               End DoDot:1
 +24       DO SCRHDR
           DO ^DIR
           KILL DIR
 +25       SET SP=Y
 +26       IF SP=""
               QUIT 
 +27       IF $DATA(DTOUT)!($DATA(DUOUT))
               SET SP="Q"
               QUIT 
 +28       IF SP="N"!(SP="P")
               SET FST=$SELECT(SP="N":FST+10,1:FST-10)
               GOTO SPFL
 +29       IF SP=""!(SP="Q")
               QUIT 
 +30       QUIT 
D0N       ;;N:Next | provider(s)
D0P       ;;P:Previous 10 providers
DH        ;;Select the provider for parameter management.
DHN       ;;Enter N to get the next | providers.
DHP       ;;Enter P to get the previous 10 providers.
DHS       ;;Enter "^" to exit or the Enter key to return to provider lookup.
DA        ;;Select the provider to assign the parameter
PSP       ;Process Selected Provider
 +1        SET CIDC=$$GET^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,"Q")
 +2        IF CIDC=""
               Begin DoDot:1
 +3       ;Assign the CIDC parameter and enable/disable it
 +4                SET DIR(0)="SO^"_$PIECE($TEXT(AE),";",3)_";"_$PIECE($TEXT(AD),";",3)
 +5                SET DIR("A")=$PIECE($TEXT(AA),";",3)
 +6                SET DIR("?",1)=$PIECE($TEXT(AHE),";",3)
                   SET DIR("?")=$PIECE($TEXT(AHD),";",3)
 +7                DO SCRHDR
 +8                WRITE !,$PIECE($TEXT(ASH1),";",3)," ",NAME,!,$PIECE($TEXT(ASH2),";",3)
 +9                DO ^DIR
                   SET US=Y
                   KILL DIR
 +10               IF US=""!($DATA(DTOUT))!($DATA(DUOUT))
                       QUIT 
 +11               SET VAL=$SELECT(US="E":1,1:0)
                   SET OREM=""
 +12               DO ADD^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,VAL,.OREM)
               End DoDot:1
 +13      IF '$TEST
               Begin DoDot:1
 +14      ;Edit the CIDC parameter to enable or disable it
 +15               SET DIR(0)="Y"
 +16               IF CIDC=0
                       SET DIR("A")=$PIECE($TEXT(EEA),";",3)
                       SET DIR("?",1)=$PIECE($TEXT(EHEY),";",3)
 +17              IF '$TEST
                       SET DIR("A")=$PIECE($TEXT(EDA),";",3)
                       SET DIR("?",1)=$PIECE($TEXT(EHDY),";",3)
 +18               SET DIR("B")="YES"
                   SET DIR("?")=$PIECE($TEXT(EHN),";",3)
 +19               DO SCRHDR
 +20               WRITE !,$PIECE($TEXT(ESH),";",3)_" "_NAME
 +21               if CIDC=0
                       WRITE !,$PIECE($TEXT(EESH),";",3)
 +22               if CIDC=1
                       WRITE !,$PIECE($TEXT(EDSH),";",3)
 +23               WRITE !
                   DO ^DIR
                   SET US=Y
                   KILL DIR
 +24               IF US=""!(US=0)!($DATA(DTOUT))!($DATA(DUOUT))
                       QUIT 
 +25               SET OREM=""
                   SET VAL=$SELECT(CIDC=0:1,1:0)
 +26               DO CHG^XPAR(IEN_";VA(200,","OR BILLING AWARENESS BY USER",1,VAL,.OREM)
               End DoDot:1
 +27       QUIT 
ASH1      ;;Assign CIDC Functionality Parameter to
ASH2      ;;Enable / Disable CIDC Functionality
AE        ;;E:Enable CIDC functionality
AD        ;;D:Disable CIDC functionality
AA        ;;Assign the parameter and enable / disable CIDC functionality
AHE       ;;Enter E to assign the parameter and enable CIDC for this provider.
AHD       ;;Enter D to assign the parameter and disable CIDC for this provider
ESH       ;;Edit Assigned CIDC Functionality Parameter of
EESH      ;;CIDC Functionality for this provider is currently DISABLED
EDSH      ;;CIDC Functionality for this provider is currently ENABLED
EEA       ;;Enable CIDC Functionality (YES/NO)
EDA       ;;Disable CIDC Functionality (YES/NO)
EHEY      ;;Enter YES to ENABLE CIDC Functionality
EHDY      ;;Enter YES to DISABLE CIDC Functionality
EHN       ;;Enter NO to leave CIDC Functionality unchanged
 +1       ;
SCRHDR    ;Screen Header
 +1        if $DATA(IOF)
               WRITE @IOF
 +2        WRITE !,$PIECE($TEXT(SH1),";",3)
 +3        QUIT 
SH1       ;;Clinical Indicator Data Capture By Provider Parameter Management