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

LRVRAP4.m

Go to the documentation of this file.
  1. LRVRAP4 ;DALOI/STAFF - LAB AP INTERFACE ;06/19/13 11:48
  1. ;;5.2;LAB SERVICE;**350,427**;Sep 27, 1994;Build 33
  1. ;
  1. ; Extracts the results information in the ^LAH(LWL,1,ISQN... global and stores it in the Lab Data AP subfile.
  1. ;
  1. DISPLAY ; Display AP results
  1. ;
  1. I LRSS'?1(1"SP",1"CY",1"EM") W !,"Abort- Not an AP accession" Q
  1. S %ZIS="MQ" D ^%ZIS
  1. I POP D HOME^%ZIS Q
  1. I $D(IO("Q")) D Q
  1. . S ZTRTN="DQ^LRVRAP4",ZTDESC="PRINT LEDI AP RESULTS",ZTSAVE("LR*")=""
  1. . D ^%ZTLOAD,HOME^%ZIS K IO("Q")
  1. ;
  1. ;
  1. DQ ;
  1. U IO
  1. N LRLINE,LRI,LRPAGE
  1. S LRPAGE=1,LREND=0,$P(LRLINE,"-",IOM)=""
  1. W @IOF
  1. I $D(LRDFN) D PT^LRX
  1. D HDG,DATA
  1. I $D(ZTQUEUED) S ZTREQ="@" Q
  1. D ACCEPT
  1. ;
  1. EXIT ;
  1. Q
  1. ;
  1. ;
  1. HDG ;
  1. ;
  1. W !,"Accession #: ",$G(LRACC)," UID: ",$G(LRUID)
  1. W !,"Name: ",$G(PNM)," SSN: ",$G(SSN)," DOB: ",$$FMTE^XLFDT($G(DOB),"1M")," Age: ",$G(AGE(2))
  1. W ?(IOM-10),"PAGE: ",LRPAGE
  1. W !,"Collection Date: ",$$FMTE^XLFDT($G(LRCDT))
  1. S LRPAGE=LRPAGE+1
  1. W !,LRLINE
  1. Q
  1. ;
  1. ;
  1. DATA ;
  1. N FLDNM,LINE,LRI
  1. F LRI=99,.2,.3,.4,.5,1,1.1,1.2,1.3,1.4 I $D(^LAH(LRLL,1,LRISQN,LRSS,LRI))&('LREND) D
  1. . S FLDNM=$S(LRI=.2:"Brief Clinical History",LRI=.3:"Preoperative Diagnosis",LRI=.4:"Operative Findings",LRI=.5:"Postoperative Findings",LRI=99:"Report",1:0)
  1. . I FLDNM=0 S FLDNM=$S(LRI=1:"Gross Description",LRI=1.1:"Microscopic Description",LRI=1.2:"Supplementary Report",LRI=1.3:"Frozen Section",1:0)
  1. . I LRI=1.4 S FLDNM=$S(LRSS="EM":"EM",LRSS="SP":"Surgical Pathology",LRSS="CY":"Cytopathology",1:0)_"Diagnosis"
  1. . W !,LRLINE,!,FLDNM
  1. . K ^UTILITY($J)
  1. . S DIWR=IOM-5,DIWL=5,DIWF="W"
  1. . S:LRI=99 DIWR=IOM,DIWL=0
  1. . I LRI=1.2 D PRTSR Q
  1. . S LINE=0
  1. . F S LINE=$O(^LAH(LRLL,1,LRISQN,LRSS,LRI,LINE)) Q:'LINE!LREND D
  1. . . S X=^LAH(LRLL,1,LRISQN,LRSS,LRI,LINE,0) D ^DIWP
  1. . . D ^DIWW
  1. . . D PAUSE Q:LREND
  1. ;
  1. Q
  1. ;
  1. ;
  1. PRTSR ; Print Supplemental Report
  1. N LINE,LRISQN2
  1. S LRISQN2=0
  1. F S LRISQN2=$O(^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2)) Q:'LRISQN2!LREND D
  1. . S LINE=0
  1. . F S LINE=$O(^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2,1,LINE)) Q:'LINE!LREND D
  1. . . S X=^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2,1,LINE,0) D ^DIWP
  1. . . D ^DIWW
  1. . . D PAUSE Q:LREND
  1. Q
  1. ;
  1. ;
  1. ACCEPT ; Ask if want to accept results
  1. N DIR,DIRUT,DIROUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="Y",DIR("A")="Do you want to ACCEPT these results",DIR("B")="NO"
  1. S DIR("?")="Enter Y if you want to accept these results"
  1. S DIR("?",1)="Entering Y will store the results for this accession"
  1. D ^DIR
  1. I $D(DIRUT) S LRNOP=1 Q
  1. I 'Y D PURG Q
  1. ;
  1. STORE ;
  1. ; First, some setup stuff
  1. ;
  1. N FIELD,FILE,DIC,LRA,LRI,LRSF,LRP,LRAC
  1. ;
  1. S DIC(0)="LXZ"
  1. ; Begin actual processing of the data
  1. ;
  1. I LRSS="EM" S FILE=63.02
  1. I LRSS="CY" S FILE=63.09
  1. I LRSS="SP" S FILE=63.08
  1. ;
  1. ; Set DATE REPORT COMPLETED(.03), REPORT RELEASE DATE/TIME (.11) and RELEASED BY (.13) fields
  1. N FDA,FLDS,IEN,LRDATE,LRERR
  1. S LRI=LRIDT,LRDATE=$$NOW^XLFDT,IEN=LRIDT_","_LRDFN_","
  1. S FDA(1,FILE,IEN,.03)=LRDATE
  1. S FDA(1,FILE,IEN,.11)=LRDATE
  1. S FDA(1,FILE,IEN,.13)=DUZ
  1. D FILE^DIE("","FDA(1)","LRERR")
  1. ;
  1. F LRI=99,.2,.3,.4,.5,1,1.1,1.2,1.3,1.4 I $D(^LAH(LRLL,1,LRISQN,LRSS,LRI)) D
  1. . S FIELD=$S(LRI=99:99,LRI=.2:.013,LRI=.3:.014,LRI=.4:.015,LRI=.5:.016,LRI=1:1,LRI=1.1:1.1,LRI=1.2:1.2,LRI=1.3:1.3,LRI=1.4:1.4,1:0)
  1. . I LRI=99 D COMMENT Q
  1. . I LRI=1.2 D SRPT Q ; SUPPLEMENTARY REPORT
  1. . D WP^DIE(FILE,LRIDT_","_LRDFN_",",FIELD,"K","^LAH(LRLL,1,LRISQN,LRSS,LRI)","LRERR") ; WORD-PROCESSING FIELDS
  1. ;
  1. ; Store performing lab info
  1. I $D(^TMP("LRPL",$J)) D ROLLUPPL^LRRPLUA(LRDFN,LRSS,LRIDT)
  1. ;
  1. ; Ask for performing laboratory assignment
  1. W !! D EDIT^LRRPLU(LRDFN,LRSS,LRIDT)
  1. ;
  1. ; Store reporting lab
  1. D SETRL^LRVERA(LRDFN,LRSS,LRIDT,DUZ(2))
  1. S LRI=LRIDT,LRSF=FILE,LRP=PNM,LRAC=LRACC
  1. S LRA=^LR(LRDFN,LRSS,LRIDT,0)
  1. D ACCCOMP^LRAPRES
  1. D MAIN^LRAPRES1(LRDFN,LRSS,LRI,LRSF,LRP,LRAC)
  1. ;
  1. ; Update clinical reminders
  1. D UPDATE^LRPXRM(LRDFN,LRSS,LRIDT)
  1. ;
  1. ; Queue results if LEDI and cleanup
  1. D LEDI^LRVR0,ZAP^LRVR0
  1. ;
  1. ;K ENTRY,I,SECTION,FDA,FILE,DIC,Y,BUG,IEN,M,F
  1. Q
  1. ;
  1. ;
  1. COMMENT ;
  1. N CFILE,LRISQN2
  1. S LRISQN2=0
  1. I LRSS="SP" S CFILE=63.98
  1. I LRSS="CY" S CFILE=63.908
  1. I LRSS="EM" S CFILE=63.208
  1. F S LRISQN2=$O(^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2)) Q:'LRISQN2 S LRLINE=^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2,0) D
  1. . K FDA,IEN,LRERR
  1. . S IEN="?+1,"_LRIDT_","_LRDFN_","
  1. . S FDA(2,CFILE,IEN,.01)=LRLINE
  1. . D UPDATE^DIE("","FDA(2)","IEN","LRERR")
  1. Q
  1. ;
  1. ;
  1. SRPT ; SUPPLEMENTARY REPORT
  1. N SRFILE,LRISQN2
  1. S LRISQN2=0
  1. I LRSS="SP" S SRFILE=63.817,FIELD=1
  1. I LRSS="CY" S SRFILE=63.907,FIELD=1
  1. I LRSS="EM" S SRFILE=63.207,FIELD=1
  1. F S LRISQN2=$O(^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2)) Q:'LRISQN2 D
  1. . K FDA,IEN,LRERR,LRERR2
  1. . S IEN="?+1,"_LRIDT_","_LRDFN_","
  1. . S FDA(1,SRFILE,IEN,.01)=$$NOW^XLFDT
  1. . S FDA(1,SRFILE,IEN,.02)=1
  1. . D UPDATE^DIE("","FDA(1)","IEN","LRERR2")
  1. . I $G(IEN(1)) D WP^DIE(SRFILE,IEN(1)_","_LRIDT_","_LRDFN_",",FIELD,"K","^LAH(LRLL,1,LRISQN,LRSS,LRI,LRISQN2,1)","LRERR")
  1. Q
  1. ;
  1. ;
  1. PURG ; Ask if the entry should be purged from ^LAH(
  1. W !
  1. N DIR,DIRUT,DIROUT,DTOUT,DUOUT,X,Y
  1. S DIR(0)="Y",DIR("A")="Do you want to purge this entry from ^LAH Global"
  1. S DIR("?")="Remove the entry from the list",DIR("B")="No"
  1. D ^DIR
  1. I $D(DIRUT) S LRNOP=1 Q
  1. I $G(Y)=1 D ZAP^LRVR0
  1. Q
  1. ;
  1. ;
  1. PAUSE ; Check for end of page
  1. I $Y>(IOSL-6)&($E(IOST,1,2)="C-") D Q:$G(LREND)
  1. . N DIR,DIRUT,DIROUT,DTOUT,DUOUT,X,Y
  1. . S DIR(0)="E"
  1. . D ^DIR S:'Y LREND=1
  1. I $Y>(IOSL-6) S $Y=0 W @IOF D HDG Q
  1. Q