| 1 | PXRMGECK ;SLC/AGP,JVS-GEC Utilities Cont. ;7/14/05  10:42 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21 | 
|---|
| 3 | ; | 
|---|
| 4 | Q | 
|---|
| 5 | TIUSTAT(DFN,GEC) ;Status of TIU Notes | 
|---|
| 6 | N TIUDA,IEN,TITLE,NTTYP,STATUS,STATDA,STATUS,AUTDA,AUTHOR,DATE,DATEFM | 
|---|
| 7 | Q:'$D(^PXRMD(801.5,"B",DFN)) 0 | 
|---|
| 8 | Q:'$D(^PXRMD(801.5,"AD",DFN,GEC)) 0 | 
|---|
| 9 | S IEN=$O(^PXRMD(801.5,"AD",DFN,GEC,0)) | 
|---|
| 10 | S TIUDA=$P($G(^PXRMD(801.5,IEN,0)),"^",4) | 
|---|
| 11 | Q:TIUDA="" 0 | 
|---|
| 12 | Q:'$D(^TIU(8925,TIUDA,0)) 0 | 
|---|
| 13 | S NTTYP=$P($G(^TIU(8925,TIUDA,0)),"^",1) | 
|---|
| 14 | S TITLE=$P($G(^TIU(8925.1,NTTYP,0)),"^",1) | 
|---|
| 15 | S STATDA=$P($G(^TIU(8925,TIUDA,0)),"^",5) | 
|---|
| 16 | S STATUS=$P($G(^TIU(8925.6,STATDA,0)),"^",1) | 
|---|
| 17 | S AUTDA=$P($G(^TIU(8925,TIUDA,12)),"^",2) D | 
|---|
| 18 | .I AUTDA="" S AUTHOR="unknown" Q | 
|---|
| 19 | .S AUTHOR=$$GET1^DIQ(200,AUTDA,.01) | 
|---|
| 20 | S DATEFM=$P($G(^TIU(8925,TIUDA,12)),"^",1) D | 
|---|
| 21 | .I DATEFM="" S DATE="unknown" Q | 
|---|
| 22 | .S DATE=$$FMTE^XLFDT(DATEFM,"D2") | 
|---|
| 23 | Q 1_"^"_TITLE_":"_STATUS_":"_AUTHOR_":"_DATE | 
|---|
| 24 | ; | 
|---|
| 25 | ACOPYDEL ;clean out ACOPY nodes | 
|---|
| 26 | N NIEN,STATUS,STIEN,NOTEDFN,CDFN,EDT,GEC,DATE | 
|---|
| 27 | Q:'$D(^PXRMD(801.5,"ACOPY")) | 
|---|
| 28 | S NIEN=0 F  S NIEN=$O(^PXRMD(801.5,"ACOPY",NIEN)) Q:NIEN=""  D | 
|---|
| 29 | .Q:'$D(^TIU(8925,NIEN)) | 
|---|
| 30 | .S STIEN=$P($G(^TIU(8925,NIEN,0)),"^",5) | 
|---|
| 31 | .S STATUS=$P($G(^TIU(8925.6,STIEN,0)),"^",1) | 
|---|
| 32 | .I STATUS="COMPLETED" K ^PXRMD(801.5,"ACOPY",NIEN) | 
|---|
| 33 | .S NOTEDFN=$P($G(^TIU(8925,NIEN,0)),"^",2) | 
|---|
| 34 | .S CDFN=0 F  S CDFN=$O(^PXRMD(801.5,"ACOPY",NIEN,CDFN)) Q:CDFN=""  D | 
|---|
| 35 | ..I NOTEDFN'=CDFN K ^PXRMD(801.5,"ACOPY",NIEN,CDFN) | 
|---|
| 36 | S NIEN=0 F  S NIEN=$O(^PXRMD(801.5,"ACOPY",NIEN)) Q:NIEN=""  D | 
|---|
| 37 | .S CDFN=0 F  S CDFN=$O(^PXRMD(801.5,"ACOPY",NIEN,CDFN)) Q:CDFN=""  D | 
|---|
| 38 | ..S EDT=0 F  S EDT=$O(^PXRMD(801.5,"ACOPY",NIEN,CDFN,EDT)) Q:EDT=""  D | 
|---|
| 39 | ...S GEC="" F  S GEC=$O(^PXRMD(801.5,"ACOPY",NIEN,CDFN,EDT,GEC)) Q:GEC=""  D | 
|---|
| 40 | ....S DATE=$O(^PXRMD(801.5,"ACOPY",NIEN,CDFN,EDT,GEC,0)) | 
|---|
| 41 | ....I '$D(^TIU(8925,NIEN)),$$FMDIFF^XLFDT(DT,DATE,1)>1 D | 
|---|
| 42 | .....K ^PXRMD(801.5,"ACOPY",NIEN,CDFN,EDT,GEC) | 
|---|
| 43 | Q | 
|---|
| 44 | ; | 
|---|
| 45 | ; | 
|---|
| 46 | REMOVE ;DELETE HEALTH FACTORS | 
|---|
| 47 | N NODE0,NODE12,NODE812,VISIT,PKG,VAL,PCEARY | 
|---|
| 48 | Q:'$D(HFARY) | 
|---|
| 49 | S PCEARY="^TMP(""PXRMGECZ"",$J)" | 
|---|
| 50 | S HFDA=0 F  S HFDA=$O(HFARY(HFDA)) Q:HFDA=""  D | 
|---|
| 51 | .N NODE0,NODE12,NODE812 | 
|---|
| 52 | .S NODE0=$G(^AUPNVHF(HFDA,0)) | 
|---|
| 53 | .S NODE12=$G(^AUPNVHF(HFDA,12)) | 
|---|
| 54 | .S NODE812=$G(^AUPNVHF(HFDA,812)) | 
|---|
| 55 | .S VISIT=$P(NODE0,"^",3) | 
|---|
| 56 | .S PKG=$P(NODE812,"^",2) | 
|---|
| 57 | .S ^TMP("PXRMGECZ",$J,"HEALTH FACTOR",HFDA,"HEALTH FACTOR")=$P(NODE0,"^",1) | 
|---|
| 58 | .S ^TMP("PXRMGECZ",$J,"HEALTH FACTOR",HFDA,"ENC PROVIDER")=$P(NODE12,"^",4) | 
|---|
| 59 | .S ^TMP("PXRMGECZ",$J,"HEALTH FACTOR",HFDA,"EVENT D/T")=$P(NODE12,"^",1) | 
|---|
| 60 | .S ^TMP("PXRMGECZ",$J,"HEALTH FACTOR",HFDA,"DELETE")=1 | 
|---|
| 61 | S VAL=$$DATA2PCE^PXAPI(PCEARY,PKG,GECT,VISIT) | 
|---|
| 62 | K ^TMP("PXRMGECZ",$J) | 
|---|
| 63 | ; | 
|---|
| 64 | Q | 
|---|
| 65 | UPDATE(DFN,VISIT) ;Remove entry from 801.5 if deleted by dialog/tiu | 
|---|
| 66 | ; | 
|---|
| 67 | N HFDA,COUNT,SOURCE,GEC1,GEC2,GEC3,GECF,ENCDT,WHICH | 
|---|
| 68 | N HERE,NOT,DA,DIA | 
|---|
| 69 | Q:DFN="" | 
|---|
| 70 | ; | 
|---|
| 71 | ;Delete Health Factors if not TIU document | 
|---|
| 72 | ; | 
|---|
| 73 | S ENCDT=$O(^PXRMD(801.5,"AC",DFN,"")) | 
|---|
| 74 | Q:ENCDT="" | 
|---|
| 75 | ; | 
|---|
| 76 | S (GEC1,GEC2,GEC3,GECF)=0 | 
|---|
| 77 | ;GET IEN FOR DATA SOURCES FOR GEC | 
|---|
| 78 | I $D(^PX(839.7,"B","GEC1")) D | 
|---|
| 79 | .S GEC1=$O(^PX(839.7,"B","GEC1","")),WHICH(GEC1)="GEC1",NOT("GEC1")="" | 
|---|
| 80 | I $D(^PX(839.7,"B","GEC2")) D | 
|---|
| 81 | .S GEC2=$O(^PX(839.7,"B","GEC2","")),WHICH(GEC2)="GEC2",NOT("GEC2")="" | 
|---|
| 82 | I $D(^PX(839.7,"B","GEC3")) D | 
|---|
| 83 | .S GEC3=$O(^PX(839.7,"B","GEC3","")),WHICH(GEC3)="GEC3",NOT("GEC3")="" | 
|---|
| 84 | I $D(^PX(839.7,"B","GECF")) D | 
|---|
| 85 | .S GECF=$O(^PX(839.7,"B","GECF","")),WHICH(GECF)="GECF",NOT("GECF")="" | 
|---|
| 86 | ; | 
|---|
| 87 | ; | 
|---|
| 88 | S COUNT=0 | 
|---|
| 89 | S HFDA="" F  S HFDA=$O(^AUPNVHF("C",DFN,HFDA)) Q:HFDA=""  D | 
|---|
| 90 | .I $D(^AUPNVHF(HFDA,12)) D | 
|---|
| 91 | ..I $P($G(^AUPNVHF(HFDA,12)),"^",1)=ENCDT D | 
|---|
| 92 | ...S SOURCE=$P($G(^AUPNVHF(HFDA,812)),"^",3) | 
|---|
| 93 | ...Q:SOURCE="" | 
|---|
| 94 | ...I (SOURCE=$G(GEC1))!(SOURCE=$G(GEC2))!(SOURCE=$G(GEC3))!(SOURCE=$G(GECF)) D | 
|---|
| 95 | ....S HERE($G(WHICH(SOURCE)))="" | 
|---|
| 96 | ....K NOT($G(WHICH(SOURCE))) | 
|---|
| 97 | ....S COUNT=COUNT+1 | 
|---|
| 98 | S DIA="" F  S DIA=$O(NOT(DIA)) Q:DIA=""  D | 
|---|
| 99 | .S DA=$O(^PXRMD(801.5,"AD",DFN,DIA,0)) | 
|---|
| 100 | .Q:DA="" | 
|---|
| 101 | .S ^PXRMD(801.5,"ACOPY",DFN,ENCDT,DIA)=$P($G(^PXRMD(801.5,DA,0)),"^",4) | 
|---|
| 102 | .S DIK="^PXRMD(801.5," D ^DIK | 
|---|
| 103 | Q | 
|---|
| 104 | ; | 
|---|
| 105 | ; | 
|---|