GMTSOBS2 ; SLC/KER - HS Object - Show ; 01/06/2003
;;2.7;Health Summary;**58**;Oct 20, 1995
;
; External References
; DBIA 2056 $$GET1^DIQ (file 142.5)
; DBIA 2052 $$GET1^DID (DD 142.5)
; DBIA 10103 $$NOW^XLFDT
; DBIA 10103 $$FMADD^XLFDT
Q
GET(X,GMTSARY) ; Get Fields
;
; Input X IEN of HS Object File 142.5
; Output GMTSARY Array of Fields and Values
; (passed by reference)
K GMTSARY N GMTSN,GMTSIEN S GMTSIEN=+($G(X)),GMTSN=$G(^GMT(142.5,+GMTSIEN,0)) Q:'$L(GMTSN)
N GMTSI,GMTSF,GMTSFLD,GMTSFLDN,GMTSFLDM,GMTSDI,GMTSDE
F GMTSI=1:1 D Q:$L(GMTSN,"^")=GMTSI
. S GMTSFLD=GMTSI S:GMTSFLD<10 GMTSFLD="0"_GMTSFLD S GMTSFLD=+("."_GMTSFLD)
. S GMTSFLDN=$$GET1^DID(142.5,+GMTSFLD,"","LABEL"),GMTSFLDM=$$EN2^GMTSUMX(GMTSFLDN)
. S GMTSDI=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"I"),GMTSDE=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"E")
. S GMTSARY(+GMTSIEN,+GMTSFLD,"I")=GMTSDI,GMTSARY(+GMTSIEN,+GMTSFLD,"E")=GMTSDE
. S GMTSARY(+GMTSIEN,+GMTSFLD,"NAME")=GMTSFLDN
. S:GMTSFLDM="Health Summary type" GMTSFLDM="Health Summary Type"
. S GMTSARY(+GMTSIEN,+GMTSFLD,"PROMPT")=GMTSFLDM
S GMTSARY(+GMTSIEN,1,"NAME")="OBJECT DESCRIPTION"
S GMTSARY(+GMTSIEN,1,"PROMPT")="Object Description"
S GMTSI=0 F S GMTSI=$O(^GMT(142.5,+GMTSIEN,1,GMTSI)) Q:+GMTSI=0 D
. S GMTSARY(+GMTSIEN,1,"I",GMTSI,0)=$G(^GMT(142.5,GMTSIEN,1,GMTSI,0))
D DEF^GMTSOBS(+GMTSIEN,.GMTSARY)
Q
DIS(DFN,OBJ) ; Display Object
Q:+($G(DFN))'>0 Q:+($G(OBJ))'>0
K GMTSOBJ N DIE,DR,GMTSR,GMTSLBL,GMTSTYP,GMTSPER,GMTSHDR,GMTSRDT
N GMTSCON,GMTSRHD,GMTSIOM,GMTSCHD,GMTSLIM,GMTSBLK,GMTSQ,GMTSDEC
N GMTSDT,GMTSI,GMTSPX1,GMTSPX2,GMTSNOD,GMTSLBB,GMTSUNT,GMTSLEN
N GMTSDIF,GMTSOBJ,GMTSOBJE,GMTSULB S GMTSOBJ=+($G(OBJ))
S GMTSR=$G(^GMT(142.5,+GMTSOBJ,0))
S GMTSLBL=$P(GMTSR,U,2) S:$L(GMTSLBL) GMTSOBJ("LABEL")=GMTSLBL
S GMTSTYP=$P(GMTSR,U,3) Q:+GMTSTYP'>0 S GMTSPER=$P(GMTSR,U,4)
S GMTSPX1="",GMTSPX2="",GMTSLEN=+GMTSPER,GMTSUNT=$E(GMTSPER,$L(GMTSPER))
I +GMTSLEN>0,GMTSUNT?1U,"DWMY"[GMTSUNT D
. S GMTSPX1=$$NOW^XLFDT
. S:GMTSUNT="D" GMTSDIF=GMTSLEN S:GMTSUNT="W" GMTSDIF=GMTSLEN*7
. S:GMTSUNT="M" GMTSDIF=GMTSLEN*30.4 S:GMTSUNT="Y" GMTSDIF=GMTSLEN*365.25
. S GMTSDIF=$P(GMTSDIF,".",1),GMTSPX2=$$FMADD^XLFDT(GMTSPX1,-(GMTSDIF))
S GMTSNOD=$P(GMTSR,U,5) S:+GMTSNOD>0 GMTSOBJ("SUPPRESS COMPONENTS")=""
S GMTSHDR=$P(GMTSR,U,6) S:+GMTSHDR>0 GMTSOBJ=""
S GMTSULB=$P(GMTSR,U,7) S:+GMTSULB>0 GMTSOBJ("USE LABEL")=""
S GMTSLBB=$P(GMTSR,U,8) S:+GMTSLBB>0 GMTSOBJ("LABEL BLANK LINE")=""
S GMTSRDT=$P(GMTSR,U,9) S:+GMTSRDT>0 GMTSOBJ("DATE LINE")=""
S GMTSCON=$P(GMTSR,U,10) S:+GMTSCON>0 GMTSOBJ("CONFIDENTIAL")=""
S GMTSRHD=$P(GMTSR,U,11) S:+GMTSRHD>0 GMTSOBJ("REPORT HEADER")=""
S GMTSCHD=$P(GMTSR,U,12) S:+GMTSCHD>0 GMTSOBJ("COMPONENT HEADER")=""
S GMTSUND=$P(GMTSR,U,13) S:+GMTSUND>0 GMTSOBJ("UNDERLINE")=""
S GMTSLIM=$P(GMTSR,U,14) S:+GMTSLIM>0 GMTSOBJ("LIMITS")=""
S GMTSBLK=$P(GMTSR,U,15) S:+GMTSBLK>0 GMTSOBJ("BLANK LINE")=""
S GMTSDEC=$P(GMTSR,U,16) S:+GMTSDEC>0 GMTSOBJ("DECEASED")=""
K:GMTSCHD'>0 GMTSOBJ("LIMITS"),GMTSOBJ("BLANK LINE")
K:+($G(GMTSHDR))'>0 GMTSOBJ S GMTSIOM=$G(IOM),IOM=80,GMTSOBJE=""
D ENX^GMTSDVR(DFN,GMTSTYP,GMTSPX2,GMTSPX1) S:+GMTSIOM>0 IOM=+GMTSIOM
Q
SP ; Suppress Headers
N GMTSL,GMTST,TXT S (GMTST,GMTSL)="" S:$L($G(GMTSLBL)) GMTSL=GMTSLBL
S:+($G(GMTSRDT))'>0 GMTSL=GMTSL_$J("",((72-$L(GMTSDTM))-$L(GMTSL)))_GMTSDTM
I $L(GMTSL)&(+($G(GMTSPLB))>0) D E("") S TXT="",TXT=$J(" ",7)_GMTSL D E(TXT)
I $L($G(GMTSLBL))&(+($G(GMTSPLB))>0)&(+($G(GMTSLBB))>0) D E("")
S GMTSL="" S:+($G(GMTSRDT))>0 GMTSL=$J("",(72-$L(GMTSDTM)))_GMTSDTM
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:GMTSCON>0 GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:GMTSRHD>0 GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:GMTSRHD>0 GMTSL=" "
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S (GMTSL,GMTST)="" S:GMTSCHD'>0 GMTSL=GMTSDCN S:GMTSCHD>0 (GMTST,GMTSL)=GMTSDCH
S:GMTSCHD>0&(GMTSLIM)>0&($L(GMTSTIM)) (GMTST,GMTSL)=GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:+($G(GMTSUND))>0&($L(GMTST)) $P(GMTSL,"-",$L(GMTST))="-"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:GMTSDEC>0 GMTSL=" ** DECEASED "_GMTSDED_" **"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="" S:GMTSBLK>0 GMTSL=" " S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="<component data>" S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
W:'$D(GMTSEXT) !
Q
HS ; Health Summary Headers
N GMTSL,GMTST,TXT S GMTSL="" S:$L($G(GMTSLBL)) GMTSL=GMTSLBL
I $L(GMTSL)&(+($G(GMTSPLB))>0) D E(" ") S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
D:$L(GMTSL)&(+($G(GMTSPLB))>0)&(+($G(GMTSLBB))>0) E(" ")
S GMTSL=$J("",(72-$L(GMTSDTM)))_GMTSDTM
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL=" "_GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL=" ** DECEASED "_GMTSDED_" **"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
S GMTSL="<component data>"
S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
W:'$D(GMTSEXT) !
Q
D(X) ; Display
I '$D(GMTSEXT) W !,$G(X) Q
N GMTSC S GMTSC=$G(GMTSARY("D",0))+1,GMTSARY("D",+GMTSC)=$G(X),GMTSARY("D",0)=GMTSC
Q
E(X) ; Example
I '$D(GMTSEXT) W !,$G(X) Q
N GMTSC S GMTSC=$G(GMTSARY("E",0))+1,GMTSARY("E",+GMTSC)=$G(X),GMTSARY("E",0)=GMTSC
Q
GMTSOBS2 ; SLC/KER - HS Object - Show ; 01/06/2003
+1 ;;2.7;Health Summary;**58**;Oct 20, 1995
+2 ;
+3 ; External References
+4 ; DBIA 2056 $$GET1^DIQ (file 142.5)
+5 ; DBIA 2052 $$GET1^DID (DD 142.5)
+6 ; DBIA 10103 $$NOW^XLFDT
+7 ; DBIA 10103 $$FMADD^XLFDT
+8 QUIT
GET(X,GMTSARY) ; Get Fields
+1 ;
+2 ; Input X IEN of HS Object File 142.5
+3 ; Output GMTSARY Array of Fields and Values
+4 ; (passed by reference)
+5 KILL GMTSARY
NEW GMTSN,GMTSIEN
SET GMTSIEN=+($GET(X))
SET GMTSN=$GET(^GMT(142.5,+GMTSIEN,0))
IF '$LENGTH(GMTSN)
QUIT
+6 NEW GMTSI,GMTSF,GMTSFLD,GMTSFLDN,GMTSFLDM,GMTSDI,GMTSDE
+7 FOR GMTSI=1:1
Begin DoDot:1
+8 SET GMTSFLD=GMTSI
IF GMTSFLD<10
SET GMTSFLD="0"_GMTSFLD
SET GMTSFLD=+("."_GMTSFLD)
+9 SET GMTSFLDN=$$GET1^DID(142.5,+GMTSFLD,"","LABEL")
SET GMTSFLDM=$$EN2^GMTSUMX(GMTSFLDN)
+10 SET GMTSDI=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"I")
SET GMTSDE=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"E")
+11 SET GMTSARY(+GMTSIEN,+GMTSFLD,"I")=GMTSDI
SET GMTSARY(+GMTSIEN,+GMTSFLD,"E")=GMTSDE
+12 SET GMTSARY(+GMTSIEN,+GMTSFLD,"NAME")=GMTSFLDN
+13 IF GMTSFLDM="Health Summary type"
SET GMTSFLDM="Health Summary Type"
+14 SET GMTSARY(+GMTSIEN,+GMTSFLD,"PROMPT")=GMTSFLDM
End DoDot:1
IF $LENGTH(GMTSN,"^")=GMTSI
QUIT
+15 SET GMTSARY(+GMTSIEN,1,"NAME")="OBJECT DESCRIPTION"
+16 SET GMTSARY(+GMTSIEN,1,"PROMPT")="Object Description"
+17 SET GMTSI=0
FOR
SET GMTSI=$ORDER(^GMT(142.5,+GMTSIEN,1,GMTSI))
IF +GMTSI=0
QUIT
Begin DoDot:1
+18 SET GMTSARY(+GMTSIEN,1,"I",GMTSI,0)=$GET(^GMT(142.5,GMTSIEN,1,GMTSI,0))
End DoDot:1
+19 DO DEF^GMTSOBS(+GMTSIEN,.GMTSARY)
+20 QUIT
DIS(DFN,OBJ) ; Display Object
+1 IF +($GET(DFN))'>0
QUIT
IF +($GET(OBJ))'>0
QUIT
+2 KILL GMTSOBJ
NEW DIE,DR,GMTSR,GMTSLBL,GMTSTYP,GMTSPER,GMTSHDR,GMTSRDT
+3 NEW GMTSCON,GMTSRHD,GMTSIOM,GMTSCHD,GMTSLIM,GMTSBLK,GMTSQ,GMTSDEC
+4 NEW GMTSDT,GMTSI,GMTSPX1,GMTSPX2,GMTSNOD,GMTSLBB,GMTSUNT,GMTSLEN
+5 NEW GMTSDIF,GMTSOBJ,GMTSOBJE,GMTSULB
SET GMTSOBJ=+($GET(OBJ))
+6 SET GMTSR=$GET(^GMT(142.5,+GMTSOBJ,0))
+7 SET GMTSLBL=$PIECE(GMTSR,U,2)
IF $LENGTH(GMTSLBL)
SET GMTSOBJ("LABEL")=GMTSLBL
+8 SET GMTSTYP=$PIECE(GMTSR,U,3)
IF +GMTSTYP'>0
QUIT
SET GMTSPER=$PIECE(GMTSR,U,4)
+9 SET GMTSPX1=""
SET GMTSPX2=""
SET GMTSLEN=+GMTSPER
SET GMTSUNT=$EXTRACT(GMTSPER,$LENGTH(GMTSPER))
+10 IF +GMTSLEN>0
IF GMTSUNT?1U
IF "DWMY"[GMTSUNT
Begin DoDot:1
+11 SET GMTSPX1=$$NOW^XLFDT
+12 IF GMTSUNT="D"
SET GMTSDIF=GMTSLEN
IF GMTSUNT="W"
SET GMTSDIF=GMTSLEN*7
+13 IF GMTSUNT="M"
SET GMTSDIF=GMTSLEN*30.4
IF GMTSUNT="Y"
SET GMTSDIF=GMTSLEN*365.25
+14 SET GMTSDIF=$PIECE(GMTSDIF,".",1)
SET GMTSPX2=$$FMADD^XLFDT(GMTSPX1,-(GMTSDIF))
End DoDot:1
+15 SET GMTSNOD=$PIECE(GMTSR,U,5)
IF +GMTSNOD>0
SET GMTSOBJ("SUPPRESS COMPONENTS")=""
+16 SET GMTSHDR=$PIECE(GMTSR,U,6)
IF +GMTSHDR>0
SET GMTSOBJ=""
+17 SET GMTSULB=$PIECE(GMTSR,U,7)
IF +GMTSULB>0
SET GMTSOBJ("USE LABEL")=""
+18 SET GMTSLBB=$PIECE(GMTSR,U,8)
IF +GMTSLBB>0
SET GMTSOBJ("LABEL BLANK LINE")=""
+19 SET GMTSRDT=$PIECE(GMTSR,U,9)
IF +GMTSRDT>0
SET GMTSOBJ("DATE LINE")=""
+20 SET GMTSCON=$PIECE(GMTSR,U,10)
IF +GMTSCON>0
SET GMTSOBJ("CONFIDENTIAL")=""
+21 SET GMTSRHD=$PIECE(GMTSR,U,11)
IF +GMTSRHD>0
SET GMTSOBJ("REPORT HEADER")=""
+22 SET GMTSCHD=$PIECE(GMTSR,U,12)
IF +GMTSCHD>0
SET GMTSOBJ("COMPONENT HEADER")=""
+23 SET GMTSUND=$PIECE(GMTSR,U,13)
IF +GMTSUND>0
SET GMTSOBJ("UNDERLINE")=""
+24 SET GMTSLIM=$PIECE(GMTSR,U,14)
IF +GMTSLIM>0
SET GMTSOBJ("LIMITS")=""
+25 SET GMTSBLK=$PIECE(GMTSR,U,15)
IF +GMTSBLK>0
SET GMTSOBJ("BLANK LINE")=""
+26 SET GMTSDEC=$PIECE(GMTSR,U,16)
IF +GMTSDEC>0
SET GMTSOBJ("DECEASED")=""
+27 IF GMTSCHD'>0
KILL GMTSOBJ("LIMITS"),GMTSOBJ("BLANK LINE")
+28 IF +($GET(GMTSHDR))'>0
KILL GMTSOBJ
SET GMTSIOM=$GET(IOM)
SET IOM=80
SET GMTSOBJE=""
+29 DO ENX^GMTSDVR(DFN,GMTSTYP,GMTSPX2,GMTSPX1)
IF +GMTSIOM>0
SET IOM=+GMTSIOM
+30 QUIT
SP ; Suppress Headers
+1 NEW GMTSL,GMTST,TXT
SET (GMTST,GMTSL)=""
IF $LENGTH($GET(GMTSLBL))
SET GMTSL=GMTSLBL
+2 IF +($GET(GMTSRDT))'>0
SET GMTSL=GMTSL_$JUSTIFY("",((72-$LENGTH(GMTSDTM))-$LENGTH(GMTSL)))_GMTSDTM
+3 IF $LENGTH(GMTSL)&(+($GET(GMTSPLB))>0)
DO E("")
SET TXT=""
SET TXT=$JUSTIFY(" ",7)_GMTSL
DO E(TXT)
+4 IF $LENGTH($GET(GMTSLBL))&(+($GET(GMTSPLB))>0)&(+($GET(GMTSLBB))>0)
DO E("")
+5 SET GMTSL=""
IF +($GET(GMTSRDT))>0
SET GMTSL=$JUSTIFY("",(72-$LENGTH(GMTSDTM)))_GMTSDTM
+6 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+7 SET GMTSL=""
IF GMTSCON>0
SET GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
+8 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+9 SET GMTSL=""
IF GMTSRHD>0
SET GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
+10 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+11 SET GMTSL=""
IF GMTSRHD>0
SET GMTSL=" "
+12 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+13 SET (GMTSL,GMTST)=""
IF GMTSCHD'>0
SET GMTSL=GMTSDCN
IF GMTSCHD>0
SET (GMTST,GMTSL)=GMTSDCH
+14 IF GMTSCHD>0&(GMTSLIM)>0&($LENGTH(GMTSTIM))
SET (GMTST,GMTSL)=GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
+15 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+16 SET GMTSL=""
IF +($GET(GMTSUND))>0&($LENGTH(GMTST))
SET $PIECE(GMTSL,"-",$LENGTH(GMTST))="-"
+17 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+18 SET GMTSL=""
IF GMTSDEC>0
SET GMTSL=" ** DECEASED "_GMTSDED_" **"
+19 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+20 SET GMTSL=""
IF GMTSBLK>0
SET GMTSL=" "
SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+21 SET GMTSL="<component data>"
SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+22 IF '$DATA(GMTSEXT)
WRITE !
+23 QUIT
HS ; Health Summary Headers
+1 NEW GMTSL,GMTST,TXT
SET GMTSL=""
IF $LENGTH($GET(GMTSLBL))
SET GMTSL=GMTSLBL
+2 IF $LENGTH(GMTSL)&(+($GET(GMTSPLB))>0)
DO E(" ")
SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+3 IF $LENGTH(GMTSL)&(+($GET(GMTSPLB))>0)&(+($GET(GMTSLBB))>0)
DO E(" ")
+4 SET GMTSL=$JUSTIFY("",(72-$LENGTH(GMTSDTM)))_GMTSDTM
+5 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+6 SET GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
+7 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+8 SET GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
+9 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+10 SET GMTSL=" "_GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
+11 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+12 SET GMTSL=" ** DECEASED "_GMTSDED_" **"
+13 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+14 SET GMTSL="<component data>"
+15 SET TXT=""
SET TXT=TXT_$JUSTIFY(" ",7)_GMTSL
IF $LENGTH(GMTSL)
DO E(TXT)
+16 IF '$DATA(GMTSEXT)
WRITE !
+17 QUIT
D(X) ; Display
+1 IF '$DATA(GMTSEXT)
WRITE !,$GET(X)
QUIT
+2 NEW GMTSC
SET GMTSC=$GET(GMTSARY("D",0))+1
SET GMTSARY("D",+GMTSC)=$GET(X)
SET GMTSARY("D",0)=GMTSC
+3 QUIT
E(X) ; Example
+1 IF '$DATA(GMTSEXT)
WRITE !,$GET(X)
QUIT
+2 NEW GMTSC
SET GMTSC=$GET(GMTSARY("E",0))+1
SET GMTSARY("E",+GMTSC)=$GET(X)
SET GMTSARY("E",0)=GMTSC
+3 QUIT