| 1 | TIUHSL ;;SLC/AJB,AGP - Main List Manager for TIUHS ROutines; 10/25/02 | 
|---|
| 2 | ;;1.0;TEXT INTEGRATION UTILITIES;**135**;Jun 20, 1997 | 
|---|
| 3 | EN ; -- main entry point for TIUHSLSM | 
|---|
| 4 | N CENTER,GMTSHDR,GMTSN,POP,VALMBCK,VALMSG,X | 
|---|
| 5 | D EN^VALM("TIUHSLSM") | 
|---|
| 6 | Q | 
|---|
| 7 | ; | 
|---|
| 8 | HDR ; -- header code | 
|---|
| 9 | N CENTER,HEADER,TITLE,VALMHDR,VALMSG | 
|---|
| 10 | S TITLE="TIU Health Summary Object." | 
|---|
| 11 | S CENTER=(IOM-$L(TITLE))/2 | 
|---|
| 12 | S HEADER=$$SETSTR^VALM1(TITLE,"",CENTER,$L(TITLE)) | 
|---|
| 13 | S VALMHDR(1)=HEADER | 
|---|
| 14 | ;display help option | 
|---|
| 15 | S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions" | 
|---|
| 16 | D XQORM | 
|---|
| 17 | Q | 
|---|
| 18 | ; | 
|---|
| 19 | INIT ; -- init variables and list array | 
|---|
| 20 | N DIS,IEN,LINE,HSNAME,HSOBIEN,HSTYPE,NAME,NUM,TMP | 
|---|
| 21 | K TMP($J) | 
|---|
| 22 | S (LINE,NUM)=0 | 
|---|
| 23 | ; | 
|---|
| 24 | ;searches file 8925.1 for hs obj and places into temp array | 
|---|
| 25 | S IEN="" F  S IEN=$O(^TIU(8925.1,"AT","O",IEN)) Q:IEN=""  I $G(^TIU(8925.1,IEN,9))["GMTSOBJ" D | 
|---|
| 26 | .S NAME=$P($G(^TIU(8925.1,IEN,0)),U) | 
|---|
| 27 | .S HSOBIEN=$P($P($G(^TIU(8925.1,IEN,9)),",",2),")") | 
|---|
| 28 | .S HSTYPE=$P($G(^GMT(142.5,HSOBIEN,0)),U,3) | 
|---|
| 29 | .I $G(HSTYPE)'=""&($D(^GMT(142.5,HSOBIEN,0))>0) S HSTYPE=$$GET1^DIQ(142,HSTYPE,.01) | 
|---|
| 30 | .I $G(HSTYPE)="" S HSTYPE="No Health Summary Type Found" | 
|---|
| 31 | .S TMP($J,NAME)=IEN_U_HSTYPE | 
|---|
| 32 | ; | 
|---|
| 33 | ;sort temp array in alpha order and display output | 
|---|
| 34 | S NAME="" | 
|---|
| 35 | F  S NAME=$O(TMP($J,NAME)) Q:NAME=""  D | 
|---|
| 36 | .S IEN=$P(TMP($J,NAME),U) | 
|---|
| 37 | .S HSNAME=$P(TMP($J,NAME),U,2) | 
|---|
| 38 | .S LINE=LINE+1 | 
|---|
| 39 | .S NUM=NUM+1 | 
|---|
| 40 | .; | 
|---|
| 41 | .;set output display | 
|---|
| 42 | .S DIS=$$SETSTR^VALM1(NUM,"",1,5) | 
|---|
| 43 | .S DIS=$$SETSTR^VALM1(NAME,DIS,6,37) | 
|---|
| 44 | .S DIS=$$SETSTR^VALM1(HSNAME,DIS,40,40) | 
|---|
| 45 | .D SET^VALM10(LINE,DIS,IEN) | 
|---|
| 46 | S VALMCNT=LINE | 
|---|
| 47 | K TMP($J) | 
|---|
| 48 | Q | 
|---|
| 49 | ; | 
|---|
| 50 | CREATE ; | 
|---|
| 51 | ;call to tiuhsobj | 
|---|
| 52 | D CLEAN^VALM10 | 
|---|
| 53 | D FULL^VALM1 | 
|---|
| 54 | D CREATE^TIUHSOBJ | 
|---|
| 55 | D INIT | 
|---|
| 56 | S VALMBCK="R" | 
|---|
| 57 | Q | 
|---|
| 58 | EDIT ; | 
|---|
| 59 | ;lst man function to allow user to select protocal and line item in one command i.e. det=3 | 
|---|
| 60 | ; | 
|---|
| 61 | N HSOBJ,SEL,TRUE,Y | 
|---|
| 62 | S TRUE=0 | 
|---|
| 63 | S SEL=$P(XQORNOD(0),"=",2) | 
|---|
| 64 | I $A($E(SEL,$L(SEL)))<48!($A($E(SEL,$L(SEL)))>57) S SEL=$E(SEL,1,$L(SEL)-1) | 
|---|
| 65 | I SEL["," D  Q | 
|---|
| 66 | .W $C(7),!,"Only one item number allowed." H 2 | 
|---|
| 67 | .S VALMBCK="R" | 
|---|
| 68 | I SEL="" D | 
|---|
| 69 | .W !,"Select Entry:  (1-"_VALMLST_") " R SEL:DTIME | 
|---|
| 70 | .I '$T!(SEL=U)!(SEL="") S TRUE=1 | 
|---|
| 71 | I TRUE=1 Q | 
|---|
| 72 | I 'SEL!(SEL>VALMCNT)!('$D(@VALMAR@("IDX",SEL))) D  Q | 
|---|
| 73 | .W $C(7),!,SEL_" is not a valid item number." H 2 | 
|---|
| 74 | .S VALMBCK="R" | 
|---|
| 75 | S Y=$O(@VALMAR@("IDX",SEL,"")) | 
|---|
| 76 | D CLEAN^VALM10 | 
|---|
| 77 | D EN^TIUHSV(+Y) | 
|---|
| 78 | D CLEAN^VALM10 | 
|---|
| 79 | D INIT | 
|---|
| 80 | Q | 
|---|
| 81 | ; | 
|---|
| 82 | EDITHSO ; | 
|---|
| 83 | ;lst man function to allow user to select protocal and line item in one command i.e. det=3 | 
|---|
| 84 | ; | 
|---|
| 85 | N HSOBJ,IEN,OBJMETD,SEL,TRUE,Y,YESNO | 
|---|
| 86 | S TRUE=0 | 
|---|
| 87 | S SEL=$P(XQORNOD(0),"=",2) | 
|---|
| 88 | I $A($E(SEL,$L(SEL)))<48!($A($E(SEL,$L(SEL)))>57) S SEL=$E(SEL,1,$L(SEL)-1) | 
|---|
| 89 | I SEL["," D  Q | 
|---|
| 90 | .W $C(7),!,"Only one item number allowed." H 2 | 
|---|
| 91 | .S VALMBCK="R" | 
|---|
| 92 | I SEL="" D | 
|---|
| 93 | .W !,"Select Entry:  (1-"_VALMLST_") " R SEL:DTIME | 
|---|
| 94 | .I '$T!(SEL=U)!(SEL="") S TRUE=1 | 
|---|
| 95 | I TRUE=1 Q | 
|---|
| 96 | I 'SEL!(SEL>VALMCNT)!('$D(@VALMAR@("IDX",SEL))) D  Q | 
|---|
| 97 | .W $C(7),!,SEL_" is not a valid item number." H 2 | 
|---|
| 98 | .S VALMBCK="R" | 
|---|
| 99 | S Y=$O(@VALMAR@("IDX",SEL,"")) | 
|---|
| 100 | S IEN=+Y | 
|---|
| 101 | S OBJMETD=^TIU(8925.1,IEN,9) | 
|---|
| 102 | S HSOBJ=$P($P($G(OBJMETD),",",2),")") | 
|---|
| 103 | S YESNO="Y" | 
|---|
| 104 | I $D(^GMT(142.5,HSOBJ,0))=0 D | 
|---|
| 105 | . W !,"No HS Object found. Create new HS Object now?" | 
|---|
| 106 | . S DIR(0)="YA0" | 
|---|
| 107 | . S DIR("B")="NO" | 
|---|
| 108 | . S DIR("?")="Enter Y or N. For detailed help type ??" | 
|---|
| 109 | . D ^DIR | 
|---|
| 110 | . I $D(DIROUT) S DTOUT=1 | 
|---|
| 111 | . I $D(DTOUT)!($D(DUOUT)) S YESNO="N" Q | 
|---|
| 112 | . S YESNO=$E(Y(0)) | 
|---|
| 113 | . I YESNO="Y" S HSOBJ=$$CRE^GMTSOBJ() | 
|---|
| 114 | I $G(YESNO)="Y"&(HSOBJ>0) D | 
|---|
| 115 | . S ^TIU(8925.1,IEN,9)="S X=$$TIU^GMTSOBJ(DFN,"_HSOBJ_")" | 
|---|
| 116 | . D EN^TIUHSOLM(HSOBJ,IEN) | 
|---|
| 117 | D CLEAN^VALM10 | 
|---|
| 118 | D INIT | 
|---|
| 119 | Q | 
|---|
| 120 | FIND ; | 
|---|
| 121 | S DIC=8925.1,DIC("A")="Enter OBJECT NAME:  " | 
|---|
| 122 | ; | 
|---|
| 123 | ; DIC(0)="ABEOQ" a=ask user for input, b=use b xref only | 
|---|
| 124 | ;                e=echo    o=only find 1 if exact match | 
|---|
| 125 | ;                q=question erroneous input | 
|---|
| 126 | ; | 
|---|
| 127 | ; DIC("S") ensures IEN is greater or equal to 1 and will only | 
|---|
| 128 | ; lookup objects that contain the health summary object routine | 
|---|
| 129 | ; | 
|---|
| 130 | S DIC(0)="ABEOQ",DIC("S")="I Y'<1,$G(^TIU(8925.1,+Y,9))[""GMTSOBJ""" | 
|---|
| 131 | W ! D ^DIC I Y=-1 K DIC Q | 
|---|
| 132 | D EN^TIUHSV(+Y) | 
|---|
| 133 | K DIC | 
|---|
| 134 | Q | 
|---|
| 135 | ; | 
|---|
| 136 | LSEXIT ; | 
|---|
| 137 | ;display help option | 
|---|
| 138 | N VALMSG | 
|---|
| 139 | S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions" | 
|---|
| 140 | D XQORM | 
|---|
| 141 | Q | 
|---|
| 142 | ; | 
|---|
| 143 | XQORM ; | 
|---|
| 144 | S XQORM("#")=$O(^ORD(101,"B","TIUHS EDIT",0))_U_"1:"_VALMCNT | 
|---|
| 145 | S XQORM("A")="Select Action: " | 
|---|
| 146 | Q | 
|---|
| 147 | ; | 
|---|
| 148 | HELP ; -- help code | 
|---|
| 149 | N X | 
|---|
| 150 | S X="?" D DISP^XQORM1 W !! | 
|---|
| 151 | Q | 
|---|
| 152 | ; | 
|---|
| 153 | EXIT ; -- exit code | 
|---|
| 154 | Q | 
|---|
| 155 | ; | 
|---|
| 156 | EXPND ; -- expand code | 
|---|
| 157 | Q | 
|---|
| 158 | ; | 
|---|