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

MDHL7XXX.m

Go to the documentation of this file.
  1. MDHL7XXX ; HOIFO/DP - Loopback device for CP ;4/10/09 09:20
  1. ;;1.0;CLINICAL PROCEDURES;**21,34,73**;Apr 01, 2004;Build 2
  1. ; 06/05/19 KAM/BP S/N Ticket INC5256127/MD*1*73 Modified the Process
  1. ; subroutine to no longer send an alert when it encounters a
  1. ; 'RETRACTED' note
  1. ; 06/19/13 KAM/BP Remedy Ticket 442635/MD*1*34 Modified the Process
  1. ; subroutine to look back 365 days instead of 5 days for
  1. ; auto-complete of procedures
  1. ; IA# 2263 [Supported] XPAR Call
  1. ; 2693 [Subscription] TIU Extractions.
  1. ; 2980 [Subscription] Calls to GMRCGUIB.
  1. ; 3160 [Subscription] GMRCMED Call
  1. ; 3067 [Private] Read fields in Consult file (#123) w/FM
  1. ; 3468 [Subscription] GMRCCP API.
  1. ; 3535 [Subscription] Calls to TIUSRVP.
  1. ; 4508 [Subscription] Call to TIUSRVPT.
  1. ; 10060 [Supported] New Person File (#200) Read w/FM.
  1. ; 10103 [Supported] Calls to XLFDT
  1. ;
  1. EN ; [Procedure] Main entry point
  1. ; wait 10 seconds and then produce some results in the CP RESULTS file
  1. ; Variables STUDY and INST passed in via taskman
  1. H 10 ; Wait for the study to update
  1. N MDFDA,MDIEN,MDERR K ^TMP($J)
  1. L +(^MDD(703.1,"B")):15 E Q
  1. F D Q:'$D(^MDD(703.1,"B",X))
  1. .S X="127001_"_(+$H)_$E($P($H,",",2)_"00000",1,5)
  1. S MDFDA(703.1,"+1,",.01)=X
  1. D UPDATE^DIE("","MDFDA","MDIEN","MDERR")
  1. L -(^MDD(703.1,"B"))
  1. S MDIEN=+$G(MDIEN(1),-1)_"," Q:+MDIEN<0
  1. ; Proceed to build the report here using MDIEN in file 703.1
  1. S MDFDA(703.1,MDIEN,.02)=$P(^MDD(702,STUDY,0),U,1)
  1. S MDFDA(703.1,MDIEN,.03)=$$NOW^XLFDT()
  1. S MDFDA(703.1,MDIEN,.04)=INST
  1. D:+$$GET1^DIQ(702.09,INST_",",.13,"I") ; Bi-Directional?
  1. .S MDFDA(703.1,MDIEN,.05)=STUDY
  1. ;
  1. ;; New Loopback Method -- BEGIN
  1. S MDFDA(703.1,MDIEN,.09)="P"
  1. S MDFDA(703.11,"+2,"_MDIEN,.01)="3"
  1. S MDFDA(703.11,"+2,"_MDIEN,.1)="\\vhaishmul14\uploads\body-box-study_19960228_000.pdf"
  1. D UPDATE^DIE("","MDFDA","MDIEN","MDERR")
  1. ;; New Loopback Method -- END
  1. ;
  1. ; New High Volume Procedure code begin
  1. N MDSR S MDSR=$$NTIU^MDRPCW1(+STUDY,+MDIEN)
  1. ; New High Volume Procedure end
  1. ;; Original Loopback Method -- BEGIN
  1. ;S MDFDA(703.11,"+2,"_MDIEN,.01)="1"
  1. ;D UPDATE^DIE("","MDFDA","MDIEN","MDERR")
  1. ;S MDIEN=+MDIEN(2)_","_MDIEN
  1. ;S MDFDA(703.11,MDIEN,.2)=$NA(MDFDA(703.11,MDIEN,.2))
  1. ;D GETS^DIQ(702,STUDY_",",".01;.011;.02;.03;.04;.05;.06;.07;.08;.09;.091;.1;.11;.12;.991","ENR",$NA(^TMP($J)))
  1. ;S X="" F S X=$O(^TMP($J,702,STUDY_",",X)) Q:X="" D
  1. ;.S Y=$O(MDFDA(703.11,MDIEN,.2,""),-1)+1
  1. ;.S MDFDA(703.11,MDIEN,.2,Y)=X_": "_$G(^TMP($J,702,STUDY_",",X,"E"))
  1. ;S MDFDA(703.1,$P(MDIEN,",",2,3),.09)="P"
  1. ;D UPDATE^DIE("","MDFDA","MDIEN","MDERR")
  1. ;; Original Loopback Method -- END
  1. ;
  1. K ^TMP($J)
  1. Q
  1. ;
  1. TEST ; Queue up the study creator
  1. N DIC
  1. S DIC=702,DIC(0)="AEQM",DIC("A")="Select Study to create a report for: "
  1. D ^DIC Q:+Y<1
  1. S STUDY=+Y,INST=+$P(^MDD(702,+Y,0),U,11)
  1. D LOOPBACK(STUDY,INST)
  1. Q
  1. ;
  1. LOOPBACK(STUDY,INST) ; Queue up the Loopback process
  1. N ZTSAVE,ZTRTN,ZTIO,ZTDESC,ZTDTH,ZTSK
  1. S ZTSAVE("STUDY")=STUDY,ZTSAVE("INST")=INST
  1. S ZTRTN="EN^MDHL7XXX"
  1. S ZTIO=""
  1. S ZTDESC="CP Loopback test"
  1. S ZTDTH=$$NOW^XLFDT()
  1. D ^%ZTLOAD
  1. Q
  1. PROCESS ; Process Device Results
  1. N MDADD,MDADAR,MDARAD,MDWA,MDALRT,MDAPU,MDCONRS,MDCST,MDCX,MDFD,MDFDA,MDL,MDL1,MDHR,MDHVL,MDKK,MDMAXD,MDMG,MDRR,MDSTU,MDSTAT,MDTIUER,MDX,MDX4
  1. S MDMAXD=DT+.24,(MDRR,MDARAD,MDTIUER)="" K ^TMP("MDTIUST",$J)
  1. D GETLST^XPAR(.MDHVL,"SYS","MD GET HIGH VOLUME")
  1. S MDAPU="CLINICAL,DEVICE PROXY SERVICE"
  1. S MDFD=$$FIND1^DIC(200,,"X",MDAPU,"B")
  1. F MDKK=0:0 S MDKK=$O(MDHVL(MDKK)) Q:MDKK<1 S:+$P($G(MDHVL(MDKK)),"^") MDHR(+$P($G(MDHVL(MDKK)),"^"))=$P($G(MDHVL(MDKK)),"^",2)
  1. ;
  1. ;06/19/13 KAM/BP 442635/MD*1*34 Changed next line from -5 to -365
  1. ;
  1. S MDL=$$FMADD^XLFDT(DT,-365,0,0) F S MDL=$O(^MDD(702,"ASD",MDL)) Q:MDL<1!(MDL>MDMAXD) F MDL1=0:0 S MDL1=$O(^MDD(702,"ASD",MDL,MDL1)) Q:MDL1<1 S MDX=$G(^MDD(702,MDL1,0)) D
  1. .Q:$G(MDHR(+$P(MDX,"^",4)))="" S MDCX=$G(MDHR(+$P(MDX,"^",4)))
  1. .Q:$P($G(^MDS(702.01,+$P(MDX,U,4),0)),U,6)=2
  1. .S MDCST=$P(MDX,"^",5) Q:'+MDCST
  1. .Q:'+$P(MDX,"^",6)
  1. .K ^TMP("MDTIUST",$J),MDWA
  1. .S MDWA(1202)=MDFD,MDWA(1204)=MDFD,MDWA(1302)=MDFD
  1. .S MDWA("TEXT",1,0)="** DOCUMENT IN VISTA IMAGING **"
  1. .S MDWA("TEXT",2,0)="SEE FULL REPORT IN VISTA IMAGING",MDWA("TEXT",3,0)=""
  1. .D EXTRACT^TIULQ($P(MDX,U,6),"^TMP(""MDTIUST"",$J)",MDTIUER,".01;.05","E")
  1. .I $G(^TMP("MDTIUST",$J,$P(MDX,U,6),.05,"E"))'="COMPLETED"&('+$P(MDCX,";",2)) D Q
  1. ..Q:$P(MDX,"^",9)'=3
  1. ..Q:$G(^TMP("MDTIUST",$J,$P(MDX,U,6),.05,"E"))="RETRACTED" ;MD*1*73
  1. ..I +$P(MDCX,";",1) S MDCONRS=$$CPDOC^GMRCCP(+MDCST,+$P(MDX,"^",6),2) Q
  1. ..I '+$P(MDCX,";",1) D UPDATE^TIUSRVP(.MDRR,+$P(MDX,"^",6),.MDWA,1) D:+MDRR'<1 ADMNCLOS^TIUSRVPT(.MDARAD,+$P(MDX,"^",6),"M",MDFD) K MDWA D MEDCOMP^GMRCMED(+MDCST,$P(MDX,"^",6)_";TIU(8925,",DT,MDFD,$P(MDX,"^",3))
  1. ..Q
  1. .S MDSTU=MDL1 K MDWA
  1. .S MDSTAT=$$GET1^DIQ(123,+MDCST_",",8,"E") I MDSTAT="COMPLETE" Q:$P(MDX,"^",9)=3 K MDFDA S MDFDA(702,MDSTU_",",.09)=3 D FILE^DIE("","MDFDA") K MDFDA Q
  1. .I +$P(MDCX,";",2) D Q
  1. ..D GID(MDSTU,.MDADAR)
  1. ..Q:$G(MDADAR(1))=""
  1. ..S MDADD=$$SFILE^GMRCGUIB(+MDCST,4,"Y",MDFD,MDFD,.MDADAR,"N","",$G(^MDD(702,+MDSTU,3)))
  1. ..S MDCONRS=$$CPDOC^GMRCCP(+MDCST,+$P(MDX,"^",6),2) Q
  1. .S MDGET=$O(^MDD(703.1,"ASTUDYID",MDL1,""),-1) Q:'MDGET S MDDAT=$P($G(^MDD(703.1,MDGET,0)),"^",3)
  1. .D MEDCOMP^GMRCMED(+MDCST,$P(MDX,"^",6)_";TIU(8925,",MDDAT,MDFD,$P(MDX,"^",3))
  1. .K ^TMP("MDTIUST",$J)
  1. .I $P(MDX,"^",9)'=3 K MDFDA S MDFDA(702,MDSTU_",",.09)=3 D FILE^DIE("","MDFDA") K MDFDA
  1. Q
  1. GID(STU,MDARY) ; Get the text array
  1. N LOOP,MDRID,NODE S MDRID=0,LOOP=""
  1. F S LOOP=$O(^MDD(703.1,"ASTUDYID",STU,LOOP),-1) Q:LOOP<1!(+MDRID) I +$P($G(^MDD(703.1,+LOOP,.4,0)),"^",3) S MDRID=+LOOP,NODE=$$GET1^DIQ(703.1,MDRID_",",.4,"","MDARY")
  1. I +MDRID K MDFDA S MDFDA(703.1,MDRID_",",.4)="@" D FILE^DIE("","MDFDA") K MDFDA
  1. Q