VistA-WorldVistAEHR/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RAO7VLD.m

63 lines
2.5 KiB
Mathematica
Raw Normal View History

2009-11-29 13:37:14 -05:00
RAO7VLD ;HISC/GJC-Validate OE/RR data to Rad (frontdoor) ;1/6/98 13:02
;;5.0;Radiology/Nuclear Medicine;**75**;Mar 16, 1998;Build 4
;
EN1(RAA,RAB,RAC,RAX,RAY,RAZ) ; Pass in parameters to validate data
; Returns '0' if data is valid, '1' if data is invalid
; This call is not used on pointer type data fields.
; ***** variable list *****
; RAA=file # RAB=field #
; RAC=flag parameters RAX=value being checked
; RAY=result of call array RAZ=Error Array (not used)
;***********************************************************************
K %DT(0) D CHK^DIE(RAA,RAB,RAC,RAX,.RAY)
Q $S(RAY["^":1,1:0)
;
EN2(T1,T2,T3) ;
; Pass in parameters to validate pointer type data.
; This call is only used on pointer type data fields.
; ***** variable list *****
; T1=file # T2=IEN (if app) T3=.01 fields value
; X=0 if proper match, 1 if no match Y=global node (assumed to be '0')
;***********************************************************************
N X,Y,Z S X=0
F Z=$G(T1),$G(T2),$G(T3) S:Z']"" X=1 Q:X
Q:X X ; all parameters must be defined
S Y=$G(@(^DIC(T1,0,"GL")_T2_",0)"))
Q $S($P(Y,"^")=T3:0,1:1)
EN3(X,Y) ; does entry exist in a file
; X-> file # 'Y'-> ien
; 0 if entry exists, 1 if entry does not exist
Q $S($D(@(^DIC(+X,0,"GL")_+Y_",0)"))#2:0,1:1)
;
EN4(X) ;P75 Check CPRS entered CLINICAL HISTORY text for validity.
;This function returns: 1 if the string is valid else 0.
;Please note that once the data is valid, (a minimum of two
;alphanumeric characters on a character string) subsequent data
;strings may not be valid but are still stored.
N CHAR,CNT,FLG,I,LEN S (CNT,FLG)=0,LEN=$L(X)
F I=1:1:LEN D Q:FLG
.S CHAR=$E(X,I)
.S:CHAR?1AN CNT=CNT+1
.I CHAR'?1AN,(CNT) S CNT=0
.S:CNT=2 FLG=1
.Q
Q FLG
;
EN5(RAD0,RANSTAT,RADUZ,RAREA) ; update the 'REQUEST STATUS TIMES' multiple
; in the Rad/Nuc Med Orders file. All parameters must be in the
; internal format.
; RAD0=top level ien RANSTAT=new status
; RADUZ=user ien RAREA=reason for status change
; Pass back '1' if error, '0' if no error.
N ARR
S ARR(7,75.12,"+1,"_RAD0_",",".01")=RALDT
S ARR(7,75.12,"+1,"_RAD0_",",2)=RANSTAT
S ARR(7,75.12,"+1,"_RAD0_",",3)=RADUZ
S ARR(7,75.12,"+1,"_RAD0_",",4)=RAREA
D UPDATE^DIE("","ARR(7)")
Q +$G(DIERR)
EN6(X) ; Check if parent procedure has descendents
; Passes back: 0 if descendents else 1
; X is the ien of the procedure (71)
Q $S(+$O(^RAMIS(71,X,4,0)):0,1:1)