Changeset 623 for WorldVistAEHR/trunk/r/WOMENS_HEALTH-WV/WVRALINK.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/WOMENS_HEALTH-WV/WVRALINK.m
r613 r623 1 WVRALINK ;HCIOFO/FT-RAD/NM-WOMEN'S HEALTH LINK ;6/10/04 14:51 2 ;;1.0;WOMEN'S HEALTH;**3,5,7,9,10,16,18,23**;Sep 30, 1998;Build 5 3 ; 4 ; This routine uses the following IAs: 5 ; #2480 - FILE 70 (private) 6 ; #2481 - FILE 71 (private) 7 ; #2482 - FILE 71.2 (private) 8 ; #10035 - FILE 2 (supported) 9 ; #10063 - ^%ZTLOAD (supported) 10 ; #10070 - ^XMD (supported) 11 ; #10141 - ^XPDUTL (supported) 12 ; #2541 - ^XUPARAM (supported) 13 ; 14 ;; Original routine created by IHS/ANMC/MWR 15 ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * 16 ;; CREATE MAMMOGRAM PROCEDURE IN WOMEN'S HEALTH FOR THIS PATIENT. 17 ;; CALLED BY ^RART WHEN A RADIOLOGY REPORT IS VERIFIED. 18 ;; CALLED BY ^RARTE1 WHEN A RADIOLOGY REPORT IS UNVERIFIED. 19 ;; CALLED BY ^WVEXPTRA WHEN EXPORTING HISTORICAL MAMS TO WOMEN'S HEALTH 20 ; 21 ;---> REQUIRED VARIABLES: DFN = DFN OF RADIOLOGY PATIENT. 22 ;---> DATE = INVERSE DATE/TIME OF VISIT. 23 ;---> CASE = IEN OF RADIOLOGY EXAM (CASE). 24 ; 25 ;---> OPTIONAL VARIABLE: WVNEWP = TOTAL NEW WH PATIENTS ADDED. 26 ;---> WVMCNT = TOTAL NEW MAMS PROCEDURES ADDED. 27 ;---> THESE IF CALLED FROM ^WVEXPTRA ROUTINE. 28 ; 29 ;---> GENERATED VARIBLES: 30 ;---> WVPROC = IEN OF RADIOLOGY PROCEDURE (FILE #71), THEN IT 31 ;---> GETS CHANGED TO WOMEN'S HEALTH PROCEDURE TYPE 32 ;---> (FILE #790.2). 33 ;---> WVLOC = WARD/CLINIC/LOCATION (FILE #44). 34 ;---> WVDATE = DATE OF THE PROCEDURE. 35 ;---> WVPROV = ORDERING PROVIDER. 36 ;---> WVMOD = LEFT OR RIGHT, IF IT'S A UNILATERAL MAMMOGRAM. 37 ;---> WVDX = RADIOLOGY DIAGNOSTIC CODE. 38 ;---> WVBWDX = WOMEN'S HEALTH RESULT/DIAGNOSIS. 39 ; 40 CREATE(DFN,DATE,CASE) ; 41 Q:'+$$VERSION^XPDUTL("WV") 42 Q:($G(DFN)']"")!($G(DATE)']"")!($G(CASE)']"") 43 N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE 44 S:'$D(DUZ)#2 DUZ=.5 45 S:'$D(DUZ(2))#2 DUZ(2)=$$KSP^XUPARAM("INST") 46 S ZTRTN="CREATEQ^WVRALINK",ZTDESC="WV CREATE MAMMOGRAM ENTRY" 47 S ZTSAVE("DFN")="",ZTSAVE("DATE")="",ZTSAVE("CASE")="" 48 S ZTIO="",ZTDTH=$H 49 D ^%ZTLOAD 50 Q 51 CREATEH(DFN,DATE,CASE,STATUS) ; Entry from ^WVEXPTRA which looks for exams 52 ; created before the WH package was installed. 53 Q:($G(DFN)']"")!($G(DATE)']"")!($G(CASE)']"")!($G(STATUS)']"") 54 ; 55 CREATEQ ; Queue data entry creation. Called from CREATE above 56 N WVPROC,WVLOC,WVDATE,WVDR,WVPROV,WVMOD,WVDX,WVBWDX,WVLEFT,WVRIGHT 57 N WVCASE,WVCPT,WVERR,WVCREDIT,WVEXAM0,WVZSTAT 58 ;---> QUIT IF RADIOLOGY DATA IS NOT DEFINED OR ="". 59 I $D(ZTQUEUED) S ZTREQ="@" 60 Q:'$D(^RADPT(DFN,"DT",DATE,"P",CASE,0)) 61 ; 62 ;---> QUIT IF THIS PROCEDURE DOES NOT HAVE A MAM CPT CODE. 63 ;---> QUIT IF THIS PROCEDURE DOES NOT HAVE AN ULTRASOUND CPT CODE. 64 ;---> WVEXAM0=ZERO NODE OF RADIOLOGY EXAM. 65 S WVEXAM0=^RADPT(DFN,"DT",DATE,"P",CASE,0) 66 S WVCPT=$$GET1^DIQ(71,$P(WVEXAM0,U,2),9,"I") Q:WVCPT="" 67 S WVPROC=$O(^WV(790.2,"AC",WVCPT,0)) ;cpt code x-ref to get 790.2 ien 68 Q:'WVPROC ;cpt code is not tracked in 790.2 69 Q:$P($G(^WV(790.2,+WVPROC,0)),U,5)'="R" ;cpt is not rad/nm procedure 70 Q:$P($G(^DPT(DFN,0)),U,2)'="F" ;not female 71 ; 72 ;---> QUIT IF NO WOMEN'S HEALTH SITE PARAMETER FILE ON THIS MACHINE. 73 ; OR NO DEFAULT CASE MANAGER 74 Q:'$D(^WV(790.02,DUZ(2))) 75 Q:'$P($G(^WV(790.02,+$G(DUZ(2)),0)),U,2) 76 ; 77 ;---> IF NOT CALLED FROM ^WVEXPTRA (i.e., STATUS is undefined) CHECK 78 ;---> SITE PARAMETER AND QUIT IF "IMPORT MAMMOGRAMS FROM RADIOLOGY" 79 ;---> IS NOT SET TO "YES". CHECK VETERAN STATUS AND ELIGIBILITY CODE. 80 N Y S Y=^WV(790.02,DUZ(2),0) 81 I '$D(STATUS) Q:'$P(Y,U,10) 82 I '$D(STATUS) Q:'$$VNVEC^WVRALIN1() ;vet/non-vet/eligibility code check 83 ; 84 ;---> SET WVZSTAT =THE STATUS (OPEN OR CLOSED) IN WOMEN'S HEALTH. 85 ;---> THAT MAMMOGRAMS SHOULD RECEIVE WHEN COPIED OVER FROM RADIOLOGY. 86 S WVZSTAT=$P(Y,U,23) S:WVZSTAT="" WVZSTAT="o" 87 I $G(STATUS)]"" S WVZSTAT=$G(STATUS) ;status selected in ^WVEXPTRA 88 ; 89 D COPY(WVEXAM0) 90 ; 91 EXIT ;EP 92 K I,N,X 93 Q 94 ; 95 COPY(Y) ;EP 96 ;---> COPY MAM PROCEDURE DATA FROM RADIOLOGY TO WOMEN'S HEALTH. 97 ;---> VARIABLE DFN=PATIENT 98 ;---> LOCATION=DUZ(2) 99 ;---> WARD/CLINIC/LOCATION 100 N X 101 S WVLOC=$P(Y,U,8) 102 ; 103 ;---> WVDATE=DATE OF THE PROCEDURE. 104 S WVDATE=$P($P(^RADPT(DFN,"DT",DATE,0),U),".") 105 ; 106 ;---> RECONSTRUCT THE FULL CASE# FOR THIS RAD PROCEDURE. 107 ;---> THIS IS USED AS A LINK (XREF) BETWEEN THE RADIOLOGY PROCEDURE 108 ;---> AND THE WOMEN'S HEALTH PROCEDURE. 109 S WVCASE=$E(WVDATE,4,7)_$E(WVDATE,2,3)_"-"_$P(Y,U) 110 ;---> CHECK TO BE SURE THE CASE# XREF IS REALLY DOWN THERE. 111 S:'$D(^RADPT("ADC",WVCASE,DFN,DATE,CASE)) WVCASE="UNKNOWN" 112 ; 113 ;---> QUIT IF THIS PROCEDURE HAS ALREADY BEEN SENT TO WOMEN'S HEALTH. 114 Q:$D(^WV(790.1,"E",WVCASE)) 115 ; 116 ;---> REQUESTING PROVIDER/ORDERING PROVIDER 117 S WVPROV=$P(Y,U,14) 118 ; 119 ;---> IF UNILATERAL, ATTEMPT TO PICK UP LEFT OR RIGHT MODIFIER. 120 I WVPROC=26 D 121 .I $D(^RADPT(DFN,"DT",DATE,"P",CASE,"M",0)) D 122 ..N N S N=0 123 ..F S N=$O(^RADPT(DFN,"DT",DATE,"P",CASE,"M",N)) Q:'N D 124 ...S WVMOD=$P(^RADPT(DFN,"DT",DATE,"P",CASE,"M",N,0),U) 125 ...S WVMOD=$$GET1^DIQ(71.2,WVMOD,.01,"I") 126 ...I "LEFTleft"[WVMOD S WVLEFT=1 127 ...I "RIGHTright"[WVMOD S WVRIGHT=1 128 ..Q:$D(WVLEFT)&($D(WVRIGHT)) 129 ..I $D(WVLEFT) S WVMOD="l" Q 130 ..I $D(WVRIGHT) S WVMOD="r" Q 131 ; 132 ;---> IF THERE'S A DIAGNOSTIC CODE, ATTEMPT TO PICK UP DIAGNOSIS. 133 ;---> USE "WV DIAGNOSTIC CODE TRANSLATION" FILE #790.32. 134 S WVDX=$P(Y,U,13) 135 I +WVDX I $D(^WV(790.32,"C",WVDX)) S WVBWDX=$O(^WV(790.32,"C",WVDX,0)) 136 ; 137 ;---> GET CREDIT METHOD. 138 S WVCREDIT=$P(Y,U,26) 139 ; 140 PATIENT ;---> IF PATIENT ISN'T IN WOMEN'S HEALTH DATABASE, ADD HER. 141 S WVERR=1 142 I '$D(^WV(790,DFN,0)) D 143 .D AUTOADD^WVPATE(DFN,DUZ(2),.WVERR) 144 .I $D(WVNEWP) S:WVERR WVNEWP=WVNEWP+1 145 Q:WVERR<0 146 D FIND^WVRALIN1 ;check for 'unlinked' entry in File 790.1 147 Q:$D(^WV(790.1,"E",WVCASE)) ;quit if link was made in WVRALIN1 148 PROC ;---> CREATE MAMMOGRAM PROCEDURE IN WV PROCEDURE FILE #790.1. 149 S WVDR=".02////"_DFN_";.04////"_WVPROC 150 S WVDR=WVDR_";.05////"_$G(WVBWDX)_";.07////"_WVPROV 151 S WVDR=WVDR_";.09////"_$G(WVMOD)_";.1////"_DUZ(2)_";.11////"_WVLOC 152 S WVDR=WVDR_";.12////"_WVDATE_";.14////"_WVZSTAT_";.15////"_WVCASE 153 S WVDR=WVDR_";.18////.5;.19////"_DT_";.34////"_$G(DUZ(2))_";.35////"_WVCREDIT 154 ; 155 D NEW2^WVPROC(DFN,WVPROC,WVDATE,WVDR,"","",.WVERR) 156 I $D(WVMCNT) S:WVERR>-1 WVMCNT=WVMCNT+1 157 Q:WVERR<0 ;procedure not added 158 Q:$D(WVMCNT) ;mass import of Rad/NM exams 159 ;Q:$P($G(^WV(790.02,+DUZ(2),0)),U,23)="c" ;Status=closed 160 I (WVCPT=76856)!(WVCPT=76830)!(WVCPT=76645) D Q ;not breast related 161 .D MAIL^WVRADWP(DFN,+Y,WVPROC,WVPROV) ;iens for patient, accession, procedure, provider/requestor 162 .Q 163 D CPRS^WVSNOMED(69,DFN,"",WVPROV,"Mammogram results available.",DATE_"~"_CASE) 164 Q 165 ; 166 DELETE(DFN,DATE,CASE) ;EP 167 ;---> MODIFY WOMEN'S HEALTH PROCEDURE TO REFLECT CHANGE. 168 ;---> CALLED FROM RARTE1 (DELETE A REPORT AND UNVERIFY A REPORT). 169 ; 170 Q:'+$$VERSION^XPDUTL("WV") 171 Q:'$D(DFN)!('$D(DATE))!('$D(CASE)) 172 N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE 173 S ZTRTN="DELETEQ^WVRALINK",ZTDESC="WV MAMMOGRAM RPT CHANGE" 174 S ZTSAVE("DFN")="",ZTSAVE("DATE")="",ZTSAVE("CASE")="" 175 S ZTIO="",ZTDTH=$H 176 D ^%ZTLOAD 177 Q 178 DELETEQ ; Modify WV entry when mammogram report is unverified or deleted 179 Q:'$D(^RADPT(DFN,"DT",DATE,"P",CASE,0)) 180 N WVIEN,WVDATE,WVCASE,WVCMGR,WVLOOP,WVMSG,WVPROV 181 N XMDUZ,XMSUB,XMTEXT,XMY ;send mail message to case manager 182 I $D(ZTQUEUED) S ZTREQ="@" 183 ; 184 ;---> WVDATE=DATE OF PROCEDURE. 185 S WVDATE=$P($P(^RADPT(DFN,"DT",DATE,0),U),".") 186 S WVCASE=$P(^RADPT(DFN,"DT",DATE,"P",CASE,0),U) 187 ; 188 ;---> WVCASE=RECONSTRUCTED CASE# OF PROCEDURE. 189 S WVCASE=$E(WVDATE,4,7)_$E(WVDATE,2,3)_"-"_WVCASE 190 ;---> QUIT IF NO CASE# XREF IN WOMEN'S HEALTH PROCEDURE FILE. 191 Q:'$D(^WV(790.1,"E",WVCASE)) 192 ; 193 S WVIEN=$O(^WV(790.1,"E",WVCASE,0)) 194 Q:'$D(^WV(790.1,WVIEN,0)) 195 D RADMOD^WVPROC(WVIEN) ;update wh status to "open" 196 S WVPROV=+$$GET1^DIQ(790.1,WVIEN,.07,"I") ;get provider/requestor 197 S WVCMGR=+$$GET1^DIQ(790,DFN,.1,"I") ;get case manager 198 S:WVCMGR XMY(WVCMGR)="" 199 ; if no case manager, then get default case manager(s) 200 I 'WVCMGR S WVLOOP=0 F S WVLOOP=$O(^WV(790.02,WVLOOP)) Q:'WVLOOP D 201 .S WVCMGR=$$GET1^DIQ(790.02,WVLOOP,.02,"I") 202 .S:WVCMGR XMY(WVCMGR)="" 203 .Q 204 Q:$O(XMY(0))'>0 ;no case manager(s) 205 S:WVPROV XMY(WVPROV)="" 206 S XMDUZ=.5 ;message sender 207 S XMSUB="RAD/NM Rpt for WH patient is UNVERIFIED/DELETED" 208 S WVMSG(1)=" Patient: "_$P($G(^DPT(DFN,0)),U,1)_" (SSN: "_$$SSN^WVUTL1(DFN)_")" 209 S WVMSG(2)=" WH Accession #: "_$P($G(^WV(790.1,+WVIEN,0)),U,1) 210 S WVMSG(3)=" RAD/NM Case #: "_WVCASE 211 S WVMSG(4)=" " 212 S WVMSG(5)="NOTE: THIS PROCEDURE HAS BEEN ALTERED IN RADIOLOGY/NM." 213 S WVMSG(6)="Follow-up is required in the WOMEN'S HEALTH package!" 214 S XMTEXT="WVMSG(" 215 D ^XMD 216 Q 1 WVRALINK ;HCIOFO/FT-RAD/NM-WOMEN'S HEALTH LINK ;6/10/04 14:51 2 ;;1.0;WOMEN'S HEALTH;**3,5,7,9,10,16,18**;Sep 30, 1998 3 ; 4 ; This routine uses the following IAs: 5 ; #2480 - FILE 70 (private) 6 ; #2481 - FILE 71 (private) 7 ; #2482 - FILE 71.2 (private) 8 ; #10035 - FILE 2 (supported) 9 ; #10063 - ^%ZTLOAD (supported) 10 ; #10070 - ^XMD (supported) 11 ; #10141 - ^XPDUTL (supported) 12 ; 13 ;; Original routine created by IHS/ANMC/MWR 14 ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER * 15 ;; CREATE MAMMOGRAM PROCEDURE IN WOMEN'S HEALTH FOR THIS PATIENT. 16 ;; CALLED BY ^RART WHEN A RADIOLOGY REPORT IS VERIFIED. 17 ;; CALLED BY ^RARTE1 WHEN A RADIOLOGY REPORT IS UNVERIFIED. 18 ;; CALLED BY ^WVEXPTRA WHEN EXPORTING HISTORICAL MAMS TO WOMEN'S HEALTH 19 ; 20 ;---> REQUIRED VARIABLES: DFN = DFN OF RADIOLOGY PATIENT. 21 ;---> DATE = INVERSE DATE/TIME OF VISIT. 22 ;---> CASE = IEN OF RADIOLOGY EXAM (CASE). 23 ; 24 ;---> OPTIONAL VARIABLE: WVNEWP = TOTAL NEW WH PATIENTS ADDED. 25 ;---> WVMCNT = TOTAL NEW MAMS PROCEDURES ADDED. 26 ;---> THESE IF CALLED FROM ^WVEXPTRA ROUTINE. 27 ; 28 ;---> GENERATED VARIBLES: 29 ;---> WVPROC = IEN OF RADIOLOGY PROCEDURE (FILE #71), THEN IT 30 ;---> GETS CHANGED TO WOMEN'S HEALTH PROCEDURE TYPE 31 ;---> (FILE #790.2). 32 ;---> WVLOC = WARD/CLINIC/LOCATION (FILE #44). 33 ;---> WVDATE = DATE OF THE PROCEDURE. 34 ;---> WVPROV = ORDERING PROVIDER. 35 ;---> WVMOD = LEFT OR RIGHT, IF IT'S A UNILATERAL MAMMOGRAM. 36 ;---> WVDX = RADIOLOGY DIAGNOSTIC CODE. 37 ;---> WVBWDX = WOMEN'S HEALTH RESULT/DIAGNOSIS. 38 ; 39 CREATE(DFN,DATE,CASE) ; 40 Q:'+$$VERSION^XPDUTL("WV") 41 Q:($G(DFN)']"")!($G(DATE)']"")!($G(CASE)']"") 42 N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE 43 S:'$D(DUZ)#2 DUZ=.5 44 S:'$D(DUZ(2))#2 DUZ(2)=$$KSP^XUPARAM("INST") 45 S ZTRTN="CREATEQ^WVRALINK",ZTDESC="WV CREATE MAMMOGRAM ENTRY" 46 S ZTSAVE("DFN")="",ZTSAVE("DATE")="",ZTSAVE("CASE")="" 47 S ZTIO="",ZTDTH=$H 48 D ^%ZTLOAD 49 Q 50 CREATEH(DFN,DATE,CASE,STATUS) ; Entry from ^WVEXPTRA which looks for exams 51 ; created before the WH package was installed. 52 Q:($G(DFN)']"")!($G(DATE)']"")!($G(CASE)']"")!($G(STATUS)']"") 53 ; 54 CREATEQ ; Queue data entry creation. Called from CREATE above 55 N WVPROC,WVLOC,WVDATE,WVDR,WVPROV,WVMOD,WVDX,WVBWDX,WVLEFT,WVRIGHT 56 N WVCASE,WVCPT,WVERR,WVCREDIT,WVEXAM0,WVZSTAT 57 ;---> QUIT IF RADIOLOGY DATA IS NOT DEFINED OR ="". 58 I $D(ZTQUEUED) S ZTREQ="@" 59 Q:'$D(^RADPT(DFN,"DT",DATE,"P",CASE,0)) 60 ; 61 ;---> QUIT IF THIS PROCEDURE DOES NOT HAVE A MAM CPT CODE. 62 ;---> QUIT IF THIS PROCEDURE DOES NOT HAVE AN ULTRASOUND CPT CODE. 63 ;---> WVEXAM0=ZERO NODE OF RADIOLOGY EXAM. 64 S WVEXAM0=^RADPT(DFN,"DT",DATE,"P",CASE,0) 65 S WVCPT=$$GET1^DIQ(71,$P(WVEXAM0,U,2),9,"I") Q:WVCPT="" 66 S WVPROC=$O(^WV(790.2,"AC",WVCPT,0)) ;cpt code x-ref to get 790.2 ien 67 Q:'WVPROC ;cpt code is not tracked in 790.2 68 Q:$P($G(^WV(790.2,+WVPROC,0)),U,5)'="R" ;cpt is not rad/nm procedure 69 Q:$P($G(^DPT(DFN,0)),U,2)'="F" ;not female 70 ; 71 ;---> QUIT IF NO WOMEN'S HEALTH SITE PARAMETER FILE ON THIS MACHINE. 72 ; OR NO DEFAULT CASE MANAGER 73 Q:'$D(^WV(790.02,DUZ(2))) 74 Q:'$P($G(^WV(790.02,+$G(DUZ(2)),0)),U,2) 75 ; 76 ;---> IF NOT CALLED FROM ^WVEXPTRA (i.e., STATUS is undefined) CHECK 77 ;---> SITE PARAMETER AND QUIT IF "IMPORT MAMMOGRAMS FROM RADIOLOGY" 78 ;---> IS NOT SET TO "YES". CHECK VETERAN STATUS AND ELIGIBILITY CODE. 79 N Y S Y=^WV(790.02,DUZ(2),0) 80 I '$D(STATUS) Q:'$P(Y,U,10) 81 I '$D(STATUS) Q:'$$VNVEC^WVRALIN1() ;vet/non-vet/eligibility code check 82 ; 83 ;---> SET WVZSTAT =THE STATUS (OPEN OR CLOSED) IN WOMEN'S HEALTH. 84 ;---> THAT MAMMOGRAMS SHOULD RECEIVE WHEN COPIED OVER FROM RADIOLOGY. 85 S WVZSTAT=$P(Y,U,23) S:WVZSTAT="" WVZSTAT="o" 86 I $G(STATUS)]"" S WVZSTAT=$G(STATUS) ;status selected in ^WVEXPTRA 87 ; 88 D COPY(WVEXAM0) 89 ; 90 EXIT ;EP 91 K I,N,X 92 Q 93 ; 94 COPY(Y) ;EP 95 ;---> COPY MAM PROCEDURE DATA FROM RADIOLOGY TO WOMEN'S HEALTH. 96 ;---> VARIABLE DFN=PATIENT 97 ;---> LOCATION=DUZ(2) 98 ;---> WARD/CLINIC/LOCATION 99 N X 100 S WVLOC=$P(Y,U,8) 101 ; 102 ;---> WVDATE=DATE OF THE PROCEDURE. 103 S WVDATE=$P($P(^RADPT(DFN,"DT",DATE,0),U),".") 104 ; 105 ;---> RECONSTRUCT THE FULL CASE# FOR THIS RAD PROCEDURE. 106 ;---> THIS IS USED AS A LINK (XREF) BETWEEN THE RADIOLOGY PROCEDURE 107 ;---> AND THE WOMEN'S HEALTH PROCEDURE. 108 S WVCASE=$E(WVDATE,4,7)_$E(WVDATE,2,3)_"-"_$P(Y,U) 109 ;---> CHECK TO BE SURE THE CASE# XREF IS REALLY DOWN THERE. 110 S:'$D(^RADPT("ADC",WVCASE,DFN,DATE,CASE)) WVCASE="UNKNOWN" 111 ; 112 ;---> QUIT IF THIS PROCEDURE HAS ALREADY BEEN SENT TO WOMEN'S HEALTH. 113 Q:$D(^WV(790.1,"E",WVCASE)) 114 ; 115 ;---> REQUESTING PROVIDER/ORDERING PROVIDER 116 S WVPROV=$P(Y,U,14) 117 ; 118 ;---> IF UNILATERAL, ATTEMPT TO PICK UP LEFT OR RIGHT MODIFIER. 119 I WVPROC=26 D 120 .I $D(^RADPT(DFN,"DT",DATE,"P",CASE,"M",0)) D 121 ..N N S N=0 122 ..F S N=$O(^RADPT(DFN,"DT",DATE,"P",CASE,"M",N)) Q:'N D 123 ...S WVMOD=$P(^RADPT(DFN,"DT",DATE,"P",CASE,"M",N,0),U) 124 ...S WVMOD=$$GET1^DIQ(71.2,WVMOD,.01,"I") 125 ...I "LEFTleft"[WVMOD S WVLEFT=1 126 ...I "RIGHTright"[WVMOD S WVRIGHT=1 127 ..Q:$D(WVLEFT)&($D(WVRIGHT)) 128 ..I $D(WVLEFT) S WVMOD="l" Q 129 ..I $D(WVRIGHT) S WVMOD="r" Q 130 ; 131 ;---> IF THERE'S A DIAGNOSTIC CODE, ATTEMPT TO PICK UP DIAGNOSIS. 132 ;---> USE "WV DIAGNOSTIC CODE TRANSLATION" FILE #790.32. 133 S WVDX=$P(Y,U,13) 134 I +WVDX I $D(^WV(790.32,"C",WVDX)) S WVBWDX=$O(^WV(790.32,"C",WVDX,0)) 135 ; 136 ;---> GET CREDIT METHOD. 137 S WVCREDIT=$P(Y,U,26) 138 ; 139 PATIENT ;---> IF PATIENT ISN'T IN WOMEN'S HEALTH DATABASE, ADD HER. 140 S WVERR=1 141 I '$D(^WV(790,DFN,0)) D 142 .D AUTOADD^WVPATE(DFN,DUZ(2),.WVERR) 143 .I $D(WVNEWP) S:WVERR WVNEWP=WVNEWP+1 144 Q:WVERR<0 145 D FIND^WVRALIN1 ;check for 'unlinked' entry in File 790.1 146 Q:$D(^WV(790.1,"E",WVCASE)) ;quit if link was made in WVRALIN1 147 PROC ;---> CREATE MAMMOGRAM PROCEDURE IN WV PROCEDURE FILE #790.1. 148 S WVDR=".02////"_DFN_";.04////"_WVPROC 149 S WVDR=WVDR_";.05////"_$G(WVBWDX)_";.07////"_WVPROV 150 S WVDR=WVDR_";.09////"_$G(WVMOD)_";.1////"_DUZ(2)_";.11////"_WVLOC 151 S WVDR=WVDR_";.12////"_WVDATE_";.14////"_WVZSTAT_";.15////"_WVCASE 152 S WVDR=WVDR_";.18////.5;.19////"_DT_";.34////"_$G(DUZ(2))_";.35////"_WVCREDIT 153 ; 154 D NEW2^WVPROC(DFN,WVPROC,WVDATE,WVDR,"","",.WVERR) 155 I $D(WVMCNT) S:WVERR>-1 WVMCNT=WVMCNT+1 156 Q:WVERR<0 ;procedure not added 157 Q:$D(WVMCNT) ;mass import of Rad/NM exams 158 ;Q:$P($G(^WV(790.02,+DUZ(2),0)),U,23)="c" ;Status=closed 159 I (WVCPT=76856)!(WVCPT=76830)!(WVCPT=76645) D Q ;not breast related 160 .D MAIL^WVRADWP(DFN,+Y,WVPROC,WVPROV) ;iens for patient, accession, procedure, provider/requestor 161 .Q 162 D CPRS^WVSNOMED(69,DFN,"",WVPROV,"Mammogram results available.","") 163 Q 164 ; 165 DELETE(DFN,DATE,CASE) ;EP 166 ;---> MODIFY WOMEN'S HEALTH PROCEDURE TO REFLECT CHANGE. 167 ;---> CALLED FROM RARTE1 (DELETE A REPORT AND UNVERIFY A REPORT). 168 ; 169 Q:'+$$VERSION^XPDUTL("WV") 170 Q:'$D(DFN)!('$D(DATE))!('$D(CASE)) 171 N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE 172 S ZTRTN="DELETEQ^WVRALINK",ZTDESC="WV MAMMOGRAM RPT CHANGE" 173 S ZTSAVE("DFN")="",ZTSAVE("DATE")="",ZTSAVE("CASE")="" 174 S ZTIO="",ZTDTH=$H 175 D ^%ZTLOAD 176 Q 177 DELETEQ ; Modify WV entry when mammogram report is unverified or deleted 178 Q:'$D(^RADPT(DFN,"DT",DATE,"P",CASE,0)) 179 N WVIEN,WVDATE,WVCASE,WVCMGR,WVLOOP,WVMSG,WVPROV 180 N XMDUZ,XMSUB,XMTEXT,XMY ;send mail message to case manager 181 I $D(ZTQUEUED) S ZTREQ="@" 182 ; 183 ;---> WVDATE=DATE OF PROCEDURE. 184 S WVDATE=$P($P(^RADPT(DFN,"DT",DATE,0),U),".") 185 S WVCASE=$P(^RADPT(DFN,"DT",DATE,"P",CASE,0),U) 186 ; 187 ;---> WVCASE=RECONSTRUCTED CASE# OF PROCEDURE. 188 S WVCASE=$E(WVDATE,4,7)_$E(WVDATE,2,3)_"-"_WVCASE 189 ;---> QUIT IF NO CASE# XREF IN WOMEN'S HEALTH PROCEDURE FILE. 190 Q:'$D(^WV(790.1,"E",WVCASE)) 191 ; 192 S WVIEN=$O(^WV(790.1,"E",WVCASE,0)) 193 Q:'$D(^WV(790.1,WVIEN,0)) 194 D RADMOD^WVPROC(WVIEN) ;update wh status to "open" 195 S WVPROV=+$$GET1^DIQ(790.1,WVIEN,.07,"I") ;get provider/requestor 196 S WVCMGR=+$$GET1^DIQ(790,DFN,.1,"I") ;get case manager 197 S:WVCMGR XMY(WVCMGR)="" 198 ; if no case manager, then get default case manager(s) 199 I 'WVCMGR S WVLOOP=0 F S WVLOOP=$O(^WV(790.02,WVLOOP)) Q:'WVLOOP D 200 .S WVCMGR=$$GET1^DIQ(790.02,WVLOOP,.02,"I") 201 .S:WVCMGR XMY(WVCMGR)="" 202 .Q 203 Q:$O(XMY(0))'>0 ;no case manager(s) 204 S:WVPROV XMY(WVPROV)="" 205 S XMDUZ=.5 ;message sender 206 S XMSUB="RAD/NM Rpt for WH patient is UNVERIFIED/DELETED" 207 S WVMSG(1)=" Patient: "_$P($G(^DPT(DFN,0)),U,1)_" (SSN: "_$$SSN^WVUTL1(DFN)_")" 208 S WVMSG(2)=" WH Accession #: "_$P($G(^WV(790.1,+WVIEN,0)),U,1) 209 S WVMSG(3)=" RAD/NM Case #: "_WVCASE 210 S WVMSG(4)=" " 211 S WVMSG(5)="NOTE: THIS PROCEDURE HAS BEEN ALTERED IN RADIOLOGY/NM." 212 S WVMSG(6)="Follow-up is required in the WOMEN'S HEALTH package!" 213 S XMTEXT="WVMSG(" 214 D ^XMD 215 Q
Note:
See TracChangeset
for help on using the changeset viewer.