- RASYS1 ;HISC/CAH - Utility to update I-Loc Type to Clinic ;10/30/96 10:00
- ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
- EN1(RA791) ;For each imaging loc, get file 44 pointer, DSS ID, Div
- ;and give to MAS to set/reset params on the file 44 entry
- ; Input: -> ien of entry in the 'Imaging Locations' file (79.1)
- N RA44,RA44NM,RA44NM2,RADSS,RADSSNM,RADIV,RAERRCNT,RA44NEW,RATRY
- S RAERRCNT=0,RA44NM2=""
- S RA791(0)=$G(^RA(79.1,+RA791,0))
- S RA44=$P(RA791(0),"^",1) I '$D(^SC(+RA44,0)) D ERR44 Q:RAXIT
- S RA44NM=$P($G(^SC(+RA44,0)),"^",1)
- S RADSS=$P(RA791(0),"^",22) I 'RADSS D ERRDSS Q:RAXIT
- S RADSSNM=$P($G(^DIC(40.7,+RADSS,0)),"^",2)
- S RADIV=$G(^RA(79.1,+RA791,"DIV")) I 'RADIV D ERRDIV Q:RAXIT
- I RAERRCNT Q ;If this Img Loc has an error, stop here
- ;Call MAS Sched'g routine with img loc data
- S RA44NEW=$$RAD^SCDXUAPI(RA44,"RA") ;returns ien of same or new loc
- I +RA44NEW=-1 D ERRMSG(RA44NEW) Q ; explain why $$RAD call failed
- I RA44NEW'=RA44 D REPOINT
- S RATRY=$$LOC^SCDXUAPI($S($L(RA44NM2):RA44NM2,1:RA44NM),RADIV,RADSSNM,"RA",RA44)
- I +RATRY=-1 D ERRMSG(RATRY)
- I +RATRY'=-1 D OK
- Q
- ERR44 ;bad file 44 pointer
- S RAERRCNT=RAERRCNT+1
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Imaging Location file #79.1 internal entry #"_RA44
- W !,"is a broken pointer to Hospital Location file #44."
- W !,"IRM must resolve this problem, then the Rad/Nuc Med ADPAC"
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"should use the Location Parameter Set-up [RA SYSLOC] option"
- W !,"to edit this Imaging Location, and the Division Parameter"
- W !,"Set-up [RA SYSDIV] option to assign it to a division.",!," "
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- Q
- ERRDSS ;bad file 40.7 pointer (DSS ID/Stop Code)
- S RAERRCNT=RAERRCNT+1
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Imaging Location file #79.1 entry "_$S($L(RA44NM):RA44NM,1:RA44)_" has a missing"
- W !,"or invalid DSS ID. The Radiology/Nuclear Medicine ADPAC should"
- W !,"use the Location Parameter Set-up [RA SYSLOC] option to enter"
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"a valid imaging DSS Code for this imaging location.",!," "
- Q
- ERRDIV ;bad or non-existent Division on active imaging loc
- S RAERRCNT=RAERRCNT+1
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Imaging Location file #79.1 entry "_$S($L(RA44NM):RA44NM,1:RA44)_" is not assigned"
- W !,"to a Rad/Nuc Med Division. If Imaging exams are to be registered"
- W !,"in this imaging location, or if there are incomplete exams"
- W !,"already registered to this location, the Radiology/Nuclear"
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Med ADPAC should use the Division Parameter Set-up [RA SYSDIV]"
- W !,"option to assign this imaging location to the appropriate"
- W !,"Rad/Nuc Med Division.",!," "
- I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- Q
- ERRMSG(RAX) ; Explain why the $$RAD call failed.
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Scheduling routine could not reset Hospital Location"
- W !,"file #44 params for Imaging Location "_$S($L(RA44NM2):RA44NM2,1:RA44NM)
- W !,"to agree with params on the Imaging Location file #79.1."
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"IRM should investigate the cause of this Scheduling error message:"
- W !," * "_$P(RAX,"^",3)_" * ",!," "
- Q
- REPOINT ;current img loc points to a file 44 entry with appt patterns
- ;must be repointed to the loc Sched'g returned to us
- ;
- ;call DIE or Silent FM to change .01 fld of file 79.1 to RA44NEW
- ;use equivalent of /// stuff, and give a message about old imaging
- ;loc name changing to new name
- ;
- N RAERR,RAFDA
- S RA44=RA44NEW,RA44NM2=$P($G(^SC(+RA44NEW,0)),"^",1)
- S RAFDA(79.1,RA791_",",.01)=RA44NEW
- D FILE^DIE("K","RAFDA","RAERR")
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Imaging Location "_RA44NM_" has appointment patterns, and"
- W !,"cannot be 'pointed to' from a file 79.1 Imaging Location."
- W !,"Imaging Location "_RA44NM_" has been 're-pointed' to"
- I $Y>(IOSL-6) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Hospital Location "_RA44NM2_".",!," "
- Q
- OK ;this img loc was processed ok
- I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT W @IOF
- W !,"Imaging Location "_$S($L(RA44NM2):RA44NM2,1:RA44NM)_" is OK.",!," "
- Q
- RASYS1 ;HISC/CAH - Utility to update I-Loc Type to Clinic ;10/30/96 10:00
- +1 ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
- EN1(RA791) ;For each imaging loc, get file 44 pointer, DSS ID, Div
- +1 ;and give to MAS to set/reset params on the file 44 entry
- +2 ; Input: -> ien of entry in the 'Imaging Locations' file (79.1)
- +3 NEW RA44,RA44NM,RA44NM2,RADSS,RADSSNM,RADIV,RAERRCNT,RA44NEW,RATRY
- +4 SET RAERRCNT=0
- SET RA44NM2=""
- +5 SET RA791(0)=$GET(^RA(79.1,+RA791,0))
- +6 SET RA44=$PIECE(RA791(0),"^",1)
- IF '$DATA(^SC(+RA44,0))
- DO ERR44
- IF RAXIT
- QUIT
- +7 SET RA44NM=$PIECE($GET(^SC(+RA44,0)),"^",1)
- +8 SET RADSS=$PIECE(RA791(0),"^",22)
- IF 'RADSS
- DO ERRDSS
- IF RAXIT
- QUIT
- +9 SET RADSSNM=$PIECE($GET(^DIC(40.7,+RADSS,0)),"^",2)
- +10 SET RADIV=$GET(^RA(79.1,+RA791,"DIV"))
- IF 'RADIV
- DO ERRDIV
- IF RAXIT
- QUIT
- +11 ;If this Img Loc has an error, stop here
- IF RAERRCNT
- QUIT
- +12 ;Call MAS Sched'g routine with img loc data
- +13 ;returns ien of same or new loc
- SET RA44NEW=$$RAD^SCDXUAPI(RA44,"RA")
- +14 ; explain why $$RAD call failed
- IF +RA44NEW=-1
- DO ERRMSG(RA44NEW)
- QUIT
- +15 IF RA44NEW'=RA44
- DO REPOINT
- +16 SET RATRY=$$LOC^SCDXUAPI($SELECT($LENGTH(RA44NM2):RA44NM2,1:RA44NM),RADIV,RADSSNM,"RA",RA44)
- +17 IF +RATRY=-1
- DO ERRMSG(RATRY)
- +18 IF +RATRY'=-1
- DO OK
- +19 QUIT
- ERR44 ;bad file 44 pointer
- +1 SET RAERRCNT=RAERRCNT+1
- +2 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +3 WRITE !,"Imaging Location file #79.1 internal entry #"_RA44
- +4 WRITE !,"is a broken pointer to Hospital Location file #44."
- +5 WRITE !,"IRM must resolve this problem, then the Rad/Nuc Med ADPAC"
- +6 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +7 WRITE !,"should use the Location Parameter Set-up [RA SYSLOC] option"
- +8 WRITE !,"to edit this Imaging Location, and the Division Parameter"
- +9 WRITE !,"Set-up [RA SYSDIV] option to assign it to a division.",!," "
- +10 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +11 QUIT
- ERRDSS ;bad file 40.7 pointer (DSS ID/Stop Code)
- +1 SET RAERRCNT=RAERRCNT+1
- +2 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +3 WRITE !,"Imaging Location file #79.1 entry "_$SELECT($LENGTH(RA44NM):RA44NM,1:RA44)_" has a missing"
- +4 WRITE !,"or invalid DSS ID. The Radiology/Nuclear Medicine ADPAC should"
- +5 WRITE !,"use the Location Parameter Set-up [RA SYSLOC] option to enter"
- +6 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +7 WRITE !,"a valid imaging DSS Code for this imaging location.",!," "
- +8 QUIT
- ERRDIV ;bad or non-existent Division on active imaging loc
- +1 SET RAERRCNT=RAERRCNT+1
- +2 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +3 WRITE !,"Imaging Location file #79.1 entry "_$SELECT($LENGTH(RA44NM):RA44NM,1:RA44)_" is not assigned"
- +4 WRITE !,"to a Rad/Nuc Med Division. If Imaging exams are to be registered"
- +5 WRITE !,"in this imaging location, or if there are incomplete exams"
- +6 WRITE !,"already registered to this location, the Radiology/Nuclear"
- +7 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +8 WRITE !,"Med ADPAC should use the Division Parameter Set-up [RA SYSDIV]"
- +9 WRITE !,"option to assign this imaging location to the appropriate"
- +10 WRITE !,"Rad/Nuc Med Division.",!," "
- +11 IF $Y>(IOSL-4)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +12 QUIT
- ERRMSG(RAX) ; Explain why the $$RAD call failed.
- +1 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +2 WRITE !,"Scheduling routine could not reset Hospital Location"
- +3 WRITE !,"file #44 params for Imaging Location "_$SELECT($LENGTH(RA44NM2):RA44NM2,1:RA44NM)
- +4 WRITE !,"to agree with params on the Imaging Location file #79.1."
- +5 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +6 WRITE !,"IRM should investigate the cause of this Scheduling error message:"
- +7 WRITE !," * "_$PIECE(RAX,"^",3)_" * ",!," "
- +8 QUIT
- REPOINT ;current img loc points to a file 44 entry with appt patterns
- +1 ;must be repointed to the loc Sched'g returned to us
- +2 ;
- +3 ;call DIE or Silent FM to change .01 fld of file 79.1 to RA44NEW
- +4 ;use equivalent of /// stuff, and give a message about old imaging
- +5 ;loc name changing to new name
- +6 ;
- +7 NEW RAERR,RAFDA
- +8 SET RA44=RA44NEW
- SET RA44NM2=$PIECE($GET(^SC(+RA44NEW,0)),"^",1)
- +9 SET RAFDA(79.1,RA791_",",.01)=RA44NEW
- +10 DO FILE^DIE("K","RAFDA","RAERR")
- +11 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +12 WRITE !,"Imaging Location "_RA44NM_" has appointment patterns, and"
- +13 WRITE !,"cannot be 'pointed to' from a file 79.1 Imaging Location."
- +14 WRITE !,"Imaging Location "_RA44NM_" has been 're-pointed' to"
- +15 IF $Y>(IOSL-6)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +16 WRITE !,"Hospital Location "_RA44NM2_".",!," "
- +17 QUIT
- OK ;this img loc was processed ok
- +1 IF $Y>(IOSL-4)
- SET RAXIT=$$EOS^RAUTL5()
- IF RAXIT
- QUIT
- WRITE @IOF
- +2 WRITE !,"Imaging Location "_$SELECT($LENGTH(RA44NM2):RA44NM2,1:RA44NM)_" is OK.",!," "
- +3 QUIT