Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: TIULA4

TIULA4.m

Go to the documentation of this file.
  1. TIULA4 ; SLC/JER,JM - Check out PUT API's ; 6/13/01
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**10,35,79,103,111,116**;Jun 20, 1997
  1. CLASPICK(PARENT,Y,TYPES) ; Boolean fn to screen selection of classes
  1. N TIUY S TIUY=0,TYPES=$G(TYPES,"DCCL")
  1. I ($P(^TIU(8925.1,+Y,0),U,4)]""),$S(TYPES[$P(^TIU(8925.1,+Y,0),U,4):1,(+Y=+$$CLASS^TIUCNSLT):1,1:0),+$$ISA^TIULX(+Y,+PARENT),+$$CANPICK^TIULP(+Y) S TIUY=1
  1. Q TIUY
  1. DFLTPICK(PARENT,Y,LIST) ; Boolean function to screen selection of Default title
  1. N TIUY S TIUY=0
  1. I $P(^TIU(8925.1,+Y,0),U,4)="DOC",+$$ISA^TIULX(+Y,+PARENT),+$$CANPICK^TIULP(+Y) S TIUY=1
  1. I +$G(LIST),(+$O(^TIU(8925.98,+$G(LIST),10,0))>0),(+$O(^TIU(8925.98,+$G(LIST),10,"B",+Y,0))'>0) S TIUY=0
  1. Q TIUY
  1. LBYPASS() ; Interactive function to determine whether to bypass list
  1. N PROMPT W !
  1. S PROMPT="Edit (L)ist, (D)efault TITLE, or (B)oth? "
  1. Q $P($$READ^TIUU("SA^L:list;D:default;B:both",PROMPT,"BOTH"),U)
  1. TITLPICK(TIUY,CLASS,ATTCHID) ; Select a title
  1. N PICK,TITLES,I,L,Y,TIUDFLT,QUIT,DTOUT,DUOUT,CANLINK,PICKNUM
  1. S CLASS=$G(CLASS,3)
  1. D LIST(.TITLES,CLASS,"","",$G(ATTCHID)) Q:'+$O(TITLES(0))
  1. S TIUDFLT=$G(TITLES("DFLT"))
  1. I TIUDFLT,'$P(TITLES(TIUDFLT),U,3)!($G(ATTCHID)&'$P(TITLES(TIUDFLT),U,4)) S TIUDFLT=0,TIUY("NODFLT")=1
  1. RPT W !!,"Personal ",$$UP^XLFSTR($$PNAME^TIULC1(CLASS))," Title List for "
  1. W $$NAME^TIULS($$PERSNAME^TIULC1(DUZ),"FIRST LAST"),!
  1. S (I,L,PICK,QUIT,PICKNUM)=0
  1. F S I=$O(TITLES(I)) Q:QUIT!(+I'>0)!(+PICK) D
  1. . W !?3,I,?8,$P(TITLES(I),U,2)
  1. . I I#15=0 D
  1. . . I +$O(TITLES(I)) D I 1
  1. . . . W !!,"Press <RETURN> to see more titles, '^' to exit personal list, or CHOOSE"
  1. . . . S Y=$G(TITLES(+$$PICK(1,I))) ;If more titles, no default
  1. . . E D
  1. . . . W ! S PICKNUM=$$PICK(1,I,+$G(TIUDFLT))
  1. . . . I PICKNUM="" S QUIT=1
  1. . . . S Y=$G(TITLES(+PICKNUM))
  1. . . . I Y="0^Other Title" S QUIT=1
  1. . . I $D(DTOUT)!$D(DUOUT) S QUIT=1,Y=0
  1. . . E S PICK=+Y
  1. . I +PICK S TIUY(1)=1_U_+Y_$$PNAME^TIULC1(+Y),TIUY=1
  1. . S L=I
  1. I 'QUIT,'PICK W ! S Y=$G(TITLES(+$$PICK(1,L,+$G(TIUDFLT))))
  1. I +Y,'$P(Y,U,3) D G RPT
  1. . W !,$C(7),">>> ",$$PNAME^TIULC1(+Y)," is not an ACTIVE title."
  1. . W " Please choose another."
  1. . W !?4,"You may want to remove it from your list..."
  1. . W !?4,"Check with your Clinical Application Coordinator.",! K Y
  1. I +Y,$G(ATTCHID),'$P(Y,U,4) D G RPT
  1. . S CANLINK=$$CANLINK^TIULP(+Y)
  1. . W !,$C(7),">>> ",$P(CANLINK,U,2),!," Please choose another title."
  1. . K Y
  1. I +Y D
  1. . S TIUY(1)=1_U_+Y_U_$$PNAME^TIULC1(+Y),TIUY=1
  1. . W " ",$$PNAME^TIULC1(+Y)
  1. I +Y=0 S (TIUY,TIUY(1))=0
  1. ;If user selected other title, they rejected the default:
  1. I Y="0^Other Title" S TIUY("NODFLT")=1
  1. I 'Y D
  1. . W !,"Exiting NUMBERED personal list.",!
  1. . W "Please select other title by NAME:"
  1. Q
  1. PICK(LOW,HIGH,DFLT) ; List selection
  1. N X,Y
  1. I +$G(DFLT) S Y=$$READ^TIUU("NO^"_LOW_":"_HIGH,"TITLE",DFLT) I 1
  1. E S Y=$$READ^TIUU("NO^"_LOW_":"_HIGH,"TITLE")
  1. W !
  1. Q Y
  1. LIST(TIUY,CLASS,TYPE,TIUK,ATTCHID) ; Get list of document titles
  1. N TIUDFLT
  1. S TIUK=+$G(TIUK)
  1. I $G(TYPE)']"" S TYPE="DOC"
  1. ; If the user has a preferred list of titles for the CLASS, get it
  1. I +$O(^TIU(8925.98,"AC",DUZ,CLASS,0)) D PERSLIST(.TIUY,DUZ,CLASS,.TIUK,ATTCHID)
  1. Q
  1. PERSLIST(TIUY,DUZ,CLASS,TIUC,ATTCHID) ; Get personal list for a user
  1. N TIUI,TIUDA,LASTSEQ,UNKSEQ,DFLTFL
  1. S TIUDA=+$O(^TIU(8925.98,"AC",DUZ,CLASS,0))
  1. Q:+TIUDA'>0
  1. S TIUY("DFLT")=$P($G(^TIU(8925.98,+TIUDA,0)),U,3)
  1. S TIUC=+$G(TIUC)
  1. S (TIUI,LASTSEQ,UNKSEQ,DFLTFL)=0
  1. F S TIUI=$O(^TIU(8925.98,TIUDA,10,TIUI)) Q:+TIUI'>0 D
  1. . N TIUPL,TIUTNM,TIUDTYP,TIUSEQ,TLINE
  1. . S TIUPL=$G(^TIU(8925.98,TIUDA,10,TIUI,0))
  1. . S TIUDTYP=$P(TIUPL,U),TIUSEQ=+$P(TIUPL,U,2)
  1. . I 'TIUSEQ S TIUSEQ=1000+UNKSEQ,UNKSEQ=UNKSEQ+1
  1. . S TIUTNM=$S($P(TIUPL,U,3)]"":$P(TIUPL,U,3),1:$$PNAME^TIULC1(+TIUDTYP))
  1. . S TIUC=+$G(TIUC)+1
  1. . S TLINE=$$TLINE(TIUDTYP,TIUTNM,$G(ATTCHID))
  1. . I $D(TIUY(TIUSEQ)) S TIUY(1000+UNKSEQ)=TLINE,LASTSEQ=1000+UNKSEQ,UNKSEQ=UNKSEQ+1
  1. . E S TIUY(TIUSEQ)=TLINE
  1. . I LASTSEQ<TIUSEQ S LASTSEQ=TIUSEQ
  1. . I TIUDTYP=TIUY("DFLT") S TIUY("DFLT")=TIUSEQ,DFLTFL=1
  1. I DFLTFL=0&($G(TIUY("DFLT"))) D
  1. . N TIUTNM,DFLTLINE
  1. . S TIUTNM=$$PNAME^TIULC1(+TIUY("DFLT"))
  1. . S DFLTLINE=$$TLINE(+TIUY("DFLT"),TIUTNM,$G(ATTCHID))
  1. . S TIUY(1000+UNKSEQ)=DFLTLINE,TIUY("DFLT")=1000+UNKSEQ,LASTSEQ=1000+UNKSEQ,UNKSEQ=UNKSEQ+1
  1. I +$G(LASTSEQ)>0 S LASTSEQ=LASTSEQ+1,TIUY(LASTSEQ)=0_U_"Other Title"
  1. Q
  1. ;
  1. TLINE(TITLIFN,TIUTNM,ATTCHID) ; Function returns TitleIFN^Titlename^Canpick (i.e. active)^Canattach (user can attach child ID entries of this title)
  1. N TIUPICK,CANLINK
  1. S TIUPICK=+$$CANPICK^TIULP(TITLIFN)
  1. S CANLINK=""
  1. I $G(ATTCHID) S CANLINK=+$$CANLINK^TIULP(TITLIFN)
  1. I 'TIUPICK!(CANLINK=0) S TIUTNM="("_TIUTNM_")"
  1. Q TITLIFN_U_TIUTNM_U_TIUPICK_U_CANLINK