TIUCHECK ;SLC/AJB,AGP TIU Objects and Templare Fields API;25-MAR-2009
;;1.0;TEXT INTEGRATION UTILITIES;**249**;Jun 20, 1997;Build 48
;
BLDOBJAR(TIUOUT,TIUIEN) ;
N TIUNODE
S TIUNODE=$G(^TIU(8925.1,TIUIEN,0))
S TIUOUT(TIUIEN,.01)=$P(TIUNODE,U),TIUOUT(TIUIEN,.04)=$P(TIUNODE,U,4)
S TIUOUT(TIUIEN,.07)=$$GETSTAT(TIUIEN)
S TIUOUT(TIUIEN,9)=$G(^TIU(8925.1,TIUIEN,9))
Q
;
CANUREMD(TIUIEN) ;
N TIUNODE,TIURESLT
S TIURESLT=0
I $$PATCH^XPDUTL("PXRM*2.0*12")=0 D Q TIURESLT
.S TIUNODE=$G(^PXRMD(801.41,TIUIEN,0))
.I $P(TIUNODE,U,4)'="R" Q
.I $P(TIUNODE,U,3)'="" Q
.S TIURESLT=1
S TIURESLT=$$ISACTDLG^PXRMDLG6(TIUIEN)
Q TIURESLT
;
GETSTAT(TIUIEN) ;
N TIUSTIEN
S TIUSTIEN=$P($G(^TIU(8925.1,TIUIEN,0)),U,7)
Q $P($G(^TIU(8925.6,TIUSTIEN,0)),U)
;
OBJBYIEN(TIUOUT,TIUIEN) ;
D BLDOBJAR(.TIUOUT,TIUIEN)
Q
;
OBJBYNAM(TIUOUT,TIUNAME) ;
I '$D(^TIU(8925.1,"B",TIUNAME)) Q -1
N TIUIEN
S TIUIEN=$O(^TIU(8925.1,"B",TIUNAME,"")) I TIUIEN'>0 Q -1
I '$D(^TIU(8925.1,"AT","O",TIUIEN)) Q -1
D BLDOBJAR(.TIUOUT,TIUIEN)
Q TIUIEN
;
OBJSTAT(TIUNAME) ;
;Output
; -1 Object does not exist
; 0 Object is inactive
; 1 Object exist is active
;
I '$D(^TIU(8925.1,"B",TIUNAME)) Q -1
N TIUIEN
S TIUIEN=$O(^TIU(8925.1,"B",TIUNAME,"")) I TIUIEN'>0 Q -1
I '$D(^TIU(8925.1,"AT","O",TIUIEN)) Q -1
I $$GETSTAT(TIUIEN)="INACTIVE" Q 0
Q 1
;
TEMPSTAT(TIUNAME) ;
;Output
; -1 Template Field does not exist
; 0 Template Field is inactive
; 1 Template Field exist and is active
;
I '$D(^TIU(8927.1,"B",TIUNAME)) Q -1
N TIUIEN
S TIUIEN=$O(^TIU(8927.1,"B",TIUNAME,"")) I TIUIEN'>0 Q -1
I $P($G(^TIU(8927.1,TIUIEN,0)),U,3)=1 Q 0
Q 1
;
TIUCHECK ;SLC/AJB,AGP TIU Objects and Templare Fields API;25-MAR-2009
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**249**;Jun 20, 1997;Build 48
+2 ;
BLDOBJAR(TIUOUT,TIUIEN) ;
+1 NEW TIUNODE
+2 SET TIUNODE=$GET(^TIU(8925.1,TIUIEN,0))
+3 SET TIUOUT(TIUIEN,.01)=$PIECE(TIUNODE,U)
SET TIUOUT(TIUIEN,.04)=$PIECE(TIUNODE,U,4)
+4 SET TIUOUT(TIUIEN,.07)=$$GETSTAT(TIUIEN)
+5 SET TIUOUT(TIUIEN,9)=$GET(^TIU(8925.1,TIUIEN,9))
+6 QUIT
+7 ;
CANUREMD(TIUIEN) ;
+1 NEW TIUNODE,TIURESLT
+2 SET TIURESLT=0
+3 IF $$PATCH^XPDUTL("PXRM*2.0*12")=0
Begin DoDot:1
+4 SET TIUNODE=$GET(^PXRMD(801.41,TIUIEN,0))
+5 IF $PIECE(TIUNODE,U,4)'="R"
QUIT
+6 IF $PIECE(TIUNODE,U,3)'=""
QUIT
+7 SET TIURESLT=1
End DoDot:1
QUIT TIURESLT
+8 SET TIURESLT=$$ISACTDLG^PXRMDLG6(TIUIEN)
+9 QUIT TIURESLT
+10 ;
GETSTAT(TIUIEN) ;
+1 NEW TIUSTIEN
+2 SET TIUSTIEN=$PIECE($GET(^TIU(8925.1,TIUIEN,0)),U,7)
+3 QUIT $PIECE($GET(^TIU(8925.6,TIUSTIEN,0)),U)
+4 ;
OBJBYIEN(TIUOUT,TIUIEN) ;
+1 DO BLDOBJAR(.TIUOUT,TIUIEN)
+2 QUIT
+3 ;
OBJBYNAM(TIUOUT,TIUNAME) ;
+1 IF '$DATA(^TIU(8925.1,"B",TIUNAME))
QUIT -1
+2 NEW TIUIEN
+3 SET TIUIEN=$ORDER(^TIU(8925.1,"B",TIUNAME,""))
IF TIUIEN'>0
QUIT -1
+4 IF '$DATA(^TIU(8925.1,"AT","O",TIUIEN))
QUIT -1
+5 DO BLDOBJAR(.TIUOUT,TIUIEN)
+6 QUIT TIUIEN
+7 ;
OBJSTAT(TIUNAME) ;
+1 ;Output
+2 ; -1 Object does not exist
+3 ; 0 Object is inactive
+4 ; 1 Object exist is active
+5 ;
+6 IF '$DATA(^TIU(8925.1,"B",TIUNAME))
QUIT -1
+7 NEW TIUIEN
+8 SET TIUIEN=$ORDER(^TIU(8925.1,"B",TIUNAME,""))
IF TIUIEN'>0
QUIT -1
+9 IF '$DATA(^TIU(8925.1,"AT","O",TIUIEN))
QUIT -1
+10 IF $$GETSTAT(TIUIEN)="INACTIVE"
QUIT 0
+11 QUIT 1
+12 ;
TEMPSTAT(TIUNAME) ;
+1 ;Output
+2 ; -1 Template Field does not exist
+3 ; 0 Template Field is inactive
+4 ; 1 Template Field exist and is active
+5 ;
+6 IF '$DATA(^TIU(8927.1,"B",TIUNAME))
QUIT -1
+7 NEW TIUIEN
+8 SET TIUIEN=$ORDER(^TIU(8927.1,"B",TIUNAME,""))
IF TIUIEN'>0
QUIT -1
+9 IF $PIECE($GET(^TIU(8927.1,TIUIEN,0)),U,3)=1
QUIT 0
+10 QUIT 1
+11 ;