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

GMTSDGH.m

Go to the documentation of this file.
GMTSDGH ; SLC/MKB,KER/NDBI - Patient Hist by admissions ; 02/27/2002
 ;;2.7;Health Summary;**28,49**;Oct 20, 1995
 ;                    
 ; External References
 ;   DBIA    17  ^DGPM("APCA"
 ;   DBIA    17  ^DGPM("ATID1"
 ;   DBIA    17  ^DGPM("ATS"
 ;   DBIA  2929  DSP^A7RHSM
 ;   DBIA  2929  LST^A7RHSM
 ;   DBIA 10061  IN5^VADPT
 ;   DBIA 10061  KVAR^VADPT
 ;                    
MAIN ; Loop through admissions starting from most recent
 N VAHOW
 K VAIP
 I $D(GMTSNDM),GMTSNDM>0 S CNTR=GMTSNDM
 E  S CNTR=100
 S VA200=1,VAHOW=1,FLAG=-1,ADM=GMTS1
 D:$$ROK^GMTSU("A7RHSM")&($$NDBI^GMTSU) LST^A7RHSM(DFN,.A7RHS)
 F  S ADM=$O(^DGPM("ATID1",DFN,ADM)) D:$$ROK^GMTSU("A7RHSM")&($$NDBI^GMTSU) DSP^A7RHSM(ADM) Q:('ADM)!(ADM>GMTS2)!(CNTR=0)!('DFN)  D MVTS
 D KILVAR K:$$NDBI^GMTSU A7RHS
 Q
MVTS ; Loop through mvts chronologically, per admission
 S ADA=0,ADA=$O(^DGPM("ATID1",DFN,ADM,ADA)) Q:'ADA
 K VAIP,PREVDR,PREVSP,^UTILITY($J)
 S VAIP("E")=ADA D IN5^VADPT
 I $D(VAIP) D CKP^GMTSUP Q:$D(GMTSQIT)  W:FLAG>0 ! D PRNT
 D SETUTL
 S MDM="" F  S MDM=$O(^UTILITY($J,"GMTSMVTS",MDM)) Q:'MDM  D GET
 S CNTR=CNTR-1
 Q
GET ; Get Inpatient Data [v5.0 and above]
 I ^UTILITY($J,"GMTSMVTS",MDM)=ADA Q
 K VAIP S VAIP("E")=^UTILITY($J,"GMTSMVTS",MDM) D IN5^VADPT
 I $D(VAIP) D PRNT
 Q
PRNT ; Output Data
 S X=+$P(VAIP("MD"),U) D REGDT4^GMTSU
 D CKP^GMTSUP Q:$D(GMTSQIT)
 S DOC=$E($P(VAIP("DR"),U,2),1,10),TYPE=$P(VAIP("MT"),U,2),CODE=+$P(VAIP("TT"),U),SPEC=$E($P(VAIP("TS"),U,2),1,12)
 S TT=$S(CODE=0:"NON",CODE=1:"ADM",CODE=2:"TR ",CODE=3:"DC ",CODE=4:"CIL",CODE=5:"COL",CODE=6:"TS ",1:"   ")
 I 'GMTSNPG,$D(PREVDR),PREVDR=$P(VAIP("DR"),U) S DOC="  "" "
 I 'GMTSNPG,$D(PREVSP),PREVSP=$P(VAIP("TS"),U) S SPEC="    "" "
 W X,?12,TT,"  ",$E(TYPE,1,34),?55,SPEC,?69,DOC,!
 S FLAG=2,PREVDR=$P(VAIP("DR"),U),PREVSP=$P(VAIP("TS"),U)
 Q
SETUTL ; Get Treating Specialty and Corresponding Admission
 S (TSDM,MDM)=0
 F  S TSDM=$O(^DGPM("ATS",DFN,ADA,TSDM)) Q:'TSDM  D NEXT1
 F  S MDM=$O(^DGPM("APCA",DFN,ADA,MDM)) Q:'MDM  D NEXT2
 Q
NEXT1 ;   Treating Specialty (ATS)
 S TS="",TS=$O(^DGPM("ATS",DFN,ADA,TSDM,TS)) Q:'TS
 S TSDA=0,TSDA=$O(^DGPM("ATS",DFN,ADA,TSDM,TS,TSDA)) Q:'TSDA
 S ^UTILITY($J,"GMTSMVTS",9999999-TSDM)=TSDA
 Q
NEXT2 ;   Corresponding Admission (APCA)
 S MDA=0,MDA=$O(^DGPM("APCA",DFN,ADA,MDM,MDA)) Q:'MDA
 I MDA'=ADA S ^UTILITY($J,"GMTSMVTS",MDM)=MDA
 Q
KILVAR ; Clean-up, exit
 D KVAR^VADPT
 K FLAG,IN,IM,ADA,ADM,MDA,MDM,X,DOC,CNTR,CODE,TYPE,TT,PREVSP,PREVDR,SPEC
 K ITS,TS,TSDM,TSDA,^UTILITY($J)
 Q