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/IBXSC113.m

    r613 r623  
    1 IBXSC113 ; ;12/13/08
    2  D DE G BEGIN
    3 DE S DIE="^DPT(",DIC=DIE,DP=2,DL=2,DIEL=0,DU="" K DG,DE,DB Q:$O(^DPT(DA,""))=""
    4  I $D(^(.121)) S %Z=^(.121) S %=$P(%Z,U,1) S:%]"" DE(8)=% S %=$P(%Z,U,2) S:%]"" DE(10)=% S %=$P(%Z,U,3) S:%]"" DE(12)=% S %=$P(%Z,U,4) S:%]"" DE(13)=% S %=$P(%Z,U,5) S:%]"" DE(14)=% S %=$P(%Z,U,7) S:%]"" DE(5)=% S %=$P(%Z,U,8) S:%]"" DE(7)=%
    5  I  S %=$P(%Z,U,9) S:%]"" DE(3)=% S %=$P(%Z,U,10) S:%]"" DE(16)=% S %=$P(%Z,U,12) S:%]"" DE(15)=%
    6  I $D(^(.13)) S %Z=^(.13) S %=$P(%Z,U,1) S:%]"" DE(1)=%
    7  K %Z Q
     1IBXSC113 ; ;12/27/07
     2 S X=DG(DQ),DIC=DIE
    83 ;
    9 W W !?DL+DL-2,DLB_": "
    10  Q
    11 O D W W Y W:$X>45 !?9
    12  I $L(Y)>19,'DV,DV'["I",(DV["F"!(DV["K")) G RW^DIR2
    13  W:Y]"" "// " I 'DV,DV["I",$D(DE(DQ))#2 S X="" W "  (No Editing)" Q
    14 TR R X:DTIME E  S (DTOUT,X)=U W $C(7)
    15  Q
    16 A K DQ(DQ) S DQ=DQ+1
    17 B G @DQ
    18 RE G PR:$D(DE(DQ)) D W,TR
    19 N I X="" G NKEY:$D(^DD("KEY","F",DP,DIFLD)),A:DV'["R",X:'DV,X:D'>0,A
    20 RD G QS:X?."?" I X["^" D D G ^DIE17
    21  I X="@" D D G Z^DIE2
    22  I X=" ",DV["d",DV'["P",$D(^DISV(DUZ,"DIE",DLB)) S X=^(DLB) I DV'["D",DV'["S" W "  "_X
    23 T G M^DIE17:DV,^DIE3:DV["V",P:DV'["S" X:$D(^DD(DP,DIFLD,12.1)) ^(12.1) I X?.ANP D SET I 'DDER X:$D(DIC("S")) DIC("S") I  W:'$D(DB(DQ)) "  "_% G V
    24  K DDER G X
    25 P I DV["P" S DIC=U_DU,DIC(0)=$E("EN",$D(DB(DQ))+1)_"M"_$E("L",DV'["'") S:DIC(0)["L" DLAYGO=+$P(DV,"P",2) G:DV["*" AST^DIED D NOSCR^DIED S X=+Y,DIC=DIE G X:X<0
    26  G V:DV'["N" D D I $L($P(X,"."))>24 K X G Z
    27  I $P(DQ(DQ),U,5)'["$",X?.1"-".N.1".".N,$P(DQ(DQ),U,5,99)["+X'=X" S X=+X
    28 V D @("X"_DQ) K YS
    29 Z K DIC("S"),DLAYGO I $D(X),X'=U D:$G(DE(DW,"INDEX")) SAVEVALS G:'$$KEYCHK UNIQFERR^DIE17 S DG(DW)=X S:DV["d" ^DISV(DUZ,"DIE",DLB)=X G A
    30 X W:'$D(ZTQUEUED) $C(7),"??" I $D(DB(DQ)) G Z^DIE17
    31  S X="?BAD"
    32 QS S DZ=X D D,QQ^DIEQ G B
    33 D S D=DIFLD,DQ(DQ)=DLB_U_DV_U_DU_U_DW_U_$P($T(@("X"_DQ))," ",2,99) Q
    34 Y I '$D(DE(DQ)) D O G RD:"@"'[X,A:DV'["R"&(X="@"),X:X="@" S X=Y G N
    35 PR S DG=DV,Y=DE(DQ),X=DU I $D(DQ(DQ,2)) X DQ(DQ,2) G RP
    36 R I DG["P",@("$D(^"_X_"0))") S X=+$P(^(0),U,2) G RP:'$D(^(Y,0)) S Y=$P(^(0),U),X=$P(^DD(X,.01,0),U,3),DG=$P(^(0),U,2) G R
    37  I DG["V",+Y,$P(Y,";",2)["(",$D(@(U_$P(Y,";",2)_"0)")) S X=+$P(^(0),U,2) G RP:'$D(^(+Y,0)) S Y=$P(^(0),U) I $D(^DD(+X,.01,0)) S DG=$P(^(0),U,2),X=$P(^(0),U,3) G R
    38  X:DG["D" ^DD("DD") I DG["S" S %=$P($P(";"_X,";"_Y_":",2),";") S:%]"" Y=%
    39 RP D O I X="" S X=DE(DQ) G A:'DV,A:DC<2,N^DIE17
    40 I I DV'["I",DV'["#" G RD
    41  D E^DIE0 G RD:$D(X),PR
    42  Q
    43 SET N DIR S DIR(0)="SV"_$E("o",$D(DB(DQ)))_U_DU,DIR("V")=1
    44  I $D(DB(DQ)),'$D(DIQUIET) N DIQUIET S DIQUIET=1
    45  D ^DIR I 'DDER S %=Y(0),X=Y
    46  Q
    47 SAVEVALS S @DIEZTMP@("V",DP,DIIENS,DIFLD,"O")=$G(DE(DQ)) S:$D(^("F"))[0 ^("F")=$G(DE(DQ))
    48  I $D(DE(DW,"4/")) S @DIEZTMP@("V",DP,DIIENS,DIFLD,"4/")=""
    49  E  K @DIEZTMP@("V",DP,DIIENS,DIFLD,"4/")
    50  Q
    51 NKEY W:'$D(ZTQUEUED) "??  Required key field" S X="?BAD" G QS
    52 KEYCHK() Q:$G(DE(DW,"KEY"))="" 1 Q @DE(DW,"KEY")
    53 BEGIN S DNM="IBXSC113",DQ=1
    54 1 D:$D(DG)>9 F^DIE17,DE S DQ=1,DW=".13;1",DV="Fa",DU="",DLB="PHONE NUMBER [RESIDENCE]",DIFLD=.131
    55  S DE(DW)="C1^IBXSC113"
    56  G RE
    57 C1 G C1S:$D(DE(1))[0 K DB
    58  S X=DE(1),DIC=DIE
    59  D EVENT^IVMPLOG(DA)
    60  S X=DE(1),DIC=DIE
    61  S IVMX=X,X="IVMPXFR" X ^%ZOSF("TEST") D:$T DPT^IVMPXFR S X=IVMX K IVMX
    62  S X=DE(1),DIC=DIE
    63  I ($T(AVAFC^VAFCDD01)'="") S VAFCF=".131;" D AVAFC^VAFCDD01(DA)
    64  S X=DE(1),DIC=DIE
    65  D:($T(ADGRU^DGRUDD01)'="") ADGRU^DGRUDD01(DA)
    66  S X=DE(1),DIC=DIE
    67  X "N % S %=$E($TR(X,""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+[]{}<>,./?:;'\|""),1,30) K:%'="""" ^DPT(""AZVWVOE"",%,DA)"
    68  S X=DE(1),DIIX=2_U_DIFLD D AUDIT^DIET
    69 C1S S X="" G:DG(DQ)=X C1F1 K DB
     4 S X=DG(DQ),DIC=DIE
     5 S A1B2TAG="PAT" D ^A1B2XFR
    706 S X=DG(DQ),DIC=DIE
    717 D EVENT^IVMPLOG(DA)
    728 S X=DG(DQ),DIC=DIE
     9 K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^DPT(D0,.11)):^(.11),1:"") S X=$P(Y(1),U,13),X=X S DIU=X K Y S X=DIV S X=$$NOW^XLFDT() S DIH=$G(^DPT(DIV(0),.11)),DIV=X S $P(^(.11),U,13)=DIV,DIH=2,DIG=.118 D ^DICR
     10 S X=DG(DQ),DIC=DIE
    7311 S IVMX=X,X="IVMPXFR" X ^%ZOSF("TEST") D:$T DPT^IVMPXFR S X=IVMX K IVMX
    7412 S X=DG(DQ),DIC=DIE
    75  I ($T(AVAFC^VAFCDD01)'="") S VAFCF=".131;" D AVAFC^VAFCDD01(DA)
     13 I ($T(AVAFC^VAFCDD01)'="") S VAFCF=".115;" D AVAFC^VAFCDD01(DA)
    7614 S X=DG(DQ),DIC=DIE
    7715 D:($T(ADGRU^DGRUDD01)'="") ADGRU^DGRUDD01(DA)
    78  S X=DG(DQ),DIC=DIE
    79  X "N % S %=$E($TR(X,""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+[]{}<>,./?:;'\|""),1,30) S:%'="""" ^DPT(""AZVWVOE"",%,DA)="""""
    80  I $D(DE(1))'[0!(^DD(DP,DIFLD,"AUDIT")'="e") S X=DG(DQ),DIIX=3_U_DIFLD D AUDIT^DIET
    81 C1F1 Q
    82 X1 K:$L(X)>20!($L(X)<4) X
    83  I $D(X),X'?.ANP K X
    84  Q
    85  ;
    86 2 S DQ=3 ;@155
    87 3 D:$D(DG)>9 F^DIE17,DE S DQ=3,DW=".121;9",DV="RSX",DU="",DLB="TEMPORARY ADDRESS ACTIVE?",DIFLD=.12105
    88  S DE(DW)="C3^IBXSC113",DE(DW,"INDEX")=1
    89  S DU="Y:YES;N:NO;"
    90  G RE
    91 C3 G C3S:$D(DE(3))[0 K DB
    92  S X=DE(3),DIC=DIE
    93  X "S DGXRF=.12105 D ^DGDDC Q"
    94 C3S S X="" G:DG(DQ)=X C3F1 K DB
    95  S X=DG(DQ),DIC=DIE
    96  ;
    97 C3F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    98  F DIXR=600 S DIEZRXR(2,DIXR)=""
    99  Q
    100 X3 S DFN=DA I X="N" D TADD^DGLOCK
    101  Q
    102  ;
    103 4 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=4 D X4 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
    104 X4 S:X="N" Y="@915" S:X="Y" DIE("NO^")=""
    105  Q
    106 5 D:$D(DG)>9 F^DIE17,DE S DQ=5,DW=".121;7",DV="DX",DU="",DLB="TEMPORARY ADDRESS START DATE",DIFLD=.1217
    107  S DE(DW)="C5^IBXSC113",DE(DW,"INDEX")=1
    108  G RE
    109 C5 G C5S:$D(DE(5))[0 K DB
    110  S X=DE(5),DIC=DIE
    111  ;
    112 C5S S X="" G:DG(DQ)=X C5F1 K DB
    113  S X=DG(DQ),DIC=DIE
    114  ;
    115 C5F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    116  F DIXR=600 S DIEZRXR(2,DIXR)=""
    117  Q
    118 X5 S %DT="E" D ^%DT S X=Y K:Y<1 X I $D(X) S DFN=DA D TAD^DGLOCK
    119  Q
    120  ;
    121 6 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=6 D X6 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
    122 X6 I X']"" W !?4,*7,"But I need a Start Date for this Temporary Address." S Y=.12105
    123  Q
    124 7 D:$D(DG)>9 F^DIE17,DE S DQ=7,DW=".121;8",DV="DX",DU="",DLB="TEMPORARY ADDRESS END DATE",DIFLD=.1218
    125  S DE(DW)="C7^IBXSC113",DE(DW,"INDEX")=1
    126  G RE
    127 C7 G C7S:$D(DE(7))[0 K DB
    128 C7S S X="" G:DG(DQ)=X C7F1 K DB
    129 C7F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    130  F DIXR=600 S DIEZRXR(2,DIXR)=""
    131  Q
    132 X7 S %DT="E" D ^%DT S X=Y K:Y<1 X I $D(X) S DFN=DA D TAD^DGLOCK I $D(X),(X<$P(^DPT(DFN,.121),"^",7)) K X
    133  Q
    134  ;
    135 8 D:$D(DG)>9 F^DIE17,DE S DQ=8,DW=".121;1",DV="FX",DU="",DLB="TEMPORARY STREET [LINE 1]",DIFLD=.1211
    136  S DE(DW)="C8^IBXSC113",DE(DW,"INDEX")=1
    137  G RE
    138 C8 G C8S:$D(DE(8))[0 K DB
    139  S X=DE(8),DIC=DIE
    140  X "S DGXRF=.1211 D ^DGDDC Q"
    141 C8S S X="" G:DG(DQ)=X C8F1 K DB
    142  S X=DG(DQ),DIC=DIE
    143  ;
    144 C8F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    145  F DIXR=600 S DIEZRXR(2,DIXR)=""
    146  Q
    147 X8 K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>30!($L(X)<2) X I $D(X) S DFN=DA D TAD^DGLOCK
    148  I $D(X),X'?.ANP K X
    149  Q
    150  ;
    151 9 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=9 D X9 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
    152 X9 I X']"" W !?4,*7,"But I need at least one line of a Temporary address." S Y=.12105
    153  Q
    154 10 D:$D(DG)>9 F^DIE17,DE S DQ=10,DW=".121;2",DV="FX",DU="",DLB="TEMPORARY STREET [LINE 2]",DIFLD=.1212
    155  S DE(DW)="C10^IBXSC113",DE(DW,"INDEX")=1
    156  G RE
    157 C10 G C10S:$D(DE(10))[0 K DB
    158  S X=DE(10),DIC=DIE
    159  X "S DGXRF=.1212 D ^DGDDC Q"
    160 C10S S X="" G:DG(DQ)=X C10F1 K DB
    161  S X=DG(DQ),DIC=DIE
    162  ;
    163 C10F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    164  F DIXR=600 S DIEZRXR(2,DIXR)=""
    165  Q
    166 X10 K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>30!($L(X)<2) X I $D(X) S DFN=DA D TAD^DGLOCK
    167  I $D(X),X'?.ANP K X
    168  Q
    169  ;
    170 11 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=11 D X11 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
    171 X11 S:X']"" Y=.1214
    172  Q
    173 12 D:$D(DG)>9 F^DIE17,DE S DQ=12,DW=".121;3",DV="FX",DU="",DLB="TEMPORARY STREET [LINE 3]",DIFLD=.1213
    174  S DE(DW)="C12^IBXSC113",DE(DW,"INDEX")=1
    175  G RE
    176 C12 G C12S:$D(DE(12))[0 K DB
    177 C12S S X="" G:DG(DQ)=X C12F1 K DB
    178 C12F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    179  F DIXR=600 S DIEZRXR(2,DIXR)=""
    180  Q
    181 X12 K:$L(X)>30!($L(X)<2) X I $D(X) S DFN=DA D TAD^DGLOCK
    182  I $D(X),X'?.ANP K X
    183  Q
    184  ;
    185 13 D:$D(DG)>9 F^DIE17,DE S DQ=13,DW=".121;4",DV="FX",DU="",DLB="TEMPORARY CITY",DIFLD=.1214
    186  S DE(DW)="C13^IBXSC113",DE(DW,"INDEX")=1
    187  G RE
    188 C13 G C13S:$D(DE(13))[0 K DB
    189 C13S S X="" G:DG(DQ)=X C13F1 K DB
    190 C13F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    191  F DIXR=600 S DIEZRXR(2,DIXR)=""
    192  Q
    193 X13 K:$L(X)>30!($L(X)<2) X I $D(X) S DFN=DA D TAD^DGLOCK
    194  I $D(X),X'?.ANP K X
    195  Q
    196  ;
    197 14 D:$D(DG)>9 F^DIE17,DE S DQ=14,DW=".121;5",DV="P5'X",DU="",DLB="TEMPORARY STATE",DIFLD=.1215
    198  S DE(DW)="C14^IBXSC113",DE(DW,"INDEX")=1
    199  S DU="DIC(5,"
    200  G RE
    201 C14 G C14S:$D(DE(14))[0 K DB
    202 C14S S X="" G:DG(DQ)=X C14F1 K DB
    203 C14F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    204  F DIXR=600 S DIEZRXR(2,DIXR)=""
    205  Q
    206 X14 S DFN=DA D TAD^DGLOCK Q
    207  Q
    208  ;
    209 15 D:$D(DG)>9 F^DIE17,DE S DQ=15,DW=".121;12",DV="FOX",DU="",DLB="TEMPORARY ZIP+4",DIFLD=.12112
    210  S DQ(15,2)="S Y(0)=Y D ZIPOUT^VAFADDR"
    211  S DE(DW)="C15^IBXSC113",DE(DW,"INDEX")=1
    212  G RE
    213 C15 G C15S:$D(DE(15))[0 K DB
    214  S X=DE(15),DIC=DIE
    215  D KILL^DGREGDD1(DA,.1216,.121,6,$E(X,1,5))
    216 C15S S X="" G:DG(DQ)=X C15F1 K DB
    217  S X=DG(DQ),DIC=DIE
    218  D SET^DGREGDD1(DA,.1216,.121,6,$E(X,1,5))
    219 C15F1 S DIEZRXR(2,DIIENS)=$$OREF^DILF($NA(@$$CREF^DILF(DIE)))
    220  F DIXR=600 S DIEZRXR(2,DIXR)=""
    221  Q
    222 X15 K:X[""""!($A(X)=45) X I $D(X) S DFN=DA D TAD^DGLOCK I $D(X) K:$L(X)>20!($L(X)<5) X I $D(X) D ZIPIN^VAFADDR
    223  I $D(X),X'?.ANP K X
    224  Q
    225  ;
    226 16 D:$D(DG)>9 F^DIE17,DE S DQ=16,DW=".121;10",DV="FX",DU="",DLB="TEMPORARY PHONE NUMBER",DIFLD=.1219
    227  S DE(DW)="C16^IBXSC113"
    228  G RE
    229 C16 G C16S:$D(DE(16))[0 K DB
    230  S X=DE(16),DIC=DIE
    231  D EVENT^IVMPLOG(DA)
    232 C16S S X="" G:DG(DQ)=X C16F1 K DB
    233  S X=DG(DQ),DIC=DIE
    234  D EVENT^IVMPLOG(DA)
    235 C16F1 Q
    236 X16 K:$L(X)>20!($L(X)<4) X I $D(X) S DFN=DA D TAD^DGLOCK
    237  I $D(X),X'?.ANP K X
    238  Q
    239  ;
    240 17 S DQ=18 ;@915
    241 18 D:$D(DG)>9 F^DIE17,DE S Y=U,DQ=18 D X18 D:$D(DIEFIRE)#2 FIREREC^DIE17 G A:$D(Y)[0,A:Y=U S X=Y,DIC(0)="F",DW=DQ G OUT^DIE17
    242 X18 K DIE("NO^")
    243  Q
    244 19 S DQ=20 ;@16
    245 20 G 1^DIE17
     16 I $D(DE(7))'[0!(^DD(DP,DIFLD,"AUDIT")'="e") S X=DG(DQ),DIIX=3_U_DIFLD D AUDIT^DIET
Note: See TracChangeset for help on using the changeset viewer.