| 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)
 | 
|---|