VistA-WorldVistAEHR/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RA27LIST.m

69 lines
3.7 KiB
Mathematica

RA27LIST ;HIRMFO/SWM - List data after RA27PST ;12/21/01 11:10
VERSION ;;5.0;Radiology/Nuclear Medicine;**27**;Mar 16, 1998
; Use this AFTER RA27PST has finished to
; list report-to-exam pointer problems, from ^XTMP("RA-RA27PST) :
; Orphan report's impression, report text
; Exam's report's impression, report text
;
; A74= ien file 74 from 1st paired record
; B74= ien file 74 from 2nd paired record
; RA7003 = exam global node name
EN I '$O(^XTMP("RA-RA27PST",.99)) W !!,"There's no data warning in ^XTMP(""RA-RA27PST"", -- nothing done --" Q
W !,"The post-install cleanup from patch RA*5.0*27 was tasked off ",!,"on " S Y=$P(^XTMP("RA-RA27PST",0),"^",2) D DD^%DT W Y S RAY=Y
W " This routine reads the cleanup's results,",!,"which are stored in ^XTMP(""RA-RA27PST"". The results contain the report",!,"IDs for reports that couldn't have their duplicate Clinical History purged."
W !!,"This routine outputs a listing of orphaned reports and the exams that",!,"they refer to. This listing may be used by the Radiology and IRM staff",!,"to determine if an orphan report is valid or not."
W !!,"The listing may be sent directly to the screen, or to a device.",!
DEV K %ZIS,IOP W ! S %ZIS="QM",%ZIS("A")="Select a device: "
D ^%ZIS I POP G QOUT
I '$D(IO("Q")) D START G QOUT
S ZTRTN="START^RA27LIST",ZTSAVE("RAY")=""
S ZTDESC="Checking results from ^XTMP(""RA-RA27PST"""
D ^%ZTLOAD
I +$G(ZTSK("D"))>0 W !?2,"Request Queued, Task #: ",$G(ZTSK)
D HOME^%ZIS K IO("Q")
QOUT S:$D(ZTQUEUED) ZTREQ="@"
W ! D ^%ZISC
Q
START U IO
W !,"Patch RA*5*27's post-install routine that was run on ",RAY,!,"has found reports that are NOT linked to any exams."
W !!,"The following listing shows the orphan report (not linked to any exam),",!,"the clinical history of the exam that the orphan refers to, and the exam's",!,"currently linked report, if any.",!
S I=.99
1 S I=$O(^XTMP("RA-RA27PST",I)) Q:'I
K X1,X2
G:I#1'=0 1 ;first node of pair must be integer
G:^XTMP("RA-RA27PST",I)["locked" 1 S X1=^(I)
S A74=$P(X1,"ien=",2),A74=$P(A74," but")
S I2=$O(^XTMP("RA-RA27PST",I)) G:(I2'=(I+.1)) 1 S X2=^(I2),I=I2
S B74=$P(X2,"piece=",2)
S RA7003=$P(X2,"'s"),RA7003=$E(RA7003,2,$L(RA7003))
S HIST=$P(RA7003,",0)"),HIST=HIST_",""H"","
W !!,"============================================================================"
W !,"_____Orphan report_____ ",$P($G(^RARPT(A74,0)),"^"),": ",?60,"^RARPT(",A74
D GETDEM(A74)
W !?2,"RptStatus=",$P(^RARPT(A74,0),"^",5) W:$D(^(2005)) ", has Images"
I $D(^(1)) W !?2,"Share rpt with case#: " S J="" F S J=$O(^RARPT(A74,1,"B",J)) Q:J="" W $P(J,"-",2) W:$O(^RARPT(A74,1,"B",J)) ", "
W !,"Orphan's report impression:"
S J=0 F S J=$O(^RARPT(A74,"I",J)) Q:'J W !?2,^(J,0)
W !,"Orphan's report text:"
S J=0 F S J=$O(^RARPT(A74,"R",J)) Q:'J W !?2,^(J,0)
W !,"_____Exam's report_____ ",$S(+B74:$P(^RARPT(B74,0),"^"),1:"**Exam is not linked to a report**"),": " W:+B74 ?60,"^RARPT(",B74
D:+B74 GETDEM(B74)
I +B74 D
. W !?2,"RptStatus=",$P(^RARPT(B74,0),"^",5) W:$D(^(2005)) ", has Images"
. I $D(^(1)) W !?2,"Share rpt with case#: " S J="" F S J=$O(^RARPT(B74,1,"B",J)) Q:J="" W $P(J,"-",2) W:$O(^RARPT(B74,1,"B",J)) ", "
W !,"Clinical History from exam:"
S J=0 F S J=$O(@(HIST_J_")")) Q:'J W !?2,@(HIST_J_",0)")
I +B74 D
. W !,"Exam's report impression:"
. S J=0 F S J=$O(^RARPT(B74,"I",J)) Q:'J W !?2,^(J,0)
. W !,"Exam's report text:"
. S J=0 F S J=$O(^RARPT(B74,"R",J)) Q:'J W !?2,^(J,0)
G 1
GETDEM(X) ;
Q:'$D(^RARPT(X,0))
S RADFN=+$P($G(^RARPT(X,0)),"^",2),RADT=$P($G(^(0)),"^",3),RAPNAM="UNKNOWN",RAPSSN="UNKNOWN"
S:RADFN RAPNAM=$$GET1^DIQ(70,RADFN,.01),RAPSSN=$$GET1^DIQ(70,RADFN,.09)
W !,"Patient: ",RAPNAM," SSN: ",RAPSSN
W " Exm D/T: ",$E(RADT,4,5),"/",$E(RADT,6,7),"/",$E(RADT,2,3),"@",$E(RADT,9,10),":",$E(RADT,11,12)
Q