- XUMF416 ;ISS/RAM - Load NPI;12/15/05
- ;;8.0;KERNEL;**416**;Jul 10, 1995;Build 5
- ;
- ; $$PARAM^HLCS2 call supported by IA #3552
- ;
- Q
- ;
- BG ; -- background job
- ;
- N ZTRTN,ZTDESC,ZTDTH
- ;
- S ZTRTN="EN^XUMF416"
- S ZTDESC="XUMF Load NPI"
- S ZTDTH=$$NOW^XLFDT
- S ZTIO=""
- ;
- D ^%ZTLOAD
- ;
- Q
- ;
- EN ; -- entry point
- ;
- K ^TMP("XUMF ARRAY",$J)
- ;
- N PARAM,XUMFLAG,ERROR,TEST
- ;
- S (ERROR,XUMFLAG,TEST)=0
- ;
- I $P($$PARAM^HLCS2,U,3)="T" S TEST=1
- ;
- L +^TMP("XUMF ARRAY",$J):0 D:'$T
- .S ERROR="1^another process is using the Master File Server"
- ;
- I ERROR D EXIT Q
- ;
- D MFS0
- ;
- I ERROR D EXIT Q
- ;
- I '$D(^TMP("XUMF ARRAY",$J)) D
- .S ERROR="1^Connection to master file server failed!"
- ;
- I ERROR D EXIT Q
- ;
- D NPI
- ;
- D EXIT
- ;
- Q
- ;
- MFS0 ; -- get NPI from Institution Master File
- ;
- S PARAM("CDSYS")="NPI"
- S PARAM("LLNK")="XUMF MFR^XUMF "_$S('TEST:"FORUM",1:"TEST")
- S PARAM("PROTOCOL")=$O(^ORD(101,"B","XUMF MFQ",0))
- ;
- D MAIN^XUMFP(4,"ALL",7,.PARAM,.ERROR) Q:ERROR
- D MAIN^XUMFI(4,"ALL",7,.PARAM,.ERROR) Q:ERROR
- D MAIN^XUMFH
- ;
- Q
- ;
- EXIT ; -- cleanup and quit
- ;
- I '$$FIND1^DIC(4,,"BX","BONHAM PHARMACY") D EM
- ;
- K ^TMP("XUMF ARRAY",$J),^TMP("XUMF MFS",$J),^TMP("DIERR",$J)
- ;
- L -^TMP("XUMF ARRAY",$J)
- ;
- S ZTREQ="@"
- ;
- Q
- ;
- NPI ; -- add NPI ID to Institution file
- ;
- N ID,FDA,ERROR,IEN,IENS,HLNODE,ARRAY,XUMF,STANUM,TAX,TAXPC,TAXSTAT,NPI,NPIDT,NPISTAT,X,ERR,VISN
- N NAME,OFNME,AGENCY,FACTYP,STREET,CITY,STATE,ZIP,FDA,PARENT,STRT1,CITY1,STATE1,ZIP1,INACTIVE
- ;
- S XUMF=1
- ;
- S ID=""
- F S ID=$O(^TMP("XUMF ARRAY",$J,ID)) Q:ID="" D
- .K HLNODE
- .M HLNODE=^TMP("XUMF ARRAY",$J,ID)
- .D UPDATE
- ;
- Q
- ;
- UPDATE ;
- ;
- D SEGPRSE^XUMFXHL7("HLNODE","ARRAY")
- ;
- S NAME=ARRAY(1)
- S STANUM=ARRAY(2)
- S FACTYP=$P(ARRAY(4),"~",1)
- S OFNME=ARRAY(5)
- S INACTIVE=ARRAY(6)
- S STATE=ARRAY(7)
- S VISN=ARRAY(8)
- S PARENT=ARRAY(9)
- S STREET=$P(ARRAY(14),"~",2)
- S CITY=$P(ARRAY(14),"~",3)
- S ZIP=$P(ARRAY(14),"~",5)
- S STRT1=$P(ARRAY(15),"~",2)
- S CITY1=$P(ARRAY(15),"~",3)
- S STATE1=$P(ARRAY(15),"~",4)
- S ZIP1=$P(ARRAY(15),"~",5)
- S AGENCY=$P(ARRAY(16),"~")
- S NPIDT=$$FMDATE^HLFNC(ARRAY(17))
- S NPISTAT=ARRAY(18)
- S NPI=ARRAY(19)
- S TAX=ARRAY(20)
- S TAXPC=ARRAY(21)
- S TAXSTAT=ARRAY(22)
- ;
- S IEN=$$IEN^XUMF(4,"NPI",ID)
- I 'IEN,$G(STANUM)'="" S IEN=$O(^DIC(4,"D",STANUM,0))
- I 'IEN,$D(^DIC(4,"B",NAME)) S IEN=$O(^DIC(4,"B",NAME,0))
- ;
- I 'IEN D Q:'IEN
- .N X,Y S X=NAME
- .K DIC S DIC=4,DIC(0)="F"
- .D FILE^DICN K DIC
- .S IEN=$S(Y="-1":0,1:+Y)
- ;
- S IENS=IEN_","
- ;
- K FDA
- S FDA(4,IENS,.01)=NAME
- S FDA(4,IENS,13)=FACTYP
- S FDA(4,IENS,1.01)=STREET
- S FDA(4,IENS,1.03)=CITY
- S FDA(4,IENS,1.04)=ZIP
- S FDA(4,IENS,.02)=STATE
- S FDA(4,IENS,4.01)=STRT1
- S FDA(4,IENS,4.03)=CITY1
- S FDA(4,IENS,4.04)=STATE1
- S FDA(4,IENS,4.05)=ZIP1
- S FDA(4,IENS,11)="National"
- S FDA(4,IENS,100)=OFNME
- S FDA(4,IENS,101)=INACTIVE
- S FDA(4,IENS,95)=AGENCY
- D FILE^DIE("E","FDA","ERR")
- ;
- K FDA
- S IENS="?+1,"_IEN_","
- S FDA(4.014,IENS,.01)="VISN"
- S FDA(4.014,IENS,1)=VISN
- D UPDATE^DIE("E","FDA")
- ;
- K FDA
- S IENS="?+2,"_IEN_","
- S FDA(4.014,IENS,.01)="PARENT FACILITY"
- S FDA(4.014,IENS,1)=PARENT
- D UPDATE^DIE("E","FDA")
- ;
- S X=$$NPI^XUSNPI("Organization_ID",IEN,NPIDT)
- I $S(X=0:1,$$UP^XLFSTR($P(X,U,3))'=NPISTAT:1,NPI'=+X:1,1:0) D
- .S X=$$ADDNPI^XUSNPI("Organization_ID",IEN,NPI,NPIDT,$S(NPISTAT="ACTIVE":1,1:0))
- ;
- S IENS="?+1,"_IEN_","
- K FDA
- S FDA(4.9999,IENS,.01)="NPI"
- S FDA(4.9999,IENS,.02)=NPI
- D UPDATE^DIE("E","FDA",,"ERR")
- ;
- K FDA
- S IENS="?+1,"_IEN_","
- S FDA(4.043,IENS,.01)=TAX
- S FDA(4.043,IENS,.02)=TAXPC
- S FDA(4.043,IENS,.03)=TAXSTAT
- D UPDATE^DIE("E","FDA",,"ERR")
- ;
- Q
- ;
- POST ;
- ;
- D TAX,STA,OPT
- ;
- Q
- ;
- TAX ;
- ;
- N IENS,FDA
- ;
- S IENS="?+954,"
- K FDA
- S FDA(8932.1,IENS,.01)="General Acute Care Hospital"
- S FDA(8932.1,IENS,6)="282N00000X"
- S FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- D UPDATE^DIE("E","FDA","IEN","ERR")
- ;
- S IENS="?+955,"
- K FDA
- S FDA(8932.1,IENS,.01)="VA FACILITY"
- S FDA(8932.1,IENS,6)="261QV0200X"
- S FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- D UPDATE^DIE("E","FDA","IEN","ERR")
- ;
- S IENS="?+956,"
- K FDA
- S FDA(8932.1,IENS,.01)="Department of Veterans Affairs (VA) Pharmacy"
- S FDA(8932.1,IENS,6)="332100000X"
- S FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- D UPDATE^DIE("E","FDA","IEN","ERR")
- ;
- Q
- ;
- OPT ;
- ;
- N IEN,FDA,IENS
- ;
- S IEN=$$FIND1^DIC(19,,"B","XUKERNEL")
- K FDA
- S IENS="?+1,"_IEN_","
- S FDA(19.01,IENS,.01)="XUMF LOAD NPI"
- D UPDATE^DIE("E","FDA")
- ;
- Q
- ;
- STA ;
- ;
- N STA,IEN,IENS,FDA,FTYP,XUMF
- ;
- S XUMF=1
- ;
- S STA=""
- F S STA=$O(^DIC(4,"D",STA)) Q:STA="" D
- .S IEN=$O(^DIC(4,"D",STA,0))
- .S IENS="?+1,"_IEN_","
- .K FDA
- .S FDA(4.9999,IENS,.01)="VASTANUM"
- .S FDA(4.9999,IENS,.02)=STA
- .D
- ..N IEN,STA
- ..D UPDATE^DIE("E","FDA")
- ;
- Q
- ;
- DEL ;USE EXTREME CAUTION!!!!
- ;
- N IEN,NPI,IEN1,FDA,ERR
- ;
- S IEN=0
- F S IEN=$O(^DIC(4,IEN)) Q:'IEN D
- .;Q:'$G(^DIC(4,IEN,99))
- .S NPI=$G(^DIC(4,IEN,"NPI")) ;Q:'NPI
- .K ^DIC(4,"ANPI",+NPI,IEN)
- .K ^DIC(4,"NPI42",+NPI,IEN)
- .K ^DIC(4,IEN,"NPI")
- .K ^DIC(4,IEN,"NPISTATUS")
- .K ^DIC(4,IEN,"TAXONOMY")
- .K ^DIC(4,"TAXSTATUS","A",IEN)
- ;
- XXX ;
- ;
- S NPI=0
- F S NPI=$O(^DIC(4,"XUMFIDX","NPI",NPI)) Q:'NPI D
- .S IEN=$O(^DIC(4,"XUMFIDX","NPI",NPI,0)) Q:'IEN
- .S IEN1=$O(^DIC(4,"XUMFIDX","NPI",NPI,IEN,0)) Q:'IEN1
- .;Q:'$G(^DIC(4,IEN,99))
- .K FDA
- .S FDA(4.9999,IEN1_","_IEN_",",.01)="@"
- .D FILE^DIE("E","FDA","ERR")
- ;
- YYY ;
- ;
- S IEN=$$FIND1^DIC(870,,"BX","XUMF FORUM")
- S IENS=IEN_","
- ;
- K FDA
- S FDA(870,IENS,4.5)=1
- S FDA(870,IENS,200.04)=60
- S FDA(870,IENS,200.05)=60
- D UPDATE^DIE(,"FDA")
- ;
- Q
- ;
- EM ;
- ;
- N X,XMTEXT,XMDUZ,XMSUB
- ;
- S X(1)="The post install of patch XU*8*416 has completed but the NPI values"
- S X(2)="did not get updated in your INSTITUTION (#4) file. Check your HL LOGICAL"
- S X(3)="LINK (#870) 'XUMF FORUM.' You should be able to PING the link -- stop/start"
- S X(4)="the link if necessary.",X(4.5)=""
- S X(5)="After you have verified your XUMF FORUM link use the 'Load Institution"
- S X(6)="NPI values' [XUMF LOAD NPI] in the [XUKERNEL] menu to load the NPI values."
- S X(7)=""
- S X(8)="NOTE: If you are installing in a TEST ACCOUNT then you may disregard this"
- S X(9)="message. If you do need to install the NPI values in a test/development"
- S X(10)="environment then you must set up the 'XUMF TEST' logical link to connect"
- S X(11)="to a test server environment. Hospitals will most likely not wish to update"
- S X(12)="the Institution file using HL7 messaging but rather wait until the mirror"
- S X(13)="image overwrites the file normally. If you do need to update the test or"
- S X(14)="development account and you don't have a test server available then you'll"
- S X(16)="need to contact the Institution file developer."
- ;
- S XMSUB="XUMF NPI ERROR/WARNING/INFO"
- S XMY("G.XUMF NPI")="",XMY(DUZ)="",XMDUZ=.5
- S XMTEXT="X("
- ;
- D ^XMD
- ;
- Q
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUMF416 7076 printed Feb 18, 2025@23:36:45 Page 2
- XUMF416 ;ISS/RAM - Load NPI;12/15/05
- +1 ;;8.0;KERNEL;**416**;Jul 10, 1995;Build 5
- +2 ;
- +3 ; $$PARAM^HLCS2 call supported by IA #3552
- +4 ;
- +5 QUIT
- +6 ;
- BG ; -- background job
- +1 ;
- +2 NEW ZTRTN,ZTDESC,ZTDTH
- +3 ;
- +4 SET ZTRTN="EN^XUMF416"
- +5 SET ZTDESC="XUMF Load NPI"
- +6 SET ZTDTH=$$NOW^XLFDT
- +7 SET ZTIO=""
- +8 ;
- +9 DO ^%ZTLOAD
- +10 ;
- +11 QUIT
- +12 ;
- EN ; -- entry point
- +1 ;
- +2 KILL ^TMP("XUMF ARRAY",$JOB)
- +3 ;
- +4 NEW PARAM,XUMFLAG,ERROR,TEST
- +5 ;
- +6 SET (ERROR,XUMFLAG,TEST)=0
- +7 ;
- +8 IF $PIECE($$PARAM^HLCS2,U,3)="T"
- SET TEST=1
- +9 ;
- +10 LOCK +^TMP("XUMF ARRAY",$JOB):0
- if '$TEST
- Begin DoDot:1
- +11 SET ERROR="1^another process is using the Master File Server"
- End DoDot:1
- +12 ;
- +13 IF ERROR
- DO EXIT
- QUIT
- +14 ;
- +15 DO MFS0
- +16 ;
- +17 IF ERROR
- DO EXIT
- QUIT
- +18 ;
- +19 IF '$DATA(^TMP("XUMF ARRAY",$JOB))
- Begin DoDot:1
- +20 SET ERROR="1^Connection to master file server failed!"
- End DoDot:1
- +21 ;
- +22 IF ERROR
- DO EXIT
- QUIT
- +23 ;
- +24 DO NPI
- +25 ;
- +26 DO EXIT
- +27 ;
- +28 QUIT
- +29 ;
- MFS0 ; -- get NPI from Institution Master File
- +1 ;
- +2 SET PARAM("CDSYS")="NPI"
- +3 SET PARAM("LLNK")="XUMF MFR^XUMF "_$SELECT('TEST:"FORUM",1:"TEST")
- +4 SET PARAM("PROTOCOL")=$ORDER(^ORD(101,"B","XUMF MFQ",0))
- +5 ;
- +6 DO MAIN^XUMFP(4,"ALL",7,.PARAM,.ERROR)
- if ERROR
- QUIT
- +7 DO MAIN^XUMFI(4,"ALL",7,.PARAM,.ERROR)
- if ERROR
- QUIT
- +8 DO MAIN^XUMFH
- +9 ;
- +10 QUIT
- +11 ;
- EXIT ; -- cleanup and quit
- +1 ;
- +2 IF '$$FIND1^DIC(4,,"BX","BONHAM PHARMACY")
- DO EM
- +3 ;
- +4 KILL ^TMP("XUMF ARRAY",$JOB),^TMP("XUMF MFS",$JOB),^TMP("DIERR",$JOB)
- +5 ;
- +6 LOCK -^TMP("XUMF ARRAY",$JOB)
- +7 ;
- +8 SET ZTREQ="@"
- +9 ;
- +10 QUIT
- +11 ;
- NPI ; -- add NPI ID to Institution file
- +1 ;
- +2 NEW ID,FDA,ERROR,IEN,IENS,HLNODE,ARRAY,XUMF,STANUM,TAX,TAXPC,TAXSTAT,NPI,NPIDT,NPISTAT,X,ERR,VISN
- +3 NEW NAME,OFNME,AGENCY,FACTYP,STREET,CITY,STATE,ZIP,FDA,PARENT,STRT1,CITY1,STATE1,ZIP1,INACTIVE
- +4 ;
- +5 SET XUMF=1
- +6 ;
- +7 SET ID=""
- +8 FOR
- SET ID=$ORDER(^TMP("XUMF ARRAY",$JOB,ID))
- if ID=""
- QUIT
- Begin DoDot:1
- +9 KILL HLNODE
- +10 MERGE HLNODE=^TMP("XUMF ARRAY",$JOB,ID)
- +11 DO UPDATE
- End DoDot:1
- +12 ;
- +13 QUIT
- +14 ;
- UPDATE ;
- +1 ;
- +2 DO SEGPRSE^XUMFXHL7("HLNODE","ARRAY")
- +3 ;
- +4 SET NAME=ARRAY(1)
- +5 SET STANUM=ARRAY(2)
- +6 SET FACTYP=$PIECE(ARRAY(4),"~",1)
- +7 SET OFNME=ARRAY(5)
- +8 SET INACTIVE=ARRAY(6)
- +9 SET STATE=ARRAY(7)
- +10 SET VISN=ARRAY(8)
- +11 SET PARENT=ARRAY(9)
- +12 SET STREET=$PIECE(ARRAY(14),"~",2)
- +13 SET CITY=$PIECE(ARRAY(14),"~",3)
- +14 SET ZIP=$PIECE(ARRAY(14),"~",5)
- +15 SET STRT1=$PIECE(ARRAY(15),"~",2)
- +16 SET CITY1=$PIECE(ARRAY(15),"~",3)
- +17 SET STATE1=$PIECE(ARRAY(15),"~",4)
- +18 SET ZIP1=$PIECE(ARRAY(15),"~",5)
- +19 SET AGENCY=$PIECE(ARRAY(16),"~")
- +20 SET NPIDT=$$FMDATE^HLFNC(ARRAY(17))
- +21 SET NPISTAT=ARRAY(18)
- +22 SET NPI=ARRAY(19)
- +23 SET TAX=ARRAY(20)
- +24 SET TAXPC=ARRAY(21)
- +25 SET TAXSTAT=ARRAY(22)
- +26 ;
- +27 SET IEN=$$IEN^XUMF(4,"NPI",ID)
- +28 IF 'IEN
- IF $GET(STANUM)'=""
- SET IEN=$ORDER(^DIC(4,"D",STANUM,0))
- +29 IF 'IEN
- IF $DATA(^DIC(4,"B",NAME))
- SET IEN=$ORDER(^DIC(4,"B",NAME,0))
- +30 ;
- +31 IF 'IEN
- Begin DoDot:1
- +32 NEW X,Y
- SET X=NAME
- +33 KILL DIC
- SET DIC=4
- SET DIC(0)="F"
- +34 DO FILE^DICN
- KILL DIC
- +35 SET IEN=$SELECT(Y="-1":0,1:+Y)
- End DoDot:1
- if 'IEN
- QUIT
- +36 ;
- +37 SET IENS=IEN_","
- +38 ;
- +39 KILL FDA
- +40 SET FDA(4,IENS,.01)=NAME
- +41 SET FDA(4,IENS,13)=FACTYP
- +42 SET FDA(4,IENS,1.01)=STREET
- +43 SET FDA(4,IENS,1.03)=CITY
- +44 SET FDA(4,IENS,1.04)=ZIP
- +45 SET FDA(4,IENS,.02)=STATE
- +46 SET FDA(4,IENS,4.01)=STRT1
- +47 SET FDA(4,IENS,4.03)=CITY1
- +48 SET FDA(4,IENS,4.04)=STATE1
- +49 SET FDA(4,IENS,4.05)=ZIP1
- +50 SET FDA(4,IENS,11)="National"
- +51 SET FDA(4,IENS,100)=OFNME
- +52 SET FDA(4,IENS,101)=INACTIVE
- +53 SET FDA(4,IENS,95)=AGENCY
- +54 DO FILE^DIE("E","FDA","ERR")
- +55 ;
- +56 KILL FDA
- +57 SET IENS="?+1,"_IEN_","
- +58 SET FDA(4.014,IENS,.01)="VISN"
- +59 SET FDA(4.014,IENS,1)=VISN
- +60 DO UPDATE^DIE("E","FDA")
- +61 ;
- +62 KILL FDA
- +63 SET IENS="?+2,"_IEN_","
- +64 SET FDA(4.014,IENS,.01)="PARENT FACILITY"
- +65 SET FDA(4.014,IENS,1)=PARENT
- +66 DO UPDATE^DIE("E","FDA")
- +67 ;
- +68 SET X=$$NPI^XUSNPI("Organization_ID",IEN,NPIDT)
- +69 IF $SELECT(X=0:1,$$UP^XLFSTR($PIECE(X,U,3))'=NPISTAT:1,NPI'=+X:1,1:0)
- Begin DoDot:1
- +70 SET X=$$ADDNPI^XUSNPI("Organization_ID",IEN,NPI,NPIDT,$SELECT(NPISTAT="ACTIVE":1,1:0))
- End DoDot:1
- +71 ;
- +72 SET IENS="?+1,"_IEN_","
- +73 KILL FDA
- +74 SET FDA(4.9999,IENS,.01)="NPI"
- +75 SET FDA(4.9999,IENS,.02)=NPI
- +76 DO UPDATE^DIE("E","FDA",,"ERR")
- +77 ;
- +78 KILL FDA
- +79 SET IENS="?+1,"_IEN_","
- +80 SET FDA(4.043,IENS,.01)=TAX
- +81 SET FDA(4.043,IENS,.02)=TAXPC
- +82 SET FDA(4.043,IENS,.03)=TAXSTAT
- +83 DO UPDATE^DIE("E","FDA",,"ERR")
- +84 ;
- +85 QUIT
- +86 ;
- POST ;
- +1 ;
- +2 DO TAX
- DO STA
- DO OPT
- +3 ;
- +4 QUIT
- +5 ;
- TAX ;
- +1 ;
- +2 NEW IENS,FDA
- +3 ;
- +4 SET IENS="?+954,"
- +5 KILL FDA
- +6 SET FDA(8932.1,IENS,.01)="General Acute Care Hospital"
- +7 SET FDA(8932.1,IENS,6)="282N00000X"
- +8 SET FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- +9 DO UPDATE^DIE("E","FDA","IEN","ERR")
- +10 ;
- +11 SET IENS="?+955,"
- +12 KILL FDA
- +13 SET FDA(8932.1,IENS,.01)="VA FACILITY"
- +14 SET FDA(8932.1,IENS,6)="261QV0200X"
- +15 SET FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- +16 DO UPDATE^DIE("E","FDA","IEN","ERR")
- +17 ;
- +18 SET IENS="?+956,"
- +19 KILL FDA
- +20 SET FDA(8932.1,IENS,.01)="Department of Veterans Affairs (VA) Pharmacy"
- +21 SET FDA(8932.1,IENS,6)="332100000X"
- +22 SET FDA(8932.1,IENS,90002)="NON-INDIVIDUAL"
- +23 DO UPDATE^DIE("E","FDA","IEN","ERR")
- +24 ;
- +25 QUIT
- +26 ;
- OPT ;
- +1 ;
- +2 NEW IEN,FDA,IENS
- +3 ;
- +4 SET IEN=$$FIND1^DIC(19,,"B","XUKERNEL")
- +5 KILL FDA
- +6 SET IENS="?+1,"_IEN_","
- +7 SET FDA(19.01,IENS,.01)="XUMF LOAD NPI"
- +8 DO UPDATE^DIE("E","FDA")
- +9 ;
- +10 QUIT
- +11 ;
- STA ;
- +1 ;
- +2 NEW STA,IEN,IENS,FDA,FTYP,XUMF
- +3 ;
- +4 SET XUMF=1
- +5 ;
- +6 SET STA=""
- +7 FOR
- SET STA=$ORDER(^DIC(4,"D",STA))
- if STA=""
- QUIT
- Begin DoDot:1
- +8 SET IEN=$ORDER(^DIC(4,"D",STA,0))
- +9 SET IENS="?+1,"_IEN_","
- +10 KILL FDA
- +11 SET FDA(4.9999,IENS,.01)="VASTANUM"
- +12 SET FDA(4.9999,IENS,.02)=STA
- +13 Begin DoDot:2
- +14 NEW IEN,STA
- +15 DO UPDATE^DIE("E","FDA")
- End DoDot:2
- End DoDot:1
- +16 ;
- +17 QUIT
- +18 ;
- DEL ;USE EXTREME CAUTION!!!!
- +1 ;
- +2 NEW IEN,NPI,IEN1,FDA,ERR
- +3 ;
- +4 SET IEN=0
- +5 FOR
- SET IEN=$ORDER(^DIC(4,IEN))
- if 'IEN
- QUIT
- Begin DoDot:1
- +6 ;Q:'$G(^DIC(4,IEN,99))
- +7 ;Q:'NPI
- SET NPI=$GET(^DIC(4,IEN,"NPI"))
- +8 KILL ^DIC(4,"ANPI",+NPI,IEN)
- +9 KILL ^DIC(4,"NPI42",+NPI,IEN)
- +10 KILL ^DIC(4,IEN,"NPI")
- +11 KILL ^DIC(4,IEN,"NPISTATUS")
- +12 KILL ^DIC(4,IEN,"TAXONOMY")
- +13 KILL ^DIC(4,"TAXSTATUS","A",IEN)
- End DoDot:1
- +14 ;
- XXX ;
- +1 ;
- +2 SET NPI=0
- +3 FOR
- SET NPI=$ORDER(^DIC(4,"XUMFIDX","NPI",NPI))
- if 'NPI
- QUIT
- Begin DoDot:1
- +4 SET IEN=$ORDER(^DIC(4,"XUMFIDX","NPI",NPI,0))
- if 'IEN
- QUIT
- +5 SET IEN1=$ORDER(^DIC(4,"XUMFIDX","NPI",NPI,IEN,0))
- if 'IEN1
- QUIT
- +6 ;Q:'$G(^DIC(4,IEN,99))
- +7 KILL FDA
- +8 SET FDA(4.9999,IEN1_","_IEN_",",.01)="@"
- +9 DO FILE^DIE("E","FDA","ERR")
- End DoDot:1
- +10 ;
- YYY ;
- +1 ;
- +2 SET IEN=$$FIND1^DIC(870,,"BX","XUMF FORUM")
- +3 SET IENS=IEN_","
- +4 ;
- +5 KILL FDA
- +6 SET FDA(870,IENS,4.5)=1
- +7 SET FDA(870,IENS,200.04)=60
- +8 SET FDA(870,IENS,200.05)=60
- +9 DO UPDATE^DIE(,"FDA")
- +10 ;
- +11 QUIT
- +12 ;
- EM ;
- +1 ;
- +2 NEW X,XMTEXT,XMDUZ,XMSUB
- +3 ;
- +4 SET X(1)="The post install of patch XU*8*416 has completed but the NPI values"
- +5 SET X(2)="did not get updated in your INSTITUTION (#4) file. Check your HL LOGICAL"
- +6 SET X(3)="LINK (#870) 'XUMF FORUM.' You should be able to PING the link -- stop/start"
- +7 SET X(4)="the link if necessary."
- SET X(4.5)=""
- +8 SET X(5)="After you have verified your XUMF FORUM link use the 'Load Institution"
- +9 SET X(6)="NPI values' [XUMF LOAD NPI] in the [XUKERNEL] menu to load the NPI values."
- +10 SET X(7)=""
- +11 SET X(8)="NOTE: If you are installing in a TEST ACCOUNT then you may disregard this"
- +12 SET X(9)="message. If you do need to install the NPI values in a test/development"
- +13 SET X(10)="environment then you must set up the 'XUMF TEST' logical link to connect"
- +14 SET X(11)="to a test server environment. Hospitals will most likely not wish to update"
- +15 SET X(12)="the Institution file using HL7 messaging but rather wait until the mirror"
- +16 SET X(13)="image overwrites the file normally. If you do need to update the test or"
- +17 SET X(14)="development account and you don't have a test server available then you'll"
- +18 SET X(16)="need to contact the Institution file developer."
- +19 ;
- +20 SET XMSUB="XUMF NPI ERROR/WARNING/INFO"
- +21 SET XMY("G.XUMF NPI")=""
- SET XMY(DUZ)=""
- SET XMDUZ=.5
- +22 SET XMTEXT="X("
- +23 ;
- +24 DO ^XMD
- +25 ;
- +26 QUIT
- +27 ;