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

BDGILD61.m

Go to the documentation of this file.
  1. BDGILD61 ; IHS/ANMC/LJF - TRANS BETWEEN FAC(CALC) ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. ;
  1. INIT ; -- initialize variables
  1. NEW DGCT,DGI1,DGI2,DGO1,DATE,DFN,IEN,ATYP,FAC,SERV,SRV,END,CA
  1. K ^TMP("BDGILD6A",$J),^TMP("BDGILD6D",$J)
  1. ; -- DGI1 & DGI2 = transfer in types
  1. S DGI1=$O(^DG(405.1,"AIHS1","A2",0))
  1. S DGI2=$O(^DG(405.1,"AIHS1","A3",0))
  1. ; -- DGO1 = transfer out type
  1. S DGO1=$O(^DG(405.1,"AIHS1","D2",0))
  1. ;
  1. ADMT ; -- loop admissions
  1. S DATE=BDGBD-.0001,END=BDGED+.2400
  1. F S DATE=$O(^DGPM("AMV1",DATE)) Q:'DATE!(DATE>END) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV1",DATE,DFN)) Q:'DFN D
  1. .. S IEN=0 F S IEN=$O(^DGPM("AMV1",DATE,DFN,IEN)) Q:'IEN D
  1. ... ;
  1. ... S ATYP=$$GET1^DIQ(405,IEN,.04,"I") ;admit type
  1. ... I (ATYP'=DGI1)&(ATYP'=DGI2) Q ;admit not transfer
  1. ... S FAC=$$GET1^DIQ(405,IEN,.05) S:FAC="" FAC="??" ;transfer facility
  1. ... S SERV=$$ADMSRV^BDGF1(IEN,DFN) ;admit srv
  1. ... S SRV=$P($$ADMSRVC^BDGF1(IEN,DFN)," ") ;admit srv abbrev
  1. ... S:SERV="" SERV="??" S:SRV="" SRV="??"
  1. ... ;
  1. ... ; increment counts
  1. ... I BDGTYP>1 D
  1. .... I '$D(DGCT(FAC,SERV)) S DGCT(FAC,SERV)=1
  1. .... S $P(DGCT(FAC,SERV),U)=$P(DGCT(FAC,SERV),U)+1
  1. ... ;
  1. ... ; store patient data for types 1 and 3
  1. ... I BDGTYP'=2 S ^TMP("BDGILD6A",$J,DATE,SRV,FAC,IEN)=DFN
  1. ;
  1. DSCH ; -- loop discharges
  1. S DATE=BDGBD-.0001,END=BDGED+.2400
  1. F S DATE=$O(^DGPM("AMV3",DATE)) Q:'DATE!(DATE>END) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV3",DATE,DFN)) Q:'DFN D
  1. .. S IEN=0 F S IEN=$O(^DGPM("AMV3",DATE,DFN,IEN)) Q:'IEN D
  1. ... ;
  1. ... I $$GET1^DIQ(405,IEN,.04,"I")'=DGO1 Q ;disch not transfer
  1. ... S FAC=$$GET1^DIQ(405,IEN,.05) S:FAC="" FAC="??" ;transfer facility
  1. ... S CA=$$GET1^DIQ(405,IEN,.14,"I") ;corresp admission
  1. ... S SERV=$$LASTSRVN^BDGF1(CA,DFN) ;disch serv abbrev
  1. ... S SRV=$P($$LASTSRVC^BDGF1(CA,DFN)," ") ;disch serv abbrev
  1. ... S:SERV="" SERV="??" S:SRV="" SRV="??"
  1. ... ;
  1. ... ; increment counts
  1. ... I BDGTYP>1 D
  1. ... I '$D(DGCT(FAC,SERV)) S DGCT(FAC,SERV)="^1"
  1. ... S $P(DGCT(FAC,SERV),U,2)=$P(DGCT(FAC,SERV),U,2)+1
  1. ... ;
  1. ... ; store patient data for types 1 & 3
  1. ... I BDGTYP'=2 S ^TMP("BDGILD6D",$J,DATE,SRV,FAC,IEN)=DFN
  1. ;
  1. D ^BDGILD62 Q