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

DGPMEVT.m

Go to the documentation of this file.
  1. DGPMEVT ;ALB/RMO - MAS MOVEMENT EVENT DRIVER; 26 DEC 89 ; 2/2/04 3:18pm
  1. ;;5.3;Registration;**61,574**;Aug 13, 1993
  1. ;
  1. ;Required Variables:
  1. ; DFN = Patient's IFN
  1. ; DGPMDA = Movement's IFN
  1. ; DGPMP = 0 Node of Primary Movement PRIOR to Add/Edit/Delete
  1. ; DGPMA = 0 Node of Primary Movement AFTER Add/Edit/Delete
  1. ; DGQUIET = If $G(DGQUIET) then the read/writes should not
  1. ; occur (optional)
  1. ;
  1. K DTOUT,DIROUT
  1. ; **************************************************************
  1. ;-- establish visit & set pt movement ptr
  1. I $P($G(^DIC(150.9,1,0)),U,2)["1" D VISIT
  1. ; **************************************************************
  1. N OROLD D INP^VADPT S X=$O(^ORD(101,"B","DGPM MOVEMENT EVENTS",0))_";ORD(101,"
  1. I $P(X,";",1)="" D ERR K VAIN Q
  1. D EN1^XQOR K VAIN,X
  1. Q
  1. ;
  1. ERR ;
  1. W !,"Serious error ! DGPM MOVEMENT EVENTS protocol not found"
  1. W !,"in Protocol file #101. No events fired !"
  1. W !
  1. Q
  1. ;
  1. VISIT ;-- create visit file entry for new admissions
  1. ;
  1. ;-- Loop through ^UTILITY for admissions, if no prior movement
  1. ; then new admission. This will capture admissions for ASIH.
  1. N DGX,DGY
  1. S DGX=""
  1. F S DGX=$O(^UTILITY("DGPM",$J,1,DGX)) Q:'DGX D
  1. . I $G(^UTILITY("DGPM",$J,1,DGX,"A"))]"",$G(^("P"))="" S DGY=^("A") D
  1. .. S DGY=$$NEW(DGX,DGY)
  1. .. S ^UTILITY("DGPM",$J,1,DGX,"A")=DGY
  1. .. S:DGPMDA=DGX DGPMA=DGY
  1. K VSIT
  1. Q
  1. ;
  1. NEW(DGPM,DGPMA) ; --- add a new entry, new admit
  1. ; INPUT : DGPM - IEN of admission movement
  1. ; DGPMA - Oth node of admission movement
  1. K VSIT
  1. ;
  1. ;-- define admission
  1. ;
  1. ;--location
  1. I $D(^DIC(42,+$P(DGPMA,"^",6),44)) S VSIT("LOC")=+^(44)
  1. I $D(VSIT("LOC")),'$D(^SC(+VSIT("LOC"),0)) K VSIT("LOC")
  1. ;
  1. ;--eligibility
  1. S VSIT("ELG")=$S(+$P(DGPMA,U,20):+$P(DGPMA,U,20),1:+$G(^DPT($P(DGPMA,U,3),.36)))
  1. G:'VSIT("ELG") NEWQ
  1. ;
  1. ;-- get vt ien
  1. S VSIT=+DGPMA,VSIT(0)="F",VSIT("SVC")="H"
  1. D ^VSIT
  1. ;
  1. ;-- add the vt entry to the admission
  1. I +$G(VSIT("IEN")) D
  1. . S DIE="^DGPM(",DA=+DGPM,DR=".27////"_+VSIT("IEN") D ^DIE
  1. . K DIC,DIE,DA,DR
  1. . S $P(DGPMA,"^",27)=+VSIT("IEN")
  1. ;
  1. NEWQ ;
  1. K VSIT
  1. Q DGPMA
  1. ;