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

MDPURGE.m

Go to the documentation of this file.
  1. MDPURGE ;HOIFO/NCA - Study Clean-Up process ;6/18/08 10:15
  1. ;;1.0;CLINICAL PROCEDURES;**11**;Apr 01, 2004;Build 67
  1. ; Reference IA #2263 [Supported] XPAR calls
  1. ; Reference IA #3468 [Subscription] Call GMRCCP
  1. EN1 ; Clean up process entry point
  1. N MDARRY,MDFN,MDK,MDLP,MDPRO,MDET,MDLST,MDX,MDY,X,Y,DTOUT,DUOUT
  1. D GETLST^XPAR(.MDLST,"SYS","MD CLINIC ASSOCIATION")
  1. F MDK=0:0 S MDK=$O(MDLST(MDK)) Q:MDK<1 S MDY=$P($G(MDLST(MDK)),"^",2) I +$P(MDY,";",2)>0 S MDPRO=+$P(MDY,";",2) D
  1. .Q:+$$GET1^DIQ(702.01,+MDPRO_",",.06,"I")=2
  1. .Q:+$$GET1^DIQ(702.01,+MDPRO_",",.12,"I")=1
  1. .S MDARRY(+MDPRO)=+MDPRO
  1. S MDLP=0 F S MDLP=$O(^MDD(702,"AS",5,MDLP)) Q:MDLP<1 S MDX=$G(^MDD(702,MDLP,0)) D
  1. .S MDET=$P(MDX,"^",4) Q:$G(MDARRY(MDET))=""
  1. .S MDFN=+$P(MDX,"^")
  1. .S MDCN=$P(MDX,"^",5) Q:'MDCN
  1. .I +$$GETC(MDFN,MDET,+MDCN) D PURG(+MDLP)
  1. .Q
  1. S MDLP=0 F S MDLP=$O(^MDD(702,"AS",0,MDLP)) Q:MDLP<1 S MDX=$G(^MDD(702,MDLP,0)) D
  1. .S MDET=$P(MDX,"^",4) Q:$G(MDARRY(MDET))=""
  1. .S MDFN=+$P(MDX,"^")
  1. .S MDCN=$P(MDX,"^",5) Q:'MDCN
  1. .I +$$GETC(MDFN,MDET,+MDCN) D PURG(+MDLP)
  1. .Q
  1. Q
  1. GETC(MDPAT,MDDA,MDCNS) ; Get consult date
  1. N MDJ,MDCF S MDCF=0 K ^TMP("MDTMP",$J) D CPLIST^GMRCCP(MDPAT,+MDDA,$NA(^TMP("MDTMP",$J)))
  1. S MDJ=0 F S MDJ=$O(^TMP("MDTMP",$J,MDJ)) Q:'MDJ!(+MDCF) D
  1. .I $P($G(^TMP("MDTMP",$J,MDJ)),U,4)="c"&(MDCNS=$P($G(^TMP("MDTMP",$J,MDJ)),U,5)) S MDCF=1 Q
  1. K ^TMP("MDTMP",$J)
  1. Q MDCF
  1. PURG(MDI) ; [Procedure] Delete Study
  1. N MDAST,MDFDA,MDHOLD,MDNOTE,MDRES,MDSIEN,BODY,SUBJECT,DEVIEN
  1. S (MDHOLD,MDSIEN)=+MDI,MDRES=0,MDNOTE=""
  1. ;D ALERT^MDHL7U3(MDSIEN) ; Builds the body of the mail message
  1. I $G(^MDD(702,+MDSIEN,0))="" Q
  1. S:+$P(^MDD(702,MDSIEN,0),U,6) MDNOTE=$P(^MDD(702,MDSIEN,0),U,6)
  1. S MDCANR=$$CANCEL^MDHL7B(MDHOLD) I +MDCANR<1 Q
  1. Q:+MDNOTE
  1. S MDAST=$$HL7CHK^MDHL7U3(+MDSIEN) I +MDAST<1 Q
  1. ;D NOTICE^MDHL7U3(SUBJECT,.BODY,DEVIEN,DUZ) ; delete message
  1. ;S MDFDA(702,DATA_",",.01)=""
  1. ; Check for renal study to delete as well
  1. S:$D(^MDK(704.202,+MDI)) MDFDA(704.202,+MDI_",",.01)=""
  1. D FILE^DIE("","MDFDA")
  1. N DA,DIK S DA=+MDSIEN,DIK="^MDD(702," D ^DIK
  1. Q