1 | GMTSLOAD ;SLC/JER - Loads Ad Hoc Summary Type ; 02/27/2002
|
---|
2 | ;;2.7;Health Summary;**23,30,36,37,49**;Oct 20, 1995
|
---|
3 | ;
|
---|
4 | ; External References
|
---|
5 | ; DBIA 10026 ^DIR
|
---|
6 | ; DBIA 10141 BMES^XPDUTL
|
---|
7 | ; DBIA 10141 MES^XPDUTL
|
---|
8 | ;
|
---|
9 | MAIN ; Controls branching and execution
|
---|
10 | N DIC,DIROUT,DIRUT,DIR,GMI,GMW,GMTJ,GMTNM,GMTSEG,GMTSFUNC,GMTSI,GMTSIFN,GMTSWHL,INCLUDE,S2,X,Y
|
---|
11 | W !!,"This option rebuilds the Ad Hoc Health Summary to include ALL components",!
|
---|
12 | W "alphabetized by name. If you wish, you may exclude DISABLED components.",!
|
---|
13 | S DIR(0)="Y",DIR("A")="Do you wish to continue",DIR("B")="NO",DIR("?")="Answer ""Y"" or ""N"", ""NO"" to exit this option."
|
---|
14 | D ^DIR Q:Y=0 W !
|
---|
15 | I $S($D(DIRUT):1,$D(DIROUT):1,1:0) Q
|
---|
16 | S DIR("?")="Answer ""Y"" or ""N"", ""YES"" to include DISABLED components."
|
---|
17 | S DIR("A")="Should DISABLED components be included",DIR("B")="YES"
|
---|
18 | D ^DIR
|
---|
19 | I $S($D(DIRUT):1,$D(DIROUT):1,1:0) Q
|
---|
20 | S INCLUDE=Y
|
---|
21 | ENPOST ; Entry point from Post-init
|
---|
22 | ; Call with INCLUDE=0 to exclude DISABLED components
|
---|
23 | ; Call with INCLUDE=1 to include DISABLED components
|
---|
24 | N NEWREC,GMTSTYP,DLAYGO
|
---|
25 | S DLAYGO=142
|
---|
26 | S DIC=142,DIC(0)="LXF",X="GMTS HS ADHOC OPTION" S Y=$$TYPE^GMTSULT K DIC
|
---|
27 | I +Y'>0 D NOFILE Q
|
---|
28 | S (GMTSIFN,GMTSTYP)=+Y,NEWREC=+$P(Y,U,3)
|
---|
29 | S:'$D(^GMT(142,GMTSIFN,1,0)) ^(0)="^142.01IA^0^0"
|
---|
30 | S GMTNM="" F GMI=1:1 S GMTNM=$O(^GMT(142.1,"B",GMTNM)) Q:GMTNM']"" S GMTJ=$O(^(GMTNM,0)) Q:GMTJ'>0 D LOAD
|
---|
31 | S GMTSI=0 I 'NEWREC F S GMTSI=$O(^GMT(142,GMTSIFN,1,GMTSI)) Q:GMTSI'>0 D PURGE^GMTSRN
|
---|
32 | D BMES^XPDUTL(" Rebuilding Ad Hoc Summary")
|
---|
33 | D RNMBR^GMTSRN
|
---|
34 | D MES^XPDUTL(" Done")
|
---|
35 | Q
|
---|
36 | NOFILE ; GMTS HS ADHOC OPTION Summary Type is missing
|
---|
37 | D MES^XPDUTL(" ")
|
---|
38 | D BMES^XPDUTL("** GMTS AD HOC OPTION Summary Type is missing **")
|
---|
39 | Q
|
---|
40 | ;
|
---|
41 | LOAD ; Loads GMTSEG(GMI)=Sequence ^ Component ^ Occurrence Limit ^
|
---|
42 | ; Time Limit ^^ Hospital Location ^ ICD Text Displayed ^
|
---|
43 | ; Provider Narratived Displayed ^ CPT Modifier Displayed
|
---|
44 | ;
|
---|
45 | ; Needs GMTJ Pointer to Component 142.1
|
---|
46 | ; GMTSTYP Pointer to Type 142
|
---|
47 | ; GMI Pointer to Structure 142.01 in GMTSEG(GMI)
|
---|
48 | ;
|
---|
49 | N COMP,TYPE,OCC,TIME,GMSEQ,HOSPLOC,ICDTEXT,PROVNARR,CPTMOD
|
---|
50 | Q:'$D(^GMT(142.1,GMTJ,0))
|
---|
51 | S GMSEQ=$O(^GMT(142,"AE",GMTJ,GMTSTYP,0))
|
---|
52 | I GMSEQ>0 D
|
---|
53 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,5),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,3)
|
---|
54 | . S OCC=$S(COMP="Y":TYPE,1:"")
|
---|
55 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,3),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,4)
|
---|
56 | . S TIME=$S(COMP="Y":TYPE,1:"")
|
---|
57 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,10),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,6)
|
---|
58 | . S HOSPLOC=$S(COMP="Y":TYPE,1:"")
|
---|
59 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,11),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,7)
|
---|
60 | . S ICDTEXT=$S(COMP="Y":TYPE,1:"")
|
---|
61 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,12),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,8)
|
---|
62 | . S PROVNARR=$S(COMP="Y":TYPE,1:"")
|
---|
63 | . S COMP=$P($G(^GMT(142.1,GMTJ,0)),U,14),TYPE=$P($G(^GMT(142,GMTSTYP,1,GMSEQ,0)),U,9)
|
---|
64 | . S CPTMOD=$S((COMP="Y"&(TYPE'="N")):"Y",(COMP="Y"&(TYPE="N")):"N",1:"")
|
---|
65 | E D
|
---|
66 | . S OCC=$S($P(^GMT(142.1,GMTJ,0),U,5)="Y":10,1:"")
|
---|
67 | . S TIME=$S($P(^GMT(142.1,GMTJ,0),U,3)="Y":"1Y",1:"")
|
---|
68 | . S HOSPLOC=$S($P(^GMT(142.1,GMTJ,0),U,10)="Y":"Y",1:"")
|
---|
69 | . S ICDTEXT=$S($P(^GMT(142.1,GMTJ,0),U,11)="Y":"L",1:"")
|
---|
70 | . S PROVNARR=$S($P(^GMT(142.1,GMTJ,0),U,12)="Y":"Y",1:"")
|
---|
71 | . S CPTMOD=$S($P(^GMT(142.1,GMTJ,0),U,14)="Y":"Y",1:"")
|
---|
72 | D SETSEG
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | SETSEG ; Set Segment
|
---|
76 | ; GMTSEG(GMI)
|
---|
77 | S GMI=+($G(GMI)) Q:GMI=0 N OFF S OFF=$S($P(^GMT(142.1,GMTJ,0),U,6)="P":1,$P(^(0),U,6)="T":1,1:0)
|
---|
78 | I (+($G(INCLUDE))=0),(OFF=1) Q
|
---|
79 | S GMTSEG(GMI)=(5*GMI)_U_GMTJ_U_OCC_U_TIME_U_U_HOSPLOC_U_ICDTEXT_U_PROVNARR_U_CPTMOD
|
---|
80 | I GMSEQ>0 D SETSEL
|
---|
81 | Q
|
---|
82 | SETSEL ; Sets up selection items
|
---|
83 | ; GMTSEG(GMI,GMSEL)=Selection item
|
---|
84 | N GMSEL,GMITEM,GMW,S2
|
---|
85 | S GMSEL=0 F S GMSEL=$O(^GMT(142,GMTSTYP,1,+GMSEQ,1,GMSEL)) Q:GMSEL'>0 S GMITEM=^(GMSEL,0) S GMTSEG(GMI,GMSEL)=GMITEM
|
---|
86 | Q
|
---|