TIUPLST ; SLC/JER - Enter/edit personal document pick-list ;13-JUL-2000 10:43:41
;;1.0;TEXT INTEGRATION UTILITIES;**91,103**;Jun 20, 1997
MAIN ; Control branching
N DA,TIUFPRIV,DUOUT,DTOUT
S TIUFPRIV=1
D INTROTXT
I $S($D(DUOUT):1,$D(DTOUT):1,$D(DIROUT):1,1:0) Q
D GETEDIT
Q
INTROTXT ; Write Introductory Text for the Option
W !
D JUSTIFY^TIUU("--- Personal Document Lists ---","C")
W !!,"This option allows you to create and maintain lists of TITLES for any of the"
W !,"active CLASSES of documents supported by TIU at your site.",!
I '$$READ^TIUU("Y","Explain Details","NO") Q
W !!,"When you use the option to enter a document belonging to a given class"
W !,"you will be asked to select a TITLE belonging to that class."
W !!,"For any particular class, you may find that you only wish to choose from"
W !,"among a few highly specific titles (e.g., if you are a Pulmonologist"
W !,"entering a PROGRESS NOTE, you may wish to choose from a short list of"
W !,"three or four titles related to Pulmonary Function, or Pulmonary Disease)."
W !,"Rather than presenting you with a list of hundreds of unrelated titles,"
W !,"TIU will present you with the list you name here."
W !!,"In the event that you need to select a TITLE which doesn't appear on your"
W !,"list, you will always be able to do so."
W !!,"NOTE: If you expect to enter a single title, or would be unduely restricted"
W !,"by use of a short list, then we recommend that you bypass the creation of"
W !,"a list, and simply enter a DEFAULT TITLE for the class...This option will"
W !,"afford you the opportunity to do so.",!
Q
GETEDIT ; Get record in picklist file, determine action
N D,DIC,TIUNM,X,Y,CREATE,PROMPT
S TIUNM=$P(^VA(200,+$G(DUZ),0),U)
W !," Enter/edit Personal Document List"
I +$O(^TIU(8925.98,"B",DUZ,0))'>0 D Q
. S Y=+$$NEWLIST(TIUNM,1)
. I +Y>0 D EDIT(+Y)
W !!,"You already have one or more Personal Lists...",!
S PROMPT="You may (E)dit, (D)elete, or (C)reate a List: "
S CREATE=$P($$READ^TIUU("SA^E:edit;D:delete;C:create",PROMPT,"EDIT"),U)
I $S(CREATE="":1,$D(DUOUT):1,$D(DTOUT):1,$D(DIROUT):1,1:0) Q
I CREATE="C" S Y=+$$NEWLIST(TIUNM) D:+Y>0 EDIT(+Y) Q
W !!,"Please choose a list to ",$S(CREATE="E":"Edit",1:"Delete"),"...",!
S DIC=8925.98,DIC(0)="ENZ",D="B",X=DUZ
S DIC("S")="I +$G(^TIU(8925.98,+Y,0))=DUZ"
S DIC("W")="W ?21,"" "",$E($$DOCNAME^TIUPLST($P(^TIU(8925.98,+Y,0),U,2)),1,34)"
D IX^DIC
;TIU*1*91 limit NEWLIST to CREATE=E (If include D & get good Y from NEWLIST, still deletes, never get to edit):
I +Y'>0,CREATE="E" W !!,"No List Selected...",! S Y=+$$NEWLIST(TIUNM,1)
I +Y'>0 W !!,"No changes made..." Q
I CREATE="D" D DELETE(+Y) Q
D EDIT(+Y)
Q
DOCNAME(TIUDA) ; Get the NAME (.01) field of the document
Q $P($G(^TIU(8925.1,+TIUDA,0)),U)
NEWLIST(TIUNM,ASK) ; Create a new List for the user
N ASKNEW,DIC,DLAYGO,Y
S DIC="^TIU(8925.98,",DLAYGO=8925.98,DIC(0)="UNXLZ",ASKNEW=1
I +$G(ASK) S ASKNEW=$$READ^TIUU("Y","Add a new Personal Document List","YES")
I +ASKNEW'>0 S Y=-1 G NEWX
S X=DUZ,D="B"
S X=""""_"`"_X_""""
W !!,"Creating a new Personal Document List...",!
D IX^DIC
;TIU*1*91 If DIC adds new entry, can get anyone w/ same name:
I Y>0,+Y(0)'=DUZ N DA,DIK D
. W !!," Sorry, you can create lists for YOURSELF only. Please try again."
. I $P(Y,U,3)=1 S DA=+Y,DIK="^TIU(8925.98," D ^DIK S Y=-1
NEWX Q +$G(Y)
;
DELETE(DA) ; Call ^DIK to delete the list
N YASURE,TIUNAME S YASURE=0
S TIUNAME=$$UP^XLFSTR($$PNAME^TIULC1($P(^TIU(8925.98,+DA,0),U,2)))
I TIUNAME'="UNKNOWN" D
. W !!,"You are about to DELETE your entry for CLASS "
. W TIUNAME,!
. S YASURE=$$READ^TIUU("Y","Are you SURE","NO")
I TIUNAME="UNKNOWN" D
. W !!,"You must specify a CLASS in order to maintain the list.",!
. S YASURE=1
I +YASURE'>0 W !!,"Nothing deleted...No harm done!" Q
D DIK(DA,TIUNAME)
Q
DIK(DA,TIUNAME) ; Remove a list
N DIK
S DIK="^TIU(8925.98,"
D ^DIK
I $G(TIUNAME)]"" W !,TIUNAME," List DELETED."
Q
EDIT(DA) ; Call ^DIE to edit the record
N DIE,DIRUT,DIROUT,DTOUT,DR,X,Y,TIUCLASS,TIUASK
S DIE=8925.98
S DR="[TIU ENTER/EDIT PERSONAL LIST]"
D ^DIE Q:$D(Y)!$D(DTOUT)
I $G(TIUCLASS)="" D DIK(DA,"")
Q
ALREADY(TIUCLASS) ; Indicate that a List for TIUCLASS already exists
W !!,$C(7),"You already have a list for class ",$$PNAME^TIULC1(TIUCLASS),"."
W !!,"Please Edit that list instead..."
Q
TIUPLST ; SLC/JER - Enter/edit personal document pick-list ;13-JUL-2000 10:43:41
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**91,103**;Jun 20, 1997
MAIN ; Control branching
+1 NEW DA,TIUFPRIV,DUOUT,DTOUT
+2 SET TIUFPRIV=1
+3 DO INTROTXT
+4 IF $SELECT($DATA(DUOUT):1,$DATA(DTOUT):1,$DATA(DIROUT):1,1:0)
QUIT
+5 DO GETEDIT
+6 QUIT
INTROTXT ; Write Introductory Text for the Option
+1 WRITE !
+2 DO JUSTIFY^TIUU("--- Personal Document Lists ---","C")
+3 WRITE !!,"This option allows you to create and maintain lists of TITLES for any of the"
+4 WRITE !,"active CLASSES of documents supported by TIU at your site.",!
+5 IF '$$READ^TIUU("Y","Explain Details","NO")
QUIT
+6 WRITE !!,"When you use the option to enter a document belonging to a given class"
+7 WRITE !,"you will be asked to select a TITLE belonging to that class."
+8 WRITE !!,"For any particular class, you may find that you only wish to choose from"
+9 WRITE !,"among a few highly specific titles (e.g., if you are a Pulmonologist"
+10 WRITE !,"entering a PROGRESS NOTE, you may wish to choose from a short list of"
+11 WRITE !,"three or four titles related to Pulmonary Function, or Pulmonary Disease)."
+12 WRITE !,"Rather than presenting you with a list of hundreds of unrelated titles,"
+13 WRITE !,"TIU will present you with the list you name here."
+14 WRITE !!,"In the event that you need to select a TITLE which doesn't appear on your"
+15 WRITE !,"list, you will always be able to do so."
+16 WRITE !!,"NOTE: If you expect to enter a single title, or would be unduely restricted"
+17 WRITE !,"by use of a short list, then we recommend that you bypass the creation of"
+18 WRITE !,"a list, and simply enter a DEFAULT TITLE for the class...This option will"
+19 WRITE !,"afford you the opportunity to do so.",!
+20 QUIT
GETEDIT ; Get record in picklist file, determine action
+1 NEW D,DIC,TIUNM,X,Y,CREATE,PROMPT
+2 SET TIUNM=$PIECE(^VA(200,+$GET(DUZ),0),U)
+3 WRITE !," Enter/edit Personal Document List"
+4 IF +$ORDER(^TIU(8925.98,"B",DUZ,0))'>0
Begin DoDot:1
+5 SET Y=+$$NEWLIST(TIUNM,1)
+6 IF +Y>0
DO EDIT(+Y)
End DoDot:1
QUIT
+7 WRITE !!,"You already have one or more Personal Lists...",!
+8 SET PROMPT="You may (E)dit, (D)elete, or (C)reate a List: "
+9 SET CREATE=$PIECE($$READ^TIUU("SA^E:edit;D:delete;C:create",PROMPT,"EDIT"),U)
+10 IF $SELECT(CREATE="":1,$DATA(DUOUT):1,$DATA(DTOUT):1,$DATA(DIROUT):1,1:0)
QUIT
+11 IF CREATE="C"
SET Y=+$$NEWLIST(TIUNM)
IF +Y>0
DO EDIT(+Y)
QUIT
+12 WRITE !!,"Please choose a list to ",$SELECT(CREATE="E":"Edit",1:"Delete"),"...",!
+13 SET DIC=8925.98
SET DIC(0)="ENZ"
SET D="B"
SET X=DUZ
+14 SET DIC("S")="I +$G(^TIU(8925.98,+Y,0))=DUZ"
+15 SET DIC("W")="W ?21,"" "",$E($$DOCNAME^TIUPLST($P(^TIU(8925.98,+Y,0),U,2)),1,34)"
+16 DO IX^DIC
+17 ;TIU*1*91 limit NEWLIST to CREATE=E (If include D & get good Y from NEWLIST, still deletes, never get to edit):
+18 IF +Y'>0
IF CREATE="E"
WRITE !!,"No List Selected...",!
SET Y=+$$NEWLIST(TIUNM,1)
+19 IF +Y'>0
WRITE !!,"No changes made..."
QUIT
+20 IF CREATE="D"
DO DELETE(+Y)
QUIT
+21 DO EDIT(+Y)
+22 QUIT
DOCNAME(TIUDA) ; Get the NAME (.01) field of the document
+1 QUIT $PIECE($GET(^TIU(8925.1,+TIUDA,0)),U)
NEWLIST(TIUNM,ASK) ; Create a new List for the user
+1 NEW ASKNEW,DIC,DLAYGO,Y
+2 SET DIC="^TIU(8925.98,"
SET DLAYGO=8925.98
SET DIC(0)="UNXLZ"
SET ASKNEW=1
+3 IF +$GET(ASK)
SET ASKNEW=$$READ^TIUU("Y","Add a new Personal Document List","YES")
+4 IF +ASKNEW'>0
SET Y=-1
GOTO NEWX
+5 SET X=DUZ
SET D="B"
+6 SET X=""""_"`"_X_""""
+7 WRITE !!,"Creating a new Personal Document List...",!
+8 DO IX^DIC
+9 ;TIU*1*91 If DIC adds new entry, can get anyone w/ same name:
+10 IF Y>0
IF +Y(0)'=DUZ
NEW DA,DIK
Begin DoDot:1
+11 WRITE !!," Sorry, you can create lists for YOURSELF only. Please try again."
+12 IF $PIECE(Y,U,3)=1
SET DA=+Y
SET DIK="^TIU(8925.98,"
DO ^DIK
SET Y=-1
End DoDot:1
NEWX QUIT +$GET(Y)
+1 ;
DELETE(DA) ; Call ^DIK to delete the list
+1 NEW YASURE,TIUNAME
SET YASURE=0
+2 SET TIUNAME=$$UP^XLFSTR($$PNAME^TIULC1($PIECE(^TIU(8925.98,+DA,0),U,2)))
+3 IF TIUNAME'="UNKNOWN"
Begin DoDot:1
+4 WRITE !!,"You are about to DELETE your entry for CLASS "
+5 WRITE TIUNAME,!
+6 SET YASURE=$$READ^TIUU("Y","Are you SURE","NO")
End DoDot:1
+7 IF TIUNAME="UNKNOWN"
Begin DoDot:1
+8 WRITE !!,"You must specify a CLASS in order to maintain the list.",!
+9 SET YASURE=1
End DoDot:1
+10 IF +YASURE'>0
WRITE !!,"Nothing deleted...No harm done!"
QUIT
+11 DO DIK(DA,TIUNAME)
+12 QUIT
DIK(DA,TIUNAME) ; Remove a list
+1 NEW DIK
+2 SET DIK="^TIU(8925.98,"
+3 DO ^DIK
+4 IF $GET(TIUNAME)]""
WRITE !,TIUNAME," List DELETED."
+5 QUIT
EDIT(DA) ; Call ^DIE to edit the record
+1 NEW DIE,DIRUT,DIROUT,DTOUT,DR,X,Y,TIUCLASS,TIUASK
+2 SET DIE=8925.98
+3 SET DR="[TIU ENTER/EDIT PERSONAL LIST]"
+4 DO ^DIE
IF $DATA(Y)!$DATA(DTOUT)
QUIT
+5 IF $GET(TIUCLASS)=""
DO DIK(DA,"")
+6 QUIT
ALREADY(TIUCLASS) ; Indicate that a List for TIUCLASS already exists
+1 WRITE !!,$CHAR(7),"You already have a list for class ",$$PNAME^TIULC1(TIUCLASS),"."
+2 WRITE !!,"Please Edit that list instead..."
+3 QUIT