- GMTSDCB ; SLC/TRS,KER - Brief Discharge ; 03/24/2004
- ;;2.7;Health Summary;**28,49,71**;Oct 20, 1995
- ;
- ; External References
- ; DBIA 3390 $$ICDDX^ICDCODE
- ; DBIA 10035 ^DPT(
- ; DBIA 1372 ^DGPT(
- ; DBIA 10082 ^ICD9(
- ; DBIA 10015 EN^DIQ1 (file #45)
- ; DBIA 3145 ^DIC(42.4,
- ; DBIA 3146 ^DIC(45.6,
- ;
- ENDC ; Brief Discharge (no captions)
- S N="",ADM=GMTS1,GMC=0,LF=0
- I $D(GMTSNDM),(GMTSNDM>0) S CNTR=GMTSNDM
- E S CNTR=100
- S T1=GMTSEND,T2=GMTSBEG
- F S ADM=$O(^DPT(DFN,"DA","AA",ADM)) Q:'ADM!(ADM>GMTS2) F S N=$O(^DPT(DFN,"DA","AA",ADM,N)) Q:'N D PROC I CNTR=0 Q
- D KILLADM Q
- PROC ; Process Admissions
- S AD0=^DPT(DFN,"DA",N,0),PTF=$P(AD0,U,12)
- S CNTR=CNTR-1 I CNTR=0 Q
- I $S('PTF:1,1:'$D(^DGPT(PTF,70))) S GMC=-1 Q
- S:$D(^DGPT(PTF,70)) ICD=^DGPT(PTF,70)
- I $P(ICD,"^",1)="" S GMC=-1 Q
- S DATE=$P((ICD),"^",1) I (DATE'<T1)!(DATE'>T2) Q:GMC S GMC=-1 Q
- S GMC=2 S X=DATE D REGDT4^GMTSU S XD=X
- I $P(ICD,U,10)'="" N ICDX S ICDX=$$ICDDX^ICDCODE($P(ICD,U,10)),DXL=$P(ICDX,"^",4)
- I $P((ICD),"^",2)'="" S BS=$P((ICD),"^",2),BS=$S($D(^DIC(42.4,BS,0)):^DIC(42.4,BS,0),1:"") S BDS=$S($P((BS),"^",2)'="":$P(BS,U,2),$P(BS,U,1)'="":$P(BS,U,1),1:"UNKNOWN")
- I $P(ICD,"^",3)'="" S DIC="^DGPT(",DR=72,DA=PTF,DIQ="ARRAY",DIQ(0)="E" D EN^DIQ1 S SDS=ARRAY(45,DA,72,"E")
- S DP=$S($P((ICD),"^",6)'="":$P(ICD,U,6),1:""),DP=$S(DP'="":^DIC(45.6,DP,0),1:"")
- S OT=$P(ICD,"^",4),OP=$S(OT=3:"NO",OT="":"UNKNOWN",1:"YES")
- D CKP^GMTSUP Q:$D(GMTSQIT) W ?3,XD,?21,SDS,!
- I $D(DXL) D CKP^GMTSUP Q:$D(GMTSQIT) W ?15,"DXLS: ",DXL,!
- K DXL,BS,BDS,ICD,DATE
- Q
- KILLADM ; Kills Admission variables
- K END,TDT,HH,MM,TN,LF,DATE,AT,ITR,TRT,TI,TO,N,CNTR,BDS,SDS,GMC,ARRAY,DXL,TOM,TR,T1,T2,DATE,I,A,AD0,ADM,BS,D,DA,DP,DR,ICD,OP,OT,PTF,X,XD,DIQ,DIC
- Q
- GMTSDCB ; SLC/TRS,KER - Brief Discharge ; 03/24/2004
- +1 ;;2.7;Health Summary;**28,49,71**;Oct 20, 1995
- +2 ;
- +3 ; External References
- +4 ; DBIA 3390 $$ICDDX^ICDCODE
- +5 ; DBIA 10035 ^DPT(
- +6 ; DBIA 1372 ^DGPT(
- +7 ; DBIA 10082 ^ICD9(
- +8 ; DBIA 10015 EN^DIQ1 (file #45)
- +9 ; DBIA 3145 ^DIC(42.4,
- +10 ; DBIA 3146 ^DIC(45.6,
- +11 ;
- ENDC ; Brief Discharge (no captions)
- +1 SET N=""
- SET ADM=GMTS1
- SET GMC=0
- SET LF=0
- +2 IF $DATA(GMTSNDM)
- IF (GMTSNDM>0)
- SET CNTR=GMTSNDM
- +3 IF '$TEST
- SET CNTR=100
- +4 SET T1=GMTSEND
- SET T2=GMTSBEG
- +5 FOR
- SET ADM=$ORDER(^DPT(DFN,"DA","AA",ADM))
- IF 'ADM!(ADM>GMTS2)
- QUIT
- FOR
- SET N=$ORDER(^DPT(DFN,"DA","AA",ADM,N))
- IF 'N
- QUIT
- DO PROC
- IF CNTR=0
- QUIT
- +6 DO KILLADM
- QUIT
- PROC ; Process Admissions
- +1 SET AD0=^DPT(DFN,"DA",N,0)
- SET PTF=$PIECE(AD0,U,12)
- +2 SET CNTR=CNTR-1
- IF CNTR=0
- QUIT
- +3 IF $SELECT('PTF:1,1:'$DATA(^DGPT(PTF,70)))
- SET GMC=-1
- QUIT
- +4 IF $DATA(^DGPT(PTF,70))
- SET ICD=^DGPT(PTF,70)
- +5 IF $PIECE(ICD,"^",1)=""
- SET GMC=-1
- QUIT
- +6 SET DATE=$PIECE((ICD),"^",1)
- IF (DATE'<T1)!(DATE'>T2)
- IF GMC
- QUIT
- SET GMC=-1
- QUIT
- +7 SET GMC=2
- SET X=DATE
- DO REGDT4^GMTSU
- SET XD=X
- +8 IF $PIECE(ICD,U,10)'=""
- NEW ICDX
- SET ICDX=$$ICDDX^ICDCODE($PIECE(ICD,U,10))
- SET DXL=$PIECE(ICDX,"^",4)
- +9 IF $PIECE((ICD),"^",2)'=""
- SET BS=$PIECE((ICD),"^",2)
- SET BS=$SELECT($DATA(^DIC(42.4,BS,0)):^DIC(42.4,BS,0),1:"")
- SET BDS=$SELECT($PIECE((BS),"^",2)'="":$PIECE(BS,U,2),$PIECE(BS,U,1)'="":$PIECE(BS,U,1),1:"UNKNOWN")
- +10 IF $PIECE(ICD,"^",3)'=""
- SET DIC="^DGPT("
- SET DR=72
- SET DA=PTF
- SET DIQ="ARRAY"
- SET DIQ(0)="E"
- DO EN^DIQ1
- SET SDS=ARRAY(45,DA,72,"E")
- +11 SET DP=$SELECT($PIECE((ICD),"^",6)'="":$PIECE(ICD,U,6),1:"")
- SET DP=$SELECT(DP'="":^DIC(45.6,DP,0),1:"")
- +12 SET OT=$PIECE(ICD,"^",4)
- SET OP=$SELECT(OT=3:"NO",OT="":"UNKNOWN",1:"YES")
- +13 DO CKP^GMTSUP
- IF $DATA(GMTSQIT)
- QUIT
- WRITE ?3,XD,?21,SDS,!
- +14 IF $DATA(DXL)
- DO CKP^GMTSUP
- IF $DATA(GMTSQIT)
- QUIT
- WRITE ?15,"DXLS: ",DXL,!
- +15 KILL DXL,BS,BDS,ICD,DATE
- +16 QUIT
- KILLADM ; Kills Admission variables
- +1 KILL END,TDT,HH,MM,TN,LF,DATE,AT,ITR,TRT,TI,TO,N,CNTR,BDS,SDS,GMC,ARRAY,DXL,TOM,TR,T1,T2,DATE,I,A,AD0,ADM,BS,D,DA,DP,DR,ICD,OP,OT,PTF,X,XD,DIQ,DIC
- +2 QUIT