Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AUM61021

AUM61021.m

Go to the documentation of this file.
  1. AUM61021 ; IHS/ADC/GTH - STANDARD TABLE UPDATES, 06DEC95 BANYAN ; [ 12/11/95 3:39 PM ]
  1. ;;96.1;TABLE MAINTENANCE;**2**;OCT 26,1995
  1. ;
  1. Q
  1. ;
  1. START ;EP
  1. ;
  1. NEW A,C,DIC,DIE,DLAYGO,DR,E,L,N,O,P,R,S,T
  1. ;
  1. S E(0)="ERROR : ",E(1)="NOT ADDED : "
  1. D LOCNEW,DASH,LOCMOD,DASH,LOCINACT,DASH,COMMMOD,DASH
  1. ;
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. ;
  1. ADDOK D RSLT($J("",5)_"Added : "_L) Q
  1. ADDFAIL D RSLT($J("",5)_E(0)_"ADD FAILED => "_L) Q
  1. DASH D RSLT(""),RSLT($$REPEAT^XLFSTR("-",$S($G(IOM):IOM-10,1:70))),RSLT("") Q
  1. DIE NEW A,C,E,L,N,O,P,R,S,T
  1. LOCK +(@(DIE_DA_")")):10 E D RSLT($J("",5)_E(0)_"Entry '"_DIE_DA_"' IS LOCKED. NOTIFY PROGRAMMER.") S Y=1 Q
  1. D ^DIE LOCK -(@(DIE_DA_")")) K DA,DIE,DR Q
  1. IEN(X,%,Y) ;
  1. S Y=$O(@(X_"""C"",%,0)"))
  1. I 'Y S Y=$T(@%^AUM9511M) I Y NEW Z S Z=E D S:Y<0 Y="" S E=Z
  1. . NEW A,C,L,N,O,P,R,S,V,%
  1. . S L=Y
  1. . I X["AREA" NEW X S E=E_" (Add Area) " D ADDAREA Q
  1. . I X["SU" NEW X S E=E_" (Add SU) " D ADDSU Q
  1. . I X["CTY" NEW X S E=E_" (Add County) " D ADDCNTY Q
  1. .Q
  1. D:'Y RSLT($J("",5)_E(0)_$P(@(X_"0)"),U)_" DOES NOT EXIST => "_%)
  1. Q +Y
  1. DIK NEW A,C,E,L,N,O,P,R,S,T D ^DIK K DIK Q
  1. FILE NEW A,C,E,L,N,O,P,R,S,T K DD,DO S DIC(0)="L" D FILE^DICN K DIC Q
  1. MODOK D RSLT($J("",5)_"Changed : "_L) Q
  1. RSLT(%) S ^(0)=$G(^TMP("AUM SCB",$J,0))+1,^(^(0))=% W:'$D(ZTQUEUED) !,% Q
  1. ZEROTH(A,B,C,D,E,F,G,H,I,J,K) ; Return 0th node. A is file #, rest fields.
  1. I '$G(A) Q -1
  1. I '$G(B) Q -1
  1. F %=67:1:75 Q:'$G(@($C(%))) S A=+$P(^DD(A,B,0),U,2),B=@($C(%))
  1. I 'A!('B) Q -1
  1. I '$D(^DD(A,B,0)) Q -1
  1. Q U_$P(^DD(A,B,0),U,2)
  1. ;
  1. ; -----------------------------------------------------
  1. AREANEW ;
  1. D RSLT("New Area Codes")
  1. F T=1:1 S L=$T(AREANEW+T^AUM6102A) Q:$P(L,";",3)="END" D ADDAREA
  1. Q
  1. ;
  1. ADDAREA ;
  1. S L=$P(L,";;",2),A=$P(L,U),N=$P(L,U,2),R=$P(L,U,3),C=$P(L,U,4),L=A_" "_N_" "_R_" "_C
  1. I $D(^AUTTAREA("B",N)) D RSLT($J("",5)_E(1)_"NAME EXISTS => "_N) Q
  1. I $D(^AUTTAREA("C",A)) D RSLT($J("",5)_E(1)_"CODE EXISTS => "_A) Q
  1. S DLAYGO=9999999.21,DIC="^AUTTAREA(",X=N,DIC("DR")=".02///"_A_";.03///"_R_";.04///"_C
  1. D FILE,ADDFAIL:Y<0,ADDOK:Y>0
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. SUNEW ;
  1. D RSLT("New Service Unit Codes")
  1. F T=1:1 S L=$T(SUNEW+T^AUM6102A) Q:$P(L,";",3)="END" D ADDSU
  1. Q
  1. ;
  1. ADDSU ;
  1. S L=$P(L,";;",2),A=$P(L,U),S=$P(L,U,2),N=$P(L,U,3),L=A_" "_S_" "_N
  1. I $D(^AUTTSU("C",A_S)) D RSLT($J("",5)_E(1)_"ASU EXISTS => "_A_S) Q
  1. S P=$$IEN("^AUTTAREA(",A)
  1. Q:'P
  1. S DLAYGO=9999999.22,DIC="^AUTTSU(",X=N,DIC("DR")=".02////"_P_";.03///"_S
  1. D FILE,ADDFAIL:Y<0,ADDOK:Y>0
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. LOCNEW ;
  1. D RSLT("New Location Codes")
  1. F T=1:1 S L=$T(LOCNEW+T^AUM6102A) Q:$P(L,";",3)="END" D ADDLOC
  1. Q
  1. ;
  1. ADDLOC ;
  1. S L=$P(L,";;",2),A=$P(L,U),S=$P(L,U,2),F=$P(L,U,3),N=$P(L,U,4),P=$P(L,U,5)
  1. S L=A_" "_S_" "_F_" "_N_" "_P
  1. S %=A_S_F,%=$O(^AUTTLOC("C",%,0))
  1. I % D RSLT($J("",5)_E(1)_"ASUFAC EXISTS => "_A_S_F) D Q
  1. . I $P($G(^AUTTLOC(%,0)),U,21) S DIE="^AUTTLOC(",DA=%,DR=".27///@" D DIE D:$D(Y) RSLT($J("",5)_E(0)_"DELETE INACTIVE DATE FAILED => "_L) D:'$D(Y) RSLT($J("",5)_"INACTIVE DATE DELETED => "_L)
  1. . S %=$O(^AUTTLOC("C",A_S_F,0)),%=$P(^AUTTLOC(%,0),U)
  1. . I %,$D(^DIC(4,%,0)),N'=$P(^DIC(4,%,0),U) S DIE="^DIC(4,",DA=%,DR=".01///"_N D DIE D:$D(Y) RSLT($J("",5)_E(0)_"EDIT INSTITUTION FAILED => "_L) D:'$D(Y) RSLT($J("",5)_"INSTITUTION NAME UPDATED => "_L)
  1. . S %=$O(^AUTTLOC("C",A_S_F,0))
  1. . I P'=$P($G(^AUTTLOC(%,1)),U,2) S DIE="^AUTTLOC(",DA=%,DR=".31///"_P D DIE D:$D(Y) RSLT($J("",5)_E(0)_"EDIT PSEUDO PREFIX FAILED => "_L) D:'$D(Y) RSLT($J("",5)_"PSEUDO PREFIX UPDATED => "_L)
  1. .Q
  1. S P("A")=$$IEN("^AUTTAREA(",A)
  1. Q:'P("A")
  1. S P("S")=$$IEN("^AUTTSU(",A_S)
  1. Q:'P("S")
  1. F DINUM=+$P(^DIC(4,0),U,3):1 Q:'$D(^DIC(4,DINUM))&('$D(^AUTTLOC(DINUM))) I DINUM>99999 D RSLT($J("",5)_E(0)_"DINUM FOR LOC/INSTITUTION TOO BIG. NOTIFY ISC.") Q
  1. Q:DINUM>99999
  1. S DLAYGO=4,DIC="^DIC(4,",X=N
  1. D FILE
  1. I Y<0 D RSLT($J("",5)_E(0)_"^DIC(4 ADD FAILED => "_L) Q
  1. S DINUM=+Y,DLAYGO=9999999.06,DIC="^AUTTLOC(",X=DINUM,DIC("DR")=".04////"_P("A")_";.05////"_P("S")_";.07///"_F_";.31///"_P
  1. D FILE,ADDFAIL:Y<0,ADDOK:Y>0
  1. Q
  1. ;
  1. LOCMOD ;
  1. D RSLT("Location Code Changes")
  1. F T=1:2 S L=$T(LOCMOD+T^AUM6102A) Q:$P(L,";",3)="END" S L("TO")=$T(LOCMOD+T+1^AUM6102A) D
  1. . S L=$P(L,U,2,99),A=$P(L,U),S=$P(L,U,2),F=$P(L,U,3)
  1. . S P=$O(^AUTTLOC("C",A_S_F,0))
  1. . S L=$P(L("TO"),U,2,99),A=$P(L,U),S=$P(L,U,2),F=$P(L,U,3),N=$P(L,U,4)
  1. . I 'P S P=$O(^AUTTLOC("C",A_S_F,0)) I 'P S L=";;"_L D ADDLOC Q
  1. . S L=A_" "_S_" "_F_" "_N_" "_$P(L("TO"),U,6)
  1. . S P("A")=$$IEN("^AUTTAREA(",A)
  1. . Q:'P("A")
  1. . S P("S")=$$IEN("^AUTTSU(",A_S)
  1. . Q:'P("S")
  1. . S DIE="^AUTTLOC(",DA=P,DR=".04////"_P("A")_";.05////"_P("S")_";.07///"_F_";.31///"_$P(L("TO"),U,6)
  1. . D DIE
  1. . I $D(Y) D RSLT($J("",5)_E(0)_"EDIT LOCATION FAILED => "_L) Q
  1. . S DIE="^DIC(4,",DA=$P(^AUTTLOC(P,0),U),DR=".01///"_N
  1. . D DIE
  1. . I $D(Y) D RSLT($J("",5)_E(0)_"EDIT INSTITUTION FAILED => "_L) Q
  1. . D MODOK
  1. .Q
  1. D DASH,RSLT($$LOCMOD^AUMXPORT("AUM6102A")_" patients marked for export because of the Location Code changes.")
  1. ;
  1. Q
  1. ;
  1. LOCINACT ;
  1. D RSLT("Inactivated Location Codes")
  1. F T=1:1 S L=$T(LOCINACT+T^AUM6102A) Q:$P(L,";",3)="END" D
  1. . S L=$P(L,";;",2),A=$P(L,U),S=$P(L,U,2),F=$P(L,U,3),N=$P(L,U,4),P=$P(L,U,5)
  1. . S L=A_" "_S_" "_F_" "_N_" "_P
  1. . S %=A_S_F,%=$O(^AUTTLOC("C",%,0))
  1. . I '% D RSLT($J("",5)_"ASUFAC "_A_S_F_" not found (OK).") Q
  1. . S DIE="^AUTTLOC(",DA=%,DR=".27////"_DT
  1. . D DIE
  1. . I $D(Y) D RSLT($J("",5)_E(0)_"EDIT INACTIVE DATE FAILED => "_L) I 1
  1. . E D RSLT($J("",5)_"INACTIVATED => "_L)
  1. .Q
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. CNTYNEW ;
  1. D RSLT("New County Codes")
  1. F T=1:1 S L=$T(CNTYNEW+T^AUM6102A) Q:$P(L,";",3)="END" D ADDCNTY
  1. Q
  1. ;
  1. ADDCNTY ;
  1. S L=$P(L,";;",2),S=$P(L,U),C=$P(L,U,2),N=$P(L,U,3),L=S_" "_C_" "_N
  1. I $D(^AUTTCTY("C",S_C)) D RSLT($J("",5)_E(1)_"CODE EXISTS => "_S_C) Q
  1. S P("S")=$$IEN("^DIC(5,",S)
  1. Q:'P("S")
  1. S DIC="^AUTTCTY(",X=N,DIC("DR")=".02////"_P("S")_";.03///"_C
  1. D FILE,ADDFAIL:Y<0,ADDOK:Y>0
  1. Q
  1. ;
  1. CNTYMOD ;
  1. D RSLT("County Code Changes")
  1. F T=1:2 S L=$T(CNTYMOD+T^AUM6102A) Q:$P(L,";",3)="END" S L("TO")=$T(CNTYMOD+T+1^AUM6102A) D
  1. . S L=$P(L,U,2,99),S=$P(L,U),C=$P(L,U,2)
  1. . S P=$O(^AUTTCTY("C",S_C,0))
  1. . S L=$P(L("TO"),U,2,99),S=$P(L,U),C=$P(L,U,2),N=$P(L,U,3)
  1. . I 'P S P=$O(^AUTTCTY("C",S_C,0)) I 'P S L=";;"_L D ADDCNTY Q
  1. . S L=S_" "_C_" "_N
  1. . S P("S")=$$IEN("^DIC(5,",S)
  1. . Q:'P("S")
  1. . S DIE="^AUTTCTY(",DA=P,DR=".01///"_N_";.02////"_P("S")_";.03///"_C
  1. . D DIE
  1. . I $D(Y) D RSLT($J("",5)_E(0)_"EDIT COUNTY FAILED => "_L) Q
  1. . D MODOK
  1. .Q
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. COMMNEW ;
  1. D RSLT("New Community Codes")
  1. F T=1:1 S L=$T(COMMNEW+T^AUM9511A) Q:$P(L,";",3)="END" D ADDCOMM
  1. Q
  1. ;
  1. ADDCOMM ;
  1. S L=$P(L,";;",2),S=$P(L,U),O=$P(L,U,2),C=$P(L,U,3),N=$P(L,U,4),A=$P(L,U,5),V=$P(L,U,6),L=S_" "_O_" "_C_" "_N_" "_A_" "_V
  1. I $D(^AUTTCOM("C",S_O_C)) D RSLT($J("",5)_E(1)_"STCTYCOM CODE EXISTS => "_S_O_C) Q
  1. S P("O")=$$IEN^AUM95111("^AUTTCTY(",S_O)
  1. Q:'P("O")
  1. S P("A")=$$IEN^AUM95111("^AUTTAREA(",A)
  1. Q:'P("A")
  1. S P("V")=$$IEN^AUM95111("^AUTTSU(",A_V)
  1. Q:'P("V")
  1. S DLAYGO=9999999.05,DIC="^AUTTCOM(",X=N,DIC("DR")=".02////"_P("O")_";.05////"_P("V")_";.06////"_P("A")_";.07///"_C
  1. D FILE,ADDFAIL:Y<0,ADDOK:Y>0
  1. Q
  1. ;
  1. COMMMOD ;
  1. D RSLT("Community Code Changes")
  1. F T=1:2 S L=$T(COMMMOD+T^AUM6102A) Q:$P(L,";",3)="END" S L("TO")=$T(COMMMOD+T+1^AUM6102A) D
  1. . S L=$P(L,U,2,99),S=$P(L,U),O=$P(L,U,2),C=$P(L,U,3)
  1. . S P=$O(^AUTTCOM("C",S_O_C,0))
  1. . S L=$P(L("TO"),U,2,99),S=$P(L,U),O=$P(L,U,2),C=$P(L,U,3),N=$P(L,U,4),A=$P(L,U,5),V=$P(L,U,6)
  1. . I 'P S P=$O(^AUTTCOM("C",S_O_C,0)) I 'P S L=";;"_L D ADDCOMM Q
  1. . S L=S_" "_O_" "_C_" "_N_" "_A_" "_V
  1. . S P("O")=$$IEN^AUM61021("^AUTTCTY(",S_O)
  1. . Q:'P("O")
  1. . S P("A")=$$IEN^AUM61021("^AUTTAREA(",A)
  1. . Q:'P("A")
  1. . S P("V")=$$IEN^AUM61021("^AUTTSU(",A_V)
  1. . Q:'P("V")
  1. . S DIE="^AUTTCOM(",DA=P,DR=".01///"_N_";.02////"_P("O")_";.05////"_P("V")_";.06////"_P("A")_";.07///"_C
  1. . D DIE
  1. . I $D(Y) D RSLT($J("",5)_E(0)_"CHANGE FAILED => "_L) Q
  1. . D MODOK
  1. .Q
  1. D DASH,RSLT($$COMMMOD^AUMXPORT("AUM6102A")_" patients marked for export because of the Community Code changes.")
  1. Q
  1. ;
  1. ; -----------------------------------------------------
  1. ;