Produced by Araxis Merge on 2/5/2019 9:43:56 AM Central Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | EPIP_MC_GMTS_IP25_TV3.zip\EPIP_MC_GMTS_IP25_TV3 | EPIP_Remediation_Plan_(MC_2.3_48_GMTS_2.7_123).doc | Mon Feb 4 12:43:52 2019 UTC |
| 2 | EPIP_MC_GMTS_IP25_TV3.zip\EPIP_MC_GMTS_IP25_TV3 | EPIP_Remediation_Plan_(MC_2.3_48_GMTS_2.7_123).doc | Tue Feb 5 13:08:34 2019 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 4 | 1452 |
| Changed | 3 | 6 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | EPIP_Remed iation_Pla n_(MC_2.3_ 48,_GMTS_2 .7_123)Exi sting Prod uct Intake Program ( EPIP) | |
| 2 | MC*2.3*48 and GMTS*2 .7*123 | |
| 3 | Remediatio n Plan | |
| 4 | ||
| 5 | Department of Vetera ns Affairs | |
| 6 | January 20 19 | |
| 7 | Version 2. 0 | |
| 8 | Revision H istory | |
| 9 | DateVersio nDescripti onAuthor01 /22/20192. 0Updates t hroughoutE PIP Projec t Team10/1 3/20171.0I nitial (dr aft) versi onEPIP Pro ject TeamT able of Co ntents | |
| 10 | 11. | |
| 11 | Introducti on | |
| 12 | ||
| 13 | ||
| 14 | 12. | |
| 15 | Purpose | |
| 16 | ||
| 17 | ||
| 18 | 13. | |
| 19 | Patch Desc ription | |
| 20 | ||
| 21 | ||
| 22 | 33.1. | |
| 23 | Business E pics and S ub-Epics | |
| 24 | ||
| 25 | ||
| 26 | 34. | |
| 27 | Points of Contact | |
| 28 | ||
| 29 | ||
| 30 | 35. | |
| 31 | Code Remed iation | |
| 32 | ||
| 33 | ||
| 34 | 35.1. | |
| 35 | Standards and Conven tions | |
| 36 | ||
| 37 | ||
| 38 | 35.2. | |
| 39 | Review and Analysis | |
| 40 | ||
| 41 | ||
| 42 | 45.3. | |
| 43 | Coding Cha nges | |
| 44 | ||
| 45 | ||
| 46 | 46. | |
| 47 | Testing | |
| 48 | ||
| 49 | ||
| 50 | 46.1. | |
| 51 | Test Plan | |
| 52 | ||
| 53 | ||
| 54 | 46.2. | |
| 55 | Test Envir onment | |
| 56 | ||
| 57 | ||
| 58 | 46.3. | |
| 59 | Test Readi ness Revie w | |
| 60 | ||
| 61 | ||
| 62 | 56.4. | |
| 63 | Testing Ph ases | |
| 64 | ||
| 65 | ||
| 66 | 56.4.1. | |
| 67 | Unit Testi ng | |
| 68 | ||
| 69 | ||
| 70 | 56.4.2. | |
| 71 | Component Integratio n and Syst ems Testin g (CI/ST) | |
| 72 | ||
| 73 | ||
| 74 | 56.4.3. | |
| 75 | Functional Testing | |
| 76 | ||
| 77 | ||
| 78 | 56.4.4. | |
| 79 | Regression Testing | |
| 80 | ||
| 81 | ||
| 82 | 56.4.5. | |
| 83 | Section 50 8 Complian ce Testing | |
| 84 | ||
| 85 | ||
| 86 | 57. | |
| 87 | Documentat ion Remedi ation | |
| 88 | ||
| 89 | ||
| 90 | 67.1. | |
| 91 | User Guide s | |
| 92 | ||
| 93 | ||
| 94 | 67.2. | |
| 95 | Installati on Guides | |
| 96 | ||
| 97 | ||
| 98 | 67.3. | |
| 99 | Technical Manuals | |
| 100 | ||
| 101 | ||
| 102 | 67.4. | |
| 103 | Operations Manuals | |
| 104 | ||
| 105 | ||
| 106 | 68. | |
| 107 | Project Re porting | |
| 108 | ||
| 109 | ||
| 110 | 69. | |
| 111 | Project Sc hedule | |
| 112 | ||
| 113 | ||
| 114 | 610. | |
| 115 | Deployment | |
| 116 | ||
| 117 | ||
| 118 | 711. | |
| 119 | Sustainmen t Requirem ents | |
| 120 | ||
| 121 | ||
| 122 | 712. | |
| 123 | Maintenanc e and Know ledge Tran sfer | |
| 124 | ||
| 125 | ||
| 126 | 8Appendix A: | |
| 127 | XINDEX Lis ting for M UMPS Code Changes | |
| 128 | ||
| 129 | ||
| 130 | 9Appendix B: | |
| 131 | Source Cod e Changes | |
| 132 | ||
| 133 | ||
| 134 | ||
| 135 | ||
| 136 | Introducti on | |
| 137 | The Depart ment of Ve terans Aff airs (VA) currently utilizes t he Veteran s Health I nformation Systems a nd Technol ogy Archit ecture (Vi stA) suite of applic ations to provide cl inical, fi nancial, i nfrastruct ure, and m anagement tools. The process o f advancin g “Class 3 ” field-de veloped Vi stA softwa re to “Cla ss 1” nati onally-dis tributed s tatus is r eferred to as the Ex isting Pro duct Intak e Program (EPIP). Th e VA’s goa l is to su pplement o ngoing act ivities as sociated w ith evalua ting and a dvancing f ield-devel oped softw are to a s tate that meets nati onal stand ards and f acilitates release f or Veteran s Health A dministrat ion (VHA)- wide use. | |
| 138 | Purpose | |
| 139 | The purpos e of this document i s to fully describe the remedi ation plan to be use d for the successful remediati on of the intake pro duct code to be depl oyed as MC *2.3*48 an d GMTS*2.7 *123. Both patches a ddress the following NSR: | |
| 140 | NSR2017060 7 Create P CE Entry f or EKG | |
| 141 | This NSR h as been im plemented locally at the VA Me dical Cent er in Milw aukee WI. | |
| 142 | This docum ent addres ses the sc hedule, co de remedia tion, test ing, docum entation, and delive ry of this remediati on effort. | |
| 143 | Patch Desc ription | |
| 144 | MC*2.3*48 automatica lly adds a Patient C are Encoun ter (PCE) entry in V istA after an electr ocardiogra m (EKG) re ading is v erified in the MUSE web servic e. Current ly, staff cardiologi sts must m anually en ter the in formation from each EKG readin g, which i s time con suming and prone to data error s and omis sions. | |
| 145 | To create the automa ted PCE en try, each EKG cart i s assigned a unique identifier to design ate an inp atient or outpatient location. After an EKG is per formed, tr ansmitted to MUSE, a nd manuall y confirme d by the c ardiologis t, MUSE ge nerates a Health Lin k 7 (HL7) message th at include s the card iologist's identific ation, the EKG locat ion, date/ time of th e EKG, and patient i dentificat ion. This data is au tomaticall y filed in the ELECT ROCARDIOGR AM (EKG) f ile (#691. 5) and the visit is created in the VISIT file (#90 00010). If the EKG d ata is not successfu lly transf erred to a PCE, a Ma il Alert i s sent to the MCM4 M USE mail g roup. | |
| 146 | Note: Info rmation Re source Man agement (I RM) staff can view v isits in t he PCE Enc ounter Vie wer [PXCE ENCOUNTER VIEWER] op tion in th e PCE Coor dinator Me nu [PX PCE COORDINAT OR MENU]. Visits do not displa y in the P CE Clinici an Menu [P X PCE CLIN ICIAN MENU ] to preve nt the edi ting of th e transmit ted data. | |
| 147 | The new op tion Set X PAR Values for EKG/M USE [MCM4 XPAR] in t he existin g ECG Menu [MCARECG] option is used to c onfigure t he five ne w XPAR MUS E system-l evel param eters used to pass t he EKG dat a from MUS E to a PCE . The MCM4 MUSE para meter temp late calls the five parameters . | |
| 148 | The MCM4 M USE INTERF ACE STATUS parameter in the PA RAMETER DE FINITION f ile (#8989 .51) is us ed to turn the funct ionality O n/Off. Ini tially, th is paramet er is set to OFF (No ). | |
| 149 | The MCM4 M USE STD IN PATIENT LO C paramete r is used to set the default i npatient l ocation. | |
| 150 | The MCM4 M USE DEFAUL T OUTPT LO C paramete r maps the default o utpatient location. | |
| 151 | The MCM4 M USE LOC ID parameter is used t o define t he EKG car t number(s ) that ide ntify the MUSE locat ion(s). | |
| 152 | The MCM4 M USE LOC IN PATIENT OO S paramete r is used to set the inpatient Occasion of Service (OOS) loc ation. | |
| 153 | The patch also adds two new op tions that generate reports th at can be printed to a Cardiol ogy depart ment print er. Both o f these re ports are configured in Taskma n. It is r ecommended that thes e reports be run wee kly, but t he site ca n set the schedule t o meet its needs. Th e EKG Acti on Require d Report [ MCM4 EKG O UTPATIENT ENC] optio n creates a report l isting out patients w ith a stat us of “ACT ION REQUIR ED” in the OUTPATIEN T ENCOUNTE R file (#4 09.68). Th e EKG Acti on Require d Report i s generate d using th e new prin t template MC EKG AC TION REQ a nd the new sort temp late MC EK G ACTION R EQ. The so rt templat e must be set up usi ng the Tem plate Edit option in the FileM an Utility Functions menu [DIU TILITY] to establish the clini c that wil l be used for this r eport. The Missing E KG Report Interprete d By [MCM4 MISSING E KG REPORT] option cr eates a re port listi ng the pat ient recor ds that ne ed a physi cian name to be ente red in the INTERPRET ED BY fiel d (#12) in the ELECT ROCARDIOGR AM (EKG) f ile (#691. 5). The Mi ssing EKG Report Int erpreted B y report i s generate d using th e new prin t template MC MISSIN G INTERPRE TED BY and the new s ort templa te MC MISS ING INTERP RETED BY. | |
| 154 | GMTS*2.7*1 23 creates the new H ealth Summ ary Object "EKG (LAS T) (TIU)" that can b e used to display da ta in the CPRS Notes tab when creating a TIU Objec t. The EKG (LAST) (T IU) Object displays the follow ing patien t data fro m the Medi cine Packa ge ELECTRO CARDIOGRAM (EKG) fil e (#691.5) : the Proc edure Date /Time, Pro cedure Nam e, Report Summary, a nd Auto-In strument D iagnosis. The HEALTH SUMMARY O BJECTS fil e (#142.5) contains a new Heal th Summary Type call ed OBJ EKG (LAST), w hich was c reated by filing a r ecord name d OBJ EKG (LAST) int o the HEAL TH SUMMARY TYPE file (#142). T he Health Summary Ty pe uses th e new Heal th Summary Component "EKG" in the HEALTH SUMMARY C OMPONENT f ile (#142. 1) to call the VistA routine G MTSKGHS to display t he data wh en the TIU Object is created. | |
| 155 | The post-i nstallatio n routine GMTSP123 c reates the new EKG H ealth Summ ary Compon ent at IEN =263. If t his IEN is already i n use, the system wi ll notify the instal ler to mov e the conf licting Co mponent to another I EN and the n reinstal l. | |
| 156 | Business E pics and S ub-Epics | |
| 157 | The Busine ss Epics a nd Sub-Epi cs for the NSR addre ssed in th is remedia tion are: | |
| 158 | NSR2017060 7 Create P CE Entry f or EKG | |
| 159 | BUSINESS E PIC 910885 : Create P CE Entry f or EKG – F or EKG Sta ff who per form EKGs, a process is needed to effici ently and accurately capture E KG workloa d that lev erages tec hnology to automate the proces s of docum enting EKG procedure s performe d. Unlike current pr ocess cons isting of many time consuming manual ste ps that ru n the risk not being performed resulting in loss o f reportab le EKG pro cedures be ing perfor med and th ereby nega tively aff ecting bud gets and s taffing, o ur process leverages technolog y to ensur e that all EKG proce dures are documented thereby s trengtheni ng the fou ndational services i n VA, enab ling VA to provide t imely and high quali ty care to our Veter an patient s while pr omoting op erational efficiency . | |
| 160 | Points of Contact | |
| 161 | The VA Poi nt of Cont act (POC) for NSR201 70607 Crea te PCE Ent ry for EKG is Greg C zajka PII ), PII . | |
| 162 | Code Remed iation | |
| 163 | Leidos wil l review a nd analyze the intak e product code for c ompliance with codin g standard s, pointer s, shared tables, de pendencies , and any interferen ce with Vi stA system s. | |
| 164 | Standards and Conven tions | |
| 165 | Leidos wil l referenc e the http ://go. DNS /sacc webs ite for ap plicable d ocuments a nd will ad here to VA standards to comple te the ana lysis of t his intake product. The output of the VA XINDEX ut ility will be used t o analyze the MUMPS source cod e and docu ment the a ffected ro utines (se e Appendix A). | |
| 166 | The MUMPS coding sta ndards web site http: //71.174.6 2.16/Demo/ AnnoStd wi ll also be used to e nsure that the remed iated code conforms to VA stan dards. | |
| 167 | Review and Analysis | |
| 168 | Review and analysis of this in take produ ct involve s two part s: 1) veri fication t hat the so urce code changes sp ecified in this docu ment provi de the des ired effec t, and 2) verificati on that th e source c ode change s do not a dversely a ffect any other Vist A or CPRS functional ity. | |
| 169 | Testing wi ll be perf ormed to v alidate th at the int ended effe ct of thes e products is implem ented, and that no o ther VistA or CPRS G raphical U ser Interf ace (GUI) functional ity is adv ersely aff ected. | |
| 170 | Coding Cha nges | |
| 171 | The coding changes r equired fo r NSR20170 607 Create PCE Entry for EKG a re in the following routines: | |
| 172 | Modified M UMPS routi nes: MCAR7 M1 | |
| 173 | New MUMPS routines: MCM4MC3, G MTSKGHS, G MTSP123 (p ost-instal l routine) | |
| 174 | Testing | |
| 175 | Leidos wil l perform all testin g-related activities to ensure that the remediated code meet s the expe ctations o f the VA b usiness ow ner. | |
| 176 | Test Plan | |
| 177 | Leidos wil l configur e the test environme nt, provid e code mod ifications and end-t o-end test ing, and d eliver app licable te sting docu mentation, following Veteran-f ocused Int egration P rocess (VI P) guideli nes. | |
| 178 | The Leidos developer will modi fy the sof tware purs uant to th e VA stand ards defin ed in the Standards and Conven tions sect ion of thi s document , and will conduct f ull unit t esting of the functi onality an d verify p erformance of all so ftware cod e before i t is relea sed to Lei dos SQA. S QA will th en perform all appli cable test ing types as describ ed in the Testing Ph ases secti on of this document. The devel oper and S QA will re solve prob lems and a ddress iss ues as the y arise du ring testi ng and wil l document issues us ing the Ra tional Tea m Concert (RTC) defe ct trackin g tool. | |
| 179 | Test Envir onment | |
| 180 | Within fiv e working days of ap proval of this Remed iation Pla n, the dev eloper wil l configur e the deve lopment/te st environ ment on an Austin In formation Technology Center (A ITC) serve r or other VA-approv ed develop ment/test environmen t used for this inta ke product and insta ll the rem ediated Ke rnel Insta llation an d Distribu tion Syste m (KIDS) b uild or ho st file. T he environ ment will be restore d to its o riginal ba seline sta te by the VistA syst em adminis trator aft er develop ment testi ng is comp leted, fol lowed by i nstallatio n of the r emediated software. | |
| 181 | Upon notif ication fr om the dev eloper of test envir onment rea diness, SQ A will com mence with planned t esting act ivities. T he SQA tes t executio n and repo rting docu mentation will resid e in the R ational Qu ality Mana ger (QM) “ EPIP” Proj ect. In or der to per form testi ng of this VistA mod ification, the follo wing tools will be l everaged: Rational Q M, Reflect ions emula tor, CPRS GUI v31A ( 1.0.31.116 ), and Sna gIt. | |
| 182 | Test Readi ness Revie w | |
| 183 | Leidos wil l conduct a Test Rea diness Rev iew (TRR) at the con clusion of unit test ing to ver ify the co ntents of the softwa re to be t ested, the test sche dule, test environme nts, test participan ts, and as sociated l ogistics. Leidos wil l provide an agenda prior to t he TRR and written m inutes aft er complet ion of the TRR, in a ccordance with the P erformance Work Stat ement (PWS ). | |
| 184 | Testing Ph ases | |
| 185 | Leidos wil l perform developmen t and SQA testing ac tivities i n phases, and will p rovide all required testing do cumentatio n. | |
| 186 | Unit Testi ng | |
| 187 | The develo per will c onduct uni t testing of individ ual units of source code to de termine if they are fit for us e. | |
| 188 | Component Integratio n and Syst ems Testin g (CI/ST) | |
| 189 | Component Integratio n and Syst ems testin g will be conducted by SQA to ensure tha t connecti vity to th e VistA ap plication exists and is functi oning norm ally. SQA will recor d Passed/F ailed outc omes and c apture dis played con tent to do cument the system te sting effo rt. | |
| 190 | Functional Testing | |
| 191 | Functional testing w ill be per formed by SQA to tes t the code modificat ions. This testing w ill ensure that the software f unctionali ty is in a lignment w ith the Go vernment F urnished I nformation . SQA will record Pa ssed/Faile d outcomes and captu re display ed content to docume nt the fun ctional te sting effo rt. | |
| 192 | Regression Testing | |
| 193 | Regression testing w ill be per formed by SQA to ens ure that t he remedia ted code d oes not in troduce er rors to ex isting fun ctionality . The regr ession tes t framewor k will be kept up-to -date with manual te st cases a nd test sc ripts defi ning the i nputs and expected o utcomes. S QA will re cord Passe d/Failed o utcomes an d capture displayed content to document the regres sion testi ng effort. | |
| 194 | Section 50 8 Complian ce Testing | |
| 195 | Section 50 8 testing will be pe rformed on VistA and CPRS code when new user inter face chang es are int roduced by the devel oper. The VA-recomme nded Assis tive Techn ology tool , JAWS, wi ll be used to conduc t the 508 testing. T est result s and rela ted docume ntation wi ll be subm itted to t he VA Sect ion 508 te am in acco rdance wit h the VA 5 08 testing requireme nts. Defec ts found d uring test ing will b e assessed and remed iated by t he develop er. | |
| 196 | Documentat ion Remedi ation | |
| 197 | Leidos wil l review e xisting VA documenta tion for p ossible im pact as a result of this remed iation eff ort, and w ill make u pdates whe re applica ble. | |
| 198 | To determi ne the exi sting VA d ocumentati on that re quires mod ification, Leidos wi ll conduct a thoroug h review o f the docu ments curr ently avai lable from the VA So ftware Doc ument Libr ary (VDL) located at http://ww w. DNS /vdl/. Key word searc hes using terms rele vant to th is remedia tion effor t will be used to id entify doc uments tha t might be impacted; those doc uments wil l then be reviewed i n their en tirety for any neede d revision s. | |
| 199 | The follow ing sectio ns outline the VDL d ocuments t o be revis ed for thi s remediat ion. | |
| 200 | User Guide s | |
| 201 | The follow ing User G uides will be update d in the V DL: | |
| 202 | Medicine U ser Manual | |
| 203 | Health Sum mary User Manual | |
| 204 | Installati on Guides | |
| 205 | The Nation al Patch M odule Patc h Descript ion docume nt for thi s remediat ion will p rovide the procedure for insta lling the KIDS build or host f ile into t he VA Pre- Production environme nts. There fore, no I nstallatio n Guides w ill be upd ated. | |
| 206 | Technical Manuals | |
| 207 | The follow ing Techni cal Manual s will be updated in the VDL: | |
| 208 | Medicine T echnical M anual | |
| 209 | Health Sum mary Techn ical Manua l | |
| 210 | Operations Manuals | |
| 211 | No Operati ons Manual s require revision a s a result of this m odificatio n. | |
| 212 | Project Re porting | |
| 213 | Leidos wil l provide interim pr ogress upd ates durin g daily Sc rum calls and weekly managemen t calls wi th VA repr esentative s. | |
| 214 | Project Sc hedule | |
| 215 | Leidos wil l follow t he Scrum A gile metho dology for software developmen t. It is a nticipated that this patch wil l require five 2-wee k sprints. | |
| 216 | Deployment | |
| 217 | Leidos wil l create a KIDS buil d or host file conta ining the software c hanges nec essary to fulfill th e requirem ents for t his remedi ation effo rt. The ne w build or host file , along wi th all rel ated docum entation, will be de livered to the Contr acting Off ice Repres entative ( COR) for a cceptance. If accept ed, these deliverabl es can the n be relea sed for na tional VA consumptio n; otherwi se, Leidos will corr ect any de fects foun d and repe at the nec essary rem ediation a ctivities. | |
| 218 | Sustainmen t Requirem ents | |
| 219 | Leidos wil l provide maintenanc e support for 90 day s to the V A to suppo rt the fin al Class 1 product a fter it is nationall y released . | |
| 220 | Maintenanc e and Know ledge Tran sfer | |
| 221 | To facilit ate contin uous proce ss improve ment, Leid os will de liver Spri nt Review and Retros pective sl ides and a Lessons L earned Rep ort to VA upon compl etion of t he final s print. | |
| 222 | XINDEX Lis ting for M UMPS Code Changes | |
| 223 | The XINDEX tool is t he standar d tool use d by the V A to analy ze MUMPS s ource code . Followin g is a lis ting of th e results of the XIN DEX analys is of the affected r outines. | |
| 224 | V. A. C R O S S R E F E R E N C E R 7.3 | |
| 225 | [2008 V A Standard s & Conven tions] | |
| 226 | UC I: VISTA C PU: ROU Jan 18, 2 019@15:09: 42 | |
| 227 | Routines: 2 Faux Ro utines: 0 | |
| 228 | MCAR7M1 MCM4MC3 | |
| 229 | --- CROSS REFERENCIN G --- | |
| 230 | Compiled l ist of Err ors and Wa rnings Jan 18, 20 19@15:09:4 2 page 1 | |
| 231 | No errors or warning s to repor t | |
| 232 | V. A. C R O S S R E F E R E N C E R 7 .3 | |
| 233 | [2008 V A Standard s & Conven tions] | |
| 234 | UC I: VISTA C PU: ROU Dec 19, 2 018@11:11: 15 | |
| 235 | Routines: 2 Faux Ro utines: 0 | |
| 236 | GMTSKGHS GMTSP123 | |
| 237 | --- CROSS REFERENCIN G --- | |
| 238 | Compiled l ist of Err ors and Wa rnings Dec 19, 20 18@11:11:1 5 page 1 | |
| 239 | No errors or warning s to repor t | |
| 240 | Source Cod e Changes | |
| 241 | This appen dix displa ys the Vis tA code be fore and a fter the u pdates req uired for this code modificati on were im plemented. The follo wing routi nes were a ffected: | |
| 242 | Modified M UMPS routi nes: MCAR7 M1 | |
| 243 | New MUMPS routines: MCM4MC3, G MTSKGHS, G MTSP123 (p ost-instal l routine) | |
| 244 | MCAR7M1 | |
| 245 | Before: | |
| 246 | MCAR7M1 ; HIRMFO/RE L-Muse EKG ;6/7/00 10:11 | |
| 247 | ; ;2.3;Medic ine;**24** ;09/13/199 6 | |
| 248 | S EXAM=$P($ P(SEG("OBR "),"|",5), "^",1) S:E XAM="" EXA M=99999 | |
| 249 | S X=$T(@EXA M),FIL=$P( X,";",4),S UB=$P(X,"; ",5) I FIL =""!(SUB=" ") S ERRTX | |
| 250 | ="Unknown Exam Type" G ^MCAR7X | |
| 251 | F P=1:1 S V AL=$T(VARS +P) Q:VAL= "" S SET( $P(VAL,";" ,3))=$P(VA L,";",4,5) | |
| 252 | S X=$P($P(S EG("OBR"), "|",33),"^ ",1) | |
| 253 | I +X,$$GET1 ^DIQ(200,X ,.01,"I")' ="" S $P(S ET("Interp reter"),"; ",3)=X | |
| 254 | OBX ; Process O BX | |
| 255 | S X=$G(MSG( NUM)) G:X= "" UPDATE I $E(X,1,3 )'="OBX" S ERRTX="OB X not foun | |
| 256 | d when exp ected" G ^ MCAR7X | |
| 257 | S SEG("OBX" )=X | |
| 258 | S STYP=$P(X ,"|",3) I STYP'="ST" G IMP | |
| 259 | S CODE=$P(X ,"|",4),VA L=$P(X,"|" ,6),UNITS= $P(X,"|",7 ) I CODE[" ^" S CODE= | |
| 260 | $P(CODE,"^ ",2) | |
| 261 | I CODE=""!( VAL="") G NEXT | |
| 262 | I $D(SET(CO DE)) S $P( SET(CODE), ";",3)=VAL | |
| 263 | NEXT S NUM=NUM+1 G OBX | |
| 264 | IMP ; Get Impre ssion | |
| 265 | S NUM=NUM+1 ,VAL=$P(X, "|",6) I S TYP="CE" S VAL=$P(VA L,"^",2) | |
| 266 | S ICNT=ICNT +1,IMP(ICN T)=VAL G O BX | |
| 267 | UPDATE ; Update Fi le | |
| 268 | D PROC^MCAR 7A ; Set P rocedure E ntry | |
| 269 | I EXAM=9300 0 S ID="" F S ID=$O (SET(ID)) Q:ID="" S P=$P(SET( ID),";",1) | |
| 270 | I P'="" S K=$P(SET( ID),";",2) I K'="" S VAL=$P(SE T(ID),";", 3) S:VAL'= "" $P(^MCA | |
| 271 | R(FIL,DA,P ),"^",K)=V AL | |
| 272 | I $D(IMP) F P=1:1:ICN T S ^MCAR( FIL,DA,SUB ,P,0)=IMP( P) | |
| 273 | I S ^MCAR( FIL,DA,SUB ,0)="^^"_I CNT_"^"_IC NT_"^"_DT | |
| 274 | S DIK="^MCA R("_FIL_", " D IX1^DI K | |
| 275 | D GENACK^MC AR7X | |
| 276 | Q | |
| 277 | 93000 ; ;EKG;691.5 ;9 | |
| 278 | 93040 ; ;Pacemaker ;698.3;10 | |
| 279 | 93015 ; ;Exercise; 691.7;6 | |
| 280 | 93266 ; ;Holter;69 1.6;7 | |
| 281 | 93529 ; ;Cath;691. 1;43 | |
| 282 | 93307 ; ;Echo;691; 3 | |
| 283 | 93619 ; ;Electroph ysiology;6 91.8;12 | |
| 284 | VARS ; ; | |
| 285 | ; ;Interpret er;0;13 | |
| 286 | ; ;Systolic Blood Pres sure;4;2 | |
| 287 | ; ;Diastolic Blood Pre ssure;4;1 | |
| 288 | ; ;Ventricul ar Rate;0; 4 | |
| 289 | ; ;Atrial Ra te; | |
| 290 | ; ;P-R Inter val;0;5 | |
| 291 | ; ;QRS Durat ion;0;6 | |
| 292 | ; ;QT;0;7 | |
| 293 | ; ;QTc;0;8 | |
| 294 | ; ;P Axis;0; 9 | |
| 295 | ; ;QRS Axis; | |
| 296 | After: | |
| 297 | VISTAS1:VI STA>P | |
| 298 | MCAR7M1 ; HIRMFO/RE L-Muse EKG ; 9/12/17 11:12am | |
| 299 | ; ;2.3;Medic ine;**24** ;09/13/199 6;Build 18 | |
| 300 | ; MILW/JMC 1 8 Dec 07 - inserted line "UPDA TE+7" to c all local routine to | |
| 301 | create PC E. | |
| 302 | S EXAM=$P($ P(SEG("OBR "),"|",5), "^",1) S:E XAM="" EXA M=99999 | |
| 303 | S X=$T(@EXA M),FIL=$P( X,";",4),S UB=$P(X,"; ",5) I FIL =""!(SUB=" ") S ERRTX | |
| 304 | ="Unknown Exam Type" G ^MCAR7X | |
| 305 | F P=1:1 S V AL=$T(VARS +P) Q:VAL= "" S SET( $P(VAL,";" ,3))=$P(VA L,";",4,5) | |
| 306 | S X=$P($P(S EG("OBR"), "|",33),"^ ",1) | |
| 307 | I +X,$$GET1 ^DIQ(200,X ,.01,"I")' ="" S $P(S ET("Interp reter"),"; ",3)=X | |
| 308 | OBX ; Process O BX | |
| 309 | S X=$G(MSG( NUM)) G:X= "" UPDATE I $E(X,1,3 )'="OBX" S ERRTX="OB X not foun | |
| 310 | d when exp ected" G ^ MCAR7X | |
| 311 | S SEG("OBX" )=X | |
| 312 | S STYP=$P(X ,"|",3) I STYP'="ST" G IMP | |
| 313 | S CODE=$P(X ,"|",4),VA L=$P(X,"|" ,6),UNITS= $P(X,"|",7 ) I CODE[" ^" S CODE= | |
| 314 | $P(CODE,"^ ",2) | |
| 315 | I CODE=""!( VAL="") G NEXT | |
| 316 | I $D(SET(CO DE)) S $P( SET(CODE), ";",3)=VAL | |
| 317 | NEXT S NUM=NUM+1 G OBX | |
| 318 | IMP ; Get Impre ssion | |
| 319 | S NUM=NUM+1 ,VAL=$P(X, "|",6) I S TYP="CE" S VAL=$P(VA L,"^",2) | |
| 320 | S ICNT=ICNT +1,IMP(ICN T)=VAL G O BX | |
| 321 | UPDATE ; Update Fi le | |
| 322 | D PROC^MCAR 7A ; Set P rocedure E ntry | |
| 323 | I EXAM=9300 0 S ID="" F S ID=$O (SET(ID)) Q:ID="" S P=$P(SET( ID),";",1) | |
| 324 | I P'="" S K=$P(SET( ID),";",2) I K'="" S VAL=$P(SE T(ID),";", 3) S:VAL'= "" $P(^MCA R(FIL,DA,P ),"^",K)=V AL | |
| 325 | I $D(IMP) F P=1:1:ICN T S ^MCAR( FIL,DA,SUB ,P,0)=IMP( P) | |
| 326 | I S ^MCAR( FIL,DA,SUB ,0)="^^"_I CNT_"^"_IC NT_"^"_DT | |
| 327 | S DIK="^MCA R("_FIL_", " D IX1^DI K | |
| 328 | D GENACK^MC AR7X | |
| 329 | D MUSE^MCM4 MC3(FIL,DA ,0) | |
| 330 | Q | |
| 331 | 93000 ; ;EKG;691.5 ;9 | |
| 332 | 93040 ; ;Pacemaker ;698.3;10 | |
| 333 | 93015 ; ;Exercise; 691.7;6 | |
| 334 | 93266 ; ;Holter;69 1.6;7 | |
| 335 | 93529 ; ;Cath;691. 1;43 | |
| 336 | 93307 ; ;Echo;691; 3 | |
| 337 | 93619 ; ;Electroph ysiology;6 91.8;12 | |
| 338 | VARS ; ; | |
| 339 | ; ;Interpret er;0;13 | |
| 340 | ; ;Systolic Blood Pres sure;4;2 | |
| 341 | ; ;Diastolic Blood Pre ssure;4;1 | |
| 342 | ; ;Ventricul ar Rate;0; 4 | |
| 343 | ; ;Atrial Ra te; | |
| 344 | ; ;P-R Inter val;0;5 | |
| 345 | ; ;QRS Durat ion;0;6 | |
| 346 | ; ;QT;0;7 | |
| 347 | ; ;QTc;0;8 | |
| 348 | ; ;P Axis;0; 9 | |
| 349 | ; ;QRS Axis; | |
| 350 | ; ;T Axis;0; 11 | |
| 351 | MCM4MC3 (N ew) | |
| 352 | MCM4MC3 ; EPIP/WLE - Process I ncoming MU SE EKG Int erface Msg s to creat e PCE visi | |
| 353 | t ; 9/13/1 7 11:12am | |
| 354 | ; ;2.3;Medic ine;**48** ;09/12/199 6 | |
| 355 | ; This routi ne is call ed by MCAR 7M1. | |
| 356 | ; MILW/JDT 2 015.1.01 C ode for EK G updated to ICD10 | |
| 357 | ; | |
| 358 | Q | |
| 359 | ; ^%ZTER SUPPORTED ICR 1621 | |
| 360 | ; $$SDAPI^S DAMA301 SUPPORTED IC 4433 | |
| 361 | ; ADM^VADPT 2 CONTROLLE D ICR 325 | |
| 362 | ; $$FMADD^X LFDT SUPPORTED ICR 4558 | |
| 363 | ; SENDMSG^X MXAPI SUPPORTED ICR 2729 | |
| 364 | ; $$GET^XPA R SUPPORTED ICR 2263 | |
| 365 | ; $$DATA2PC E^PXAPI CONTROLLE D ICR 1889 | |
| 366 | ; $$CODEN^I CDEX CONTROLLE D ICR 5747 | |
| 367 | ; FILE #44 ^SC( SUPPORTED 10044 | |
| 368 | ; $$CPT^ICP TCOD(CPT) SUPPORTED 1995 | |
| 369 | ; | |
| 370 | MUSE(MCFIL E,MCDA,PRO MPT) ; Ent ry point f or MUSE EK G interfac e | |
| 371 | ; | |
| 372 | ; Call wit h MCFILE = Medicine package fi le | |
| 373 | ; MCDA = entry in related Me dicine pac kage file | |
| 374 | ; PROMPT = 1 - Flag to indicat e if inter active and user prom | |
| 375 | pted to cr eate PCE e ncounter | |
| 376 | ; | |
| 377 | ; Called by MCAR7M1 - Medicine MUSE inter face | |
| 378 | ; | |
| 379 | N MCMDIE,MC MI,MCMLOCI D,MCMSTATS ,MCFDA,X | |
| 380 | ; | |
| 381 | ; Determine status of MUSE Inte rface | |
| 382 | S MCMSTATS= $$GET^XPAR ("SYS","MC M4 MUSE IN TERFACE ST ATUS",1,"Q ") | |
| 383 | ; If not in teractive and interf ace is off then quit | |
| 384 | I 'PROMPT,M CMSTATS<1 Q ;Quit i f not inte ractive an d paramete r is off | |
| 385 | ; | |
| 386 | S MCMI=0,MC MLOCID="" | |
| 387 | F S MCMI=$ O(MSG(MCMI )) Q:MCMI< 1 I $E(MS G(MCMI),1, 3)="PV1" S MCMLOCID= | |
| 388 | $P($P(MSG( MCMI),"|", 4),"^") Q | |
| 389 | I MCMLOCID' ="" D | |
| 390 | . N MCLOC | |
| 391 | . S MCLOC=+ $$GET^XPAR ("SYS","MC M4 MUSE LO C ID",MCML OCID,"Q") | |
| 392 | . I MCLOC<1 Q | |
| 393 | . S MCFDA(1 ,MCFILE,MC DA_",",18) =MCLOC | |
| 394 | . D FILE^DI E("S","MCF DA(1)","MC MDIE(1)") | |
| 395 | ; | |
| 396 | ; Task crea ting PCE e ncounter i f working from HL7 i nterface a nd process | |
| 397 | ing HL7 me ssage. | |
| 398 | ; - Since PCE API ca n become i nteractive (writes t o current device) do | |
| 399 | n't want | |
| 400 | ; - this dialog to be sent vi a the curr ent device over the HL7 link. | |
| 401 | ; I $D(ZTQUE UED)!('PRO MPT) D Q | |
| 402 | ; . N ZTDESC ,ZTDTH,ZTI O,ZTRTN,ZT SAVE,ZTSK | |
| 403 | ; . S ZTRTN= "DQ^MCM4MC 3",ZTDTH=$ H,ZTIO="", ZTDESC="MU SE EKG PCE Encounter | |
| 404 | Creation" | |
| 405 | ; . F X="MCF ILE","MCDA ","PROMPT" S ZTSAVE( @X)="" | |
| 406 | ; . D ^%ZTLO AD | |
| 407 | ; | |
| 408 | D DQ | |
| 409 | Q | |
| 410 | ; | |
| 411 | ; | |
| 412 | DQ ; TaskMan e ntry point | |
| 413 | ; Setup PCE encounter | |
| 414 | D PCE | |
| 415 | K ^TMP("MCP XAPI",$J) | |
| 416 | Q | |
| 417 | ; | |
| 418 | ; | |
| 419 | PCE ; File PCE data | |
| 420 | ; | |
| 421 | N MCM4X,MCM ERR,MCMSVC C,CPT,DFN, MCREATE,MC DSSID,MCDU Z,MCENCDT, MCERR1,MCE | |
| 422 | RR2,MCICD9 ,MCLOC,MCN INS,MCNONC ,MCOK,MCPK G,MCPROV,M CVSITN,VAI NDT,VADMVT ,X | |
| 423 | ; | |
| 424 | ; Determine status of MUSE Inte rface | |
| 425 | S MCMSTATS= $$GET^XPAR ("SYS","MC M4 MUSE IN TERFACE ST ATUS",1,"Q ") | |
| 426 | ; | |
| 427 | K ^TMP("MCP XAPI",$J) | |
| 428 | ; | |
| 429 | D GETS^DIQ( 691.5,MCDA ,".01;1;12 ;18;900"," EI","TMP") | |
| 430 | S MCENCDT=T MP(MCFILE, MCDA_",",. 01,"I"),PR OMPT=$G(PR OMPT),(MCM SVCC,VADMV | |
| 431 | T)="" | |
| 432 | S DFN=TMP(M CFILE,MCDA _",",1,"I" ) | |
| 433 | ; | |
| 434 | S MCPKG=$O( ^DIC(9.4," B","MEDICI NE",0)) | |
| 435 | ; | |
| 436 | S CPT=93000 | |
| 437 | ; | |
| 438 | S MCDUZ=.5, MCREATE=1, MCPROV=TMP (MCFILE,MC DA_",",12, "I") | |
| 439 | S MCLOC=TMP (MCFILE,MC DA_",",18, "E") ;war d clinic | |
| 440 | ; | |
| 441 | ; If non-co unt clinic then don' t use this location. | |
| 442 | ; If ward l ocation th en use sta ndard EKG inpatient location. | |
| 443 | ; If not a ward or cl inic then don't use. | |
| 444 | S MCNONC=$$ GET1^DIQ(4 4,MCLOC,17 ,"I") | |
| 445 | S MCLOC=$$G ET1^DIQ(44 ,MCLOC,2," I")'?1(1"W ",1"C") S MCLOC="" | |
| 446 | I MCLOC="C" ,MCNONC="Y " S MCLOC= "" | |
| 447 | I MCLOC="W" S MCLOC=+ $$GET^XPAR ("SYS","MC M4 MUSE ST D INPATIEN T LOC",1," | |
| 448 | Q") | |
| 449 | ; | |
| 450 | ; If no loc ation then call VADP T to get i npatient s tatus | |
| 451 | ; and if inpatient then use s tandard in patient cl inic locat ion | |
| 452 | ; If outpat ient then find close st outpati ent appoin tment | |
| 453 | ; If none t hen use de fault outp atient loc ation | |
| 454 | I MCLOC="" D | |
| 455 | . S VAINDT= MCENCDT D ADM^VADPT2 | |
| 456 | . I VADMVT D Q | |
| 457 | . . S MCLOC =+$$GET^XP AR("SYS"," MCM4 MUSE STD INPATI ENT LOC",1 ,"Q") | |
| 458 | . . S MCFDA (2,MCFILE, MCDA_",",1 8)=MCLOC | |
| 459 | . . D FILE^ DIE("","MC FDA(2)","M CMDIE(2)") | |
| 460 | . N MCCDT,M COLLOC | |
| 461 | . S MCCDT=M CENCDT,MCO LLOC="" | |
| 462 | . I 'MCLOC S MCLOC=+$ $GET^XPAR( "SYS","MCM 4 MUSE DEF AULT OUTPT LOC",1,"Q | |
| 463 | ") | |
| 464 | . S MCFDA(3 ,MCFILE,MC DA_",",18) =MCLOC | |
| 465 | . D FILE^DI E("","MCFD A(3)","MCM DIE(3)") | |
| 466 | ; | |
| 467 | I MCLOC="" Q | |
| 468 | S MCLOC(0)= $G(^SC(MCL OC,0)) ;di rect acces s per ICR 10044 | |
| 469 | S MCNINS=$P (MCLOC(0), "^",4) | |
| 470 | S MCDSSID=+ $P(MCLOC(0 ),"^",7) | |
| 471 | ; | |
| 472 | ; Check is this locat ion flagge d to indic ate inpati ent OOS. | |
| 473 | S X=$$GET^X PAR("SYS", "MCM4 MUSE LOC INPAT IENT OOS", "`"_MCLOC, "Q") | |
| 474 | I X=1 S MCM SVCC="D" | |
| 475 | E S MCMSVC C="A" | |
| 476 | ; | |
| 477 | S MCVSITN=T MP(MCFILE, MCDA_",",9 00,"I") | |
| 478 | ; | |
| 479 | S MCICD9=+$ $CODEN^ICD EX("Z13.6 ",80) ;Ret urns IEN f or the ICD | |
| 480 | S ^TMP("MCP XAPI",$J," PROCEDURE" ,1,"ENC PR OVIDER")=M CPROV | |
| 481 | S ^TMP("MCP XAPI",$J," PROCEDURE" ,1,"PROCED URE")=CPT | |
| 482 | S ^TMP("MCP XAPI",$J," PROCEDURE" ,1,"QTY")= 1 | |
| 483 | S ^TMP("MCP XAPI",$J," PROCEDURE" ,1,"NARRAT IVE")=$P($ $CPT^ICPTC OD(CPT),"^ | |
| 484 | ",3) | |
| 485 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"DSS ID ")=MCDSSID | |
| 486 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"ENC D/ T")=MCENCD T | |
| 487 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"HOS LO C")=MCLOC | |
| 488 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"INSTIT UTION")=MC NINS | |
| 489 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"PATIEN T")=DFN | |
| 490 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"MST")= "" | |
| 491 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"SERVIC E CATEGORY ")=MCMSVCC | |
| 492 | S ^TMP("MCP XAPI",$J," ENCOUNTER" ,1,"ENCOUN TER TYPE") ="A" | |
| 493 | S ^TMP("MCP XAPI",$J," DX/PL",1," PRIMARY")= "1" | |
| 494 | S ^TMP("MCP XAPI",$J," DX/PL",1," DIAGNOSIS" )=MCICD9 | |
| 495 | ; | |
| 496 | I PROMPT D | |
| 497 | . N DIR,DIR UT,DTOUT,D UOUT,PCEDA TA,X,Y | |
| 498 | . W ! | |
| 499 | . I VADMVT W !,"Patie nt in an i npatient s tatus as o f this dat e/time" | |
| 500 | . I $G(MCVS ITN)>0 W ! ,"Using ex isting vis it: ",MCVS ITN | |
| 501 | . M PCEDATA =^TMP("MCP XAPI",$J) | |
| 502 | . W !,"Data to be pas sed to PCE ",! | |
| 503 | . N X F X=" MCM4X","MC MSVCC","MC FILE","MCD A","PCEDAT A" D | |
| 504 | . . F S X= $Q(@X) Q:X ="" W !,X ,"=",@X | |
| 505 | . W ! | |
| 506 | . S MCREATE =0 | |
| 507 | . S DIR(0)= "YO",DIR(" A")="Is da ta okay to Create En counter",D IR("B")="N | |
| 508 | O" | |
| 509 | . D ^DIR | |
| 510 | . I $D(DIRU T) Q | |
| 511 | . I Y=1 S M CREATE=1 | |
| 512 | ; | |
| 513 | I PROMPT,'M CREATE Q | |
| 514 | ; | |
| 515 | ; If proces sing but n ot storing then noti fy with bu lletin wha t info wou | |
| 516 | ld have be en used to create en counter. | |
| 517 | I 'PROMPT,M CMSTATS=2 D MAILALRT Q | |
| 518 | ; | |
| 519 | ; Don't sen d to PCE i f visit al ready on f ile - avoi d duplicat ion of wor | |
| 520 | kload. | |
| 521 | I TMP(MCFIL E,MCDA_"," ,900,"E") Q | |
| 522 | ; | |
| 523 | ; Create th e encounte r. | |
| 524 | S MCOK=$$DA TA2PCE^PXA PI("^TMP(" "MCPXAPI"" ,$J)",MCPK G,"MEDICIN E",.MCVSIT | |
| 525 | N,MCDUZ,$S (PROMPT:1, 1:0),.MCER R1,,.MCERR 2) | |
| 526 | ; | |
| 527 | I 'PROMPT,M COK=0 D MA ILALRT Q ; If proce ssing but no PCE cre ated notif | |
| 528 | y the mail group | |
| 529 | ; If new vi sit then u pdate Medi cine file | |
| 530 | I MCOK=1,MC VSITN,'TMP (MCFILE,MC DA_",",900 ,"E") D | |
| 531 | . N MCFDA | |
| 532 | . S MCFDA(4 ,MCFILE,MC DA_",",900 )=MCVSITN | |
| 533 | . D FILE^DI E("","MCFD A(4)","MCM DIE(4)") | |
| 534 | ; | |
| 535 | I PROMPT D | |
| 536 | . W !!,"Dat a returned by PCE",! | |
| 537 | . W !,"API Success: " ,$S(MCOK:" YES",1:"NO ") | |
| 538 | . W !,"PCE Visit # ", MCVSITN | |
| 539 | . I $D(MCER R1) W !,"E rror array #1",! D | |
| 540 | . . N X S X ="MCERR1" F S X=$Q( @X) Q:X="" W !,X,"= ",@X | |
| 541 | . I $D(MCER R2) W !,"E rror array #2",! D | |
| 542 | . . N X S X ="MCERR2" F S X=$Q( @X) Q:X="" W !,X,"= ",@X | |
| 543 | . D MAILALR T | |
| 544 | Q | |
| 545 | ; | |
| 546 | MAILALRT ; Send mail message a lert when in notify only statu s | |
| 547 | ; Be sure t o create M CM4 MUSE a s a mail g roup and a dd yoursel f | |
| 548 | ; PROMPT=2 will creat e mail ale rt | |
| 549 | ; | |
| 550 | N J,MCMCNT, MCMTXT,X,X MINSTR,XMS UB,XMTO | |
| 551 | ; | |
| 552 | M PCEDATA=^ TMP("MCPXA PI",$J) | |
| 553 | ; | |
| 554 | S MCMTXT(1) ="The foll owing info rmation is provided to assist in MUSE in | |
| 555 | terface te sting" | |
| 556 | S MCMTXT(2) =" ",MCMCN T=2 | |
| 557 | ; | |
| 558 | F J="MCFILE ","MCDA"," MCM4X","MC OK","MCERR 1","MCERR2 ","MCVSITN ","MCLOC", | |
| 559 | "PCEDATA", "VADMVT"," MCMDIE" D | |
| 560 | . S X=$G(@J ) | |
| 561 | . I X'="" S MCMCNT=MC MCNT+1,MCM TXT(MCMCNT )=J_"="_X | |
| 562 | . F S J=$Q (@J) Q:J=" " S MCMCN T=MCMCNT+1 ,MCMTXT(MC MCNT)=J_"= "_@J | |
| 563 | ; | |
| 564 | S XMSUB="MU SE Interfa ce Encount er Paramet ers - file #"_MCFILE _" entry # | |
| 565 | "_MCDA | |
| 566 | ; | |
| 567 | S XMTO("G.M CM4 MUSE") ="",XMINST R("FROM")= .5,XMINSTR ("ADDR FLA GS")="R" | |
| 568 | D SENDMSG^X MXAPI(DUZ, XMSUB,"MCM TXT",.XMTO ,.XMINSTR) | |
| 569 | Q | |
| 570 | ; | |
| 571 | ; | |
| 572 | REMESTL ; Test logic w/o HL7 i nput inter active | |
| 573 | ; this subro utine is d esigned as a tool to debug the code in i nteractive | |
| 574 | mode | |
| 575 | ; PLEASE NOT E the Swit ch "MCM4 M USE INTERF ACE STATUS " is only used in th | |
| 576 | e immediat e mode/non interacti ve modes | |
| 577 | ; Data for t he PCE is provided b y the pati ent file a nd some by the HL7 i | |
| 578 | nput. Exam ple | |
| 579 | ; AO or agen t orange c omes from the patien t file. Th e response from the | |
| 580 | PXAPI API is more da ta | |
| 581 | ; to assist in debuggi ng the app lication. | |
| 582 | ; if a No is entered t o the ques tion no PC E is creat ed, if Yes the PCE w | |
| 583 | ill be cre ated | |
| 584 | ; if you cho se interac tive, the PCE will b e created immediatel y | |
| 585 | ; to verify the PCE da ta do INQ in fileman on the VI SIT file t hen use PR | |
| 586 | to print t he data. | |
| 587 | ; The PCE ca ll will gi ve you the IEN of th e Visit an d notify y ou if a PC | |
| 588 | E was not built. | |
| 589 | I $$PROD^XU PROD() R ! ,"CANNOT B E RUN IN P RODUCTION ENVIRONMEN T",X:DTIME | |
| 590 | Q | |
| 591 | N MCL,MCDAT ,MCFILE,MS G,MCPROMPT ,MCFLAG,MC ARRAY,MCCO UNT,MCX,MC LX | |
| 592 | S MCFILE=69 1.5 | |
| 593 | ; 51 is the code assig ned to the EKG Cart | |
| 594 | S MSG(1)="P V1|1||51^^ ^^^^^51" | |
| 595 | D LIST^DIC( 691.5,,"@; .01;1I;1;" ,"PQ",,,,, ,,"TMP") | |
| 596 | R !!,"Enter 0 to buil d PCE imme diately, 1 for inter active or 2 for a Ma | |
| 597 | il Alert : ",X:DTIME I U[X!('$T ) Q | |
| 598 | I '(X=0!(X= 1)!(X=2)) G REMESTL | |
| 599 | S MCPROMPT= X,MCFLAG=" " | |
| 600 | S MCCOUNT=0 | |
| 601 | S MCL=0,MCX ="" F S M CL=$O(TMP( "DILIST",M CL)) Q:MCL =""!(MCFLA G="DONE") | |
| 602 | D | |
| 603 | . S MCDAT= $G(TMP("DI LIST",MCL, 0)) | |
| 604 | . W !,MCL, ?5,$P(MCDA T,"^",4),? 40,$P(MCDA T,"^",2) | |
| 605 | . S MCLX=M CL | |
| 606 | . S MCCOUN T=MCCOUNT+ 1 | |
| 607 | . I MCCOUN T#15=0!(MC L="") D MC ASK Q:MCFL AG="DONE" | |
| 608 | I MCFLAG'=" DONE" D MC ASK | |
| 609 | I X=""!(X[U )!(X>MCLX) !(X<1)!(X[ "?") R !!, "Invalid c hoice",X:D TIME G RE | |
| 610 | MESTL | |
| 611 | I $D(TMP("D ILIST",X)) =0 G REMES TL | |
| 612 | S MCX=$P(TM P("DILIST" ,X,0),"^") _"," | |
| 613 | K MCARRAY D GETS^DIQ( 691.5,MCX, "**","","M CARRAY") | |
| 614 | I $D(MCARRAY )=0 R !,"I nvalid cho ice",X:DTI ME W !! G REMESTL | |
| 615 | S MCDA=$P(T MP("DILIST ",X,0),"^" ) | |
| 616 | D MUSE(MCFI LE,MCDA,MC PROMPT) | |
| 617 | Q | |
| 618 | MCASK ; Ask for e ntry | |
| 619 | R !!!,"Choo se the exa m to use b y entering the numbe r on the l eft: ",X:D | |
| 620 | TIME I U[X !('$T) Q | |
| 621 | I $O(TMP("D ILIST",MCL ))=0 S MCF LAG="DONE" Q | |
| 622 | I X'="" S M CFLAG="DON E" | |
| 623 | Q | |
| 624 | GMTSKGHS ( New) | |
| 625 | GMTSKGHS ; EPIP/WLE H ealth Summ ary Compon ent to dis play ekg r eports ; 0 3/15/18 2: 53pm | |
| 626 | ; ;2.7;Healt h Summary; **2,30,47, 123**;Oct 20, 1995 | |
| 627 | ; | |
| 628 | ; File 691. 5 Private ICR 6828 | |
| 629 | Q | |
| 630 | ; | |
| 631 | EN ; | |
| 632 | N GMTSBG,GM TSEND,GMTS IEN,GMTSDT ,GMTSDT1,G MTSFLG,GMT SCNT,GMTSP ,GMTSDAT,G | |
| 633 | MTSSUM,GMT SP1,GMTSTT M,GMTSPT,G MTSTMP | |
| 634 | D CKP^GMTSU P Q:$D(GMT SQIT) | |
| 635 | S GMTSEND=$ $NOW^XLFDT ,GMTSBG=$$ FMADD^XLFD T(GMTSEND, -365,0,0,0 ) | |
| 636 | S GMTSIEN=0 ,GMTSFLG=0 | |
| 637 | D FIND^DIC( 691.5,,"@; .01;.03"," PQ",DFN,," C",,,"GMTS TMP") | |
| 638 | S GMTSIEN=0 F S GMTS IEN=$O(GMT STMP("DILI ST",GMTSIE N)) Q:GMTS IEN="" D | |
| 639 | . S GMTSPT= "" F S GM TSPT=$O(GM TSTMP("DIL IST",GMTSI EN,GMTSPT) ) Q:GMTSPT ="" S GMT SDT=$P(GMT STMP("DILI ST",GMTSIE N,0),U,2) D | |
| 640 | . . D DT^DI LF("ET",GM TSDT,.GMTS DT1) | |
| 641 | . . I GMTSD T1<GMTSBG! (GMTSDT1>G MTSEND) K GMTSTMP("D ILIST",GMT SIEN,GMTSP T) Q ;Not within 36 5 days | |
| 642 | . . S GMTSF LG=1 | |
| 643 | PRINT ; | |
| 644 | I 'GMTSFLG W !,"No EK Gs for thi s patient within a y ear." Q | |
| 645 | S GMTSCNT=0 | |
| 646 | W !,"Proced ure Date/T ime",?22," Procedure Name",?45, "Report Su mmary" | |
| 647 | W !,"------ ---------- ---------- ---------- ---------- ---------- ---------- -" | |
| 648 | S GMTSIEN=" " F S GMT SIEN=$O(GM TSTMP("DIL IST",GMTSI EN),-1) Q: GMTSIEN="" !(GMTSCNT= 1) D | |
| 649 | . S GMTSP=" " F S GMT SP=$O(GMTS TMP("DILIS T",GMTSIEN ,GMTSP)) Q :GMTSP="" D | |
| 650 | . . S GMTSC NT=GMTSCNT +1 | |
| 651 | . . S GMTSD AT=GMTSTMP ("DILIST", GMTSIEN,GM TSP),GMTST TM=$P(GMTS DAT,U,2),G | |
| 652 | MTSSUM=$P( GMTSDAT,U, 3) | |
| 653 | . . W !,GMT STTM,?22," Electrocar diogram",? 45,GMTSSUM | |
| 654 | . . S GMTSI EN1=$P(GMT STMP("DILI ST",GMTSIE N,0),U)_", " | |
| 655 | . . D GETS^ DIQ(691.5, GMTSIEN1,2 0,"E","GMT STMP") | |
| 656 | . . S GMTSP 1="" F S GMTSP1=$O( GMTSTMP(69 1.5,GMTSIE N1,20,GMTS P1)) Q:GMT SP1=""!(GM TSP1="E") D | |
| 657 | . . . W !,? 5,GMTSTMP( 691.5,GMTS IEN1,20,GM TSP1) | |
| 658 | Q | |
| 659 | GMTSP123 ( New) | |
| 660 | GMTSP123 ; CIO/SLC - Post Inst all GMTS*2 .7*123 ; 04/23/20 18 | |
| 661 | ; ;2.7;Healt h Summary; **123**;Oc t 20, 1995 | |
| 662 | CI ; Component Install | |
| 663 | N GMTSIN,GM TSLIM,GMTS INST,GMTST L,GMTSINST ,GMTSTOT,G MTSBLD,GMT SCPS,GMTSC | |
| 664 | P,GMTSCI | |
| 665 | S GMTSCPS=" EKG" | |
| 666 | F GMTSCI=1: 1 Q:'$L($P (GMTSCPS," ;",GMTSCI) ) D | |
| 667 | . S GMTSCP= $P(GMTSCPS ,";",GMTSC I) K GMTSI N | |
| 668 | . D ARRAY Q :'$D(GMTSI N) | |
| 669 | . I $L($G(G MTSIN("TIM "))),+($G( GMTSIN(0)) )>0 S GMTS LIM(+($G(G MTSIN(0))) ,"TIM")=$G (GMTSIN("T IM")) | |
| 670 | . I $L($G(G MTSIN("OCC "))),+($G( GMTSIN(0)) )>0 S GMTS LIM(+($G(G MTSIN(0))) ,"OCC")=$G (GMTSIN("O CC")) | |
| 671 | . S GMTSINS T=$$ADD^GM TSXPD1(.GM TSIN),GMTS TOT=+($G(G MTSTOT))+( $G(GMTSINS | |
| 672 | T)) | |
| 673 | ; Rebuild A d Hoc Heal th Summary Type | |
| 674 | D :+($G(GMTS TOT))>0 BU ILD^GMTSXP D3 | |
| 675 | D LIM | |
| 676 | I +$$ROK("G MTSXPS1")> 0 D | |
| 677 | . N GMTSHOR T S GMTSHO RT=1,GMTSI NST="",GMT SBLD="GMTS *2.7*123" D SEND^GMT SXPS1 | |
| 678 | Q | |
| 679 | ARRAY ; Build Arr ay | |
| 680 | K GMTSIN N GMTSI,GMTS TXT,GMTSEX ,GMTSFLD,G MTSUB,GMTS VAL,GMTSPD X S GMTSPD X=1,GMTSCP =$G(GMTSCP ) Q:'$L(GM TSCP) | |
| 681 | F GMTSI=1:1 D Q:'$L( GMTSTXT) | |
| 682 | . S GMTSTXT ="",GMTSEX ="S GMTSTX T=$T("_GMT SCP_"+"_GM TSI_")" X GMTSEX S:$ L(GMTSTXT, ";")'>3 GM TSTXT="" Q :'$L(GMTST XT) | |
| 683 | . S GMTSFLD =$P(GMTSTX T,";",2),G MTSUB=$P(G MTSTXT,";" ,3),GMTSVA L=$P(GMTST | |
| 684 | XT,";",4) | |
| 685 | . S:$E(GMTS FLD,1)=1&( +GMTSFLD<2 ) GMTSVAL= $P(GMTSTXT ,";",4,5) | |
| 686 | . S:$E(GMTS FLD,1)=" " !('$L(GMTS FLD)) GMTS TXT="" Q:G MTSTXT="" | |
| 687 | . S:$L(GMTS FLD)&('$L( GMTSUB)) G MTSIN(GMTS FLD)=GMTSV AL Q:$L(GM TSFLD)&('$ | |
| 688 | L(GMTSUB)) S:$L(GMT SFLD)&($L( GMTSUB)) G MTSIN(GMTS FLD,GMTSUB )=GMTSVAL | |
| 689 | . S:$G(GMTS FLD)=7&(+( $G(GMTSUB) )>0) GMTSP DX=0 | |
| 690 | K :+($G(GMTS PDX))=0 GM TSIN("PDX" ) | |
| 691 | Q | |
| 692 | LIM ; Limits | |
| 693 | N GMTSI,GMT ST,GMTSO,G MTSA S GMT SI=0 F S GMTSI=$O(G MTSLIM(GMT SI)) Q:+GM TSI=0 D | |
| 694 | . S GMTSA=$ P($G(^GMT( 142.1,+($G (GMTSI)),0 )),"^",3), GMTST=$G(G MTSLIM(+GM | |
| 695 | TSI,"TIM") ) S:'$L(GM TST) GMTST =$S(GMTSA= "Y ":"1Y " ,1:"") | |
| 696 | . S GMTSA=$ P($G(^GMT( 142.1,+($G (GMTSI)),0 )),"^",5), GMTSO=$G(G MTSLIM(+GM | |
| 697 | TSI,"OCC") ) S:'$L(GM TSO) GMTSO =$S(GMTSA= "Y ":"10 " ,1:"") | |
| 698 | . D TO^GMTS XPD3(GMTSI ,GMTST,GMT SO) | |
| 699 | Q | |
| 700 | ROK(X) ; Routine O K | |
| 701 | S X=$G(X) Q :'$L(X) 0 N GMTSEX,G MTSTXT S G MTSEX="S G MTSTXT=$T( +1^"_X_")" X GMTSEX | |
| 702 | Q :'$L(GMTST XT) 0 Q 1 | |
| 703 | ; | |
| 704 | EKG ; EKG Compo nent Data | |
| 705 | ; 0;;263 | |
| 706 | ; .01;;EKG | |
| 707 | ; 1;;EN;GMTS KGHS | |
| 708 | ; 1.1;;0 | |
| 709 | ; 2;;Y | |
| 710 | ; 3;;EKG | |
| 711 | ; 3.5;;1 | |
| 712 | ; 3.5;1;Heal th summary created t o display EKG inform ation. | |
| 713 | ; 4;;Y | |
| 714 | ; 5;; | |
| 715 | ; 6;; | |
| 716 | ; 7;;0 | |
| 717 | ; 8;; | |
| 718 | ; 9;; | |
| 719 | ; 10;; | |
| 720 | ; 11;; | |
| 721 | ; 12;; | |
| 722 | ; 13;; | |
| 723 | ; 14;; | |
| 724 | ; PDX;;1 | |
| 725 | ; TIM;;20Y | |
| 726 | ; OCC;;10 | |
| 727 | ; | |
| 728 | Q | |
| 729 | ; |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.