TIUPRF ; SLC/JMH - API's for Patient Record Flags ; 7/29/05
 ;;1.0;TEXT INTEGRATION UTILITIES;**184**;Jun 20, 1997
 ;
ISPRFDOC(TIUDA) ;Function (called by PIMS) returns 1 if docmt is PRF,
 ;otherwise 0
 N TIUTTL
 S TIUTTL=+$G(^TIU(8925,TIUDA,0))
 I 'TIUTTL Q 0
 Q $$ISPFTTL^TIUPRFL(TIUTTL)
 ;
GETTTL(TIUDA) ; API called by PIMS to retrieve the name of a
 ;TIU Document
 ; Input   TIUDA: The TIU DOCUMENT TITLE IEN
 ; Output TIUTTL: The TIU DOCUMENT TITLE Name
 N TIUTTL,TIUNODE
 S TIUNODE=$G(^TIU(8925.1,TIUDA,0))
 I $G(TIUNODE)="" Q -1
 S TIUTTL=$P(TIUNODE,U,1)
 I $G(TIUTTL)="" Q -2
 Q TIUTTL
CHKDOC(TIUDA) ; API called by PIMS to check the existence of a TIU
 ;   Document before linking, deleting,...
 ; Input   TIUDA: The TIU DOCUMENT IEN
 ; Output TIURET: Return value 
 ;              (0 if Document does not exist, 1 if it does exist)
 N TIURET
 S TIURET=$D(^TIU(8925,TIUDA,0))
 I +TIURET S TIURET=1
 I 'TIURET S TIURET=0
 Q TIURET
 ;
GETLIST(PRFCAT,TARGET) ; API called by PIMS to retrieve a list of active
 ;   Category I and/or Category II Progress Note Titles
 ; Input  PRFCAT: PRF Category Flag [1,2 or 3]
 ;    1:Category I
 ;    2:Category II
 ;    3:Both Category I and II
 ; Input  TARGET: The array name to place the list of 
 ;                  Titles and IENs
 ; Output TIURET: Return value to pass back any error
 ;                  codes if necessary
 ;                 @TARGET@(CATEGORY,D0)=TITLE IEN^TITLE NAME
 ;                If nothing to return in list, TIUCNT=0 and TARGET array is empty
 N TIUCAT1,TIUCAT2,TIURET,TIUCNT,TIUNODE1,TIUNODE2,TIUDA
 S TIUCNT=0
 K @TARGET
 I '$D(PRFCAT)!('$D(TARGET)) Q "-1^MISSING INPUT"
 I PRFCAT=3!(PRFCAT=1) D
 . S TIUNODE1=0
 . S TIUCAT1=+$$DDEFIEN^TIUFLF7("PATIENT RECORD FLAG CAT I","DC")
 . F  S TIUNODE1=$O(^TIU(8925.1,TIUCAT1,10,TIUNODE1)) Q:'TIUNODE1  D
 . . S TIUDA=$P(^TIU(8925.1,TIUCAT1,10,TIUNODE1,0),U)
 . . I $P(^TIU(8925.1,TIUDA,0),U,7)=11!($P(^TIU(8925.1,TIUDA,0),U,7)=10) D
 . . . S TIUCNT=TIUCNT+1
 . . . S @TARGET@("CAT I",TIUCNT)=TIUDA_"^"_$$GETTTL(TIUDA)
 I PRFCAT=3!(PRFCAT=2) D
 . S TIUNODE2=0
 . S TIUCAT2=+$$DDEFIEN^TIUFLF7("PATIENT RECORD FLAG CAT II","DC")
 . F  S TIUNODE2=$O(^TIU(8925.1,TIUCAT2,10,TIUNODE2)) Q:'TIUNODE2  D
 . . S TIUDA=$P(^TIU(8925.1,TIUCAT2,10,TIUNODE2,0),U)
 . . I $P(^TIU(8925.1,TIUDA,0),U,7)=11!($P(^TIU(8925.1,TIUDA,0),U,7)=10) D
 . . . S TIUCNT=TIUCNT+1
 . . . S @TARGET@("CAT II",TIUCNT)=TIUDA_"^"_$$GETTTL(TIUDA)
 Q TIUCNT
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HTIUPRF   2504     printed  Sep 23, 2025@20:19:59                                                                                                                                                                                                      Page 2
TIUPRF    ; SLC/JMH - API's for Patient Record Flags ; 7/29/05
 +1       ;;1.0;TEXT INTEGRATION UTILITIES;**184**;Jun 20, 1997
 +2       ;
ISPRFDOC(TIUDA) ;Function (called by PIMS) returns 1 if docmt is PRF,
 +1       ;otherwise 0
 +2        NEW TIUTTL
 +3        SET TIUTTL=+$GET(^TIU(8925,TIUDA,0))
 +4        IF 'TIUTTL
               QUIT 0
 +5        QUIT $$ISPFTTL^TIUPRFL(TIUTTL)
 +6       ;
GETTTL(TIUDA) ; API called by PIMS to retrieve the name of a
 +1       ;TIU Document
 +2       ; Input   TIUDA: The TIU DOCUMENT TITLE IEN
 +3       ; Output TIUTTL: The TIU DOCUMENT TITLE Name
 +4        NEW TIUTTL,TIUNODE
 +5        SET TIUNODE=$GET(^TIU(8925.1,TIUDA,0))
 +6        IF $GET(TIUNODE)=""
               QUIT -1
 +7        SET TIUTTL=$PIECE(TIUNODE,U,1)
 +8        IF $GET(TIUTTL)=""
               QUIT -2
 +9        QUIT TIUTTL
CHKDOC(TIUDA) ; API called by PIMS to check the existence of a TIU
 +1       ;   Document before linking, deleting,...
 +2       ; Input   TIUDA: The TIU DOCUMENT IEN
 +3       ; Output TIURET: Return value 
 +4       ;              (0 if Document does not exist, 1 if it does exist)
 +5        NEW TIURET
 +6        SET TIURET=$DATA(^TIU(8925,TIUDA,0))
 +7        IF +TIURET
               SET TIURET=1
 +8        IF 'TIURET
               SET TIURET=0
 +9        QUIT TIURET
 +10      ;
GETLIST(PRFCAT,TARGET) ; API called by PIMS to retrieve a list of active
 +1       ;   Category I and/or Category II Progress Note Titles
 +2       ; Input  PRFCAT: PRF Category Flag [1,2 or 3]
 +3       ;    1:Category I
 +4       ;    2:Category II
 +5       ;    3:Both Category I and II
 +6       ; Input  TARGET: The array name to place the list of 
 +7       ;                  Titles and IENs
 +8       ; Output TIURET: Return value to pass back any error
 +9       ;                  codes if necessary
 +10      ;                 @TARGET@(CATEGORY,D0)=TITLE IEN^TITLE NAME
 +11      ;                If nothing to return in list, TIUCNT=0 and TARGET array is empty
 +12       NEW TIUCAT1,TIUCAT2,TIURET,TIUCNT,TIUNODE1,TIUNODE2,TIUDA
 +13       SET TIUCNT=0
 +14       KILL @TARGET
 +15       IF '$DATA(PRFCAT)!('$DATA(TARGET))
               QUIT "-1^MISSING INPUT"
 +16       IF PRFCAT=3!(PRFCAT=1)
               Begin DoDot:1
 +17               SET TIUNODE1=0
 +18               SET TIUCAT1=+$$DDEFIEN^TIUFLF7("PATIENT RECORD FLAG CAT I","DC")
 +19               FOR 
                       SET TIUNODE1=$ORDER(^TIU(8925.1,TIUCAT1,10,TIUNODE1))
                       if 'TIUNODE1
                           QUIT 
                       Begin DoDot:2
 +20                       SET TIUDA=$PIECE(^TIU(8925.1,TIUCAT1,10,TIUNODE1,0),U)
 +21                       IF $PIECE(^TIU(8925.1,TIUDA,0),U,7)=11!($PIECE(^TIU(8925.1,TIUDA,0),U,7)=10)
                               Begin DoDot:3
 +22                               SET TIUCNT=TIUCNT+1
 +23                               SET @TARGET@("CAT I",TIUCNT)=TIUDA_"^"_$$GETTTL(TIUDA)
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +24       IF PRFCAT=3!(PRFCAT=2)
               Begin DoDot:1
 +25               SET TIUNODE2=0
 +26               SET TIUCAT2=+$$DDEFIEN^TIUFLF7("PATIENT RECORD FLAG CAT II","DC")
 +27               FOR 
                       SET TIUNODE2=$ORDER(^TIU(8925.1,TIUCAT2,10,TIUNODE2))
                       if 'TIUNODE2
                           QUIT 
                       Begin DoDot:2
 +28                       SET TIUDA=$PIECE(^TIU(8925.1,TIUCAT2,10,TIUNODE2,0),U)
 +29                       IF $PIECE(^TIU(8925.1,TIUDA,0),U,7)=11!($PIECE(^TIU(8925.1,TIUDA,0),U,7)=10)
                               Begin DoDot:3
 +30                               SET TIUCNT=TIUCNT+1
 +31                               SET @TARGET@("CAT II",TIUCNT)=TIUDA_"^"_$$GETTTL(TIUDA)
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +32       QUIT TIUCNT