| 1 | LR7OSAP ;slc/dcm/wty - Silent AP rpt (compare to LRAPCUM) ;3/27/2002
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**121,187,230,256,259,317**;Sep 27, 1994
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | GET I '$D(^LR(LRDFN,LRSS)) Q
 | 
|---|
| 5 |  N FST,X,LRPTR
 | 
|---|
| 6 |  S (A,FST)=0,LRI=LRIN
 | 
|---|
| 7 |  F  S LRI=$O(^LR(LRDFN,LRSS,LRI)) Q:'LRI!(CT1>COUNT)!(LRI>LROUT)  S B=$G(^(LRI,0)),CT1=CT1+1 I B D
 | 
|---|
| 8 |  . D W
 | 
|---|
| 9 |  . S X="",$P(X,"=",GIOM)=""
 | 
|---|
| 10 |  . D LN
 | 
|---|
| 11 |  . S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,X)
 | 
|---|
| 12 |  . D LINE^LR7OSUM4
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | F(PIECE) ;
 | 
|---|
| 15 |  ;If PIECE=1, then only get 1st piece; otherwise get whole node
 | 
|---|
| 16 |  I '$G(PIECE) D WRAP^LR7OSAP1("^LR("_LRDFN_","""_LRSS_""","_LRI_","_LRV_")",79) Q
 | 
|---|
| 17 |  S C=0
 | 
|---|
| 18 |  F  S C=$O(^LR(LRDFN,LRSS,LRI,LRV,C)) Q:'C  S X=$P(^(C,0),"^") D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,X)
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 | W ;
 | 
|---|
| 21 |  N LRTEXT
 | 
|---|
| 22 |  I 'FST D
 | 
|---|
| 23 |  . D LINE^LR7OSUM4,LN
 | 
|---|
| 24 |  . S X=GIOM/2-($L(LRAA(1))/2+5),^TMP("LRH",$J,LRAA(1))=GCNT,^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(X,CCNT,"---- "_LRAA(1)_" ----")
 | 
|---|
| 25 |  I FST D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Next "_LRAA(1)_" Specimen...")
 | 
|---|
| 26 |  S FST=1
 | 
|---|
| 27 |  D TIUCHK^LRAPUTL(.LRPTR,LRDFN,LRSS,LRI)
 | 
|---|
| 28 |  I +$G(LRPTR) D  Q
 | 
|---|
| 29 |  .D MAIN^LR7OSAP3(LRPTR)
 | 
|---|
| 30 |  S Y=+B
 | 
|---|
| 31 |  D D^LRU
 | 
|---|
| 32 |  S LRW(1)=Y,Y=$P(B,"^",10)
 | 
|---|
| 33 |  D D^LRU
 | 
|---|
| 34 |  S LRW(10)=Y,Y=$P(B,"^",3)
 | 
|---|
| 35 |  D D^LRU
 | 
|---|
| 36 |  S LRW(3)=Y,X=$P(B,"^",2)
 | 
|---|
| 37 |  D:X D^LRUA
 | 
|---|
| 38 |  S LRW(2)=X,LRW(11)=$P(B,"^",11),X=$P(B,"^",4)
 | 
|---|
| 39 |  D:X D^LRUA
 | 
|---|
| 40 |  S LRW(4)=X,X=$P(B,"^",7)
 | 
|---|
| 41 |  D:X D^LRUA
 | 
|---|
| 42 |  S LRW(7)=X
 | 
|---|
| 43 |  D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Date Spec taken: "_LRW(1)),^(0)=^TMP("LRC",$J,GCNT,0)_$$S^LR7OS(38,CCNT,"Pathologist:"_LRW(2))
 | 
|---|
| 44 |  D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Date Spec rec'd: "_LRW(10)),^(0)=^TMP("LRC",$J,GCNT,0)_$$S^LR7OS(38,CCNT,$S(LRSS="SP":"Resident: ",1:"Tech: ")_LRW(4))
 | 
|---|
| 45 |  D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,$S($L(LRW(3)):"Date  completed: ",1:"REPORT INCOMPLETE")_LRW(3)),^(0)=^TMP("LRC",$J,GCNT,0)_$$S^LR7OS(38,CCNT,"Accession #: "_$P(B,"^",6))
 | 
|---|
| 46 |  D LN S $P(LR("%"),"-",GIOM)="",^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Submitted by: "_$P(B,"^",5)),^(0)=^TMP("LRC",$J,GCNT,0)_$$S^LR7OS(38,CCNT,"Practitioner:"_LRW(7)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LR("%"))
 | 
|---|
| 47 |  I LRW(11)="" D A,LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Report not verified") Q  ;don't show anymore data if not verified.
 | 
|---|
| 48 |  I $D(^LR(LRDFN,LRSS,LRI,.1)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Specimen: ") S LRV=.1 D F(1)
 | 
|---|
| 49 |  I $P($G(^LR(LRDFN,LRSS,LRI,1.2,0)),"^",4) D
 | 
|---|
| 50 |  .D LN
 | 
|---|
| 51 |  .S LRTEXT="SUPPLEMENTARY REPORT HAS BEEN ADDED"
 | 
|---|
| 52 |  .S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(14,CCNT,"*+* "_LRTEXT_" *+*")
 | 
|---|
| 53 |  .D LN
 | 
|---|
| 54 |  .S LRTEXT="REFER TO BOTTOM OF REPORT"
 | 
|---|
| 55 |  .S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(19,CCNT,"*+* "_LRTEXT_" *+*")
 | 
|---|
| 56 |  .D LN
 | 
|---|
| 57 |  I $D(^LR(LRDFN,LRSS,LRI,.2)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Brief Clinical History:") S LRV=.2 D F()
 | 
|---|
| 58 |  I $D(^LR(LRDFN,LRSS,LRI,.3)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Preoperative Diagnosis:") S LRV=.3 D F()
 | 
|---|
| 59 |  I $D(^LR(LRDFN,LRSS,LRI,.4)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Operative Findings:") S LRV=.4 D F()
 | 
|---|
| 60 |  I $D(^LR(LRDFN,LRSS,LRI,.5)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Postoperative Diagnosis:") S LRV=.5 D F()
 | 
|---|
| 61 |  D SET^LRUA
 | 
|---|
| 62 |  I $O(^LR(LRDFN,LRSS,LRI,1.3,0)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LR(69.2,.13)) I $P($G(^LR(LRDFN,LRSS,LRI,6,0)),U,4) S LR(0)=6 D MOD^LR7OSAP1
 | 
|---|
| 63 |  S LRV=1.3
 | 
|---|
| 64 |  D F()
 | 
|---|
| 65 |  I $O(^LR(LRDFN,LRSS,LRI,1,0)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LR(69.2,.03)) I $P($G(^LR(LRDFN,LRSS,LRI,7,0)),U,4) S LR(0)=7 D MOD^LR7OSAP1
 | 
|---|
| 66 |  S LRV=1
 | 
|---|
| 67 |  D F()
 | 
|---|
| 68 |  I $O(^LR(LRDFN,LRSS,LRI,1.1,0)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LR(69.2,.04)_" (Date Spec taken: "_LRW(1)_")") I $P($G(^LR(LRDFN,LRSS,LRI,4,0)),U,4) S LR(0)=4 D MOD^LR7OSAP1
 | 
|---|
| 69 |  S LRV=1.1
 | 
|---|
| 70 |  D F()
 | 
|---|
| 71 |  I $O(^LR(LRDFN,LRSS,LRI,1.4,0)) D LN S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,LR(69.2,.14)) I $P($G(^LR(LRDFN,LRSS,LRI,5,0)),U,4) S LR(0)=5 D MOD^LR7OSAP1
 | 
|---|
| 72 |  S LRV=1.4
 | 
|---|
| 73 |  D F()
 | 
|---|
| 74 |  I $O(^LR(LRDFN,LRSS,LRI,1.2,0)) D
 | 
|---|
| 75 |  . D LN
 | 
|---|
| 76 |  . S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,"Supplementary Report:")
 | 
|---|
| 77 |  . S C=0 F  S C=$O(^LR(LRDFN,LRSS,LRI,1.2,C)) Q:'C  D
 | 
|---|
| 78 |  .. S X=^LR(LRDFN,LRSS,LRI,1.2,C,0),Y=+X,X=$P(X,U,2)
 | 
|---|
| 79 |  .. ;Don't even print supp date if supp is not released
 | 
|---|
| 80 |  .. Q:'X
 | 
|---|
| 81 |  .. D D^LRU,LN
 | 
|---|
| 82 |  .. S ^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(3,CCNT,"Date: "_Y)
 | 
|---|
| 83 |  .. I 'X S ^(0)=^TMP("LRC",$J,GCNT,0)_$$S^LR7OS(1,CCNT," not verified")
 | 
|---|
| 84 |  .. I $O(^LR(LRDFN,LRSS,LRI,1.2,C,2,0)) D MODSR^LR7OSAP1
 | 
|---|
| 85 |  .. D:X U
 | 
|---|
| 86 |  I $D(^LR(LRDFN,LRSS,LRI,2)) D B
 | 
|---|
| 87 |  Q
 | 
|---|
| 88 | U ;
 | 
|---|
| 89 |  D WRAP^LR7OSAP1("^LR("_LRDFN_","""_LRSS_""","_LRI_",1.2,"_C_",1)",79)
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 | B ;
 | 
|---|
| 92 |  S C=0
 | 
|---|
| 93 |  F  S C=$O(^LR(LRDFN,LRSS,LRI,2,C)) Q:'C  D SP
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 | SP ;
 | 
|---|
| 96 |  S G=0
 | 
|---|
| 97 |  F  S G=$O(^LR(LRDFN,LRSS,LRI,2,C,5,G)) Q:'G  S X=^(G,0),Y=$P(X,"^",2),E=$P(X,"^",3),E(1)=$P(X,"^")_":",E(1)=$P($P($G(LR(LRSS)),E(1),2),";") D D^LRU S T(2)=Y D WP
 | 
|---|
| 98 |  Q
 | 
|---|
| 99 | WP ;
 | 
|---|
| 100 |  D LN
 | 
|---|
| 101 |  S X=E(1)_" "_E_" Date: "_T(2)_" ",^TMP("LRC",$J,GCNT,0)=$$S^LR7OS(1,CCNT,X)
 | 
|---|
| 102 |  D WRAP^LR7OSAP1("^LR("_LRDFN_","""_LRSS_""","_LRI_",2,"_C_",5,"_G_",1)",79)
 | 
|---|
| 103 |  Q
 | 
|---|
| 104 | A ;
 | 
|---|
| 105 |  D WRAP^LR7OSAP1("^LR("_LRDFN_","""_LRSS_""","_LRI_",97)",79)
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 | LN ;Increment the counter
 | 
|---|
| 108 |  S GCNT=GCNT+1,CCNT=1
 | 
|---|
| 109 |  Q
 | 
|---|
| 110 | EN ;Get AP results
 | 
|---|
| 111 |  I $S('$D(SUBHEAD):1,1:$D(SUBHEAD("CYTOPATHOLOGY"))) D CY
 | 
|---|
| 112 |  I $S('$D(SUBHEAD):1,1:$D(SUBHEAD("SURGICAL PATHOLOGY"))) D SPA
 | 
|---|
| 113 |  I $S('$D(SUBHEAD):1,1:$D(SUBHEAD("EM"))) D EM
 | 
|---|
| 114 |  I $S('$D(SUBHEAD):1,1:$D(SUBHEAD("AUTOPSY"))),$D(^LR(LRDFN,"AU")) D AU
 | 
|---|
| 115 |  Q
 | 
|---|
| 116 | CY S LRSS="CY",LRAA(1)="CYTOPATHOLOGY",LRAA=+$O(^LRO(68,"B",LRAA(1),0)) S:'LRAA LRAA=$$FIND(LRSS) D GET
 | 
|---|
| 117 |  Q
 | 
|---|
| 118 | SPA S LRSS="SP",LRAA(1)="SURGICAL PATHOLOGY",LRAA=+$O(^LRO(68,"B",LRAA(1),0)) S:'LRAA LRAA=$$FIND(LRSS) D GET
 | 
|---|
| 119 |  Q
 | 
|---|
| 120 | EM S LRSS="EM",LRAA(1)="ELECTRON MICROSCOPY",LRAA=+$O(^LRO(68,"B","EM",0)) S:'LRAA LRAA=$$FIND(LRSS) D GET
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 | AU D EN^LR7OSAP2(LRDFN)
 | 
|---|
| 123 |  Q
 | 
|---|
| 124 | FIND(SS) ;Find a valid entry in 68
 | 
|---|
| 125 |  ;SS=LRSS value to look for
 | 
|---|
| 126 |  N I,Y
 | 
|---|
| 127 |  S I=0,Y="" F  S I=$O(^LRO(68,I)) Q:I<1  I $P($G(^LRO(68,I,0)),"^",2)=SS S Y=I Q
 | 
|---|
| 128 |  Q Y
 | 
|---|