| [613] | 1 | TIUGEDIT ; SLC/MAM - Add New ID Entry; 8/28/01
 | 
|---|
 | 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**100,123**;Jun 20, 1997
 | 
|---|
 | 3 | DIE(DA,TIUQUIT) ; Invoke ^DIE
 | 
|---|
 | 4 |  N Y,DIE,DR
 | 
|---|
 | 5 |  S ^TIU(8925,"ASAVE",DUZ,DA)=""
 | 
|---|
 | 6 |  S DR=$$GETTMPL^TIUEDI1(+$P(^TIU(8925,+DA,0),U))
 | 
|---|
 | 7 |  I DR']"" W !?5,$C(7),"No Edit template defined for ",$$PNAME^TIULC1(+$P(^TIU(8925,+DA,0),U)),! S TIUQUIT=2 Q
 | 
|---|
 | 8 |  S DIE=8925 D ^DIE
 | 
|---|
 | 9 |  S DR=".05///undictated",DIE=8925 D ^DIE
 | 
|---|
 | 10 |  D UPDTIRT^TIUDIRT(.TIU,DA),SEND^TIUALRT(DA)
 | 
|---|
 | 11 |  L -^TIU(8925,+DA)
 | 
|---|
 | 12 |  Q
 | 
|---|
 | 13 |  ;
 | 
|---|
 | 14 | ADDSTUB(DADDA) ; Prompt user for new stub ID entries for parent DADDA
 | 
|---|
 | 15 |  N TIUAUTH,TIUTYP,TIUDAD,DFN,TIUDPRM,DA,TIURTYP,TIUPRMT
 | 
|---|
 | 16 |  N X,Y,DIC
 | 
|---|
 | 17 |  S DFN=$P(^TIU(8925,DADDA,0),U,2)
 | 
|---|
 | 18 |  W !!,"  If you wish you may add stub interdisciplinary entries for this note:",!
 | 
|---|
 | 19 |  F  D  Q:$G(TIUAUTH)'>0  Q:$G(TIUTYP)'>0
 | 
|---|
 | 20 |  . K TIUTYP,TIUAUTH
 | 
|---|
 | 21 |  . S DIC=200,DIC(0)="AEMQ",DIC("A")="Select stub AUTHOR: "
 | 
|---|
 | 22 |  . S DIC("S")="I '+$$ISTERM^USRLM(+Y)"
 | 
|---|
 | 23 |  . D ^DIC
 | 
|---|
 | 24 |  . ;I Y'>0 S TIUOUT=1 Q
 | 
|---|
 | 25 |  . Q:Y'>0
 | 
|---|
 | 26 |  . S TIUAUTH=+Y
 | 
|---|
 | 27 |  . ; -- Get data array TIUDAD on parent note DADDA: --
 | 
|---|
 | 28 |  . I '$D(TIUDAD) D GETTIU^TIULD(.TIUDAD,DADDA)
 | 
|---|
 | 29 |  . D DOCSPICK^TIULA2(.TIUTYP,3,"1A","LAST","Select stub TITLE: ","+$$CANPICK^TIULP(+Y),+$$CANENTR^TIULP(+Y),$$CANLINK^TIULP(+Y)")
 | 
|---|
 | 30 |  . ;I +$G(TIUTYP)'>0 S TIUOUT=1 Q
 | 
|---|
 | 31 |  . Q:+$G(TIUTYP)'>0
 | 
|---|
 | 32 |  . S TIUTYP=+$P($G(TIUTYP(1)),U,2) ; IFN. (DOCSPICK returns TIUTYP as 1.)
 | 
|---|
 | 33 |  . ; -- Use visit of parent: --
 | 
|---|
 | 34 |  . M TIU=TIUDAD
 | 
|---|
 | 35 |  . ;-- Get parameters for selected title: --
 | 
|---|
 | 36 |  . D DOCPRM^TIULC1(TIUTYP,.TIUDPRM)
 | 
|---|
 | 37 |  . ; --  Get DA: --
 | 
|---|
 | 38 |  . S DA=$$CREATREC^TIUEDI3(DFN,.TIU,TIUTYP(1))
 | 
|---|
 | 39 |  . N TIUQUIT,TIUTDA
 | 
|---|
 | 40 |  . D DIE(DA,.TIUQUIT)
 | 
|---|
 | 41 |  . D LINK^TIUGR2(DA,DADDA)
 | 
|---|
 | 42 |  . W !,"  Stub entry added",!!
 | 
|---|
 | 43 |  Q
 | 
|---|
 | 44 |  ;
 | 
|---|
 | 45 | ADDDAD(DADDA,ADDED) ; Create new ID entry and link it to note DADDA
 | 
|---|
 | 46 |  ; Assumes DADDA can receive ID entries.
 | 
|---|
 | 47 |  ; Requires DADDA = parent note
 | 
|---|
 | 48 |  ; Requires DADLINE = parent note line number
 | 
|---|
 | 49 |  ; Returns ADDED > 0 if new note added (may not be linked), otherwise = 0
 | 
|---|
 | 50 |  N TITLE,TIUD0,TITLEDA,ADDING,STATUS,KIDDA
 | 
|---|
 | 51 |  S ADDED=0
 | 
|---|
 | 52 |  S TIUD0=$G(^TIU(8925,+DADDA,0))
 | 
|---|
 | 53 |  S TITLEDA=+TIUD0,STATUS=$P(TIUD0,U,5),TITLE=$$PNAME^TIULC1(TITLEDA)
 | 
|---|
 | 54 |  I STATUS<6 Q
 | 
|---|
 | 55 |  S ADDING=$$READ^TIUU("Y","Are you adding a new interdisciplinary entry to this note","YES")
 | 
|---|
 | 56 |  I 'ADDING D  Q
 | 
|---|
 | 57 |  . W !!,"This note appears to be an interdisciplinary parent.  Please select"
 | 
|---|
 | 58 |  . W !,"the note you want to attach to this note FIRST, or check with IRM"
 | 
|---|
 | 59 |  . W !,"or your clinical coordinator."
 | 
|---|
 | 60 |  . I $$READ^TIUU("EA","Press RETURN to continue...")
 | 
|---|
 | 61 |  D CLEAR^VALM1 W !!,"Adding a new interdisciplinary entry to",!,TITLE
 | 
|---|
 | 62 |  D FULL^VALM1
 | 
|---|
 | 63 |  D ADDDAD1(DADDA,.KIDDA)
 | 
|---|
 | 64 |  I $G(KIDDA) S ADDED=1 D:$D(^TMP("TIUR",$J)) UPIDDATA^TIURL1(DADDA),UPIDDATA^TIURL1(KIDDA)
 | 
|---|
 | 65 |  Q
 | 
|---|
 | 66 |  ;
 | 
|---|
 | 67 | ADDDAD1(DADDA,DA) ; Enter one new ID Document and link it to DADDA
 | 
|---|
 | 68 |  ; Call with:
 | 
|---|
 | 69 |  ; [DADDA] --> IFN of note new note will be added to,
 | 
|---|
 | 70 |  ;             i.e. parent note. Required.
 | 
|---|
 | 71 |  ;    [DA] --> IFN of new note or 0 if not created.  Passed back.
 | 
|---|
 | 72 |  N LINKTL,TIUVSUPP,TIULMETH,TIU,TIUVMETH,TIUOUT,TIUASK,TIUDAD
 | 
|---|
 | 73 |  N TIUNEW,TIU,TIUTYP,DFN,EDIT,TIUCMMTX,TIUDPRM,TIUEXIT,CONTINUE
 | 
|---|
 | 74 |  N TIUQUIT
 | 
|---|
 | 75 |  S DA=0
 | 
|---|
 | 76 |  ; -- Get data array TIUDAD on parent note DADDA: --
 | 
|---|
 | 77 |  D GETTIU^TIULD(.TIUDAD,DADDA)
 | 
|---|
 | 78 |  S DFN=$P(^TIU(8925,DADDA,0),U,2)
 | 
|---|
 | 79 |  ; -- Get new title from user.
 | 
|---|
 | 80 |  ;    Set info into array TIUTYP where
 | 
|---|
 | 81 |  ;          TIUTYP = title DA
 | 
|---|
 | 82 |  ;       TIUTYP(1) = 1^title DA^Name...
 | 
|---|
 | 83 | TITLE ; -- Get title.  Limit titles to those user can link, at least
 | 
|---|
 | 84 |  ;for SOME status.  Check again later after we know the status.
 | 
|---|
 | 85 |  W !!,"Please select a title for your entry:"
 | 
|---|
 | 86 |  D DOCSPICK^TIULA2(.TIUTYP,3,"1A","LAST","","+$$CANPICK^TIULP(+Y),+$$CANENTR^TIULP(+Y),$$CANLINK^TIULP(+Y)")
 | 
|---|
 | 87 |  I +$G(TIUTYP)'>0 S TIUOUT=1 Q
 | 
|---|
 | 88 |  S TIUTYP=+$P($G(TIUTYP(1)),U,2) ; IFN. (DOCSPICK returns TIUTYP as 1.)
 | 
|---|
 | 89 | VISIT ; -- Get visit (use same visit as first entry unless visit
 | 
|---|
 | 90 |  ;must be an historical event and parent visit is not hist): --
 | 
|---|
 | 91 |  S TIUVSUPP=+$$SUPPVSIT^TIULC1(TIUTYP)
 | 
|---|
 | 92 |  I TIUVSUPP,$P(TIUDAD("VSTR"),";",3)'="E" D EVENT^TIUSRVP1(.TIU,DFN) I 1
 | 
|---|
 | 93 |  E  M TIU=TIUDAD
 | 
|---|
 | 94 | VALID ; -- Validate, i.e. ask user if OK: --
 | 
|---|
 | 95 |  S TIUVMETH=$$GETVMETH^TIUEDI1(TIUTYP)
 | 
|---|
 | 96 |  I '$L(TIUVMETH) D  S TIUOUT=1 Q
 | 
|---|
 | 97 |  . W !,$C(7),"No Validation Method defined for "
 | 
|---|
 | 98 |  . W $$PNAME^TIULC1(TIUTYP),".",!,"Please contact IRM..."
 | 
|---|
 | 99 |  ; -- Ask user if proposed docmt looks OK.
 | 
|---|
 | 100 |  ;    May change array TIU, gets user answer in TIUASK: --
 | 
|---|
 | 101 |  K TIU("REFDT") ; for new ID child, want default = NOW. See TIULD
 | 
|---|
 | 102 |  X TIUVMETH
 | 
|---|
 | 103 |  I '$D(TIU("VSTR")) D  Q
 | 
|---|
 | 104 |  . W !,$C(7),"Patient & Visit required." H 2
 | 
|---|
 | 105 |  ; -- Go on if user answers says OK: --
 | 
|---|
 | 106 |  Q:'TIUASK
 | 
|---|
 | 107 |  ;-- Get parameters for selected title: --
 | 
|---|
 | 108 |  D DOCPRM^TIULC1(TIUTYP,.TIUDPRM)
 | 
|---|
 | 109 |  ; --  Get DA: new docmt for user to continue entering, or
 | 
|---|
 | 110 |  ;     existing docmt for user to edit, or existing docmt for
 | 
|---|
 | 111 |  ;     user to link w/o editing since they may not edit it: --
 | 
|---|
 | 112 |  S DA=$$GETRECG^TIUGEDI1(DFN,.TIU,.TIUTYP,.TIUDPRM,.TIUNEW,.EDIT,DADDA)
 | 
|---|
 | 113 |  I 'DA S VALMSG="** No entry added **" Q
 | 
|---|
 | 114 |  ; -- If user is attaching an existing docmt they may not edit,
 | 
|---|
 | 115 |  ;    try to attach, and quit: --
 | 
|---|
 | 116 |  I 'TIUNEW,'EDIT D TRYLINK(DA,DADDA,.TIUDAD) H 2 Q
 | 
|---|
 | 117 |  ; -- Edit new or existing DA: --
 | 
|---|
 | 118 |  N TIUQUIT,TIUTDA
 | 
|---|
 | 119 |  D DIE^TIUEDI4(DA,.TIUQUIT)
 | 
|---|
 | 120 |  Q:'$G(^TIU(8925,DA,0))  ; uparrow w/ bad docmt, already deleted
 | 
|---|
 | 121 |  I $$EMPTYDOC^TIULF(DA) D DELETE^TIUEDIT(DA,0) S:$G(VALMAR)="^TMP(""TIUVIEW"",$J)" VALMBCK="Q" S:'TIUNEW TIUCHNG("DELETE")=1 H:'TIUNEW 2 Q
 | 
|---|
 | 122 |  I +$G(TIUQUIT),'EDIT W !,"Document not attached" H 2 Q
 | 
|---|
 | 123 |  ; -- Misc after-edit-stuff for DA --
 | 
|---|
 | 124 |  I +$G(TIU("STOP")),(+$P($G(TIUDPRM(0)),U,14)'=1) D DEFER^TIUVSIT(DA,TIU("STOP")) I 1 ; Stop code: For stand alones, mark to get work load at signature
 | 
|---|
 | 125 |  E  D QUE^TIUPXAP1 ; Post workload now in background
 | 
|---|
 | 126 |  S TIUCMMTX=$$COMMIT^TIULC1(TIUTYP)
 | 
|---|
 | 127 |  I TIUCMMTX]"" X TIUCMMTX
 | 
|---|
 | 128 |  D RELEASE^TIUT(DA)
 | 
|---|
 | 129 |  D VERIFY^TIUT(DA)
 | 
|---|
 | 130 |  ; -- If get this far without quitting, attach entry,
 | 
|---|
 | 131 |  ;    new or existing, so auto-print prints whole note:
 | 
|---|
 | 132 |  D LINK^TIUGR2(DA,DADDA) S VALMSG="** Entry attached **"
 | 
|---|
 | 133 |  ; -- Get signature
 | 
|---|
 | 134 |  D EDSIG^TIURS(DA) ;does auto-print
 | 
|---|
 | 135 |  ; -- execute EXIT ACTION --
 | 
|---|
 | 136 |  S TIUEXIT=$$GETEXIT^TIUEDI2(TIUTYP)
 | 
|---|
 | 137 |  I $L(TIUEXIT) S TIUTDA=DA X TIUEXIT S DA=TIUTDA
 | 
|---|
 | 138 |  ;I '$G(^TIU(8925,DA,21)) D TRYLINK(DA,DADDA,.TIUDAD)
 | 
|---|
 | 139 |  ; --  [Prompt to print DA] --
 | 
|---|
 | 140 |  I +$P($G(TIUDPRM(0)),U,8) D PRINT^TIUEPRNT(DA)
 | 
|---|
 | 141 |  Q
 | 
|---|
 | 142 |  ;
 | 
|---|
 | 143 | TRYLINK(DA,DADDA,TIUDAD) ; Check specific docmt now that we know
 | 
|---|
 | 144 |  ;its status, to see if user can attach it to an ID note; if so,
 | 
|---|
 | 145 |  ;attach DA to DADDA.
 | 
|---|
 | 146 |  ; Already know that DADDA can receive ID entries.
 | 
|---|
 | 147 |  ;4/11/01 not currently used
 | 
|---|
 | 148 |  N CANLINK
 | 
|---|
 | 149 |  S CANLINK=$$CANDO^TIULP(DA,"ATTACH TO ID NOTE")
 | 
|---|
 | 150 |  I 'CANLINK D  Q
 | 
|---|
 | 151 |  . W !!,$P(CANLINK,U,2),!," Entry saved as a stand-alone note.  Please attach it later if you are",!," authorized to do so."
 | 
|---|
 | 152 |  . I $$READ^TIUU("EA","Press RETURN to continue...")
 | 
|---|
 | 153 |  . I $D(DUOUT)!$D(DTOUT)!$D(DIROUT) S TIUQUIT=1
 | 
|---|
 | 154 |  . S VALMSG="** Entry saved as a stand-alone note **"
 | 
|---|
 | 155 |  D LINK^TIUGR2(DA,DADDA)
 | 
|---|
 | 156 |  W !!,"Entry added to ",$P(TIUDAD("DOCTYP"),U,2)
 | 
|---|
 | 157 |  S VALMSG="** Entry attached **"
 | 
|---|
 | 158 |  Q
 | 
|---|
 | 159 |  ;
 | 
|---|