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

DGPTRPO.m

Go to the documentation of this file.
  1. DGPTRPO ;ALB/MTC,HIOFO/FT - RECORD PRINT OUT (RPO);5/26/15 3:24pm
  1. ;;5.3;Registration;**884**;Aug 13, 1993;Build 31
  1. ;
  1. ; VATRAN - #1011
  1. ; XMD - #10070
  1. ; VASITE - #10112
  1. ; XMA2 - #10066
  1. ; ^XMB(3.9) - #10113
  1. ; ^VA(200) - #10060
  1. ; %ZIS - #10086
  1. ; ^DPT - #10035
  1. ; XLFSTR - #10104
  1. ;
  1. EN ;-- generic N15x call. Record Print-Out (RPO) [DGPTTOOL RPO]
  1. D INIT G ENQ:DGOUT
  1. D FMT G ENQ:DGOUT
  1. S DIC="^DGP(45.87,",DIC(0)="L" K DO,DD D NOW^%DTC S X=% D FILE^DICN K DIC,DO
  1. G ENQ:Y<0 S (DA,DGDA)=+Y
  1. EDIT S DIE="^DGP(45.87,",(DR,DGDR)=$S(DGCTL="N150":"[DGPT 150]",1:"[DGPT 151]")
  1. S DGPAT=$P(^DGP(45.87,DGDA,0),U,9),DGINST=$P(^DGP(45.87,DGDA,0),U,10)
  1. F DGI=0:0 S DA=DGDA,DR=DGDR D ^DIE,CHKFLD Q:'DGOUT D ASK I DGOUT D DEL,ENQ G EN
  1. SEND S DGOUT=0,DIR(0)="Y",DIR("A")="Ok to Send "_DGCTL,DIR("B")="YES"
  1. D ^DIR I $D(DIRUT)!(Y=0) D ASK G EDIT:'DGOUT I DGOUT D DEL,ENQ G EN
  1. I Y D PRETRAN G:DGOUT EN D
  1. .K X S $P(X," ",241)=""
  1. .S:$E(DGSSN,10)="P" DGSSN="P"_$E(DGSSN,1,9)
  1. .S ^XMB(3.9,XMZ,2,1,0)=$E(DGCTL_$J(DGSSN,10)_$J(DGADM,10)_$J(DGFAC,6)_$J(DGRFAC,6)_X,1,240)
  1. .S ^XMB(3.9,XMZ,2,2,0)=$$REPEAT^XLFSTR(" ",144)
  1. .D TRAN W !,"****** ",DGCTL," TRANSACTION SENT ******"
  1. D ENQ G EN
  1. ENQ K %,DGDR,DGDA,DGPAT,DGINST,DGFNAM,DGNAME,DGCTL,DGTADM,DA,DGRPO,DIR,DIE,DIK,X,Y,DGOUT,VATNAME,VATERR,VAT,DIROUT,DIRUT,XMTEXT,XMSUB,XMDUZ,XMDUN,DGSSN,DGADM,DGRFAC,DGFAC,DIC,DR,DD,DO,DGDA,DGI,DQ,DB,DE
  1. Q
  1. ;
  1. CHKFLD ;-- check data for valid entries
  1. S DGOUT=0
  1. I '$D(^DGP(45.87,DGDA,0)) S DGOUT=1 G CHKFLDQ
  1. S DGRPO=^DGP(45.87,DGDA,0)
  1. I DGCTL="N150" F DGJ=5:1:8 I $P(DGRPO,U,DGJ)="" S DGOUT=1 D CHKERR
  1. I DGCTL="N151" F DGJ=5,8 I $P(DGRPO,U,DGJ)="" S DGOUT=1 D CHKERR
  1. I DGCTL="N099" F DGJ=5,6,8 I $P(DGRPO,U,DGJ)="" S DGOUT=1 D CHKERR
  1. I +$P(DGRPO,U,9) S DGNAME=$P(^DPT($P(DGRPO,U,9),0),U)
  1. CHKFLDQ ;
  1. K DGRPO,DGJ
  1. Q
  1. CHKERR ;
  1. W !,"*** ",$P("^^^^SSN^ADMISSION DATE/TIME^ADMITTING FACILITY NUMBER/SUFFIX^REQUESTING FACILITY NUMBER/SUFFIX","^",DGJ)," field is empty."
  1. Q
  1. ;
  1. ASK ;-- On error in record check for re-edit
  1. S DGOUT=0
  1. S DIR(0)="Y",DIR("A")="Would you like to EDIT the "_DGCTL_" record",DIR("B")="YES"
  1. D ^DIR
  1. I $D(DIRUT)!(Y=0) S DGOUT=1
  1. ASKQ K DIR
  1. Q
  1. ;
  1. HDRPX ;called from [DGPT 150] and [DGPT 151] input templates
  1. W @IOF,$C(13),?18,">>> Facsimile of ",DGCTL," Transaction <<<"
  1. W:DGNAME]"" !," Patient : ",DGNAME
  1. W:DGFNAM]"" !,"Admitting Facility : ",DGFNAM
  1. S:$E(DGSSN,10)="P" DGSSN="P"_$E(DGSSN,1,9)
  1. W !!?9,"'",$J(DGCTL,4),"' '",$J(DGSSN,10),"' '",$J(DGADM,10),"' '",$J(DGFAC,6),"' '",$J(DGRFAC,6),"'"
  1. W !?2,"col# :"
  1. W ?10,"1--4 5--------1 1--------2 2----3 3----3",!
  1. W ?10," 4 5 4 5 0 1 6",!
  1. W !?2,"block:"
  1. W ?10," SSN Admission Admitting Requesting",!
  1. W ?10," Date/Time Facility Facility",!
  1. W ?10," Num/Suffix Num/Suffix",!!
  1. I DGCTL="N151" W !,"For the 151 the Admission DATE/TIME and",!,"the Admitting Facility Num/Suffix CANNOT be filled in.",!!
  1. Q
  1. ;
  1. FMT ;-- select format 150/151; set trans router to PTF125
  1. S DGOUT=0
  1. S DGOUT=0,DIR(0)="SB^150:N150 SPECIFIC (RPO);151:N151 GENERAL (RPO);EXIT:EXIT",DIR("A")="Which RPO Format",DIR("?")="Enter 150 or 151 for the Record Print-Out (RPO) form to be sent.",DIR("B")="EXIT"
  1. W @IOF D ^DIR I $D(DIRUT)!(Y="EXIT") S DGOUT=1 G FMTQ
  1. S DGY=Y
  1. S DGCTL=$S(DGY=150:"N150",1:"N151")
  1. S VATNAME="PTF125" D ^VATRAN I VATERR S DGOUT=1 G FMTQ
  1. FMTQ K DGY,DIR,DIRUT Q
  1. ;
  1. PRETRAN ;-- get mailman msg #
  1. S DGOUT=0,XMSUB="PTF "_DGCTL,XMDUZ=DUZ
  1. D GET^XMA2
  1. I $D(XMZ),XMZ>0 G PREQ
  1. W !!,"*** ERROR *** Unable to create Mail Message... Try again later." S DGOUT=1
  1. PREQ Q
  1. TRAN ;
  1. K XMY D ROUTER^DGPTFTR
  1. S XMDUN=$P(^VA(200,DUZ,0),U),^XMB(3.9,XMZ,2,0)="^3.92A^1^1^"_DT
  1. D ENT1^XMD
  1. S DIE="^DGP(45.87,",DA=DGDA,DR=".03////"_XMZ D ^DIE
  1. K XMZ,DIE,DR
  1. Q
  1. ;
  1. DEL ;-- KILL ENTRY
  1. S DA=DGDA,DIK="^DGP(45.87," D ^DIK
  1. Q
  1. ;
  1. INIT ;
  1. D LO^DGUTL,HOME^%ZIS S DGOUT=0
  1. S (DGPAT,DGINST,DGCTL,DGTADM,DGSSN,DGADM,DGFAC,DGFNAM,DGNAME)="",DGRFAC=$E($P($$SITE^VASITE,U,3)_" ",1,6)
  1. INITQ Q