Changeset 623 for WorldVistAEHR/trunk/r/EVENT_CAPTURE-EC--ECT--ECX
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (15 years ago)
- Location:
- WorldVistAEHR/trunk/r/EVENT_CAPTURE-EC--ECT--ECX
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/EVENT_CAPTURE-EC--ECT--ECX/ECRRPT.m
r613 r623 1 ECRRPT 2 ;;2.0; EVENT CAPTURE ;**25,32,41,56,61,82,94**;8 May 96;Build 4 3 4 REQCHK(ECV) 5 6 7 8 9 10 11 DATECHK(ECSD,ECED) 12 13 14 15 16 17 18 19 QUEUE 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ECPAT 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ECRDSSU 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 . . K DIC S DIC=724,DIC(0)="QNZX",X=@ECX D ^DIC I Y<0 Q77 78 79 80 81 82 83 84 85 86 87 PROSUM 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 ECPROV 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 ECOSSUM 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 ECPCER 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 1 ECRRPT ;ALB/JAM;Event Capture Report RPC Broker ;Jan 2, 2001 2 ;;2.0; EVENT CAPTURE ;**25,32,41,56,61,82**;8 May 96 3 ; 4 REQCHK(ECV) ;Required data check 5 N I,C 6 S C=1 7 F I=1:1:$L(ECV,U) I '$D(@$P(ECV,U,I)) D 8 . S ^TMP("ECMSG",$J,C)="0^Required data missing "_$P(ECV,U,I) 9 . S C=C+1,ECERR=1 10 Q 11 DATECHK(ECSD,ECED) ;Check human format date and converts to FileMan format 12 ; Input ECSD - Start Date (ex. 10/9/01) 13 ; ECED - End Date 14 N ECI,X,Y 15 S %DT="X" F ECI="ECSD","ECED" S X=@ECI D ^%DT S @ECI=Y 16 S ECSD=$S(ECSD=-1:DT,1:ECSD),ECED=$S(ECED=-1:DT,1:ECED) 17 S ECDATE=$$FMTE^XLFDT(ECSD)_"^"_$$FMTE^XLFDT(ECED) 18 Q 19 QUEUE ;Queues report to printer 20 N ZTIO,ZTDESC,ZTRTN,ZTDTH,ZTSAVE,%ZIS,I,IOP,POP 21 S XNAM=$P($G(^%ZIS(1,ECDEV,0)),U,2) 22 S IOP="Q;`"_ECDEV,%ZIS="Q" D ^%ZIS I POP D Q 23 . ;S IOP="Q;"_XNAM,%ZIS="Q" D ^%ZIS I POP D Q 24 . S ^TMP("ECMSG",$J,1)="0^Device selection unsuccessful" 25 S ZTIO=ION,ZTDESC=ECDESC,ZTRTN=ECROU 26 S ZTDTH=$$FMTH^XLFDT(ECQDT) 27 ;D NOW^%DTC S ZTDTH=$S(%'<ECQDT:%+.0002,1:ECQDT) 28 F I=1:1:$L(ECV,U) I $D(@$P(ECV,U,I)) S ZTSAVE($P(ECV,U,I))="" 29 M ZTSAVE=ECSAVE 30 D ^%ZTLOAD,HOME^%ZIS,^%ZISC ;K IO("Q") 31 I $D(ZTSK) S ^TMP("ECMSG",$J)="1^Report queued. Task #"_ZTSK Q 32 S ^TMP("ECMSG",$J)="0^Task Rejected" 33 Q 34 ; 35 ECPAT ;Patient Summary Report for RPC Call 36 ; Variables passed in 37 ; ECDFN - Patient IEN for file #2 38 ; ECSD - Start Date or Report 39 ; ECED - End Date or Report 40 ; ECRY - Print Procedure Reason (optional) 41 ; 42 ; Variable return 43 ; ^TMP($J,"ECRPT",n)=report output or to print device. 44 N ECDATE,ECPAT,ECV,DIC,X,Y,ECROU,ECDESC 45 S ECV="ECDFN^ECSD^ECED" D REQCHK(ECV) I ECERR Q 46 S DIC=2,DIC(0)="QNMZX",X=ECDFN D ^DIC Q:Y<0 S ECPAT=$P(Y,U,2) 47 D DATECHK(.ECSD,.ECED) 48 S ECSD=ECSD-.0001,ECED=ECED+.9999 49 I $E($G(ECRY))'="Y" K ECRY 50 I ECPTYP="P" D Q 51 . S ECV="ECDFN^ECPAT^ECDATE^ECSD^ECED^ECRY",ECROU="SUM^ECPAT" 52 . S ECDESC="EVENT CAPTURE PATIENT SUMMARY" 53 . D QUEUE 54 D SUM^ECPAT 55 Q 56 ECRDSSU ;DSS Unit Workload Summary Report 57 ; Variables passed in 58 ; ECL - Location to report (1 or ALL) 59 ; ECD - DSS Unit to report (1, some or ALL) 60 ; ECSD - Start Date or Report 61 ; ECED - End Date or Report 62 ; ECDUZ - User IEN from file (#200) 63 ; 64 ; Variable return 65 ; ^TMP($J,"ECRPT",n)=report output or to print device. 66 N ECLOC,ECDSSU,ECV,ECI,ECSTDT,ECENDDT,ECKEY,ECROU,ECSAVE,ECDESC,ECNT 67 N ECDATE,ECX,DUZ,DIC,X,Y 68 S ECV="ECL^ECD0^ECSD^ECED^ECDUZ" D REQCHK(ECV) I ECERR Q 69 D I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location." Q 70 . I ECL="ALL" D LOCARRY^ECRUTL Q 71 . S DIC=4,DIC(0)="QNZX",X=ECL D ^DIC Q:Y<0 S ECLOC(1)=+Y_"^"_$P(Y,U,2) 72 D I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q 73 . I ECD0="ALL" D Q 74 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0),DUZ=ECDUZ D ALLU^ECRUTL 75 . S (ECI,ECNT)=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX) D 76 . . K DIC S DIC=724,DIC(0)="QNMZX",X=@ECX D ^DIC I Y<0 Q 77 . . S ECNT=ECNT+1,ECDSSU(ECNT)=Y 78 D DATECHK(.ECSD,.ECED) 79 S ECSTDT=ECSD-.0001,ECENDDT=ECED+.9999 80 I ECPTYP="P" D Q 81 . S ECV="ECDATE^ECSTDT^ECENDDT",ECROU="STRPT^ECRDSSU" 82 . S (ECSAVE("ECLOC("),ECSAVE("ECDSSU("))="" 83 . S ECDESC="DSS UNIT WORKLOAD SUMMARY REPORT" 84 . D QUEUE 85 D STRPT^ECRDSSU 86 Q 87 PROSUM ;Provider (1-3) Summary Report for RPC Call 88 ; Variables passed in 89 ; ECU - Provider IEN for file #200 90 ; ECSD - Start Date or Report 91 ; ECED - End Date or Report 92 ; ECRY - Print Procedure Reason (optional) 93 ; 94 ; Variable return 95 ; ^TMP($J,"ECRPT",n)=report output or to print device. 96 N ECV,ECDATE,ECUN,ECROU,ECDESC,DIC,X,Y 97 S ECV="ECU^ECSD^ECED" D REQCHK(ECV) I ECERR Q 98 S DIC=200,DIC(0)="QNZX",X=ECU D ^DIC D:Y<0 Q:Y<0 S ECUN=$P(Y,U,2) 99 . S ^TMP("ECMSG",$J)="1^Invalid Provider." 100 D DATECHK(.ECSD,.ECED) 101 I ECRY'="Y" K ECRY 102 I ECPTYP="P" D Q 103 . S ECV="ECU^ECUN^ECDATE^ECSD^ECED^ECRY" 104 . S ECROU="EN^ECPRSUM1",ECDESC="Event Capture Provider Summary" 105 . D QUEUE 106 D EN^ECPRSUM1 107 Q 108 ECPROV ;Provider Summary Report for RPC Call 109 ; Variables passed in 110 ; ECL - Location to report (1 or ALL) 111 ; ECD - DSS Unit to report (1 or ALL) 112 ; ECSD - Start Date or Report 113 ; ECED - End Date or Report 114 ; ECRY - Print Procedure Reason (optional) 115 ; ECDUZ - User DUZ (ien in #200) 116 ; 117 ; Variable return 118 ; ^TMP($J,"ECRPT",n)=report output or to print device. 119 N ECV,ECDN,ECDATE,ECLN,ECSAVE,ECDESC,ECROU,DIC,X,Y,CNT,UNIT 120 S ECDN="ALL",ECV="ECL^ECD^ECSD^ECED^ECDUZ" D REQCHK(ECV) I ECERR Q 121 I ECL'="ALL" D I ECERR Q 122 . ;The line below was changed by VMP for NOIS ANN-1003-42305 123 . S DIC=4,DIC(0)="QNZX",X=ECL D ^DIC D:Y<0 Q:Y<0 S ECLN=$P(Y,U,2) 124 . . S ^TMP("ECMSG",$J)="1^Invalid Location.",ECERR=1 125 I ECD'="ALL" K DIC D I ECERR Q 126 . S DIC=724,DIC(0)="QNMZX",X=ECD D ^DIC D:Y<0 Q:Y<0 S ECDN=$P(Y,U,2) 127 . . S ^TMP("ECMSG",$J)="1^Invalid Location.",ECERR=1 128 I ECD="ALL",'$D(^XUSEC("ECALLU",ECDUZ)) D 129 . S (ECD,ECDN)="SOME",(X,CNT)=0 130 . F S X=$O(^VA(200,ECDUZ,"EC",X)) Q:'X D 131 . . S CNT=CNT+1,UNIT=$P(^VA(200,ECDUZ,"EC",X,0),"^") 132 . . S UNIT(CNT)=UNIT_"^"_$P(^ECD(UNIT,0),"^") 133 I $E($G(ECRY))'="Y" K ECRY 134 D DATECHK(.ECSD,.ECED) 135 S ECSD=ECSD-.0001,ECED=ECED+.9999 S:'$D(UNIT) UNIT="" 136 I ECPTYP="P" D Q 137 . S ECV="ECDATE^ECSD^ECED^ECRY",ECROU="START^ECPROV2" 138 . S (ECSAVE("ECL*"),ECSAVE("ECD*"),ECSAVE("UNIT*"))="" 139 . S ECDESC="EVENT CAPTURE PROVIDER SUMMARY" 140 . D QUEUE 141 U IO D START^ECPROV2 142 Q 143 ECOSSUM ;Ordering Section Summary Report for RPC Call 144 ; Variables passed in 145 ; ECOS - Ordering Section 146 ; ECSD - Start Date or Report 147 ; ECED - End Date or Report 148 ; ECL - Location to report (1 or ALL) 149 ; ECD - DSS Unit to report (1, some or ALL) 150 ; ECDUZ - User ien (#200) 151 ; 152 ; Variable return 153 ; ^TMP($J,"ECRPT",n)=report output or to print device. 154 N ECV,ECI,ECOSN,ECLOC,ECDSSU,ECDATE,ECNT,ECSAVE,ECROU,ECDESC,DUZ,DIC,X,Y 155 S ECV="ECOS^ECL^ECD0^ECSD^ECED^ECDUZ" D REQCHK(ECV) I ECERR Q 156 S DIC=723,DIC(0)="QNMZX",X=ECOS D ^DIC D:Y<0 Q:Y<0 S ECOSN=$P(Y,U,2) 157 . S ^TMP("ECMSG",$J)="1^Invalid Ordering Section.",ECERR=1 158 D I '$D(ECLOC) S ^TMP("ECMSG",$J)="1^Invalid Location.",ECERR=1 Q 159 . K DIC I ECL="ALL" D LOCARRY^ECRUTL Q 160 . S DIC=4,DIC(0)="QNZX",X=ECL D ^DIC Q:Y<0 S ECLOC(1)=+Y_"^"_$P(Y,U,2) 161 D I '$D(ECDSSU) S ^TMP("ECMSG",$J)="1^Invalid DSS Unit." Q 162 . I ECD0="ALL" D Q 163 . . S ECKEY=$S($D(^XUSEC("ECALLU",ECDUZ)):1,1:0),DUZ=ECDUZ D ALLU^ECRUTL 164 . S (ECI,ECNT)=0 F ECI=0:1 S ECX="ECD"_ECI Q:'$D(@ECX) D 165 . . K DIC S DIC=724,DIC(0)="QNMZX",X=@ECX D ^DIC I Y<0 Q 166 . . S ECNT=ECNT+1,ECDSSU(ECNT)=Y 167 D DATECHK(.ECSD,.ECED) 168 S ECSD=ECSD-.0001,ECED=ECED+.9999 169 I ECPTYP="P" D Q 170 . S ECV="ECOS^ECSD^ECED^ECOSN",ECROU="START^ECOSSUM" 171 . S (ECSAVE("ECLOC("),ECSAVE("ECDSSU("))="" 172 . S ECDESC="EC Ordering Section Summary" 173 . D QUEUE 174 D START^ECOSSUM 175 Q 176 ECPCER ;PCE Data Summary Report for RPC Call 177 ; Variables passed in 178 ; ECDFN - Patient IEN for file #2 179 ; ECSD - Start Date or Report 180 ; ECED - End Date or Report 181 ; 182 ; Variable return 183 ; ^TMP($J,"ECRPT",n)=report output or to print device. 184 N ECV,ECDATE,ECPAT,ECROU,ECDESC,X,DIC,Y 185 S ECV="ECDFN^ECSD^ECED" D REQCHK(ECV) I ECERR Q 186 S DIC=2,DIC(0)="QNMZX",X=ECDFN D ^DIC D:Y<0 Q:Y<0 S ECPAT=$P(Y,U,2) 187 . S ^TMP("ECMSG",$J)="1^Invalid Provider." 188 D DATECHK(.ECSD,.ECED) 189 S ECSD=ECSD-.0001,ECED=ECED+.9999 190 I ECPTYP="P" D Q 191 . S ECV="ECDFN^ECPAT^ECDATE^ECSD^ECED",ECROU="SUM^ECPCER" 192 . S ECDESC="ECS/PCE PATIENT SUMMARY" 193 . D QUEUE 194 D SUM^ECPCER 195 Q -
WorldVistAEHR/trunk/r/EVENT_CAPTURE-EC--ECT--ECX/ECUMRPC1.m
r613 r623 1 ECUMRPC1 ;ALB/JAM-Event Capture Management Broker Utilities ;28 Nov 00 2 ;;2.0; EVENT CAPTURE ;**25,30,33,72,94**;8 May 96;Build 4 3 ; 4 DSSUNT(RESULTS,ECARY) ; 5 ; 6 ;This broker entry point returns DSS units from file 724 7 ; RPC: EC GETDSSUNIT 8 ;INPUTS ECARY - Contains the following subscripted elements 9 ; STAT - Active or inactive DSS Units (optional) 10 ; A-ctive (default), I-nactive, B-oth 11 ; 12 ;OUTPUTS RESULTS - Array of DSS units. Data pieces as follows:- 13 ; PIECE - Description 14 ; 1 IEN of DSS Unit 15 ; 2 Name of DSS Unit 16 ; 3 Service 17 ; 4 Medical Specialty 18 ; 5 Cost Center 19 ; 6 Unit Number 20 ; 7 Inactive Flag 21 ; 8 Associated Stop code (if not sending to PCE) 22 ; 9 Category flag 23 ; 10 Default date entry 24 ; 11 Send to PCE Flag 25 ; 26 N UNT,STAT,CNT,CAT,NODE,ECS,STR,SRV,MED,CST,UNO,INACT,ASC,PCE,ACT,NODE 27 N DFD 28 D SETENV^ECUMRPC 29 K ^TMP($J,"ECDSSUNT") 30 S STAT=$P($G(ECARY),U),(CNT,UNT)=0 S:STAT="" STAT="A" 31 F S UNT=$O(^ECD(UNT)) Q:'UNT S NODE=$G(^ECD(UNT,0)) I NODE'="" D 32 . S ECS=$P(NODE,U,8),ACT=$P(NODE,U,6),ACT=$S(ACT:1,1:0) 33 . Q:'ECS I $S(STAT="A"&(ACT):1,STAT="I"&('ACT):1,1:0) Q 34 . S CNT=CNT+1,CAT=$P(NODE,U,11),CAT=$S(CAT:"Y",1:"N"),UNO=$P(NODE,U,5) 35 . S SRV=$$GET1^DIQ(49,$P(NODE,U,2),.01,"I") 36 . S MED=$$GET1^DIQ(723,$P(NODE,U,3),.01,"I") 37 . S CST=$$GET1^DIQ(420.1,$P(NODE,U,4),.01,"I") 38 . S INACT=$P(NODE,U,6),INACT=$S(INACT:"I",1:"A"),ASC=$P(NODE,U,10) 39 . S:ASC ASC=$$GET1^DIQ(40.7,ASC,.01,"I") 40 . S DFD=$S($P(NODE,U,12)="N":"N",1:"X"),PCE=$P(NODE,U,14) 41 . S PCE=$S(PCE="A":PCE,PCE="O":PCE,1:"N") 42 . S STR=UNT_U_$P(NODE,U)_U_SRV_U_MED_U_CST_U_UNO_U_INACT_U_ASC_U_CAT 43 . S STR=STR_U_DFD_U_PCE,^TMP($J,"ECDSSUNT",CNT)=STR 44 S RESULTS=$NA(^TMP($J,"ECDSSUNT")) 45 Q 46 CAT(RESULTS,ECARY) ; 47 ; 48 ;This broker entry point returns a list of categories from file 726 49 ; RPC: EC GETCAT 50 ;INPUTS ECARY - Contains the following subscripted elements 51 ; STAT - Active or inactive category (optional) 52 ; A-ctive (default), I-nactive, B-oth 53 ; 54 ;OUTPUTS RESULTS - Array of category. Data pieces as follows:- 55 ; PIECE - Description 56 ; 1 IEN of Category 57 ; 2 Name of Category 58 ; 3 Creation Date 59 ; 4 Inactive Date 60 ; 61 N STAT,CNT,CAT,NODE,ECDT,INDT,CRDT 62 D SETENV^ECUMRPC 63 K ^TMP($J,"ECCAT") 64 S STAT=$P($G(ECARY),U),(CNT,CAT)=0 S:STAT="" STAT="A" 65 F S CAT=$O(^EC(726,CAT)) Q:'CAT S NODE=$G(^EC(726,CAT,0)) I NODE'="" D 66 . S ECDT=$P(NODE,U,3) 67 . I STAT="A",ECDT'="",ECDT'>DT Q 68 . I STAT="I",ECDT="" Q 69 . S CRDT=$$FMTE^XLFDT($P(NODE,U,2),"2F") 70 . S INDT=$$FMTE^XLFDT($P(NODE,U,3),"2F") 71 . ;S CNT=CNT+1,^TMP($J,"ECCAT",CNT)=CAT_U_$P(NODE,U)_U_CRDT_U_INDT 72 . S CNT=CNT+1,^TMP($J,"ECCAT",CNT)=CAT_U_$P(NODE,U)_U_$P(CRDT,"@",1)_U_$P(INDT,"@",1) 73 S RESULTS=$NA(^TMP($J,"ECCAT")) 74 Q 75 ; 76 CATCHK(RESULTS,ECARY) ; 77 ; 78 ;Broker call checks whether category is used in an Event Code Screen. 79 ; RPC: EC DSSCATCHECK 80 ;INPUTS ECARY - Contains the following subscripted elements 81 ; ECDA - DSS Unit ien (file #724) 82 ; 83 ;OUTPUTS RESULTS - Category used in Event Code Screen, 1-Yes or 0-No 84 ; 85 N ECDA,ECFLG,ECX 86 D SETENV^ECUMRPC 87 S ECDA=$P(ECARY,U) I ECDA="" Q 88 S (ECFLG,ECX)=0 89 F S ECX=$O(^ECJ("AP",ECX)) Q:'ECX!(ECFLG) D 90 . I $D(^ECJ("AP",ECX,ECDA)) S ECFLG=1 91 S RESULTS=ECFLG 92 Q 93 PXCHK(RESULTS,ECARY) ; 94 ; 95 ;Checks whether procedure description or national number exist 96 ;INPUTS ECARY - Contains the following subscripted elements 97 ; ECP - Procedure description 98 ; ECN - EC National Number 99 ; 100 ;OUTPUTS RESULTS - Px used^National # used, 1-Yes or 0-No ex. 1^0 101 ; 102 N ECX,ECP,ECN 103 Q:$G(ECARY) 104 D SETENV^ECUMRPC 105 S ECP=$P(ECARY,U),ECN=$P(ECARY,U,2),RESULTS="0^0" 106 I ECP'="",$D(^EC(725,"B",ECP)) S $P(RESULTS,U)=1 107 I ECN'="" F ECX="E","D","DL" D I $P(RESULTS,U,2) Q 108 . I $D(^EC(725,ECX,ECN)) S $P(RESULTS,U,2)=1 109 Q 110 SRCLST(RESULTS,ECARY) ; 111 ; 112 ;This broker entry returns an array of codes from a file based on a 113 ;search string. 114 ; RPC: EC GETLIST 115 ; 116 ;INPUTS ECARY - Contains the following subscripted elements 117 ; ECSTR - Search string 118 ; ECFIL - File to search 119 ; ECDIR - Search order 120 ; 121 ;OUTPUTS RESULTS - Array of values based on the search criteria. 122 ; 123 N ECNT,DIC,ECSTR,ECFIL,ECORD,ECER,ECDI 124 D SETENV^ECUMRPC 125 S ECNT=0,ECFIL=$P(ECARY,U),ECSTR=$P(ECARY,U,2),ECDIR=$P(ECARY,U,3) 126 S ECORD=$S(ECDIR=-1:"B",1:"I") 127 K ^TMP($J,"ECFIND"),^TMP("ECSRCH",$J) 128 I ECFIL="" Q 129 S ECNUM=44 130 I ECFIL=420.1 D CSTCTR ;Cost Center search 131 I ECFIL=49 D SERVC ;Service search 132 I ECFIL=723 D MEDSPC ;Medical specialty 133 I ECFIL=40.7 D STPCDE G EXIT ;Associated stop code 134 I ECFIL=724 D DUNT G EXIT ;DSS Unit 135 I ECFIL=726 D ECAT ;Category 136 I ECFIL=4 D LOC ;Location 137 I ECFIL=44 D ASCLN G EXIT ;Associated clinic 138 I ECFIL=757.01 D LEX^ECUMRPC2 G EXIT ;Lex ICD code 139 I ECFIL=200 D PROV^ECUMRPC2 ;Providers 140 I $D(ECER) S ^TMP($J,"ECFIND",1)="0^Error occurred during search" G EXIT 141 D SORT 142 EXIT K ^TMP("ECSRCH",$J) 143 S RESULTS=$NA(^TMP($J,"ECFIND")) 144 Q 145 ASCLN ;Search for active associated clinics (file #44) 146 N CNT,NOD,ECDT,INACT,REACT,ERR 147 S CNT=0,ECDT=DT 148 F Q:CNT=ECNUM S ECSTR=$O(^SC("B",ECSTR),ECDIR) Q:ECSTR="" S CLN="" D 149 .F S CLN=$O(^SC("B",ECSTR,CLN),ECDIR) Q:CLN="" S NOD=$G(^SC(CLN,0)) D 150 ..Q:NOD="" Q:$P(NOD,U,3)'="C" ;Q:+$G(^SC(CLN,"OOS")) 151 ..S ERR=0 I $D(^SC(CLN,"I")) D I ERR Q 152 ...S INACT=$P(^SC(CLN,"I"),U),REACT=$P(^SC(CLN,"I"),U,2) 153 ...I INACT D I ERR Q 154 ....I REACT="" S:ECDT'<INACT ERR=1 Q 155 ....I ECDT'<INACT,ECDT<REACT S ERR=1 Q 156 ...I REACT,ECDT<REACT S ERR=1 157 ..S CNT=CNT+1,^TMP($J,"ECFIND",CNT)=CLN_U_$P(NOD,U) 158 Q 159 CSTCTR ;Search for cost centers (File #420.1) 160 N ECNULL,INDX,STR,NSTR,I 161 S $P(ECNULL," ",7)=" ",INDX="B" 162 I $E(ECSTR)?.N,$L(ECSTR)<7 S ECSTR=ECSTR_$E(ECNULL,1,7-$L(ECSTR)) 163 I $L($P(ECSTR," "))=6,$P(ECSTR," ",2)?.A D ;truncate for x-ref 164 . S ECSTR=$P(ECSTR," ")_" "_$E($P(ECSTR," ",2,999),1,22) 165 I $E(ECSTR)?.A S INDX="C",(STR,NSTR)="" D S ECSTR=NSTR 166 .F I=1:1 S STR=$P(ECSTR," ",I) Q:STR="" D 167 ..S STR=$E(STR)_$TR($E(STR,2,9999),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz") 168 ..S NSTR=NSTR_STR 169 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"",INDX,"I '$P(^(0),U,2)","","^TMP(""ECSRCH"",$J)","ECER") 170 Q 171 SERVC ;Search for services (File #49) 172 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","","","^TMP(""ECSRCH"",$J)","ECER") 173 Q 174 MEDSPC ;Search for medical specialty (File #723) 175 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","","","^TMP(""ECSRCH"",$J)","ECER") 176 Q 177 STPCDE ;Search for associated stop code (File #40.7) 178 N ECNT,INDX,ECNUL,STR,IEN 179 S $P(ECNUL," ",30)=" ",INDX="B",ECNT=0,ECSTR=$P(ECSTR,"~") 180 I +ECSTR,+ECSTR?.N S INDX="C",IEN=0 D Q 181 .S ECSTR=$O(^DIC(40.7,INDX,+ECSTR)) I ECSTR="" Q 182 .F S IEN=$O(^DIC(40.7,INDX,ECSTR,IEN)) Q:'IEN D I ECNT>(ECNUM-1) Q 183 ..S STR=$G(^DIC(40.7,IEN,0)) I (STR="")!($P(STR,U,3)'="") Q 184 ..S STR=$E($P(STR,U),1,30)_" ["_$J($P(STR,U,2),3,0)_"]"_U_$P(STR,U,2)_U_IEN 185 ..S ECNT=ECNT+1,^TMP($J,"ECFIND",ECNT)=STR 186 D LISTDIC(ECFIL,"",".01;1",ECORD,ECNUM,ECSTR,"",INDX,"I $P(^(0),""^"",3)=""""!($P(^(0),U,3)'<DT)","","^TMP(""ECSRCH"",$J)","ECER") 187 S ECNT=0 188 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 189 .S STR=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_$G(^(1)) 190 .S STR=$E($P(STR,U),1,30)_" ["_$J($P(STR,U,2),3,0)_"]"_U_$P(STR,U,2) 191 .S ^TMP($J,"ECFIND",ECNT)=STR_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT) 192 Q 193 DUNT ;Search for DSS unit (File #724) 194 N ECNT,SNDPCE 195 D LISTDIC(ECFIL,"",".01;10;13",ECORD,ECNUM,ECSTR,"","","I '$P(^(0),""^"",6),$P(^(0),U,8)","","^TMP(""ECSRCH"",$J)","ECER") 196 S ECNT=0 197 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 198 .S SNDPCE=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,13)) 199 .S SNDPCE=$S(SNDPCE="O":1,SNDPCE="A":1,1:0) 200 .S ^TMP($J,"ECFIND",ECNT)=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT)_U_$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,10))_U_SNDPCE 201 Q 202 ECAT ;Search for Category (File #726) 203 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","I $P(^(0),""^"",3)=""""!($P(^(0),U,3)>DT)","","^TMP(""ECSRCH"",$J)","ECER") 204 Q 205 LOC ;Search for Location (File #4) 206 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","I $G(^(""EC""))","","^TMP(""ECSRCH"",$J)","ECER") 207 Q 208 LISTDIC(ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECIND,ECTG,ECER) ; 209 ;Produces a list of records in a file base on search string 210 N DIC 211 D LIST^DIC(ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECIND,ECTG,ECER) 212 K ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECID 213 Q 214 SORT ;Extracts data to be returned to broker 215 N ECNT,STR 216 S ECNT=0 217 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 218 .S ^TMP($J,"ECFIND",ECNT)=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT) 219 Q 1 ECUMRPC1 ;ALB/JAM-Event Capture Management Broker Utilities ;28 Nov 00 2 ;;2.0; EVENT CAPTURE ;**25,30,33,72**;8 May 96 3 ; 4 DSSUNT(RESULTS,ECARY) ; 5 ; 6 ;This broker entry point returns DSS units from file 724 7 ; RPC: EC GETDSSUNIT 8 ;INPUTS ECARY - Contains the following subscripted elements 9 ; STAT - Active or inactive DSS Units (optional) 10 ; A-ctive (default), I-nactive, B-oth 11 ; 12 ;OUTPUTS RESULTS - Array of DSS units. Data pieces as follows:- 13 ; PIECE - Description 14 ; 1 IEN of DSS Unit 15 ; 2 Name of DSS Unit 16 ; 3 Service 17 ; 4 Medical Specialty 18 ; 5 Cost Center 19 ; 6 Unit Number 20 ; 7 Inactive Flag 21 ; 8 Associated Stop code (if not sending to PCE) 22 ; 9 Category flag 23 ; 10 Default date entry 24 ; 11 Send to PCE Flag 25 ; 26 N UNT,STAT,CNT,CAT,NODE,ECS,STR,SRV,MED,CST,UNO,INACT,ASC,PCE,ACT,NODE 27 N DFD 28 D SETENV^ECUMRPC 29 K ^TMP($J,"ECDSSUNT") 30 S STAT=$P($G(ECARY),U),(CNT,UNT)=0 S:STAT="" STAT="A" 31 F S UNT=$O(^ECD(UNT)) Q:'UNT S NODE=$G(^ECD(UNT,0)) I NODE'="" D 32 . S ECS=$P(NODE,U,8),ACT=$P(NODE,U,6),ACT=$S(ACT:1,1:0) 33 . Q:'ECS I $S(STAT="A"&(ACT):1,STAT="I"&('ACT):1,1:0) Q 34 . S CNT=CNT+1,CAT=$P(NODE,U,11),CAT=$S(CAT:"Y",1:"N"),UNO=$P(NODE,U,5) 35 . S SRV=$$GET1^DIQ(49,$P(NODE,U,2),.01,"I") 36 . S MED=$$GET1^DIQ(723,$P(NODE,U,3),.01,"I") 37 . S CST=$$GET1^DIQ(420.1,$P(NODE,U,4),.01,"I") 38 . S INACT=$P(NODE,U,6),INACT=$S(INACT:"I",1:"A"),ASC=$P(NODE,U,10) 39 . S:ASC ASC=$$GET1^DIQ(40.7,ASC,.01,"I") 40 . S DFD=$S($P(NODE,U,12)="N":"N",1:"X"),PCE=$P(NODE,U,14) 41 . S PCE=$S(PCE="A":PCE,PCE="O":PCE,1:"N") 42 . S STR=UNT_U_$P(NODE,U)_U_SRV_U_MED_U_CST_U_UNO_U_INACT_U_ASC_U_CAT 43 . S STR=STR_U_DFD_U_PCE,^TMP($J,"ECDSSUNT",CNT)=STR 44 S RESULTS=$NA(^TMP($J,"ECDSSUNT")) 45 Q 46 CAT(RESULTS,ECARY) ; 47 ; 48 ;This broker entry point returns a list of categories from file 726 49 ; RPC: EC GETCAT 50 ;INPUTS ECARY - Contains the following subscripted elements 51 ; STAT - Active or inactive category (optional) 52 ; A-ctive (default), I-nactive, B-oth 53 ; 54 ;OUTPUTS RESULTS - Array of category. Data pieces as follows:- 55 ; PIECE - Description 56 ; 1 IEN of Category 57 ; 2 Name of Category 58 ; 3 Creation Date 59 ; 4 Inactive Date 60 ; 61 N STAT,CNT,CAT,NODE,ECDT,INDT,CRDT 62 D SETENV^ECUMRPC 63 K ^TMP($J,"ECCAT") 64 S STAT=$P($G(ECARY),U),(CNT,CAT)=0 S:STAT="" STAT="A" 65 F S CAT=$O(^EC(726,CAT)) Q:'CAT S NODE=$G(^EC(726,CAT,0)) I NODE'="" D 66 . S ECDT=$P(NODE,U,3) 67 . I STAT="A",ECDT'="",ECDT'>DT Q 68 . I STAT="I",ECDT="" Q 69 . S CRDT=$$FMTE^XLFDT($P(NODE,U,2),"2F") 70 . S INDT=$$FMTE^XLFDT($P(NODE,U,3),"2F") 71 . S CNT=CNT+1,^TMP($J,"ECCAT",CNT)=CAT_U_$P(NODE,U)_U_CRDT_U_INDT 72 S RESULTS=$NA(^TMP($J,"ECCAT")) 73 Q 74 ; 75 CATCHK(RESULTS,ECARY) ; 76 ; 77 ;Broker call checks whether category is used in an Event Code Screen. 78 ; RPC: EC DSSCATCHECK 79 ;INPUTS ECARY - Contains the following subscripted elements 80 ; ECDA - DSS Unit ien (file #724) 81 ; 82 ;OUTPUTS RESULTS - Category used in Event Code Screen, 1-Yes or 0-No 83 ; 84 N ECDA,ECFLG,ECX 85 D SETENV^ECUMRPC 86 S ECDA=$P(ECARY,U) I ECDA="" Q 87 S (ECFLG,ECX)=0 88 F S ECX=$O(^ECJ("AP",ECX)) Q:'ECX!(ECFLG) D 89 . I $D(^ECJ("AP",ECX,ECDA)) S ECFLG=1 90 S RESULTS=ECFLG 91 Q 92 PXCHK(RESULTS,ECARY) ; 93 ; 94 ;Checks whether procedure description or national number exist 95 ;INPUTS ECARY - Contains the following subscripted elements 96 ; ECP - Procedure description 97 ; ECN - EC National Number 98 ; 99 ;OUTPUTS RESULTS - Px used^National # used, 1-Yes or 0-No ex. 1^0 100 ; 101 N ECX,ECP,ECN 102 Q:$G(ECARY) 103 D SETENV^ECUMRPC 104 S ECP=$P(ECARY,U),ECN=$P(ECARY,U,2),RESULTS="0^0" 105 I ECP'="",$D(^EC(725,"B",ECP)) S $P(RESULTS,U)=1 106 I ECN'="" F ECX="E","D","DL" D I $P(RESULTS,U,2) Q 107 . I $D(^EC(725,ECX,ECN)) S $P(RESULTS,U,2)=1 108 Q 109 SRCLST(RESULTS,ECARY) ; 110 ; 111 ;This broker entry returns an array of codes from a file based on a 112 ;search string. 113 ; RPC: EC GETLIST 114 ; 115 ;INPUTS ECARY - Contains the following subscripted elements 116 ; ECSTR - Search string 117 ; ECFIL - File to search 118 ; ECDIR - Search order 119 ; 120 ;OUTPUTS RESULTS - Array of values based on the search criteria. 121 ; 122 N ECNT,DIC,ECSTR,ECFIL,ECORD,ECER,ECDI 123 D SETENV^ECUMRPC 124 S ECNT=0,ECFIL=$P(ECARY,U),ECSTR=$P(ECARY,U,2),ECDIR=$P(ECARY,U,3) 125 S ECORD=$S(ECDIR=-1:"B",1:"I") 126 K ^TMP($J,"ECFIND"),^TMP("ECSRCH",$J) 127 I ECFIL="" Q 128 S ECNUM=44 129 I ECFIL=420.1 D CSTCTR ;Cost Center search 130 I ECFIL=49 D SERVC ;Service search 131 I ECFIL=723 D MEDSPC ;Medical specialty 132 I ECFIL=40.7 D STPCDE G EXIT ;Associated stop code 133 I ECFIL=724 D DUNT G EXIT ;DSS Unit 134 I ECFIL=726 D ECAT ;Category 135 I ECFIL=4 D LOC ;Location 136 I ECFIL=44 D ASCLN G EXIT ;Associated clinic 137 I ECFIL=757.01 D LEX^ECUMRPC2 G EXIT ;Lex ICD code 138 I ECFIL=200 D PROV^ECUMRPC2 ;Providers 139 I $D(ECER) S ^TMP($J,"ECFIND",1)="0^Error occurred during search" G EXIT 140 D SORT 141 EXIT K ^TMP("ECSRCH",$J) 142 S RESULTS=$NA(^TMP($J,"ECFIND")) 143 Q 144 ASCLN ;Search for active associated clinics (file #44) 145 N CNT,NOD,ECDT,INACT,REACT,ERR 146 S CNT=0,ECDT=DT 147 F Q:CNT=ECNUM S ECSTR=$O(^SC("B",ECSTR),ECDIR) Q:ECSTR="" S CLN="" D 148 .F S CLN=$O(^SC("B",ECSTR,CLN),ECDIR) Q:CLN="" S NOD=$G(^SC(CLN,0)) D 149 ..Q:NOD="" Q:$P(NOD,U,3)'="C" ;Q:+$G(^SC(CLN,"OOS")) 150 ..S ERR=0 I $D(^SC(CLN,"I")) D I ERR Q 151 ...S INACT=$P(^SC(CLN,"I"),U),REACT=$P(^SC(CLN,"I"),U,2) 152 ...I INACT D I ERR Q 153 ....I REACT="" S:ECDT'<INACT ERR=1 Q 154 ....I ECDT'<INACT,ECDT<REACT S ERR=1 Q 155 ...I REACT,ECDT<REACT S ERR=1 156 ..S CNT=CNT+1,^TMP($J,"ECFIND",CNT)=CLN_U_$P(NOD,U) 157 Q 158 CSTCTR ;Search for cost centers (File #420.1) 159 N ECNULL,INDX,STR,NSTR,I 160 S $P(ECNULL," ",7)=" ",INDX="B" 161 I $E(ECSTR)?.N,$L(ECSTR)<7 S ECSTR=ECSTR_$E(ECNULL,1,7-$L(ECSTR)) 162 I $L($P(ECSTR," "))=6,$P(ECSTR," ",2)?.A D ;truncate for x-ref 163 . S ECSTR=$P(ECSTR," ")_" "_$E($P(ECSTR," ",2,999),1,22) 164 I $E(ECSTR)?.A S INDX="C",(STR,NSTR)="" D S ECSTR=NSTR 165 .F I=1:1 S STR=$P(ECSTR," ",I) Q:STR="" D 166 ..S STR=$E(STR)_$TR($E(STR,2,9999),"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz") 167 ..S NSTR=NSTR_STR 168 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"",INDX,"I '$P(^(0),U,2)","","^TMP(""ECSRCH"",$J)","ECER") 169 Q 170 SERVC ;Search for services (File #49) 171 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","","","^TMP(""ECSRCH"",$J)","ECER") 172 Q 173 MEDSPC ;Search for medical specialty (File #723) 174 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","","","^TMP(""ECSRCH"",$J)","ECER") 175 Q 176 STPCDE ;Search for associated stop code (File #40.7) 177 N ECNT,INDX,ECNUL,STR,IEN 178 S $P(ECNUL," ",30)=" ",INDX="B",ECNT=0,ECSTR=$P(ECSTR,"~") 179 I +ECSTR,+ECSTR?.N S INDX="C",IEN=0 D Q 180 .S ECSTR=$O(^DIC(40.7,INDX,+ECSTR)) I ECSTR="" Q 181 .F S IEN=$O(^DIC(40.7,INDX,ECSTR,IEN)) Q:'IEN D I ECNT>(ECNUM-1) Q 182 ..S STR=$G(^DIC(40.7,IEN,0)) I (STR="")!($P(STR,U,3)'="") Q 183 ..S STR=$E($P(STR,U),1,30)_" ["_$J($P(STR,U,2),3,0)_"]"_U_$P(STR,U,2)_U_IEN 184 ..S ECNT=ECNT+1,^TMP($J,"ECFIND",ECNT)=STR 185 D LISTDIC(ECFIL,"",".01;1",ECORD,ECNUM,ECSTR,"",INDX,"I $P(^(0),""^"",3)=""""!($P(^(0),U,3)'<DT)","","^TMP(""ECSRCH"",$J)","ECER") 186 S ECNT=0 187 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 188 .S STR=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_$G(^(1)) 189 .S STR=$E($P(STR,U),1,30)_" ["_$J($P(STR,U,2),3,0)_"]"_U_$P(STR,U,2) 190 .S ^TMP($J,"ECFIND",ECNT)=STR_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT) 191 Q 192 DUNT ;Search for DSS unit (File #724) 193 N ECNT,SNDPCE 194 D LISTDIC(ECFIL,"",".01;10;13",ECORD,ECNUM,ECSTR,"","","I '$P(^(0),""^"",6),$P(^(0),U,8)","","^TMP(""ECSRCH"",$J)","ECER") 195 S ECNT=0 196 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 197 .S SNDPCE=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,13)) 198 .S SNDPCE=$S(SNDPCE="O":1,SNDPCE="A":1,1:0) 199 .S ^TMP($J,"ECFIND",ECNT)=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT)_U_$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,10))_U_SNDPCE 200 Q 201 ECAT ;Search for Category (File #726) 202 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","I $P(^(0),""^"",3)=""""!($P(^(0),U,3)>DT)","","^TMP(""ECSRCH"",$J)","ECER") 203 Q 204 LOC ;Search for Location (File #4) 205 D LISTDIC(ECFIL,"",.01,ECORD,ECNUM,ECSTR,"","","I $G(^(""EC""))","","^TMP(""ECSRCH"",$J)","ECER") 206 Q 207 LISTDIC(ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECIND,ECTG,ECER) ; 208 ;Produces a list of records in a file base on search string 209 N DIC 210 D LIST^DIC(ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECIND,ECTG,ECER) 211 K ECFL,ECIEN,ECFLD,ECFLG,ECNUM,ECFRM,ECPRT,ECINDX,ECSCN,ECID 212 Q 213 SORT ;Extracts data to be returned to broker 214 N ECNT,STR 215 S ECNT=0 216 F S ECNT=$O(^TMP("ECSRCH",$J,"DILIST","ID",ECNT)) Q:'ECNT D 217 .S ^TMP($J,"ECFIND",ECNT)=$G(^TMP("ECSRCH",$J,"DILIST","ID",ECNT,.01))_U_^TMP("ECSRCH",$J,"DILIST",2,ECNT) 218 Q -
WorldVistAEHR/trunk/r/EVENT_CAPTURE-EC--ECT--ECX/ECUURPC.m
r613 r623 1 ECUURPC ;ALB/JAM;Event Capture Data Entry Broker Utilities ;Aug 28, 2000 2 ;;2.0; EVENT CAPTURE ;**25,42,49,94**;8 May 96;Build 4 3 ; 4 ECHELP(RESULTS,ECARY) ; 5 ; 6 ;Broker call returns the entries from HELP FILE #9.2 7 ; RPC: EC GETSCNHELP 8 ;INPUTS ECARY - Contains the following elements 9 ; HLPDA - Help Frame Name 10 ; 11 ;OUTPUTS RESULTS - Array of help text in the HELP FRAM File (#9.2) 12 ; 13 N HLPDA,DIC,X,Y 14 S HLPDA=$G(ECARY) I HLPDA="" Q 15 D SETENV^ECUMRPC K ^TMP($J,"ECHELP") 16 S DIC="^DIC(9.2,",DIC(0)="MN",X=HLPDA 17 D ^DIC M ^TMP($J,"ECHELP")=^DIC(9.2,+Y,1) 18 I $D(^TMP($J,"ECHELP")) D 19 . S $P(^TMP($J,"ECHELP",0),U)=$P(^DIC(9.2,+Y,0),U,2) 20 S RESULTS=$NA(^TMP($J,"ECHELP")) 21 Q 22 FNDIEN(RESULTS,ECARY) ;find IEN 23 ;Broker call returns the IEN from a file 24 ; RPC: EC GETIEN 25 ;INPUTS ECARY - Contains the following data elements 26 ; FIL - File number 27 ; TXT - .01 description 28 ; 29 ;OUTPUTS RESULTS - File IEN 30 ; 31 N TXT,FIL,DIC,X,Y 32 D SETENV^ECUMRPC 33 S FIL=$P(ECARY,U),TXT=$P(ECARY,U,2) I TXT=""!(FIL="") Q 34 S DIC=FIL,DIC(0)="MN",X=TXT 35 I FIL=81.3 S DIC("S")="I $P(^DIC(81.3,Y,0),U,5)'=1" ;PATCH 94 36 D ^DIC I Y=-1 Q 37 S RESULTS=+Y 38 Q 39 ECDATE(RESULTS,ECARY) ; 40 ; 41 ;Broker call returns an Fileman internal date 42 ; RPC: EC GETDATE 43 ;INPUTS ECARY - Contains the following elements 44 ; DTSTR - Date String 45 ; FLG - Date Flag (optional) 46 ; 47 ;OUTPUTS RESULTS - A valid Fileman date format^External format 48 ; 49 N ECDTSTR,DIC,X,Y,DTSTR,FLG 50 D SETENV^ECUMRPC 51 S DTSTR=$P(ECARY,U),FLG=$P(ECARY,U,2) I DTSTR="" Q 52 S X=DTSTR,%DT="XT"_$S(FLG="R":"R",1:""),%DT(0)="-NOW" D ^%DT 53 I +Y<1 S RESULTS="0^Invalid Date/Time" Q 54 S RESULTS=Y D D^DIQ 55 S RESULTS=RESULTS_U_Y 56 Q 57 PATCH(RESULTS,ECARY) ; 58 ; 59 ;Broker call returns 1 if patch X is installed 60 ; RPC: EC GETPATCH 61 ;INPUTS ECARY - contains the patch number 62 ; 63 ;OUTPUTS RESULTS 1 OR 0 64 ; 65 I ECARY="" Q 66 D SETENV^ECUMRPC 67 S RESULTS=$$PATCH^XPDUTL(ECARY) 68 Q 69 VERSRV(RESULTS,ECARY,VERSION) ; Return server version of option name and 70 ; minimum GUI client version. 71 ; 72 ;Server/client version consist of 4 pieces, namely 73 ; major version.minor version.release.build (ex. 2.0.10.1) 74 ; 75 ;Broker call returns server version of option name 76 ; RPC: EC GETVERSION 77 ;INPUTS ECARY - contains the option name 78 ; VERSION - EC GUI client version ;stay in partition for session 79 ; 80 ;OUTPUTS RESULTS version number OR null ("") 81 ; current server version^minimum client version 82 ; 83 S ECCLVER=$G(VERSION) 84 I $G(ECARY)="" Q 85 N ECLST,ECMINV 86 S ECMINV="2.0.10.1" ; Minimum version of EC GUI client 87 D FIND^DIC(19,"",1,"X",ECARY,1,,,,"ECLST") 88 I 'ECLST("DILIST",0) S RESULTS="" Q 89 S RESULTS=ECLST("DILIST","ID",1,1) 90 S RESULTS=$P(RESULTS,"version ",2)_U_ECMINV 91 Q 1 ECUURPC ;ALB/JAM;Event Capture Data Entry Broker Utilities ;Aug 28, 2000 2 ;;2.0; EVENT CAPTURE ;**25,42,49**;8 May 96 3 ; 4 ECHELP(RESULTS,ECARY) ; 5 ; 6 ;Broker call returns the entries from HELP FILE #9.2 7 ; RPC: EC GETSCNHELP 8 ;INPUTS ECARY - Contains the following elements 9 ; HLPDA - Help Frame Name 10 ; 11 ;OUTPUTS RESULTS - Array of help text in the HELP FRAM File (#9.2) 12 ; 13 N HLPDA,DIC,X,Y 14 S HLPDA=$G(ECARY) I HLPDA="" Q 15 D SETENV^ECUMRPC K ^TMP($J,"ECHELP") 16 S DIC="^DIC(9.2,",DIC(0)="MN",X=HLPDA 17 D ^DIC M ^TMP($J,"ECHELP")=^DIC(9.2,+Y,1) 18 I $D(^TMP($J,"ECHELP")) D 19 . S $P(^TMP($J,"ECHELP",0),U)=$P(^DIC(9.2,+Y,0),U,2) 20 S RESULTS=$NA(^TMP($J,"ECHELP")) 21 Q 22 FNDIEN(RESULTS,ECARY) ;find IEN 23 ;Broker call returns the IEN from a file 24 ; RPC: EC GETIEN 25 ;INPUTS ECARY - Contains the following data elements 26 ; FIL - File number 27 ; TXT - .01 description 28 ; 29 ;OUTPUTS RESULTS - File IEN 30 ; 31 N TXT,FIL,DIC,X,Y 32 D SETENV^ECUMRPC 33 S FIL=$P(ECARY,U),TXT=$P(ECARY,U,2) I TXT=""!(FIL="") Q 34 S DIC=FIL,DIC(0)="MN",X=TXT 35 D ^DIC I Y=-1 Q 36 S RESULTS=+Y 37 Q 38 ECDATE(RESULTS,ECARY) ; 39 ; 40 ;Broker call returns an Fileman internal date 41 ; RPC: EC GETDATE 42 ;INPUTS ECARY - Contains the following elements 43 ; DTSTR - Date String 44 ; FLG - Date Flag (optional) 45 ; 46 ;OUTPUTS RESULTS - A valid Fileman date format^External format 47 ; 48 N ECDTSTR,DIC,X,Y,DTSTR,FLG 49 D SETENV^ECUMRPC 50 S DTSTR=$P(ECARY,U),FLG=$P(ECARY,U,2) I DTSTR="" Q 51 S X=DTSTR,%DT="XT"_$S(FLG="R":"R",1:""),%DT(0)="-NOW" D ^%DT 52 I +Y<1 S RESULTS="0^Invalid Date/Time" Q 53 S RESULTS=Y D D^DIQ 54 S RESULTS=RESULTS_U_Y 55 Q 56 PATCH(RESULTS,ECARY) ; 57 ; 58 ;Broker call returns 1 if patch X is installed 59 ; RPC: EC GETPATCH 60 ;INPUTS ECARY - contains the patch number 61 ; 62 ;OUTPUTS RESULTS 1 OR 0 63 ; 64 I ECARY="" Q 65 D SETENV^ECUMRPC 66 S RESULTS=$$PATCH^XPDUTL(ECARY) 67 Q 68 VERSRV(RESULTS,ECARY,VERSION) ; Return server version of option name and 69 ; minimum GUI client version. 70 ; 71 ;Server/client version consist of 4 pieces, namely 72 ; major version.minor version.release.build (ex. 2.0.10.1) 73 ; 74 ;Broker call returns server version of option name 75 ; RPC: EC GETVERSION 76 ;INPUTS ECARY - contains the option name 77 ; VERSION - EC GUI client version ;stay in partition for session 78 ; 79 ;OUTPUTS RESULTS version number OR null ("") 80 ; current server version^minimum client version 81 ; 82 S ECCLVER=$G(VERSION) 83 I $G(ECARY)="" Q 84 N ECLST,ECMINV 85 S ECMINV="2.0.10.1" ; Minimum version of EC GUI client 86 D FIND^DIC(19,"",1,"X",ECARY,1,,,,"ECLST") 87 I 'ECLST("DILIST",0) S RESULTS="" Q 88 S RESULTS=ECLST("DILIST","ID",1,1) 89 S RESULTS=$P(RESULTS,"version ",2)_U_ECMINV 90 Q
Note:
See TracChangeset
for help on using the changeset viewer.