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

RAMAIN4.m

Go to the documentation of this file.
  1. RAMAIN4 ;BPFO/CLT - RADIOLOGY NEW PROCEDURE UTILITIES ; 28 Sep 2016 12:04 PM
  1. ;;5.0;Radiology/Nuclear Medicine;**127,138**;Mar 16, 1998;Build 22
  1. ;
  1. Q
  1. EN(RADA) ;PRIMARY ENTRY POINT
  1. N DIR,RATYPE,RAFAC,RAFN,RACODE,RAGOLD,RAMATCH,RANM,RANOT,RAPLUSY,RAPROIEN,RAYY,XMDUN,RANEWPRO
  1. N P1,P2,RA901
  1. I $G(DA)'="",$G(RADA)="" S RADA=DA
  1. S RANM=$P(^RAMIS(71,+RADA,0),U,1),^XTMP("RAMAIN4",$J,"RAEND")=0,RADA=+RADA
  1. GOOD ;ACCEPT ENTRY AND ASSIGN CPT
  1. S RATYPE=$P(^RAMIS(71,RADA,0),U,6) D:RATYPE'="D"
  1. .W !!?3,"The type of this exam has been chosen not to be DETAILED."," An NTRT process",!?3,"will not be initiated. And no MRPF matching will be performed.",!
  1. .Q
  1. Q:RATYPE'="D"
  1. K DIR S DIR(0)="Y",DIR("A")="Are you sure you are entering "_RANM_" as a new procedure"
  1. S RASEED=" " S RASEED=$S($P($G(^RAMRPF(71.98,1,0)),U,10)'="Y":" not ",1:" ")
  1. S DIR("A",1)="This entry will"_RASEED_"be submitted for NTRT processing."
  1. S DIR("B")="YES"
  1. W ! D ^DIR S:Y=0 ^XTMP("RAMAIN4",$J,"RAEND")=1 G:^XTMP("RAMAIN4",$J,"RAEND")=1 END
  1. CPTEN ;Enter the CPT code
  1. I $G(RAX)="QUIT"!(X["^") G END
  1. W !!,"The CPT code is needed to match to an entry within the MASTER",!,"RADIOLOGY PROCEDURE file."
  1. I $G(RACPT)'="" W !!,"The CPT code for this procedure is ",RACPT,"."
  1. I $G(RACPT)="" K DIR S DIR(0)="71,9^^",DIR("A")="Enter the CPT code for this procedure, if the CPT code is known"
  1. I $G(RACPT)="" K DIRUT,DIROUT,DUOUT W ! D ^DIR I $G(DIRUT)=1 G END
  1. S:X>0 $P(^RAMIS(71,RADA,0),U,9)=X,RACPT=X
  1. S DA=RADA,RAGOLD=$$MRPF^RAMAIN5() I $G(DUOUT)=1!($G(Y(0))="") W !!,*7,"No MRPF match made. Use the Edit MRPF Association on One Procedure",!,"option to make a match later.",!! G END
  1. I $G(RAPROIEN)'="",$D(^RAMIS(71,"MRPF",$S($G(RAPROIEN)'="":RAPROIEN,1:0))) S RAMTCH=1 D MTCH^RAUTL23
  1. G:$G(^XTMP("RAMAIN4",$J,"RAEND"))=1 END
  1. ; RA*5.0*138 correct set of 900 to IEN
  1. I Y(0)'["NONE LISTED" S DA=RADA,DIE="^RAMIS(71,",DIE(0)="L",DR="900///"_RAPROIEN_";902///"_DT S DA=RADA D ^DIE D
  1. . I $G(RAPROIEN)'="" W !?3,"You have mapped this procedure to "_$P($G(^RAMRPF(71.99,RAPROIEN,0)),U,1) Q
  1. I $G(Y(0))["NONE LISTED" D
  1. . ; PATCH RA*5.0*138 START
  1. . ;S DA=RADA,DIE="^RAMIA(71,",DIE(0)="L"
  1. . S DA=RADA,DIE="^RAMIS(71,",DIE(0)="L"
  1. . ; PATCH RA*5.0*138 END
  1. . S DR="901///" S RA901=$S($P($G(^RAMRPF(71.98,1,0)),U,10)="Y":"Y",1:"")
  1. . S DR=DR_RA901_";902///"_DT D ^DIE
  1. . Q
  1. S $P(^RAMIS(71,RADA,"NTRT"),U,3)=DT,^RAMIS(71,"CREAT",DT,RADA)=""
  1. I $P($G(^RAMRPF(71.98,1,0)),U,10)'="Y" S $P(^RAMIS(71,RADA,"NTRT"),U,3)=""
  1. MSG ;SEND A MESSAGE TO GATEKEEPER
  1. I $P($G(^RAMRPF(71.98,1,0)),U,10)'="Y" Q RADA
  1. N XMSUB,XMY,XMTEXT,RATXT Q:$P($G(^RAMIS(71,RADA,"NTRT")),U,1)'="" RADA
  1. S XMSUB="NEW RADIOLOGY PROCEDURE"
  1. S XMY(DUZ)=""
  1. I $P($G(^RAMRPF(71.98,1,0)),U,2)'="" S XMY($P(^RAMRPF(71.98,1,0),U,2))=""
  1. S RATXT(1)="A new Radiology procedure has been entered."
  1. S RATXT(3)="This procedure will be submitted for NTRT processing."
  1. S RATXT(4)=" "
  1. S RATXT(5)=" "
  1. ;S RATXT(7)=" "
  1. S RATXT(7)="Procedure Name: "_RANM
  1. S RATXT(7)="CPT: "_$P($G(^RAMIS(71,RADA,0)),U,9)
  1. S XMTEXT="RATXT(" D ^XMD
  1. ;G END
  1. MSG1 ;MESSAGE TO NTRT
  1. I $P($G(^RAMRPF(71.98,1,0)),U,10)'="Y" Q RADA
  1. N XMSUB,XMY,XMTEXT,RATXT Q:$P($G(^RAMIS(71,RADA,"NTRT")),U,1)'="" RADA
  1. S RAFAC=$$KSP^XUPARAM("INST"),RAFAC=$$NS^XUAF4(RAFAC)
  1. S RAFN=$P(RAFAC,U,1),RAFAC=$P(RAFAC,U,2),$P(^RAMIS(71,RADA,"NTRT"),U,2)="Y"
  1. S XMSUB="NEW RADIOLOGY PROCEDURE"
  1. S XMY("G.RADIOLOGY NTRT@DOMAIN.EXT")=""
  1. S XMY("G.RADNTRT")=""
  1. S XMDUZ("G.RADNTRT")=""
  1. I $P($G(^RAMRPF(71.98,1,0)),U,2)'="" S XMY($P(^RAMRPF(71.98,1,0),U,2))=""
  1. ;S XMY("G.RADIOLOGY NTRT@DOMAIN.EXT")=""
  1. S RATXT(1)="A new Radiology procedure has been entered at "_RAFN
  1. S RATXT(2)=" "
  1. S RATXT(3)="Facility Name/number: "_RAFN_" / "_RAFAC
  1. S RATXT(4)=" "
  1. S RATXT(5)="Procedure name: "_RANM
  1. S RATXT(6)=" "
  1. S RATXT(7)="CPT code: "_$P($G(^RAMIS(71,RADA,0)),U,9)
  1. S RATXT(8)="Local IEN: "_RADA
  1. S RATXT(9)="For questions or notification respond to: "_"G.RADNTRT@"_$$KSP^XUPARAM("WHERE")
  1. S RATXT(10)="For NTRT results respond to: "_"S.RANEWPRO@"_$$KSP^XUPARAM("WHERE")
  1. I $P($G(^RAMRPF(71.98,1,0)),U,9)="Y" D XML G END
  1. S $P(^RAMIS(71,RADA,"NTRT"),U,4)=DT
  1. S XMTEXT="RATXT(" D ^XMD
  1. S $P(^RAMIS(71,RADA,"NTRT"),U,4)=DT
  1. G END
  1. XML ; NTRT message for ISAAC
  1. ; Need P1 ISAAC SCHEMA NAME
  1. ; Need P2 ISAAC SCHEMA PATH
  1. ; get the schemea name and the schema path
  1. S P1=$$GET1^DIQ(71.98,"1,",11)
  1. S P2=$$GET1^DIQ(71.98,"1,",11.5)
  1. S A=$TR(P1,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  1. I P1'=""&($E(A,($L(A)-4),$L(A)))'=".XSD" S P1=P1_".XSD"
  1. I P2'="" D ;<
  1. . I $E(P2,1,2)'="//" S P2="//"_P2
  1. . I $E(P2,$L(P2))'="/" S P2=P2_"/"
  1. S A="uri:"_P2_P1
  1. K RATXT
  1. S RATXT(1)=$$XMLHDR^MXMLUTL()
  1. S RATXT(2)="<DATAEXTRACTS xmlns="""_A_""" xmlns:xsi=""$P(^RAMRPF(71.98,1,0),U,8)"""
  1. S RATXT(3)=">"
  1. S RATXT(4)="<RAD_NTRT>"
  1. S RATXT(5)="<Facility_Name/number>"_RAFN_" / "_RAFAC_"</Facility_Name/number>"
  1. S RATXT(6)="<Facility_Group_e-mail>"_"G.RADNTRT@"_$$KSP^XUPARAM("WHERE")_"</Facility_Group_e-mail>"
  1. S RATXT(7)="<Procedure_name>"_RANM_"</Procedure_name>"
  1. S RATXT(8)="<CPT_code>"_$P($G(^RAMIS(71,RADA,0)),U,9)_"</CPT_code>"
  1. S RATXT(9)="<Local_IEN>"_RADA_"</Local_IEN>"
  1. S RATXT(10)="<NTRT_results_response_e-mail>"_"S.RANEWPRO@"_$$KSP^XUPARAM("WHERE")_"</NTRT_results_response_e-mail>"
  1. S RATXT(11)="</RAD_NTRT>"
  1. S RATXT(12)="</DATAEXTRACTS>"
  1. S RAXTMPNM=XMSUB
  1. D XMLSND^RAXMLSND(RAXTMPNM)
  1. Q
  1. ;
  1. DEACT ;BLOCK INACTIVATION DATE
  1. Q
  1. I $P($G(^RAMRPF(71.98,1,0)),U,3)'="" D
  1. . S X1=DT,X2=$P(^RAMRPF(71.98,1,0),U,3)
  1. . D C^%DTC
  1. . S ^RAMIS(71,RADA,"I")=X,$P(^RAMIS(71,RADA,"NTRT"),U,2)="Y"
  1. Q
  1. END ;KILL LOCAL VARIABLES AND END
  1. K RATXT,XMZ,XMDUN,XMDUZ,RAIEN,X,Y
  1. Q $G(RANEWPRO)