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

DGPMV36.m

Go to the documentation of this file.
DGPMV36 ;ALB/MIR - TREATING SPECIALTY TRANSFER, CONTINUED ; [ 03/15/2002  10:14 AM ]
 ;;5.3;Registration;**1015**;Aug 13, 1993;Build 21
 ;IHS/ANMC/LJF  2/21/2001 Used IHS input templates
 ;              3/09/2001 Added IHS ^utility nodes for event driver
 ;              7/06/2001 Removed stuffing of DX into comments
 ;              7/25/2001 Added check for silent API
 ;              7/26/2001 Added check for DGQUIET to write statements
 ;
 ;I '$P(DGPMA,"^",9) S DGPMA="",DIK="^DGPM(",DA=DGPMDA D ^DIK K DIK W !,"Incomplete Treating Specialty Transfer...Deleted"  ;IHS/ANMC/LJF 7/26/2001
 I '$P(DGPMA,"^",9) S DGPMA="",DIK="^DGPM(",DA=DGPMDA D ^DIK K DIK W:'$D(DGQUIET) !,"Incomplete Treating Specialty Transfer...Deleted"  ;IHS/ANMC/LJF 7/26/2001
 Q
 ;
DICS ; -- check that it is a PROVIDER/SPECIALTY change
 S DGER=DGPMTYP'=20
 Q
 ;
ONLY ; -- determine if there is only one 'specialty xfr' type mvt
 N C,I S C=0
 F I=0:0 S I=$O(^DG(405.1,"AT",6,I)) Q:'I  I $D(^DG(405.1,I,0)),$P(^(0),"^",4) S C=C+1,DGPMSPI=I I C>1 K DGPMSPI Q
 Q
 ;
SPEC ; -- entry point to add/edit specialty mvt when adding/editing
 ;    a physical mvt
 ;
 ;       Input:     Y = ifn of mvt file ^ auto add specialty entry(1)
 ;      Output:     Y = ifn of spec mvt
 ;      
 ;    Variable: DGPMPHY = physical mvt IFN ; DGPMPHY0 = 0th node
 ;              DGPMSP  = specialty mvt IFN
 ;
 Q:'$D(^DGPM(+Y,0))
 N DGPMT,DGPMN S DGPMPHY=+Y,DGPMPHY0=^DGPM(+Y,0),DGPMT=6,DGPMN=0
 S DGPMSP=$S($D(^DGPM("APHY",DGPMPHY)):$O(^(DGPMPHY,0)),1:"")
 I 'DGPMSP S Y=+$P(Y,"^",2) D ASK:'Y G SPECQ:'Y D NEW
 D EDIT:DGPMSP
SPECQ S Y=DGPMSP K DGPMPHY,DGPMPHY0,DGPMSP Q
 ;
ASK ; -- ask user if they want to make a special mvt also
 W ! S DIR(0)="YA",DIR("A")="Do you wish to associate a 'facility treating specialty' transfer? "
 S DIR("?",1)="If you would like to associate a facility specialty"
 S DIR("?",2)="transfer with this physical movement than answer 'Yes'."
 S DIR("?")="Otherwise, answer with a 'No'."
 D ^DIR K DIR
 Q
 ;
NEW ; -- add a specialty mvt
 S X=DGPMPHY0,Y=+X_U_DGPMT_U_$P(X,U,3),$P(Y,U,14)=$P(X,U,14),$P(Y,U,24)=DGPMPHY
 S X=+X,DGPM0ND=Y D NEW^DGPMV3
 S DGPMSP=$S(+Y>0:+Y,1:"") S DGPMN=(+Y>0)
 ;I DGPMSP,$P(DGPMPHY0,"^",2)=1,$P(DGPMPHY0,"^",10)]"" S DR="99///"_$P(DGPMPHY0,"^",10),DA=DGPMSP,DIE="^DGPM(" D ^DIE   ;IHS/ANMC/LJF 7/6/2001
 K DIE,DIC,DA,DR,DGPM0ND
 Q
EDIT ; -- edit specialty mvt
 N DGPMX,DGPMP
 I DGPMN S (DGPMP,^UTILITY("DGPM",$J,6,DGPMSP,"P"))="",DIE("NO^")=""
 I 'DGPMN S (DGPMP,^UTILITY("DGPM",$J,6,DGPMSP,"P"))=^DGPM(DGPMSP,0)
 ;
 ;IHS/ANMC/LJF 3/09/2001 add IHS ^utility nodes
 I DGPMN S ^UTILITY("DGPM",$J,6,DGPMSP,"IHSP")=""
 I 'DGPMN S ^UTILITY("DGPM",$J,6,DGPMSP,"IHSP")=$G(^DGPM(DGPMSP,"IHS"))
 ;IHS/ANMC/LJF 3/09/2001 end of changes
 ;
 S Y=DGPMSP D PRIOR
 S DGPMN=(+DGPMP=+DGPMPHY0) ;set to 1 no dt/time change to bypass x-refs
 ;
 ;IHS/ANMC/LJF 2/21/2001 changed to IHS input template
 ;S DGPMX=+DGPMPHY0,DA=DGPMSP,DIE="^DGPM(",DR="[DGPM SPECIALTY TRANSFER]"
 S DGPMX=+DGPMPHY0,DA=DGPMSP,DIE="^DGPM(",DR="[BDGPM SPECIALTY TRANSFER]"
 I $G(BDGAPI) S DR="[BDGPM SPECIALTY TRANSFER API]"  ;IHS/ANMC/LJF 7/25/2001
 ;IHS/ANMC/LJF 2/21/2001 end of change
 ;
 K DQ,DG D ^DIE
 S ^UTILITY("DGPM",$J,6,DGPMSP,"A")=$S($D(^DGPM(DGPMSP,0)):^(0),1:"")
 S ^UTILITY("DGPM",$J,6,DGPMSP,"IHSA")=$G(^DGPM(DGPMSP,"IHS"))  ;IHS/ANMC/LJF 3/09/2001
 S Y=DGPMSP D AFTER
 Q
 ;
PRIOR ; -- set special 'prior' nodes for event driver
 I DGPMN S (^UTILITY("DGPM",$J,6,Y,"DXP"),^("PTFP"))=""
 I 'DGPMN S X=$P($S($D(^DGPM(Y,"DX",0)):^(0),1:""),"^",3,4),X=X_$S($D(^(1,0)):$E(^(0),1,245-$L(X)),1:""),^UTILITY("DGPM",$J,6,Y,"DXP")=X,^UTILITY("DGPM",$J,6,Y,"PTFP")=$S($D(^DGPM(Y,"PTF")):^("PTF"),1:"")
 Q
 ;
AFTER ; -- set special 'after' nodes for event driver
 S X=$P($S($D(^DGPM(Y,"DX",0)):^(0),1:""),"^",3,4),X=X_$S($D(^(1,0)):$E(^(0),1,245-$L(X)),1:""),^UTILITY("DGPM",$J,6,Y,"DXA")=X,^UTILITY("DGPM",$J,6,Y,"PTFA")=$S($D(^DGPM(Y,"PTF")):^("PTF"),1:"")
 Q