Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCEPA.m

    r613 r623  
    1 IBCEPA  ;ALB/WCJ - Provider ID functions - Care Units ;21-OCT-2005
    2         ;;2.0;INTEGRATED BILLING;**320,348,377**;21-MAR-94;Build 23
    3         ;;Per VHA Directive 2004-038, this routine should not be modified.
    4         ;
    5 EN      ; -- main entry point for IBCE 2ND PRVID CARE UNIT MAINT
    6         D EN^VALM("IBCE 2ND PRVID CARE UNIT MAINT")
    7         Q
    8         ;
    9 HDR     ; -- header code
    10         K VALMHDR
    11         S VALMHDR(1)=" "
    12         S VALMHDR(2)="Insurance Co: "_$S('$G(IBALL)&$G(IBINS):$P($G(^DIC(36,+IBINS,0)),U),1:"ALL")
    13         Q
    14         ;
    15 INIT    ; -- init variables and list array
    16         N DIR,Y
    17         I '$G(IBINS) D  I +Y<0 S VALMQUIT=1 Q
    18         . S DIR(0)="PA^DIC(36,:AEMQ",DIR("A")="Select INSURANCE CO: ",DIR("?")="Select an INSURANCE CO to display its care units"
    19         . D ^DIR K DIR
    20         . I $D(DTOUT)!$D(DUOUT) S Y=-2 Q
    21         . I Y>0 S IBINS=+Y Q
    22         ;
    23         D BLD
    24         Q
    25         ;
    26 BLD     ;
    27         D CLEAN^VALM10
    28         K ^TMP("IBPRV_CU",$J)
    29         N TAR,MSG,I,D0,IBCT,Z,DIV,SCREEN
    30         ;
    31         S VALMBG=1
    32         ;
    33         ; Get all care units for this insurance company that have a division
    34         ; If there is no division, then it is part of the other care units code (IBCEP4)
    35         ;
    36         S SCREEN="I $P(^(0),U,4)'="""",$P(^(0),U,3)=IBINS"
    37         D LIST^DIC(355.95,,"@;.01;.02;.04",,,,,,SCREEN,,"TAR")
    38         ;
    39         I '+TAR("DILIST",0) D
    40         . D SET^VALM10(1,"No CARE UNITs found for this Insurance Company")
    41         ;
    42         I +TAR("DILIST",0) D
    43         . S IBCT=0
    44         . F VALMCNT=1:1:+TAR("DILIST",0) D
    45         .. S ^TMP("IBPRV_CU",$J,"SORT",TAR("DILIST","ID",VALMCNT,.04),TAR("DILIST",2,VALMCNT))=VALMCNT
    46         . S DIV="" F  S DIV=$O(^TMP("IBPRV_CU",$J,"SORT",DIV)) Q:DIV=""  D
    47         .. S Z="Division: "_DIV
    48         .. S IBCT=IBCT+1
    49         .. D SET^VALM10(IBCT,Z)
    50         .. S D0=0 F  S D0=$O(^TMP("IBPRV_CU",$J,"SORT",DIV,D0)) Q:'D0  D
    51         ... S IN=^TMP("IBPRV_CU",$J,"SORT",DIV,D0)
    52         ... S Z=$J("",2)
    53         ... S Z=Z_$E(IN_"    ",1,4)_$E(TAR("DILIST","ID",IN,.01),1,36)
    54         ... S Z=Z_$J("",40-$L(Z))
    55         ... S Z=Z_$E(TAR("DILIST","ID",IN,.02),1,38)
    56         ... S IBCT=IBCT+1
    57         ... D SET^VALM10(IBCT,Z)
    58         ;
    59         ; correct the VALMCNT variable - number of lines in the list (not entries)
    60         S VALMCNT=+$O(@VALMAR@(""),-1)
    61         Q
    62         ;
    63 HELP    ; -- help code
    64         S X="?" D DISP^XQORM1 W !!
    65         Q
    66         ;
    67 EXIT    ; -- exit code
    68         D CLEAN^VALM10
    69         K ^TMP("IBPRV_CU",$J)
    70         Q
    71         ;
    72 EXPND   ; -- expand code
    73         Q
    74         ;
    75 NEW     ; Add care unit
    76         ; Assumes IBINS is defined as ins co ien (file 36)
    77         ; IB = 0 or null if called from list manager, 1 if not
    78         N DIC,DIR,X,Y,Z,D,DA,DR,DIE,DO,DD,DLAYGO,IB95,IBADD,IBOK,IBDIV,MAIN,IBDIVNM
    79         ;
    80         D FULL^VALM1
    81         ; Add an entry - either new care unit/ins co or a combination for
    82         ; existing care unit/ins co
    83         ;
    84         S MAIN=$$MAIN^IBCEP2B()
    85         S MAIN=$$EXTERNAL^DILFD(355.92,.05,"",MAIN)
    86         S DIC=40.8,DIC("A")="Enter the Division for this Care Unit: ",DIC("B")=MAIN,DIC(0)="AEMQ"
    87         S D="B^C"
    88         D MIX^DIC1
    89         I Y'>0 G NEWQ
    90         S IBDIV=+Y
    91         S IBDIVNM=$$EXTERNAL^DILFD(355.92,.05,"",IBDIV)
    92         ;
    93         N SCREEN,TAR,MESS,I
    94         S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)"
    95         D LIST^DIC(355.95,,.01,,,,,,SCREEN,,"TAR")
    96         ;
    97 ACU     K DIR
    98         S I=0
    99         I $G(TAR("DILIST",0)) D
    100         . S DIR("?",1)="Current Entries are:"
    101         . F I=2:1 Q:'$D(TAR("DILIST",1,I-1))  S DIR("?",I)="     "_TAR("DILIST",1,I-1)
    102         . S DIR("?",I)=" "
    103         ;
    104         S DIR("?",I+1)="You may enter the name of a new Care Unit for this Insurance Company."
    105         S DIR("?",I+2)="You can then define a Billing Provider Secondary ID - Billing Screen 3 - for"
    106         S DIR("?")="this Care Unit and Insurance Company using the Insurance Company Editor."
    107         S DIR("A")="Enter the Care Unit name"
    108         S DIR(0)="FO^1:30"
    109         D ^DIR
    110         I X=""!$G(DUOUT)!$G(DTOUT)!$G(DIROUT) G NEWQ
    111         S CAREUNIT=X
    112         ;
    113         ; At this point, we have X and it'a not a ? or ^
    114         ;
    115         K DIC
    116         S DIC="^IBA(355.95,",DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="EX"
    117         D ^DIC
    118         ;
    119         ; Check if we have an exisitng entry and if so, get out of Dodge (This option was for new care units)
    120         I Y>0 D  G ACU
    121         . D DISPMESS("This action is for adding new entries, not editing existing entries.")
    122         ;
    123         ; New entry , validate field
    124         N TAR2
    125         D FIELD^DID(355.95,.01,"N","INPUT TRANSFORM","TAR2")
    126         S X=CAREUNIT
    127         X TAR2("INPUT TRANSFORM")
    128         I '$D(X) D  G ACU  ; Failed input transform
    129         . D DISPMESS("Invalid Format.")
    130         ;
    131         K DIR
    132         S DIR("A")="Are you adding '"_X_"' as a new Care Unit for '"_IBDIVNM_"'"
    133         S DIR("B")="N"
    134         S DIR(0)="Y"
    135         D ^DIR
    136         I Y=0 G ACU
    137         I Y["^" G NEWQ
    138         ;
    139         ; If it got this far, we have an exact match or a new entry.   
    140         S X=CAREUNIT
    141         S DIC="^IBA(355.95,",DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="XL",DLAYGO=355.95
    142         S DIC("DR")=".03////"_+$G(IBINS)_";.04////"_$G(IBDIV)
    143         D ^DIC
    144         I Y>0 D
    145         . S DA=+Y,DIE="^IBA(355.95,"
    146         . S DR=".02Enter the Care Unit Description"
    147         . D ^DIE
    148         D BLD
    149         ;
    150 NEWQ    S VALMBCK="R"
    151         Q
    152         ;
    153 CHANGE  ; Edit care unit
    154         ; Assumes IBINS is defined as ins co ien (file 36)
    155         ;
    156         D FULL^VALM1
    157         ;
    158         N X,Y,Z,D,DA,DD,DIC,DIK,DIR,IBDIV,CAREUNIT,SCREEN,TAR,DIVISION,I
    159         ;
    160         S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)]"""""
    161         D LIST^DIC(355.95,,".01;.04",,,,,,SCREEN,,"TAR")
    162         ;
    163         I '+$G(TAR("DILIST",0)) D  G CHANGEQ
    164         .D DISPMESS("No Care Units Defined for this insurance company.")
    165         ;
    166         ; Store all Divisons with at least one care unit in DIVISION array
    167         F I=1:1 Q:'$D(TAR("DILIST","ID",I,.04))  D
    168         . S DIVISION(TAR("DILIST","ID",I,.04))=""
    169         ;
    170         ; Only allow divisions that have care units to be selected
    171         S DIC=40.8
    172         S DIC("A")="Enter the Division for this Care Unit: "
    173         S DIC(0)="AEMQ"
    174         S DIC("S")="I $D(DIVISION($P(^(0),U)))"
    175         S D="B^C"
    176         D MIX^DIC1
    177         I Y'>0 G CHANGEQ
    178         S IBDIV=+Y
    179         S DA=$$SEL($P(Y,U,2)) I 'DA G CHANGEQ
    180         S DIE=355.95
    181         S DR=".01Care Unit;.04Division;.02Description"
    182         D ^DIE
    183         ;
    184         D BLD
    185         ;
    186 CHANGEQ S VALMBCK="R"
    187         Q
    188         ;
    189 DEL     ; Delete a Care Unit
    190         ; Assumes IBINS is defined as ins co ien (file 36)
    191         ;
    192         D FULL^VALM1
    193         N X,Y,Z,D,DA,DD,DIC,DIK,DIR,IBDIV,CAREUNIT,SCREEN,TAR,DIVISION
    194         ;
    195         S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)]"""""
    196         D LIST^DIC(355.95,,".01;.04",,,,,,SCREEN,,"TAR")
    197         ;
    198         I '+$G(TAR("DILIST",0)) D  G DELQ
    199         .D DISPMESS("No Care Units Defined for this insurance company.")
    200         ;
    201         ; Store all Divisons with at least one care unit in DIVISION array
    202         F I=1:1 Q:'$D(TAR("DILIST","ID",I,.04))  D
    203         . S DIVISION(TAR("DILIST","ID",I,.04))=""
    204         ;
    205         ; Only allow divisions that have care units to be selected
    206         S DIC=40.8
    207         S DIC("A")="Enter the Division for this Care Unit: "
    208         S DIC(0)="AEMQ"
    209         S DIC("S")="I $D(DIVISION($P(^(0),U)))"
    210         S D="B^C"
    211         D MIX^DIC1
    212         I Y'>0 G DELQ
    213         S IBDIV=+Y
    214         S CAREUNIT=$$SEL($P(Y,U,2)) I 'CAREUNIT G DELQ
    215         ;
    216         I $D(^IBA(355.92,"AC",+Y)) D  G DELQ
    217         . S DIR(0)="EA"
    218         . S DIR("A",1)="IDs that are assigned to the Care Unit in the Insurance Company Editor must be"
    219         . S DIR("A",2)="deleted before deleting the Care Unit."
    220         . S DIR("A")="Press return to continue "
    221         . W ! D ^DIR K DIR
    222         ;
    223         S DIR("A")="OK to Delete: "
    224         S DIR("B")="No"
    225         S DIR(0)="YAO"
    226         D ^DIR
    227         I '$G(Y) G DELQ
    228         K DIR
    229         ;
    230         S DA=CAREUNIT
    231         S DIK="^IBA("_355.95_","
    232         D ^DIK
    233         ;
    234         D BLD
    235         ;
    236 DELQ    S VALMBCK="R"
    237         Q
    238         ;
    239 DISPMESS(MESS)  ;
    240         N DIR,X,Y
    241         S DIR(0)="EA",DIR("A",1)=MESS
    242         S DIR("A")="PRESS ENTER to continue "
    243         D ^DIR
    244         Q
    245         ;
    246 SEL(DIV)        ; select care unit for a given division
    247         ; DIV - name of division
    248         ; returns ien of selected care unit, or 0 if nothing is selected
    249         N DIR,I,IEN,MIN,MAX,X,Y
    250         I $G(DIV)="" Q 0
    251         S IEN=0
    252         S I=$O(^TMP("IBPRV_CU",$J,"SORT",DIV,"")),MIN=$G(^TMP("IBPRV_CU",$J,"SORT",DIV,I))
    253         S I=$O(^TMP("IBPRV_CU",$J,"SORT",DIV,""),-1),MAX=$G(^TMP("IBPRV_CU",$J,"SORT",DIV,I))
    254         I MIN=MAX S IEN=I
    255         I MIN'=MAX D
    256         .S DIR("A")="Select CARE UNITS",DIR(0)="N^"_MIN_":"_MAX_":0" D ^DIR
    257         .Q:$D(DTOUT)!$D(DUOUT)
    258         .S I="" F  S I=$O(^TMP("IBPRV_CU",$J,"SORT",DIV,I)) Q:I=""!(IEN>0)  S:$G(^TMP("IBPRV_CU",$J,"SORT",DIV,I))=Y IEN=I
    259         .Q
    260         Q IEN
     1IBCEPA ;ALB/WCJ - Provider ID functions - Care Units ;21-OCT-2005
     2 ;;2.0;INTEGRATED BILLING;**320,348**;21-MAR-94;Build 5
     3EN ; -- main entry point for IBCE 2ND PRVID CARE UNIT MAINT
     4 D EN^VALM("IBCE 2ND PRVID CARE UNIT MAINT")
     5 Q
     6 ;
     7HDR ; -- header code
     8 K VALMHDR
     9 S VALMHDR(1)=" "
     10 S VALMHDR(2)="Insurance Co: "_$S('$G(IBALL)&$G(IBINS):$P($G(^DIC(36,+IBINS,0)),U),1:"ALL")
     11 Q
     12 ;
     13INIT ; -- init variables and list array
     14 N DIR,Y
     15 I '$G(IBINS) D  I +Y<0 S VALMQUIT=1 Q
     16 . S DIR(0)="PA^DIC(36,:AEMQ",DIR("A")="Select INSURANCE CO: ",DIR("?")="Select an INSURANCE CO to display its care units"
     17 . D ^DIR K DIR
     18 . I $D(DTOUT)!$D(DUOUT) S Y=-2 Q
     19 . I Y>0 S IBINS=+Y Q
     20 ;
     21 D BLD
     22 Q
     23 ;
     24BLD ;
     25 D CLEAN^VALM10
     26 K ^TMP("IBPRV_CU",$J)
     27 N TAR,MSG,I,D0,IBLCT,Z,DIV,SCREEN
     28 ;
     29 S VALMBG=1
     30 ;
     31 ; Get all care units for this insurance company that have a division
     32 ; If there is no division, then it is part of the other care units code (IBCEP4)
     33 ;
     34 S SCREEN="I $P(^(0),U,4)'="""",$P(^(0),U,3)=IBINS"
     35 D LIST^DIC(355.95,,"@;.01;.02;.04",,,,,,SCREEN,,"TAR")
     36 ;
     37 I '+TAR("DILIST",0) D
     38 . D SET^VALM10(1,"No CARE UNITs found for this Insurance Company")
     39 ;
     40 I +TAR("DILIST",0) D
     41 . S IBCT=0
     42 . F VALMCNT=1:1:+TAR("DILIST",0) D
     43 .. S ^TMP("IBPRV_CU",$J,"SORT",TAR("DILIST","ID",VALMCNT,.04),TAR("DILIST",2,VALMCNT))=VALMCNT
     44 . S DIV="" F  S DIV=$O(^TMP("IBPRV_CU",$J,"SORT",DIV)) Q:DIV=""  D
     45 .. S Z="Division: "_DIV
     46 .. S IBCT=IBCT+1
     47 .. D SET^VALM10(IBCT,Z)
     48 .. S D0=0 F  S D0=$O(^TMP("IBPRV_CU",$J,"SORT",DIV,D0)) Q:'D0  D
     49 ... S IN=^TMP("IBPRV_CU",$J,"SORT",DIV,D0)
     50 ... S Z=$J("",2)
     51 ... S Z=Z_$E(TAR("DILIST","ID",IN,.01),1,36)
     52 ... S Z=Z_$J("",40-$L(Z))
     53 ... S Z=Z_$E(TAR("DILIST","ID",IN,.02),1,38)
     54 ... S IBCT=IBCT+1
     55 ... D SET^VALM10(IBCT,Z)
     56 Q
     57 ;
     58HELP ; -- help code
     59 S X="?" D DISP^XQORM1 W !!
     60 Q
     61 ;
     62EXIT ; -- exit code
     63 D CLEAN^VALM10
     64 Q
     65 ;
     66EXPND ; -- expand code
     67 Q
     68 ;
     69NEW ; Add care unit
     70 ; Assumes IBINS is defined as ins co ien (file 36)
     71 ; IB = 0 or null if called from list manager, 1 if not
     72 N DIC,DIR,X,Y,Z,DA,DR,DIE,DO,DD,DLAYGO,IB95,IBADD,IBOK,IBDIV,MAIN,IBDIVNM
     73 ;
     74 D FULL^VALM1
     75 ; Add an entry - either new care unit/ins co or a combination for
     76 ; existing care unit/ins co
     77 ;
     78 S MAIN=$$MAIN^IBCEP2B()
     79 S MAIN=$$EXTERNAL^DILFD(355.92,.05,"",MAIN)
     80 S DIC=40.8,DIC("A")="Enter the Division for this Care Unit: ",DIC("B")=MAIN,DIC(0)="AEMQ"
     81 D ^DIC
     82 I Y'>0 G NEWQ
     83 S IBDIV=+Y
     84 S IBDIVNM=$$EXTERNAL^DILFD(355.92,.05,"",IBDIV)
     85 ;
     86 N SCREEN,TAR,MESS,I
     87 S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)"
     88 D LIST^DIC(355.95,,.01,,,,,,SCREEN,,"TAR")
     89 ;
     90ACU K DIR
     91 S I=0
     92 I $G(TAR("DILIST",0)) D
     93 . S DIR("?",1)="Current Entries are:"
     94 . F I=2:1 Q:'$D(TAR("DILIST",1,I-1))  S DIR("?",I)="     "_TAR("DILIST",1,I-1)
     95 . S DIR("?",I)=" "
     96 ;
     97 S DIR("?",I+1)="You may enter the name of a new Care Unit for this Insurance Company."
     98 S DIR("?",I+2)="You can then define a Billing Provider Secondary ID - Billing Screen 3 - for"
     99 S DIR("?")="this Care Unit and Insurance Company using the Insurance Company Editor."
     100 S DIR("A")="Enter the Care Unit name"
     101 S DIR(0)="FO^1:30"
     102 D ^DIR
     103 I X=""!$G(DUOUT)!$G(DTOUT)!$G(DIROUT) G NEWQ
     104 S CAREUNIT=X
     105 ;
     106 ; At this point, we have X and it'a not a ? or ^
     107 ;
     108 K DIC
     109 S DIC="^IBA(355.95,",DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="EX"
     110 D ^DIC
     111 ;
     112 ; Check if we have an exisitng entry and if so, get out of Dodge (This option was for new care units)
     113 I Y>0 D  G ACU
     114 . D DISPMESS("This action is for adding new entries, not editing existing entries.")
     115 ;
     116 ; New entry , validate field
     117 N TAR2
     118 D FIELD^DID(355.95,.01,"N","INPUT TRANSFORM","TAR2")
     119 S X=CAREUNIT
     120 X TAR2("INPUT TRANSFORM")
     121 I '$D(X) D  G ACU  ; Failed input transform
     122 . D DISPMESS("Invalid Format.")
     123 ;
     124 K DIR
     125 S DIR("A")="Are you adding '"_X_"' as a new Care Unit for '"_IBDIVNM_"'"
     126 S DIR("B")="N"
     127 S DIR(0)="Y"
     128 D ^DIR
     129 I Y=0 G ACU
     130 I Y["^" G NEWQ
     131 ;
     132 ; If it got this far, we have an exact match or a new entry.   
     133 S X=CAREUNIT
     134 S DIC="^IBA(355.95,",DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="XL",DLAYGO=355.95
     135 S DIC("DR")=".03////"_+$G(IBINS)_";.04////"_$G(IBDIV)
     136 D ^DIC
     137 I Y>0 D
     138 . S DA=+Y,DIE="^IBA(355.95,"
     139 . S DR=".02Enter the Care Unit Description"
     140 . D ^DIE
     141 D BLD
     142 ;
     143NEWQ S VALMBCK="R"
     144 Q
     145 ;
     146CHANGE ; Edit care unit
     147 ; Assumes IBINS is defined as ins co ien (file 36)
     148 ;
     149 D FULL^VALM1
     150 ;
     151 N X,Y,Z,DA,DD,DIC,DIK,DIR,IBDIV,CAREUNIT,SCREEN,TAR,DIVISION
     152 ;
     153 S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)]"""""
     154 D LIST^DIC(355.95,,".01;.04",,,,,,SCREEN,,"TAR")
     155 ;
     156 I '+$G(TAR("DILIST",0)) D  G CHANGEQ
     157 .D DISPMESS("No Care Units Defined for this insurance company.")
     158 ;
     159 ; Store all Divisons with at least one care unit in DIVISION array
     160 F I=1:1 Q:'$D(TAR("DILIST","ID",I,.04))  D
     161 . S DIVISION(TAR("DILIST","ID",I,.04))=""
     162 ;
     163 ; Only allow divisions that have care units to be selected
     164 S DIC=40.8
     165 S DIC("A")="Enter the Division for this Care Unit: "
     166 S DIC(0)="AEMQ"
     167 S DIC("S")="I $D(DIVISION($P(^(0),U)))"
     168 D ^DIC
     169 I Y'>0 G CHANGEQ
     170 S IBDIV=+Y
     171 ;
     172 S DIC("A")="Enter the Care Unit name: "
     173 S DIC=355.95,DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="AEMQ"
     174 D ^DIC
     175 I Y<1 G CHANGEQ
     176 ;
     177 S DA=+Y,DIE=355.95
     178 S DR=".01Care Unit;.04Division;.02Description"
     179 D ^DIE
     180 ;
     181 D BLD
     182 ;
     183CHANGEQ S VALMBCK="R"
     184 Q
     185 ;
     186DEL ; Delete a Care Unit
     187 ; Assumes IBINS is defined as ins co ien (file 36)
     188 ;
     189 D FULL^VALM1
     190 N X,Y,Z,DA,DD,DIC,DIK,DIR,IBDIV,CAREUNIT,SCREEN,TAR,DIVISION
     191 ;
     192 S SCREEN="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)]"""""
     193 D LIST^DIC(355.95,,".01;.04",,,,,,SCREEN,,"TAR")
     194 ;
     195 I '+$G(TAR("DILIST",0)) D  G DELQ
     196 .D DISPMESS("No Care Units Defined for this insurance company.")
     197 ;
     198 ; Store all Divisons with at least one care unit in DIVISION array
     199 F I=1:1 Q:'$D(TAR("DILIST","ID",I,.04))  D
     200 . S DIVISION(TAR("DILIST","ID",I,.04))=""
     201 ;
     202 ; Only allow divisions that have care units to be selected
     203 S DIC=40.8
     204 S DIC("A")="Enter the Division for this Care Unit: "
     205 S DIC(0)="AEMQ"
     206 S DIC("S")="I $D(DIVISION($P(^(0),U)))"
     207 D ^DIC
     208 I Y'>0 G DELQ
     209 S IBDIV=+Y
     210 ;
     211 K DIC
     212 S DIC("A")="Enter the Care Unit name: "
     213 S DIC=355.95,DIC("S")="I $P(^(0),U,3)=+$G(IBINS),$P(^(0),U,4)=+$G(IBDIV)",DIC(0)="AEMQ"
     214 D ^DIC
     215 I Y<1 G DELQ
     216 S CAREUNIT=+Y
     217 ;
     218 I $D(^IBA(355.92,"AC",+Y)) D  G DELQ
     219 . S DIR(0)="EA"
     220 . S DIR("A",1)="IDs that are assigned to the Care Unit in the Insurance Company Editor must be"
     221 . S DIR("A",2)="deleted before deleting the Care Unit."
     222 . S DIR("A")="Press return to continue "
     223 . W ! D ^DIR K DIR
     224 ;
     225 S DIR("A")="OK to Delete: "
     226 S DIR("B")="No"
     227 S DIR(0)="YAO"
     228 D ^DIR
     229 I '$G(Y) G DELQ
     230 K DIR
     231 ;
     232 S DA=CAREUNIT
     233 S DIK="^IBA("_355.95_","
     234 D ^DIK
     235 ;
     236 D BLD
     237 ;
     238DELQ S VALMBCK="R"
     239 Q
     240 ;
     241DISPMESS(MESS) ;
     242 N DIR,X,Y
     243 S DIR(0)="EA",DIR("A",1)=MESS
     244 S DIR("A")="PRESS ENTER to continue "
     245 D ^DIR
     246 Q
     247 ;
Note: See TracChangeset for help on using the changeset viewer.