- 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 Feb 19, 2025@00:10:09 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