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

XUMF333.m

Go to the documentation of this file.
  1. XUMF333 ;OIFO-OAK/RAM - Add HCS data types ;02/21/02
  1. ;;8.0;KERNEL;**335**;Jul 10, 1995
  1. ;
  1. Q
  1. ;
  1. ;
  1. POST ; -- post installation XU*8*333
  1. ;
  1. N XUMF,IENS,IEN,FDA,I,HCS,XXX
  1. ;
  1. S XUMF=1
  1. ;
  1. D KM,KM1,KM2,KM3,STUFF
  1. ;
  1. Q
  1. ;
  1. KM ; -- add XUMF IMF EDIT STATUS to XUKERNEL
  1. ;
  1. N X,Y
  1. ;
  1. S X=$$FIND1^DIC(19,,"B","XUKERNEL")
  1. S Y="?+1,"
  1. ;
  1. S IENS=Y_X_","
  1. S FDA(19,"?1,",.01)="XUKERNEL"
  1. S FDA(19.01,"?+2,?1,",.01)="XUMF IMF EDIT STATUS"
  1. D UPDATE^DIE("","FDA")
  1. ;
  1. Q
  1. ;
  1. KM1 ; -- add XUMF IMF EDIT STATUS to XUKERNEL
  1. ;
  1. N X,Y
  1. ;
  1. S X=$$FIND1^DIC(19,,"B","XUKERNEL")
  1. S Y="?+1,"
  1. ;
  1. S IENS=Y_X_","
  1. S FDA(19,"?1,",.01)="XUKERNEL"
  1. S FDA(19.01,"?+3,?1,",.01)="XUMF LOAD INSTITUTION"
  1. D UPDATE^DIE("","FDA")
  1. ;
  1. Q
  1. ;
  1. KM2 ; -- add XUMF IMF EDIT STATUS to XUKERNEL
  1. ;
  1. N X,Y
  1. ;
  1. S X=$$FIND1^DIC(19,,"B","XUKERNEL")
  1. S Y="?+1,"
  1. ;
  1. S IENS=Y_X_","
  1. S FDA(19,"?1,",.01)="XUKERNEL"
  1. S FDA(19.01,"?+3,?1,",.01)="Patch XU*8*335 clean 4.1 and 4"
  1. D UPDATE^DIE("","FDA")
  1. ;
  1. Q
  1. ;
  1. KM3 ; -- remove XUMF333 clean 4.1 and 4 if present
  1. ;
  1. N X,IENS,FDA
  1. ;
  1. S X=$$FIND1^DIC(19,,"B","XUMF333 clean 4.1 and 4")
  1. ;
  1. Q:'X
  1. ;
  1. S IENS=X_","
  1. S FDA(19,IENS,.01)="@"
  1. D UPDATE^DIE("","FDA")
  1. ;
  1. Q
  1. ;
  1. STUFF ;
  1. ;
  1. S IEN=$O(^DIC(4.1,"B","HCS",0))
  1. S IENS=$S(IEN:IEN_",",1:"+1,")
  1. K FDA
  1. S FDA(4.1,IENS,.01)="HCS"
  1. S FDA(4.1,IENS,1)="HEALTH CARE SYSTEM"
  1. S FDA(4.1,IENS,3)="LOCAL"
  1. D UPDATE^DIE("E","FDA")
  1. ;
  1. S HCS=""
  1. F XXX=1:1 D Q:HCS=""
  1. .S HCS=$P($T(HCS+XXX),";;",2)
  1. .S IEN=$S(HCS="":0,1:$O(^DIC(4,"B",HCS,0)))
  1. .S IENS=$S(IEN:IEN_",",1:"+1,")
  1. .;
  1. .K FDA
  1. .S FDA(4,IENS,.01)=HCS
  1. .S FDA(4,IENS,11)="LOCAL"
  1. .S FDA(4,IENS,13)="HCS"
  1. .D UPDATE^DIE("E","FDA")
  1. ;
  1. Q
  1. ;
  1. HCS ;
  1. ;;VA GREATER LOS ANGELES (691)
  1. ;;VA HEARTLAND-EAST VISN15 (657)
  1. ;;VA HEARTLAND-WEST VISN15 (589)
  1. ;;VA CHICAGO HSC (537)
  1. ;;CENTRAL PLAINS NETWORK (636)
  1. ;;MONTANA HCS (436)
  1. ;;VA PACIFIC ISLANDS HCS (459)
  1. ;;NEW MEXICO HCS (501)
  1. ;;AMARILLO HCS (504)
  1. ;;MARYLAND HCS (512)
  1. ;;WEST TEXAS HCS (519)
  1. ;;BOSTON HCS (523)
  1. ;;UPSTATE NEW YORK HCS (528)
  1. ;;NORTH TEXAS HCS (549)
  1. ;;EASTERN COLORADO HCS (554)
  1. ;;NEW JERSEY HCS (561)
  1. ;;BLACK HILLS HCS (568)
  1. ;;CENTRAL CALIFORNIA HCS (570)
  1. ;;N FLORIDA/S GEORGIA HCS (573)
  1. ;;GREATER NEBRASKA HCS (597)
  1. ;;CENTRAL ARKANSAS HCS (598)
  1. ;;LONG BEACH HCS (600)
  1. ;;CENTRAL ALABAMA HCS (619)
  1. ;;HUDSON VALLEY HCS VAMC (620)
  1. ;;TENNESSEE VALLEY HCS (626)
  1. ;;PALO ALTO HCS (640)
  1. ;;PITTSBURGH HCS (646)
  1. ;;ROSEBURG HCS (653)
  1. ;;SIERRA NEVADA HCS (654)
  1. ;;SALT LAKE CITY HCS (660)
  1. ;;PUGET SOUND HCS (663)
  1. ;;SAN DIEGO HCS (664)
  1. ;;SOUTH TEXAS HCS (671)
  1. ;;CENTRAL TEXAS HCS (674)
  1. ;;EASTERN KANSAS HCS (677)
  1. ;;SOUTHERN ARIZONA VA HCS (678)
  1. ;;CONNECTICUT HCS (689)
  1. ;;EL PASO VA HCS (756)
  1. ;;NEW YORK HHS (630)
  1. ;
  1. ; do not include
  1. ;;EASTERN COLORADO HCS (554A4)
  1. ;;SOUTHERN COLORADO HCS
  1. ;;CENTRAL IOWA HCS (555)
  1. ;;ILLIANA HCS (550)
  1. ;;NORTHERN CALIFORNIA HCS (612)
  1. ;;SOUTHERN NEVADA HCS (593)
  1. ;;NORTHERN ARIZONA HCS (649)
  1. ;
  1. Q
  1. ;
  1. CHK ; -- check site updating required
  1. ;
  1. N STA,IEN,FLAG,CHK
  1. ;
  1. S STA=$$STA^XUAF4(+$G(DUZ(2)))
  1. ;
  1. I STA="" W !!,"DUZ not defined. Please log on." Q
  1. ;
  1. W @IOF,!,STA," ",$P($$NS^XUAF4(+DUZ(2)),U)
  1. ;
  1. S CHK=$$INST^XUMF333(+DUZ(2),.ERR)
  1. I CHK=1 D
  1. .W !!?5,"MISSING DATA - please fix",!
  1. .S I=0 F S I=$O(ERR("FATAL",I)) Q:'I D
  1. ..W !?5,ERR("FATAL",I)
  1. I CHK'=1 W " is okay"
  1. ;
  1. S STA=STA_"A"
  1. F S STA=$O(^DIC(4,"D",STA)) Q:STA="" D Q:$G(FLAG)
  1. .I $E($$STA^XUAF4(DUZ(2)),1,3)'=$E(STA,1,3) S FLAG=1 Q
  1. .S IEN=$$IEN^XUAF4(STA)
  1. .S CHK=$$INST^XUMF333(+IEN,.ERR)
  1. .W !!,STA," ",$P($$NS^XUAF4(+IEN),U)
  1. .I CHK'=1 W " is okay" Q
  1. .I CHK=1 D
  1. ..W " is MISSING DATA - please fix",!
  1. ..S I=0 F S I=$O(ERR("FATAL",I)) Q:'I D
  1. ...W !?5,ERR("FATAL",I)
  1. .K ERR
  1. ;
  1. ;
  1. Q
  1. ;
  1. INST(IEN,ERR) ; -- validate Institution entry FALSE=valid
  1. ;
  1. Q:'$G(IEN) "IEN null"
  1. ;
  1. S CNT=1
  1. ;
  1. D ZERO(IEN,.ERR,.CNT)
  1. D ADD1(IEN,.ERR,.CNT)
  1. D ADD2(IEN,.ERR,.CNT)
  1. D FTYP(IEN,.ERR,.CNT)
  1. D ND99(IEN,.ERR,.CNT)
  1. ;
  1. Q $S($D(ERR("FATAL")):1,$D(ERR("WARNING")):2,1:0)
  1. ;
  1. ZERO(IEN,ERR,CNT) ; -- zero node
  1. ;
  1. N X
  1. ;
  1. S CNT=$G(CNT) S:'CNT CNT=1
  1. ;
  1. S X=$G(^DIC(4,+IEN,0))
  1. I $P(X,U,2)="" D
  1. .S ERR("FATAL",CNT)="STATE is missing",CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. ADD1(IEN,ERR,CNT) ; -- address node
  1. ;
  1. N X,I
  1. ;
  1. S CNT=$G(CNT) S:'CNT CNT=1
  1. ;
  1. S X=$G(^DIC(4,+IEN,1))
  1. I $P(X,U,1)="" D
  1. .S ERR("FATAL",CNT)="Physical address St. line 1 missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,3)="" D
  1. .S ERR("FATAL",CNT)="Physical address City missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,4)="" D
  1. .S ERR("FATAL",CNT)="Physical address ZIP missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,2)="" D
  1. .S ERR("WARNING",CNT)="Physical address St. line 2 missing"
  1. .S CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. ADD2(IEN,ERR,CNT) ; -- mailing address node
  1. ;
  1. N X,I
  1. ;
  1. S CNT=$G(CNT) S:'CNT CNT=1
  1. ;
  1. S X=$G(^DIC(4,+IEN,4))
  1. I $P(X,U,1)="" D
  1. .S ERR("FATAL",CNT)="Mailing address St. line 1 missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,3)="" D
  1. .S ERR("FATAL",CNT)="Mailing address City missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,4)="" D
  1. .S ERR("FATAL",CNT)="Mailing address State missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,5)="" D
  1. .S ERR("FATAL",CNT)="Mailing address ZIP missing"
  1. .S CNT=CNT+1
  1. I $P(X,U,2)="" D
  1. .S ERR("WARNING",CNT)="Mailing address St. line 2 missing"
  1. .S CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. FTYP(IEN,ERR,CNT) ; -- facility type node
  1. ;
  1. N X
  1. ;
  1. S CNT=$G(CNT) S:'CNT CNT=1
  1. ;
  1. S X=$G(^DIC(4,+IEN,3))
  1. I 'X D
  1. .S ERR("FATAL",CNT)="FACILITY TYPE is missing",CNT=CNT+1
  1. I $P($G(^DIC(4.1,+X,0)),U,4)'="N" D
  1. .S ERR("FATAL",CNT)="FACILITY TYPE is not NATIONAL",CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. ND99(IEN,ERR,CNT) ; -- 99 node
  1. ;
  1. N X
  1. ;
  1. S CNT=$G(CNT) S:'CNT CNT=1
  1. ;
  1. S X=$G(^DIC(4,+IEN,99))
  1. I $P(X,U,3)="" D
  1. .S ERR("FATAL",CNT)="OFFICIAL VA NAME is missing",CNT=CNT+1
  1. I ($P(X,U,4))&($E($$NS^XUAF4(+IEN),1,2)'="ZZ") D
  1. .S ERR("FATAL",CNT)="Inactive facility NAME not ZZ'd",CNT=CNT+1
  1. ;
  1. Q
  1. ;
  1. C4 ; -- clean up Institution file
  1. ;
  1. D RIP,CFTYP,GET
  1. ;
  1. Q
  1. ;
  1. RIP ; -- remove from all inactive and local the associations visn & parent
  1. ;
  1. N IEN
  1. ;
  1. S IEN=0
  1. F S IEN=$O(^DIC(4,IEN)) Q:'IEN D
  1. .I $P($G(^DIC(4,+IEN,0)),U,11)="N",'$P($G(^DIC(4,+IEN,99)),U,4) Q
  1. .D IFF^XUMF333(IEN)
  1. ;
  1. Q
  1. ;
  1. IFF(IEN) ; -- inactive facility remove VISN and parent association
  1. ;
  1. N FDA,IENS,XUMF
  1. ;
  1. S XUMF=1
  1. ;
  1. S IENS="1,"_IEN_","
  1. S FDA(4.014,IENS,.01)="@"
  1. S IENS="2,"_IEN_","
  1. S FDA(4.014,IENS,.01)="@"
  1. D FILE^DIE("E","FDA")
  1. ;
  1. Q
  1. ;
  1. CFTYP ; - clean 4.1
  1. ;
  1. N FDA,IENS,XUMF,IEN
  1. ;
  1. M ^TMP("XUMF 4.1",$J)=^DIC(4.1)
  1. ;
  1. S XUMF=1
  1. ;
  1. S IEN=0
  1. F S IEN=$O(^DIC(4.1,IEN)) Q:'IEN D
  1. .S IENS=IEN_","
  1. .K FDA
  1. .S FDA(4.1,IENS,.01)="@"
  1. .D FILE^DIE("E","FDA")
  1. ;
  1. S IEN=0
  1. F S IEN=$O(^DIC(4,IEN)) Q:'IEN D
  1. .S IENS=IEN_","
  1. .K FDA
  1. .S FDA(4,IENS,13)="@"
  1. .D FILE^DIE("E","FDA")
  1. ;
  1. Q
  1. ;
  1. GET ; -- get Institution Master File (IMF) and Facility Types
  1. ;
  1. W !!,"...getting Facility Types - wait please 5 min..."
  1. D LOAD^XUMF(4.1)
  1. W !!,"...getting Institutions - wait please 10 min..."
  1. D LOAD^XUMF(4)
  1. ;
  1. Q
  1. ;
  1. SCN(IEN,XUMF) ; screen out HCS entries
  1. ;
  1. ; IEN = Institution Internal Entry Number to check
  1. ;
  1. S XUMF=$G(XUMF) Q:XUMF 1
  1. ;
  1. I $O(^DIC(4.1,"B","HCS",0))=+$G(^DIC(4,+IEN,3)) Q 0
  1. ;
  1. Q 1
  1. ;