| 1 | RAO7VLD ;HISC/GJC-Validate OE/RR data to Rad (frontdoor) ;1/6/98  13:02 | 
|---|
| 2 | ;;5.0;Radiology/Nuclear Medicine;**75**;Mar 16, 1998;Build 4 | 
|---|
| 3 | ; | 
|---|
| 4 | EN1(RAA,RAB,RAC,RAX,RAY,RAZ) ; Pass in parameters to validate data | 
|---|
| 5 | ; Returns '0' if data is valid, '1' if data is invalid | 
|---|
| 6 | ; This call is not used on pointer type data fields. | 
|---|
| 7 | ;                ***** variable list ***** | 
|---|
| 8 | ; RAA=file #                RAB=field # | 
|---|
| 9 | ; RAC=flag parameters       RAX=value being checked | 
|---|
| 10 | ; RAY=result of call array  RAZ=Error Array (not used) | 
|---|
| 11 | ;*********************************************************************** | 
|---|
| 12 | K %DT(0) D CHK^DIE(RAA,RAB,RAC,RAX,.RAY) | 
|---|
| 13 | Q $S(RAY["^":1,1:0) | 
|---|
| 14 | ; | 
|---|
| 15 | EN2(T1,T2,T3) ; | 
|---|
| 16 | ; Pass in parameters to validate pointer type data. | 
|---|
| 17 | ; This call is only used on pointer type data fields. | 
|---|
| 18 | ;                ***** variable list ***** | 
|---|
| 19 | ; T1=file #       T2=IEN (if app)      T3=.01 fields value | 
|---|
| 20 | ; X=0 if proper match, 1 if no match   Y=global node (assumed to be '0') | 
|---|
| 21 | ;*********************************************************************** | 
|---|
| 22 | N X,Y,Z S X=0 | 
|---|
| 23 | F Z=$G(T1),$G(T2),$G(T3) S:Z']"" X=1 Q:X | 
|---|
| 24 | Q:X X ; all parameters must be defined | 
|---|
| 25 | S Y=$G(@(^DIC(T1,0,"GL")_T2_",0)")) | 
|---|
| 26 | Q $S($P(Y,"^")=T3:0,1:1) | 
|---|
| 27 | EN3(X,Y) ; does entry exist in a file | 
|---|
| 28 | ; X-> file #        'Y'-> ien | 
|---|
| 29 | ; 0 if entry exists, 1 if entry does not exist | 
|---|
| 30 | Q $S($D(@(^DIC(+X,0,"GL")_+Y_",0)"))#2:0,1:1) | 
|---|
| 31 | ; | 
|---|
| 32 | EN4(X) ;P75 Check CPRS entered CLINICAL HISTORY text for validity. | 
|---|
| 33 | ;This function returns: 1 if the string is valid else 0. | 
|---|
| 34 | ;Please note that once the data is valid, (a minimum of two | 
|---|
| 35 | ;alphanumeric characters on a character string) subsequent data | 
|---|
| 36 | ;strings may not be valid but are still stored. | 
|---|
| 37 | N CHAR,CNT,FLG,I,LEN S (CNT,FLG)=0,LEN=$L(X) | 
|---|
| 38 | F I=1:1:LEN D  Q:FLG | 
|---|
| 39 | .S CHAR=$E(X,I) | 
|---|
| 40 | .S:CHAR?1AN CNT=CNT+1 | 
|---|
| 41 | .I CHAR'?1AN,(CNT) S CNT=0 | 
|---|
| 42 | .S:CNT=2 FLG=1 | 
|---|
| 43 | .Q | 
|---|
| 44 | Q FLG | 
|---|
| 45 | ; | 
|---|
| 46 | EN5(RAD0,RANSTAT,RADUZ,RAREA) ; update the 'REQUEST STATUS TIMES' multiple | 
|---|
| 47 | ; in the Rad/Nuc Med Orders file.  All parameters must be in the | 
|---|
| 48 | ; internal format. | 
|---|
| 49 | ; RAD0=top level ien                 RANSTAT=new status | 
|---|
| 50 | ; RADUZ=user ien                     RAREA=reason for status change | 
|---|
| 51 | ; Pass back '1' if error, '0' if no error. | 
|---|
| 52 | N ARR | 
|---|
| 53 | S ARR(7,75.12,"+1,"_RAD0_",",".01")=RALDT | 
|---|
| 54 | S ARR(7,75.12,"+1,"_RAD0_",",2)=RANSTAT | 
|---|
| 55 | S ARR(7,75.12,"+1,"_RAD0_",",3)=RADUZ | 
|---|
| 56 | S ARR(7,75.12,"+1,"_RAD0_",",4)=RAREA | 
|---|
| 57 | D UPDATE^DIE("","ARR(7)") | 
|---|
| 58 | Q +$G(DIERR) | 
|---|
| 59 | EN6(X) ; Check if parent procedure has descendents | 
|---|
| 60 | ; Passes back: 0 if descendents else 1 | 
|---|
| 61 | ; X is the ien of the procedure (71) | 
|---|
| 62 | Q $S(+$O(^RAMIS(71,X,4,0)):0,1:1) | 
|---|