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

ECDTPD.m

Go to the documentation of this file.
  1. ECDTPD ;ALB/DAN Delete Test Patient Data from file #721 ;1/19/17 12:03
  1. ;;2.0;EVENT CAPTURE;**134**;;Build 12
  1. ;
  1. Q ;Don't allow processing from the top
  1. ;
  1. DEL ;Delete test patient data
  1. N PDT,DFN,ECIEN,PROC,CNT,PRCNM,ECDEL
  1. S CNT=0,ECDEL=1
  1. K ^TMP($J,"ECPAT") ;Delete temp storage for deleted records
  1. S DFN=0 F S DFN=$O(^ECH("APAT",DFN)) Q:'+DFN I $$TESTPAT^VADPT(DFN) D
  1. .S PDT=0 F S PDT=$O(^ECH("APAT",DFN,PDT)) Q:'+PDT S ECIEN=0 F S ECIEN=$O(^ECH("APAT",DFN,PDT,ECIEN)) Q:'+ECIEN D
  1. ..S PROC=$P($G(^ECH(ECIEN,0)),U,9) S PRCNM=$S($P(PROC,";",2)[725:$$GET1^DIQ(725,+PROC_",",1),1:"")
  1. ..I "^CH103^CH104^CH105^CH106^CH107^CH108^CH109^"'[("^"_PRCNM_"^") D SAVE,FILE^ECEFPAT S CNT=CNT+1 ;If test patient and procedure isn't in the list then delete the record
  1. D MAIL
  1. S $P(^XTMP("ECDELETE","DEL"),U,3)=0 ;Set status to completed
  1. K ^TMP($J,"ECPAT") ;Delete storage as no longer needed
  1. Q
  1. ;
  1. SAVE ;Save information from record to be deleted for email message
  1. N DATA,NAMESSN,PIECE
  1. D GETS^DIQ(721,ECIEN_",","1;2;3;6;7;8;9","IE","DATA")
  1. S NAMESSN=DATA(721,ECIEN_",",1,"E")_" ("_$$GET1^DIQ(2,DATA(721,ECIEN_",",1,"I"),.09)_")"
  1. F PIECE=6,3,7,2,8,9 S ^TMP($J,"ECPAT",NAMESSN,ECIEN)=$G(^TMP($J,"ECPAT",NAMESSN,ECIEN))_DATA(721,ECIEN_",",PIECE,"E")_$S(PIECE'=9:"^",1:"")
  1. Q
  1. ;Send email with results of processing
  1. MAIL ;
  1. N XMSUB,ECTEXT,XMDUZ,XMY,XMZ,XMTEXT,KIEN,DIFROM,NAME,LINE
  1. K ^TMP($J,"XMTEXT")
  1. S XMDUZ="Event Capture Package"
  1. S XMY($G(DUZ,.5))="" ;Set recipient to installer or postmaster
  1. S KIEN=0 F S KIEN=$O(^XUSEC("ECMGR",KIEN)) Q:'+KIEN S XMY(KIEN)="" ;Holders of ECMGR included in email, XUSEC read allowed by DBIA #10076
  1. S ^TMP($J,"XMTEXT",1)="The deletion of test patient data has completed."
  1. S ^TMP($J,"XMTEXT",2)="Below are the results."
  1. S ^TMP($J,"XMTEXT",3)=""
  1. S ^TMP($J,"XMTEXT",4)=$S('+$G(CNT):"No",1:CNT)_" test patient records were deleted."
  1. S LINE=5 ;start with line 5 to add to message
  1. I $G(CNT) D
  1. .S ^TMP($J,"XMTEXT",LINE)="",LINE=LINE+1
  1. .S ^TMP($J,"XMTEXT",LINE)="Deleted records, by NAME (SSN), are shown below in the following format:",LINE=LINE+1
  1. .S ^TMP($J,"XMTEXT",LINE)="DSS UNIT^LOCATION^CATEGORY^DATE/TIME^PROCEDURE^VOLUME",LINE=LINE+1
  1. .S ^TMP($J,"XMTEXT",LINE)="",LINE=LINE+1
  1. .S NAME="" F S NAME=$O(^TMP($J,"ECPAT",NAME)) Q:NAME="" D
  1. ..S ^TMP($J,"XMTEXT",LINE)=NAME,LINE=LINE+1,^TMP($J,"XMTEXT",LINE)=$$REPEAT^XLFSTR("-",$L(NAME)),LINE=LINE+1
  1. ..S REC=0 F S REC=$O(^TMP($J,"ECPAT",NAME,REC)) Q:'+REC S ^TMP($J,"XMTEXT",LINE)=^TMP($J,"ECPAT",NAME,REC),LINE=LINE+1
  1. ..S ^TMP($J,"XMTEXT",LINE)="",LINE=LINE+1
  1. S XMTEXT="^TMP($J,""XMTEXT"",",XMSUB="Test patient record deletion"
  1. D ^XMD ;Send email
  1. K ^TMP($J,"XMTEXT") ;No longer needed
  1. Q