| 1 | GMTSADH1 ;SLC/JER,MAM - Ad Hoc Summary Driver ; 09/21/2001
|
---|
| 2 | ;;2.7;Health Summary;**1,37,47**;Oct 20, 1995
|
---|
| 3 | ;
|
---|
| 4 | ; External References
|
---|
| 5 | ; DBIA 10026 ^DIR
|
---|
| 6 | ; DBIA 10140 EN^XQORM
|
---|
| 7 | ;
|
---|
| 8 | GETLIM ; Get Limits/Flags (external entry)
|
---|
| 9 | ;
|
---|
| 10 | ; Time
|
---|
| 11 | ; Occurrence
|
---|
| 12 | ; Selection Items
|
---|
| 13 | ; Hospital Location Display
|
---|
| 14 | ; ICD Text Display
|
---|
| 15 | ; Provider Narrative Display
|
---|
| 16 | ; CPT Modifier Display
|
---|
| 17 | ;
|
---|
| 18 | N LISTFLG,GMCHANGE,GMW,QUIT S GMCHANGE=0 D LIST
|
---|
| 19 | F S LISTFLG=0 D ASKCMPS Q:$D(QUIT)!$D(DIROUT)
|
---|
| 20 | Q
|
---|
| 21 | LIST ; Lists defaults for Ad Hoc Summary
|
---|
| 22 | S LISTFLG=1,GMCHANGE=0
|
---|
| 23 | W @IOF,!," Default Limits and Selection Items",!!
|
---|
| 24 | W " Component Occ Time Hosp ICD Prov CPT Selection",!
|
---|
| 25 | W " Limit Limit Loc Txt Narr Mod Item(s)",!
|
---|
| 26 | N FLG,DTOUT S FLG=0
|
---|
| 27 | LIST1 ; Called by GMTSUP to list components
|
---|
| 28 | ; FLG=1 for Ad Hoc Health Summary Type
|
---|
| 29 | ; FLG=2 for other Health Summary Types
|
---|
| 30 | N GMI,DIR,DUOUT,GMW S DIR(0)="E"
|
---|
| 31 | S GMI=0 F S GMI=$O(GMTSEG(GMI)) Q:GMI'>0 D SCRNLNTH Q:$D(DUOUT)!($D(DTOUT)) D LISTLIM D:($D(GMTSEG(GMI))=11)&('FLG) LISTSEL Q:$D(DUOUT)!($D(DTOUT))
|
---|
| 32 | Q
|
---|
| 33 | SCRNLNTH ; Checks screen length
|
---|
| 34 | I $Y>(IOSL-4) W ! D ^DIR S:$D(DTOUT) DIROUT="" Q:$D(DUOUT)!($D(DTOUT)) W @IOF
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | LISTLIM ; List Components and Limits for GMTSET() array
|
---|
| 38 | ; Component Abbreviation
|
---|
| 39 | ; Component Name
|
---|
| 40 | ; If not called by GMTSUP:
|
---|
| 41 | ; Time Limits
|
---|
| 42 | ; Occurrence Limits
|
---|
| 43 | ; Hospital Location
|
---|
| 44 | ; ICD Text
|
---|
| 45 | ; Provider Narrative
|
---|
| 46 | ; CPT Modifier
|
---|
| 47 | ;
|
---|
| 48 | N CREC S CREC=^GMT(142.1,$P(GMTSEG(GMI),U,2),0) W ! I FLG=2 D STAR
|
---|
| 49 | W $P(CREC,U,4),?5,$S($L($P(GMTSEG(GMI),U,5)):$P(GMTSEG(GMI),U,5),$L($P(CREC,U,9)):$P(CREC,U,9),1:$E($P(CREC,U),1,24))
|
---|
| 50 | W:'FLG ?28,$P(GMTSEG(GMI),U,3),?35,$P(GMTSEG(GMI),U,4)
|
---|
| 51 | W:'FLG ?42,$P(GMTSEG(GMI),U,6),?48,$E($P(GMTSEG(GMI),U,7),1,5)
|
---|
| 52 | W:'FLG ?53,$P(GMTSEG(GMI),U,8),?59,$P(GMTSEG(GMI),U,9)
|
---|
| 53 | Q
|
---|
| 54 | STAR ; Writes * to indicate added component when called by
|
---|
| 55 | ; GMTSUP for Health Summary Type other than AD HOC
|
---|
| 56 | I $D(^GMT(142,+($G(GMTSTYP)),1,"C",$P(GMTSEG(GMI),U,2))) W " "
|
---|
| 57 | E W "*"
|
---|
| 58 | Q
|
---|
| 59 | LISTSEL ; Lists default selection items
|
---|
| 60 | N GMW,GMJ,GML S GMJ=$O(GMTSEG(GMI,0)),GML=0
|
---|
| 61 | F GMW=1:1 S GML=$O(GMTSEG(GMI,GMJ,GML)) Q:GML="" D SCRNLNTH Q:$D(DUOUT)!($D(DTOUT)) W:GMW'=1 ! W ?64,$E($P(@(GMTSEG(GMI,GMJ,0)_GMTSEG(GMI,GMJ,GML)_",0)"),U),1,15)
|
---|
| 62 | Q
|
---|
| 63 | ASKCMPS ; Asks for components for new limits/sel items
|
---|
| 64 | N GMI,GMW,GMX,ASKCPQIT,DIC,X,XQORM,Y I LISTFLG D
|
---|
| 65 | . W !!,"To change limits, selection items, hospital location display, ICD"
|
---|
| 66 | . W !,"text display, provider narrative display, or CPT Modifiers, enter "
|
---|
| 67 | . W !,"components, one at a time or more than one, separated by commas."
|
---|
| 68 | . W !,"You may select new components if you wish."
|
---|
| 69 | S XQORM=GMTSTYP_";GMT(142,",XQORM("??")="D HELP^GMTSADH3"
|
---|
| 70 | S XQORM(0)="A",XQORM("A")="Select COMPONENT(S) to EDIT or other COMPONENT(S) to ADD: "
|
---|
| 71 | D EN^XQORM S:$D(DTOUT)!(X="^^") (DIROUT,QUIT)=1 I $D(DIROUT) Q
|
---|
| 72 | I +Y,(X?1"^^".E) G ASKCMPS
|
---|
| 73 | I $S(X="^":1,X=""&(GMCHANGE=0):1,1:0) S QUIT="" Q
|
---|
| 74 | I X="",GMCHANGE D ASKLIST Q
|
---|
| 75 | I X["^" W " ??" Q
|
---|
| 76 | S GMCHANGE=1,GMI=0 F S GMI=$O(Y(GMI)) Q:GMI="" S GMX=^GMT(142,+GMTSTYP,1,+Y(GMI),0) W !!,$P(Y(GMI),U,3) D CMPCOND Q:$D(DUOUT)!($D(DIROUT))
|
---|
| 77 | S:'$D(DIROUT) LISTFLG=1
|
---|
| 78 | Q
|
---|
| 79 | CMPCOND ; Checks component for new limits/sel items
|
---|
| 80 | N OLD,SBS,CREC,SREC,STRN,CPCDQIT S OLD=0 I $D(GMTSEGI($P(GMX,U,2))) S SBS=GMTSEGI($P(GMX,U,2)),OLD=1
|
---|
| 81 | S CREC=^GMT(142.1,$P(GMX,U,2),0)
|
---|
| 82 | I OLD=0 S GMTSEGC=GMTSEGC+1,SREC=GMX,STRN=+GMX D LOAD1^GMTSADH S SBS=GMJ
|
---|
| 83 | D CMPLIM^GMTSADH2
|
---|
| 84 | Q
|
---|
| 85 | ASKLIST ; Asks whether to relist Component
|
---|
| 86 | N DIR,X,Y S DIR(0)="YA",DIR("A")="Would you like to see Component Limits and Selection Items again? (Y/N): ",DIR("B")="NO" W !
|
---|
| 87 | D ^DIR I Y'>0,(GMCHANGE=1) S QUIT=1 Q
|
---|
| 88 | S:$D(DTOUT) DIROUT=1 I $D(DIROUT) Q
|
---|
| 89 | I $D(DIRUT),'$D(DUOUT) W " ??"
|
---|
| 90 | I $D(DIRUT)!(Y=0) Q
|
---|
| 91 | D LIST
|
---|
| 92 | Q
|
---|