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

BDGADD2.m

Go to the documentation of this file.
  1. BDGADD2 ; IHS/ANMC/LJF - A&D DETAILED-DAY SURGERY ;
  1. ;;5.3;PIMS;**1007**;FEB 27, 2007
  1. ;
  1. ;cmi/anch/maw 2/22/2007 added day surgery release date/time PATCH 1007 item 1007.36
  1. ;
  1. ; check VA Surgery file for data
  1. S X="BSRPEP" X ^%ZOSF("TEST") I $T D Q
  1. . NEW DAYCT,DGDS
  1. . S DAYCT=$$ADS^BSRPEP("D",BDGT)
  1. . I DAYCT>0 D LINES
  1. ;
  1. ; And then IHS Day Surgery file
  1. NEW DATE,DFN,DSN,DGDS,DGZA,DAYCT,NAME,END,RELDT
  1. S DATE=BDGT-.0001,END=BDGT+.24,DAYCT=0
  1. F S DATE=$O(^ADGDS("AA",DATE)) Q:'DATE Q:DATE>END D
  1. . S DFN=0
  1. . F S DFN=$O(^ADGDS("AA",DATE,DFN)) Q:'DFN D
  1. .. S DSN=0 F S DSN=$O(^ADGDS("AA",DATE,DFN,DSN)) Q:'DSN D
  1. ... ;
  1. ... Q:'$D(^ADGDS(DFN,"DS",DSN,0)) S DGZ=^(0)
  1. ... ;IHS/ITSC/WAR 11/24/03 TYPO
  1. ... ;I $P($G(^ADGDS(DFN,"DS",DGDSN,2)),U,3,4)["Y" Q ;noshow/cancel
  1. ... I $P($G(^ADGDS(DFN,"DS",DSN,2)),U,3,4)["Y" Q ;noshow/cancel
  1. ... S RELDT=$$FMTE^XLFDT($P($G(^ADGDS(DFN,"DS",DSN,2)),U)) ;release date cmi/anch/maw 2/22/2007 PATCH 1007 item 1007.36
  1. ... ;
  1. ... S NAME=$$GET1^DIQ(2,DFN,.01) ;patient
  1. ... S X=$$GET1^DIQ(200,+$P(DGZ,U,6),.01) ;surgeon
  1. ... S DGDS(NAME,DFN)=X_U_$$GET1^DIQ(9000001,DFN,1102.99) ;and age
  1. ... S $P(DGDS(NAME,DFN),U,3)=$$GET1^DIQ(45.7,+$P(DGZ,U,5),.01) ;srv
  1. ... S $P(DGDS(NAME,DFN),U,4)=$$GET1^DIQ(9000001,DFN,1118) ;community
  1. ... S $P(DGDS(NAME,DFN),U,5)=$G(RELDT) ;cmi/anch/maw 2/22/2007 PATCH 1007 item 1007.36
  1. ... S DAYCT=$G(DAYCT)+1
  1. ;
  1. I $G(DAYCT) D LINES
  1. Q
  1. ;
  1. ;
  1. LINES ; loop thru patients found and list in alpha order
  1. NEW NAME,DFN
  1. ;
  1. D SET^BDGADD("",.VALMCNT)
  1. D SET^BDGADD($$SP(5)_"Day Surgeries: "_DAYCT,.VALMCNT)
  1. D SET^BDGADD($$REPEAT^XLFSTR("-",48),.VALMCNT)
  1. ;
  1. S NAME=0 F S NAME=$O(DGDS(NAME)) Q:NAME="" D
  1. . S DFN=0 F S DFN=$O(DGDS(NAME,DFN)) Q:'DFN D LINE
  1. Q
  1. ;
  1. LINE ; set up display line
  1. NEW LINE
  1. S LINE=$$SP(5)_$E($$GET1^DIQ(2,DFN,.01),1,20) ;name
  1. S LINE=$$PAD(LINE,28)_$$HRCND^BDGF2($$HRCN^BDGF2(DFN,DUZ(2)))
  1. S LINE=$$PAD(LINE,38)_$E($P(DGDS(NAME,DFN),U),1,20) ;surgeon
  1. S LINE=$$PAD(LINE,60)_$P(DGDS(NAME,DFN),U,2) ;age
  1. S LINE=$$PAD(LINE,70)_$E($P(DGDS(NAME,DFN),U,3),1,18) ;service
  1. S LINE=$$PAD(LINE,90)_$E($P(DGDS(NAME,DFN),U,4),1,20) ;village
  1. S LINE=$$PAD(LINE,112)_$P(DGDS(NAME,DFN),U,5) ;release date cmi/anch/maw 2/22/2007 added PATCH 1007 item 1007.36
  1. D SET^BDGADD(LINE,.VALMCNT)
  1. Q
  1. ;
  1. PAD(D,L) ;EP -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)