1 | GMTSOBS2 ; SLC/KER - HS Object - Show ; 01/06/2003
|
---|
2 | ;;2.7;Health Summary;**58**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 2056 $$GET1^DIQ (file 142.5)
|
---|
6 | ; DBIA 2052 $$GET1^DID (DD 142.5)
|
---|
7 | ; DBIA 10103 $$NOW^XLFDT
|
---|
8 | ; DBIA 10103 $$FMADD^XLFDT
|
---|
9 | Q
|
---|
10 | GET(X,GMTSARY) ; Get Fields
|
---|
11 | ;
|
---|
12 | ; Input X IEN of HS Object File 142.5
|
---|
13 | ; Output GMTSARY Array of Fields and Values
|
---|
14 | ; (passed by reference)
|
---|
15 | K GMTSARY N GMTSN,GMTSIEN S GMTSIEN=+($G(X)),GMTSN=$G(^GMT(142.5,+GMTSIEN,0)) Q:'$L(GMTSN)
|
---|
16 | N GMTSI,GMTSF,GMTSFLD,GMTSFLDN,GMTSFLDM,GMTSDI,GMTSDE
|
---|
17 | F GMTSI=1:1 D Q:$L(GMTSN,"^")=GMTSI
|
---|
18 | . S GMTSFLD=GMTSI S:GMTSFLD<10 GMTSFLD="0"_GMTSFLD S GMTSFLD=+("."_GMTSFLD)
|
---|
19 | . S GMTSFLDN=$$GET1^DID(142.5,+GMTSFLD,"","LABEL"),GMTSFLDM=$$EN2^GMTSUMX(GMTSFLDN)
|
---|
20 | . S GMTSDI=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"I"),GMTSDE=$$GET1^DIQ(142.5,(+GMTSIEN_","),GMTSFLD,"E")
|
---|
21 | . S GMTSARY(+GMTSIEN,+GMTSFLD,"I")=GMTSDI,GMTSARY(+GMTSIEN,+GMTSFLD,"E")=GMTSDE
|
---|
22 | . S GMTSARY(+GMTSIEN,+GMTSFLD,"NAME")=GMTSFLDN
|
---|
23 | . S:GMTSFLDM="Health Summary type" GMTSFLDM="Health Summary Type"
|
---|
24 | . S GMTSARY(+GMTSIEN,+GMTSFLD,"PROMPT")=GMTSFLDM
|
---|
25 | S GMTSARY(+GMTSIEN,1,"NAME")="OBJECT DESCRIPTION"
|
---|
26 | S GMTSARY(+GMTSIEN,1,"PROMPT")="Object Description"
|
---|
27 | S GMTSI=0 F S GMTSI=$O(^GMT(142.5,+GMTSIEN,1,GMTSI)) Q:+GMTSI=0 D
|
---|
28 | . S GMTSARY(+GMTSIEN,1,"I",GMTSI,0)=$G(^GMT(142.5,GMTSIEN,1,GMTSI,0))
|
---|
29 | D DEF^GMTSOBS(+GMTSIEN,.GMTSARY)
|
---|
30 | Q
|
---|
31 | DIS(DFN,OBJ) ; Display Object
|
---|
32 | Q:+($G(DFN))'>0 Q:+($G(OBJ))'>0
|
---|
33 | K GMTSOBJ N DIE,DR,GMTSR,GMTSLBL,GMTSTYP,GMTSPER,GMTSHDR,GMTSRDT
|
---|
34 | N GMTSCON,GMTSRHD,GMTSIOM,GMTSCHD,GMTSLIM,GMTSBLK,GMTSQ,GMTSDEC
|
---|
35 | N GMTSDT,GMTSI,GMTSPX1,GMTSPX2,GMTSNOD,GMTSLBB,GMTSUNT,GMTSLEN
|
---|
36 | N GMTSDIF,GMTSOBJ,GMTSOBJE,GMTSULB S GMTSOBJ=+($G(OBJ))
|
---|
37 | S GMTSR=$G(^GMT(142.5,+GMTSOBJ,0))
|
---|
38 | S GMTSLBL=$P(GMTSR,U,2) S:$L(GMTSLBL) GMTSOBJ("LABEL")=GMTSLBL
|
---|
39 | S GMTSTYP=$P(GMTSR,U,3) Q:+GMTSTYP'>0 S GMTSPER=$P(GMTSR,U,4)
|
---|
40 | S GMTSPX1="",GMTSPX2="",GMTSLEN=+GMTSPER,GMTSUNT=$E(GMTSPER,$L(GMTSPER))
|
---|
41 | I +GMTSLEN>0,GMTSUNT?1U,"DWMY"[GMTSUNT D
|
---|
42 | . S GMTSPX1=$$NOW^XLFDT
|
---|
43 | . S:GMTSUNT="D" GMTSDIF=GMTSLEN S:GMTSUNT="W" GMTSDIF=GMTSLEN*7
|
---|
44 | . S:GMTSUNT="M" GMTSDIF=GMTSLEN*30.4 S:GMTSUNT="Y" GMTSDIF=GMTSLEN*365.25
|
---|
45 | . S GMTSDIF=$P(GMTSDIF,".",1),GMTSPX2=$$FMADD^XLFDT(GMTSPX1,-(GMTSDIF))
|
---|
46 | S GMTSNOD=$P(GMTSR,U,5) S:+GMTSNOD>0 GMTSOBJ("SUPPRESS COMPONENTS")=""
|
---|
47 | S GMTSHDR=$P(GMTSR,U,6) S:+GMTSHDR>0 GMTSOBJ=""
|
---|
48 | S GMTSULB=$P(GMTSR,U,7) S:+GMTSULB>0 GMTSOBJ("USE LABEL")=""
|
---|
49 | S GMTSLBB=$P(GMTSR,U,8) S:+GMTSLBB>0 GMTSOBJ("LABEL BLANK LINE")=""
|
---|
50 | S GMTSRDT=$P(GMTSR,U,9) S:+GMTSRDT>0 GMTSOBJ("DATE LINE")=""
|
---|
51 | S GMTSCON=$P(GMTSR,U,10) S:+GMTSCON>0 GMTSOBJ("CONFIDENTIAL")=""
|
---|
52 | S GMTSRHD=$P(GMTSR,U,11) S:+GMTSRHD>0 GMTSOBJ("REPORT HEADER")=""
|
---|
53 | S GMTSCHD=$P(GMTSR,U,12) S:+GMTSCHD>0 GMTSOBJ("COMPONENT HEADER")=""
|
---|
54 | S GMTSUND=$P(GMTSR,U,13) S:+GMTSUND>0 GMTSOBJ("UNDERLINE")=""
|
---|
55 | S GMTSLIM=$P(GMTSR,U,14) S:+GMTSLIM>0 GMTSOBJ("LIMITS")=""
|
---|
56 | S GMTSBLK=$P(GMTSR,U,15) S:+GMTSBLK>0 GMTSOBJ("BLANK LINE")=""
|
---|
57 | S GMTSDEC=$P(GMTSR,U,16) S:+GMTSDEC>0 GMTSOBJ("DECEASED")=""
|
---|
58 | K:GMTSCHD'>0 GMTSOBJ("LIMITS"),GMTSOBJ("BLANK LINE")
|
---|
59 | K:+($G(GMTSHDR))'>0 GMTSOBJ S GMTSIOM=$G(IOM),IOM=80,GMTSOBJE=""
|
---|
60 | D ENX^GMTSDVR(DFN,GMTSTYP,GMTSPX2,GMTSPX1) S:+GMTSIOM>0 IOM=+GMTSIOM
|
---|
61 | Q
|
---|
62 | SP ; Suppress Headers
|
---|
63 | N GMTSL,GMTST,TXT S (GMTST,GMTSL)="" S:$L($G(GMTSLBL)) GMTSL=GMTSLBL
|
---|
64 | S:+($G(GMTSRDT))'>0 GMTSL=GMTSL_$J("",((72-$L(GMTSDTM))-$L(GMTSL)))_GMTSDTM
|
---|
65 | I $L(GMTSL)&(+($G(GMTSPLB))>0) D E("") S TXT="",TXT=$J(" ",7)_GMTSL D E(TXT)
|
---|
66 | I $L($G(GMTSLBL))&(+($G(GMTSPLB))>0)&(+($G(GMTSLBB))>0) D E("")
|
---|
67 | S GMTSL="" S:+($G(GMTSRDT))>0 GMTSL=$J("",(72-$L(GMTSDTM)))_GMTSDTM
|
---|
68 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
69 | S GMTSL="" S:GMTSCON>0 GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
|
---|
70 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
71 | S GMTSL="" S:GMTSRHD>0 GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
|
---|
72 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
73 | S GMTSL="" S:GMTSRHD>0 GMTSL=" "
|
---|
74 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
75 | S (GMTSL,GMTST)="" S:GMTSCHD'>0 GMTSL=GMTSDCN S:GMTSCHD>0 (GMTST,GMTSL)=GMTSDCH
|
---|
76 | S:GMTSCHD>0&(GMTSLIM)>0&($L(GMTSTIM)) (GMTST,GMTSL)=GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
|
---|
77 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
78 | S GMTSL="" S:+($G(GMTSUND))>0&($L(GMTST)) $P(GMTSL,"-",$L(GMTST))="-"
|
---|
79 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
80 | S GMTSL="" S:GMTSDEC>0 GMTSL=" ** DECEASED "_GMTSDED_" **"
|
---|
81 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
82 | S GMTSL="" S:GMTSBLK>0 GMTSL=" " S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
83 | S GMTSL="<component data>" S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
84 | W:'$D(GMTSEXT) !
|
---|
85 | Q
|
---|
86 | HS ; Health Summary Headers
|
---|
87 | N GMTSL,GMTST,TXT S GMTSL="" S:$L($G(GMTSLBL)) GMTSL=GMTSLBL
|
---|
88 | I $L(GMTSL)&(+($G(GMTSPLB))>0) D E(" ") S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
89 | D:$L(GMTSL)&(+($G(GMTSPLB))>0)&(+($G(GMTSLBB))>0) E(" ")
|
---|
90 | S GMTSL=$J("",(72-$L(GMTSDTM)))_GMTSDTM
|
---|
91 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
92 | S GMTSL="******************** CONFIDENTIAL HEALTH SUMMARY **********************"
|
---|
93 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
94 | S GMTSL="PATIENT NAME SSN-SSN-SSAN WARD/LOCATTION DATE OF BIRTH"
|
---|
95 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
96 | S GMTSL=" "_GMTSDCH_" (max 10 occurrences or "_GMTSTIM_")"
|
---|
97 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
98 | S GMTSL=" ** DECEASED "_GMTSDED_" **"
|
---|
99 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
100 | S GMTSL="<component data>"
|
---|
101 | S TXT="",TXT=TXT_$J(" ",7)_GMTSL D:$L(GMTSL) E(TXT)
|
---|
102 | W:'$D(GMTSEXT) !
|
---|
103 | Q
|
---|
104 | D(X) ; Display
|
---|
105 | I '$D(GMTSEXT) W !,$G(X) Q
|
---|
106 | N GMTSC S GMTSC=$G(GMTSARY("D",0))+1,GMTSARY("D",+GMTSC)=$G(X),GMTSARY("D",0)=GMTSC
|
---|
107 | Q
|
---|
108 | E(X) ; Example
|
---|
109 | I '$D(GMTSEXT) W !,$G(X) Q
|
---|
110 | N GMTSC S GMTSC=$G(GMTSARY("E",0))+1,GMTSARY("E",+GMTSC)=$G(X),GMTSARY("E",0)=GMTSC
|
---|
111 | Q
|
---|