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

TIUADCL.m

Go to the documentation of this file.
  1. TIUADCL ; SLC/AJB - UNK Addenda Cleanup ; 10/01/04
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**173,233**;Jun 20, 1997;Build 3
  1. ;
  1. ; Cleanup Utility for OPERATION REPORT addenda.
  1. ; Finds parentless/unknown addenda and attaches to user
  1. ; selected parent.
  1. ;
  1. Q
  1. EN ; main entry point for TIU UNK ADDENDA CLEANUP
  1. N DTR1,TIUQUIT
  1. D DTRANGE(.DTR1) Q:$D(TIUQUIT)
  1. D EN^VALM("TIU UNK ADDENDA CLEANUP")
  1. Q
  1. EXIT ;
  1. D XQORM
  1. Q
  1. HDR ; sets header
  1. N HDR
  1. S HDR="UNKNOWN ADDENDA from "_$$FMTE^XLFDT(DTR1("BEGDT"),"D")_" to "_$$FMTE^XLFDT(DTR1("ENDDT"),"D")
  1. S VALMHDR(1)=$$SETSTR^VALM1(HDR,"",(IOM-$L(HDR))/2,$L(HDR))
  1. D XQORM
  1. Q
  1. HELP ; help code
  1. N DIR
  1. I X="?" S DIR("A")="Enter RETURN to continue or '^' to exit",DIR(0)="E"
  1. D FULL^VALM1
  1. W !!,"The following actions are available:"
  1. W !,"Browse a Document - View a selected document (if authorized)"
  1. W !,"Change View - Modify search criteria"
  1. W !,"Detailed Display - View detailed display of a document (if authorized)"
  1. W !,"Find Parent - Find available OPERATION REPORTS to assign as parent",!
  1. I $D(DIR("A")) D ^DIR
  1. S VALMBCK="R"
  1. Q
  1. INIT ; finds unknown addenda & creates list
  1. N ADDENDUM,STRTDT,TIUDA,TIU
  1. S TIU("IOCUOFF")=$C(27)_"[?25l",TIU("IOCUON")=$C(27)_"[?25h"
  1. W TIU("IOCUOFF")
  1. W !!,"Searching for the documents."
  1. S ADDENDUM=$$CHKFILE(8925.1,"ADDENDUM","I $P(^(0),U,4)=""DOC"""),TIUDA="",STRTDT=DTR1("BEGDT"),VALMCNT=0
  1. F S STRTDT=$O(^TIU(8925,"F",STRTDT)) Q:STRTDT=""!(STRTDT>DTR1("ENDDT")) F S TIUDA=$O(^TIU(8925,"F",STRTDT,TIUDA)) Q:TIUDA="" I +$G(^TIU(8925,TIUDA,0))=ADDENDUM,'+$P($G(^TIU(8925,TIUDA,0)),U,6) D
  1. . N DISPLAY
  1. . S VALMCNT=VALMCNT+1 W:VALMCNT#3=0 "."
  1. . S DISPLAY=$$SETSTR^VALM1(VALMCNT,"",1,4)
  1. . S DISPLAY=$$SETSTR^VALM1($$PATIENT^TIU144($P($G(^TIU(8925,TIUDA,0)),U,2)),DISPLAY,6,38)
  1. . S DISPLAY=$$SETSTR^VALM1(TIUDA,DISPLAY,40,50)
  1. . S DISPLAY=$$SETSTR^VALM1($$FDATE^VALM1($$GET1^DIQ(8925,TIUDA,1201,"I")),DISPLAY,52,62)
  1. . S DISPLAY=$$SETSTR^VALM1($$GET1^DIQ(8925,TIUDA,.05),DISPLAY,62,73)
  1. . S DISPLAY=$$SETSTR^VALM1("NO",DISPLAY,74,76)
  1. . D SET^VALM10(VALMCNT,DISPLAY,TIUDA)
  1. I VALMCNT=0 D
  1. . D SET^VALM10(2,$$SETSTR^VALM1("No records found to satisfy search criteria.","",(IOM-$L("No records found to satisfy search criteria."))/2,$L("No records found to satisfy search criteria.")),0)
  1. Q
  1. XQORM ; default action for list manager
  1. S XQORM("#")=$O(^ORD(101,"B","TIU UNK ADDENDA SELECT",0))_U_"1:"_VALMCNT
  1. Q
  1. ACTIONS ; user selectable actions
  1. N ACTION,TIUCONT
  1. D I ACTION=-1 S VALMBCK="R" Q
  1. . N DIR,DIRUT,POP,X,Y
  1. . S DIR(0)=$S(VALM("TITLE")="TIU/Surgery Cleanup":"SA^1:Browse Document;2:Detailed Display;3:Find Parent",1:"SA^1:Browse Document;2:Detailed Display;3:Attach to Parent")
  1. . S DIR("A")="Select Action: "
  1. . S DIR("B")=$S(VALM("TITLE")="TIU/Surgery Cleanup":"Find Parent",1:"Attach to Parent")
  1. . S DIR("L",1)="1. Browse a Document"
  1. . S DIR("L",2)=$S(VALM("TITLE")="TIU/Surgery Cleanup":"2. Detailed Display 3. Find Parent",1:"2. Detailed Display 3. Attach to Parent")
  1. . S DIR("L",4)=""
  1. . S DIR("L")="Enter selection by typing the name, number, or abbreviation"
  1. . S DIR("?",1)="The following actions are available:"
  1. . S DIR("?",2)=""
  1. . S DIR("?",3)="Browse a Document - View a selected document (if authorized)"
  1. . S DIR("?",4)="Detailed Display - Detailed View of a selected document (if authorized)"
  1. . S DIR("?")=$S(VALM("TITLE")="TIU/Surgery Cleanup":"Find Parent - Find OPERATION REPORT to attach as parent",1:"Attach to Parent - Attach selected addenda to parent")
  1. . F D ^DIR D Q:$G(TIUCONT)!$D(DIRUT)
  1. . . I VALM("TITLE")="Operation Reports",$$MULTI("TIUDOCS")>1,+Y=3 D Q
  1. . . . W !!,"You may only attach addenda to one parent at a time."
  1. . . . W !,"Select only one parent for this action.",!
  1. . . . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. . . I $$MULTI("TIUDOCS")>1,(+Y=1!(+Y=2)) D Q
  1. . . . W !!,"You may only view one document at a time."
  1. . . . W !,"Select only one document for this action.",!
  1. . . . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. . . S TIUCONT=1
  1. . I VALM("TITLE")="TIU/Surgery Cleanup" S ACTION=$S(+Y=1:"BROWSE",+Y=2:"DETDISP",+Y=3:"FNDPRNT",Y=U:-1,1:-1)
  1. . E S ACTION=$S(+Y=1:"BROWSE",+Y=2:"DETDISP",+Y=3:"ATTACH^TIUADCL1",Y=U:-1,1:-1)
  1. I $G(TIUCONT)=1 D @ACTION
  1. S VALMBCK=$S(ACTION="ATTACH^TIUADCL1":"Q",1:"R")
  1. Q
  1. BROWSE ; browse document
  1. N TIUDA S TIUDA=+$$ONEDOC()
  1. D EN^VALM("TIU BROWSE FOR READ ONLY")
  1. Q
  1. CHKFILE(FILE,NAME,SCREEN) ; checks entry in file and returns IEN
  1. ; VMP/RJT - *233 - added Forget Lookup Value flag to DIC call since its affecting the value in the ^DISV global (spacebar return function)
  1. N DIC,X,Y S DIC=FILE,DIC(0)="FX",DIC("S")=$G(SCREEN),X=NAME D ^DIC
  1. Q +Y
  1. CHNGVIEW ; allows user to change search parameters
  1. D FULL^VALM1
  1. W @IOF
  1. I VALM("TITLE")="TIU/Surgery Cleanup" D I $D(TIUQUIT) S VALMBCK="R" Q
  1. . D DTRANGE(.DTR1) Q:$D(TIUQUIT)
  1. . D CLEAN^VALM10,INIT,HDR S VALMBG=1
  1. I VALM("TITLE")="Operation Reports" D I $D(TIUQUIT) S VALMBCK="R" Q
  1. . D DTRANGE(.DTR2) Q:$D(TIUQUIT)
  1. . D CLEAN^VALM10,INIT^TIUADCL1,HDR^TIUADCL1 S VALMBG=1
  1. Q
  1. DATE(TIUDT,TIUSEQ) ; if date is year entry only, appends Jan 01/Dec 31@2400 respectively
  1. I TIUDT["0000" S TIUDT=TIUDT/10000,TIUDT=TIUDT_$S(TIUSEQ=1:"0101",TIUSEQ=2:"1231")
  1. I TIUSEQ=2 S TIUDT=TIUDT_".24"
  1. Q TIUDT
  1. DTRANGE(DTRANGE) ; prompts user for date range input
  1. N %DT,CNT,POP,X,Y
  1. S %DT="AE",%DT(0)=$$NOW^XLFDT*-1
  1. W @IOF
  1. F CNT=1:1:2 D
  1. . S %DT("A")=$S(CNT=1:"START WITH REFERENCE DATE: ",CNT=2:" GO TO REFERENCE DATE: ")
  1. . S %DT("B")=$S(CNT=1:"Jan 01, 2003",CNT=2:$P($$HTE^XLFDT($H),"@"))
  1. . D ^%DT
  1. . I Y=-1 S CNT=2,TIUQUIT=1 Q
  1. . I CNT=1 S DTRANGE("BEGDT")=$$DATE(Y,CNT),%DT(0)=DTRANGE("BEGDT") Q
  1. . S DTRANGE("ENDDT")=$$DATE(Y,CNT),X=$P($$NOW^XLFDT,".")_".24" I DTRANGE("ENDDT")>X S CNT=1 W !!,?42,"Future dates are not allowed.",!
  1. Q
  1. DETDISP ; detailed display
  1. N D0,DIROUT,RSTRCTD,TIUDA,TIUD,TIUDATA,TIUGDATA,TIUSEL,TIUI,TIUQUIT,Y
  1. S TIUDA=+$$ONEDOC()
  1. D
  1. . N TIUVIEW
  1. . D CLEAR^VALM1
  1. . S TIUVIEW=$$CANDO^TIULP(TIUDA,"VIEW")
  1. . I +TIUVIEW'>0 D Q
  1. . . W !!,$C(7),$P(TIUVIEW,U,2),!
  1. . . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. . S RSTRCTD=$$DOCRES^TIULRR(TIUDA)
  1. . I RSTRCTD D Q
  1. . . W !!,$C(7),"Ok, no harm done...",!
  1. . . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. . D EN^TIUAUDIT
  1. . I +$G(TIUQUIT) D FIXLSTNW^TIULM Q
  1. K VALMY S VALMBCK="R"
  1. Q
  1. FNDPRNT ; executes LM for TIU UNK ADDENDA ATTACH
  1. N PARENT,TIUDISP,TIUTMP
  1. D EN^TIUADCL1
  1. S TIUTMP=""
  1. F S TIUTMP=$O(TIUDOCS(TIUTMP)) Q:TIUTMP="" D
  1. . S TIUDISP=@VALMAR@(TIUTMP,0)
  1. . S PARENT=+$P($G(^TIU(8925,TIUDOCS(TIUTMP),0)),U,6)
  1. . S TIUDISP=$$SETSTR^VALM1($S(PARENT=0:"NO",PARENT>0:"#"_PARENT),TIUDISP,74,80)
  1. . D SET^VALM10(TIUTMP,TIUDISP,TIUDOCS(TIUTMP))
  1. D RE^VALM4
  1. Q
  1. MULTI(TIUCHK) ;
  1. N TIUCNT,TIUTMP
  1. S TIUCNT=0,TIUTMP=""
  1. F S TIUTMP=$O(@TIUCHK@(TIUTMP)) Q:TIUTMP="" S TIUCNT=TIUCNT+1
  1. Q TIUCNT
  1. ONEDOC() ;
  1. N TIUTMP
  1. S TIUTMP=""
  1. F S TIUTMP=$O(TIUDOCS(TIUTMP)) Q:+TIUTMP
  1. Q TIUDOCS(TIUTMP)
  1. SELECT(ACTION) ; selects document(s) and calls ACTION
  1. N TIUDOCS,TIUSEL,TIUQUIT
  1. D FULL^VALM1
  1. I VALMCNT=0 W !,"No documents to select." H 3 Q
  1. S TIUSEL=$P(XQORNOD(0),"=",2)
  1. I TIUSEL="" D Q:$D(TIUQUIT)
  1. . I VALMLST=1 S TIUDOCS(1)=$O(@VALMAR@("IDX",1,"")) Q
  1. . N DIR,X,Y
  1. . S DIR("A")="Select Document(s): (1-"_VALMLST_") "
  1. . S DIR(0)="LAC^1:"_VALMLST
  1. . D ^DIR I $D(DIRUT)!(Y=U) S TIUQUIT=1 Q
  1. . S TIUSEL=Y(0)
  1. I $A($E(TIUSEL,$L(TIUSEL)))<48!($A($E(TIUSEL,$L(TIUSEL)))>57) S TIUSEL=$E(TIUSEL,1,$L(TIUSEL)-1)
  1. F X=1:1 Q:$P(TIUSEL,",",X)="" D
  1. . N TIUCNT
  1. . I $P(TIUSEL,",",X)["-" F TIUCNT=+$P(TIUSEL,",",X):1:$P($P(TIUSEL,",",X),"-",2) S:TIUCNT<VALMLST TIUDOCS(TIUCNT)=$O(@VALMAR@("IDX",TIUCNT,""))
  1. . E S:$P(TIUSEL,",",X)'>VALMLST TIUDOCS($P(TIUSEL,",",X))=$O(@VALMAR@("IDX",$P(TIUSEL,",",X),""))
  1. I $$MULTI("TIUDOCS")>1,VALM("TITLE")="Operation Reports" D Q
  1. . W !!,"You may not select multiple OPERATION Reports to view or attach addenda to."
  1. . W !,"Select only one document to view or attach addenda.",!
  1. . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. . S VALMBCK="R"
  1. I $$MULTI("TIUDOCS")>1,(ACTION="BROWSE"!(ACTION="DETDISP")) D Q
  1. . W !!,"You may only view one document at a time."
  1. . W !,"Select only one document for this action.",!
  1. . I $$READ^TIUU("EA","Press <RETURN> to continue")
  1. I VALM("TITLE")'="Operation Reports" S VALMBCK="R"
  1. S TIUDOCS="" F S TIUDOCS=$O(TIUDOCS(TIUDOCS)) Q:TIUDOCS="" I $$GET1^DIQ(8925,TIUDOCS(TIUDOCS),.06)'="" K TIUDOCS(TIUDOCS)
  1. I $D(TIUDOCS)'>1 S VALMBCK="R" Q
  1. D @ACTION
  1. Q