GMRCIUTL ;SLC/JFR - UTILITIES FOR INTER-FACILITY CONSULTS ; Jan 09, 2025@09:45:11
Source file <GMRCIUTL.m>
| Package | Total | Call Graph |
|---|---|---|
| Consult Request Tracking | 5 | $$CNVTD^GMRCIEVT $$MSA^GMRCISEG ($$OBR,$$ORCRESP)^GMRCISG1 $$EDIPI^GMRCIUTL GETSVC^GMRCPR0 |
| Kernel | 5 | $$NOW^XLFDT ($$FMNAME,$$HLNAME,$$NAMEFMT)^XLFNAME ($$IEN,$$NS,$$STA)^XUAF4 $$KSP^XUPARAM $$NPI^XUSNPI |
| Registration | 3 | $$EN^VAFCPID TFL^VAFCTFU2 $$SITE^VASITE |
| VA FileMan | 3 | $$FIND1^DIC UPDATE^DIE ($$GET1,GETS)^DIQ |
| Electronic Health Modernization | 1 | SAVEHL7X^EHMHL7 |
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| DIV(LOC) | ; get the division from a hospital location
; Input -- LOC HOSPITAL LOCATION file (#44) IEN ; Output -- INSTITUTION file (#4) IEN^INSTITUTION file (#4) NAME |
|
| HLNAME(GMRCWHO) | ||
| UNHLNAME(GMRCNM,GMRCNMC,STD,DEL) | ;return regular name from HL7 name
|
|
| TRIMWP(ARRAY,PIECE) | ;trim OBX or NTE segments so that only comment remains
; Input: ; ARRAY = the array in which the segments are contained ; ex. ^TMP("GMRCIF",541083753,"OBX",3,3)=3|TX|^COMMENTS^|3|text " ; PIECE = the piece in the array where the text lives ; ; Output: ; trimmed array ; ex. ^TMP("GMRCIF",541083753,"OBX",3,3)="text" |
|
| VALMSG(GMRCPID,GMRCORC) | ; determine if message is valid
|
|
| URG(GMRCO) | ;return urgency code to send in HL7 msg
; Input: ; GMRCO = consult ien from file 123 |
|
| GETSERV(GMRCSRV) | ;return local service from IFC service in HL7 msg
|
|
| GETPROC(GMRCSID) | ;return procedure and sercvice ordered by IFC
|
|
| CODEOI(GMRCDA) | ; look at ordered procedure or service and code it for IFC msg
|
|
| RESP(GMRCAC,GMRCMID,GMRCOC,GMRCDA,GMRCERR) | ;build and send appl ACK/NAK
; Input: ; GMRCAC = acknowledgement code (AA or AR) ; GMRCMID = message id from original msg ; GMRCOC = order control from original msg ORC ; GMRCDA = ien of consult being worked on ; GMRCERR = only defined if an error is found |
|
| LOGMSG(GMRCO,GMRCACT,GMRCMSG,GMRCER) | ;create or update IFC MESSAGE LOG entry
|
|
| EDIPI(DFN) | ; p184
|
|
| ADD2PID(PIDSGMNT,DFN,ACCTNO) | ; P184
|
|
| ADD2OBR(OBRSGMNT,CONSULT) | ; P184
|
|
| INCERNER(DFN) | ;
|
|
| NOSND() | ;Do not respond to the sent comment.
|
|
| ERR101 | ;Unknown Consult/Procedure request
|
|
| ERR201 | ;Unknown Patient
|
|
| ERR202 | ;Local or unknown MPI identifiers
|
|
| ERR203 | ;Patient not in Cerner
|
|
| ERR204 | ;Waiting for IFC order to be processed in Cerner
|
|
| ERR205 | ;Waiting for treating facility list to be updated
|
|
| ERR206 | ;ICN Missing from Incoming Order
|
|
| ERR301 | ;Service not matched to receiving facility
|
|
| ERR401 | ;Procedure not matched to receiving facility
|
|
| ERR501 | ;Error in procedure name
|
|
| ERR601 | ;Multiple services matched to procedure
|
|
| ERR701 | ;Error in Service name
|
|
| ERR702 | ;Service is Disabled
|
|
| ERR703 | ;Procedure is Inactive
|
|
| ERR801 | ;Inappropriate action for specified request
|
|
| ERR802 | ;Duplicate, activity not filed
|
|
| ERR901 | ;Unable to update record successfully
|
|
| ERR902 | ;Earlier pending transactions
|
|
| ERR903 | ;HL Logical Link not found
|
|
| ERR904 | ;VistA HL7 unable to send transaction
|
| Name | Field # of Occurrence |
|---|---|
| $$FIND1^DIC | GETSERV+7, GETPROC+8 |
| UPDATE^DIE | LOGMSG+16, LOGMSG+27 |
| $$GET1^DIQ | ADD2OBR+16, ADD2OBR+19, ADD2OBR+22, ADD2OBR+34, ADD2OBR+39, ADD2OBR+43 |
| GETS^DIQ | NOSND+5 |
| SAVEHL7X^EHMHL7 | LOGMSG+31 |
| $$CNVTD^GMRCIEVT | LOGMSG+31 |
| $$MSA^GMRCISEG | RESP+8 |
| $$OBR^GMRCISG1 | RESP+25 |
| $$ORCRESP^GMRCISG1 | RESP+21 |
| $$EDIPI^GMRCIUTL | ADD2PID+15 |
| GETSVC^GMRCPR0 | GETPROC+17 |
| $$EN^VAFCPID | RESP+17 |
| TFL^VAFCTFU2 | EDIPI+6, INCERNER+8 |
| $$SITE^VASITE | DIV+7, EDIPI+6, INCERNER+8 |
| $$NOW^XLFDT | LOGMSG+12, LOGMSG+19 |
| $$FMNAME^XLFNAME | UNHLNAME+16 |
| $$HLNAME^XLFNAME | HLNAME+6 |
| $$NAMEFMT^XLFNAME | UNHLNAME+17 |
| $$IEN^XUAF4 | GETSERV+11, GETPROC+12 |
| $$NS^XUAF4 | DIV+11 |
| $$STA^XUAF4 | CODEOI+9, LOGMSG+31, ADD2OBR+36 |
| $$KSP^XUPARAM | CODEOI+9, LOGMSG+31, ADD2OBR+36 |
| $$NPI^XUSNPI | ADD2OBR+43 |
| FileNo | Call Tags |
|---|---|
| ^GMR(123 - [#123] | GET1^DIQ |
| 123.02 | GETS^DIQ |
| ^GMR(123.3 - [#123.3] | FIND1^DIC |
| ^GMR(123.5 - [#123.5] | FIND1^DIC |
| ^VA(200 - [#200] | GET1^DIQ |
| ^DIC(4 - [#4] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^GMR(123 - [#123] | URG+17, CODEOI+10, CODEOI+11, CODEOI+14, RESP+15, LOGMSG+20, LOGMSG+31, ADD2OBR+18, ADD2OBR+25, ADD2OBR+26 , ADD2OBR+27, ADD2OBR+28, ADD2OBR+42, NOSND+3, NOSND+4 |
| ^GMR(123.3 - [#123.3] | GETPROC+14, GETPROC+21, CODEOI+12 |
| ^GMR(123.5 - [#123.5] | GETSERV+13, GETSERV+16, CODEOI+15 |
| ^GMR(123.6 - [#123.6] | LOGMSG+10, LOGMSG+14 |
| ^ORD(101 - [#101] | URG+18 |
| ^ORD(101.42 - [#101.42] | URG+21, URG+23 |
| ^SC - [#44] | DIV+5 |
| ^TMP("HLS" | LOGMSG+31 |
| ^VA(200 - [#200] | HLNAME+1 |
| Name | Line Occurrences |
|---|---|
| $$ADD2OBR | RESP+25 |
| $$ADD2PID | RESP+17 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ACCTNO | ADD2PID~, ADD2PID+27 |
| ARRAY | TRIMWP~, TRIMWP+11, TRIMWP+12 |
| CODING | ADD2OBR+7~, ADD2OBR+21*, ADD2OBR+23, ADD2OBR+38*, ADD2OBR+40 |
| CONSULT | ADD2OBR~, ADD2OBR+16, ADD2OBR+18, ADD2OBR+25, ADD2OBR+26, ADD2OBR+27, ADD2OBR+28, ADD2OBR+34, ADD2OBR+36, ADD2OBR+42 |
| CS | RESP+12~, ADD2PID+10~, ADD2PID+11*, ADD2PID+23, ADD2OBR+7~, ADD2OBR+8*, ADD2OBR+19, ADD2OBR+21, ADD2OBR+23, ADD2OBR+28 , ADD2OBR+36, ADD2OBR+38, ADD2OBR+40, ADD2OBR+43 |
| DEL | UNHLNAME~, UNHLNAME+14* |
| DFN | RESP+12~, RESP+15*, RESP+17, EDIPI~, EDIPI+6, ADD2PID~, ADD2PID+15, INCERNER~, INCERNER+4, INCERNER+8 |
| DUZ(2 | DIV+11 |
| EDIPI | RESP+12~, EDIPI+8*, EDIPI+10, ADD2PID+10~, ADD2PID+15*, ADD2PID+23 |
| ERROR | GETSERV+6~, GETSERV+8*, GETSERV+9, GETSERV+12, GETSERV+14*, GETSERV+15, GETSERV+17*, GETSERV+18, GETPROC+7~, GETPROC+9* , GETPROC+10, GETPROC+13, GETPROC+15*, GETPROC+16, GETPROC+18*, GETPROC+20, GETPROC+22*, GETPROC+23 |
| FDA | LOGMSG+9~ |
| FDA(1 | LOGMSG+12*, LOGMSG+13*, LOGMSG+14*, LOGMSG+15*, LOGMSG+19*, LOGMSG+20*, LOGMSG+21*, LOGMSG+22*, LOGMSG+23*, LOGMSG+24* , LOGMSG+25*, LOGMSG+26* |
| FIELD | ADD2OBR+7~, ADD2OBR+39* |
| FILE | ADD2OBR+7~, ADD2OBR+21*, ADD2OBR+22, ADD2OBR+38*, ADD2OBR+39 |
| FOUND | INCERNER+6~, INCERNER+9*, INCERNER+11 |
| FS | RESP+12~, ADD2PID+10~, ADD2PID+11*, ADD2PID+15, ADD2PID+19, ADD2PID+23, ADD2PID+27, ADD2OBR+7~, ADD2OBR+8*, ADD2OBR+19 , ADD2OBR+21, ADD2OBR+23, ADD2OBR+25, ADD2OBR+26, ADD2OBR+27, ADD2OBR+28, ADD2OBR+36, ADD2OBR+38, ADD2OBR+40, ADD2OBR+43 |
| GMRC | HLNAME+2~, HLNAME+6 |
| GMRC("FIELD" | HLNAME+5* |
| GMRC("FILE" | HLNAME+3* |
| GMRC("IENS" | HLNAME+4* |
| GMRCAC | RESP~, RESP+8 |
| GMRCACT | LOGMSG~, LOGMSG+10, LOGMSG+23 |
| GMRCARRAY | NOSND+1~ |
| GMRCARRAY( | NOSND+6 |
| GMRCDA | VALMSG+12~, CODEOI~, CODEOI+10, CODEOI+11, CODEOI+14, RESP~, RESP+14, RESP+15, RESP+21, RESP+25 |
| GMRCDIV | DIV+4~, DIV+9*, DIV+10, DIV+11*, DIV+12 |
| >> GMRCDQ | NOSND+2*, NOSND+3, NOSND+6*, NOSND+7 |
| GMRCER | LOGMSG~, LOGMSG+15, LOGMSG+26 |
| GMRCERR | RESP~, RESP+8, LOGMSG+9~ |
| GMRCHL | DIV+4~, DIV+5*, DIV+6, DIV+7 |
| GMRCINST | VALMSG+12~ |
| GMRCL | NOSND+1~, NOSND+3*, NOSND+4 |
| GMRCLG | LOGMSG+9~, LOGMSG+10*, LOGMSG+11, LOGMSG+12, LOGMSG+13, LOGMSG+14, LOGMSG+15 |
| GMRCMID | RESP~, RESP+8 |
| GMRCMSG | LOGMSG~, LOGMSG+13, LOGMSG+21 |
| GMRCNM | UNHLNAME~, UNHLNAME+15 |
| GMRCNMC | UNHLNAME~, UNHLNAME+15*, UNHLNAME+16*, UNHLNAME+17* |
| GMRCO | URG~, URG+17, LOGMSG~, LOGMSG+10, LOGMSG+20, LOGMSG+22, LOGMSG+31 |
| GMRCOC | RESP~, RESP+20, RESP+21 |
| GMRCOI | CODEOI+8~, CODEOI+12*, CODEOI+13, CODEOI+15*, CODEOI+16 |
| GMRCORC | VALMSG~ |
| GMRCPID | VALMSG~ |
| GMRCPR | GETPROC+7~, GETPROC+8*, GETPROC+9, GETPROC+14, GETPROC+17, GETPROC+21, GETPROC+23, CODEOI+8~, CODEOI+11*, CODEOI+12 |
| GMRCSID | GETPROC~, GETPROC+8, GETPROC+11 |
| GMRCSIT | CODEOI+8~, CODEOI+9*, CODEOI+12, CODEOI+15 |
| GMRCSRV | GETSERV~, GETSERV+7, GETSERV+10 |
| GMRCSS | GETPROC+7~, GETPROC+17, GETPROC+18, GETPROC+19*, GETPROC+23, CODEOI+8~, CODEOI+14*, CODEOI+15 |
| GMRCSS(1 | GETPROC+19 |
| GMRCSTN | DIV+4~, DIV+7*, DIV+8, DIV+9 |
| GMRCWHO | HLNAME~, HLNAME+1, HLNAME+4 |
| GMRCZ | NOSND+1~, NOSND+4*, NOSND+5, NOSND+6 |
| >> HL("ECH" | RESP+17, ADD2PID+11, ADD2OBR+8 |
| >> HL("FS" | ADD2PID+11, ADD2OBR+8 |
| >> HLA("HLA" | RESP+8*, RESP+18*, RESP+21*, RESP+25* |
| >> HLECH | RESP+17* |
| I | TRIMWP+10~*, TRIMWP+11*, TRIMWP+12, EDIPI+4~, EDIPI+8*, INCERNER+6~, INCERNER+9* |
| ICN | RESP+12~, ADD2PID+10~, ADD2PID+15*, ADD2PID+23 |
| ID | ADD2OBR+7~, ADD2OBR+21*, ADD2OBR+22, ADD2OBR+23, ADD2OBR+38*, ADD2OBR+39, ADD2OBR+40 |
| >> IEN | NOSND+3, NOSND+4, NOSND+5, NOSND+6 |
| LOC | DIV~, DIV+5 |
| NAME | ADD2OBR+7~, ADD2OBR+21*, ADD2OBR+22*, ADD2OBR+23, ADD2OBR+38*, ADD2OBR+39*, ADD2OBR+40, ADD2OBR+43* |
| NPI | ADD2OBR+7~, ADD2OBR+43* |
| OBR16 | ADD2OBR+7~, ADD2OBR+25* |
| OBR19 | ADD2OBR+7~, ADD2OBR+26* |
| OBR20 | ADD2OBR+7~, ADD2OBR+27* |
| OBR27 | ADD2OBR+7~, ADD2OBR+28* |
| OBRSGMNT | ADD2OBR~, ADD2OBR+19*, ADD2OBR+21, ADD2OBR+23*, ADD2OBR+25*, ADD2OBR+26*, ADD2OBR+27*, ADD2OBR+28*, ADD2OBR+36*, ADD2OBR+38 , ADD2OBR+40*, ADD2OBR+43*, ADD2OBR+45 |
| ORDERNUM | ADD2OBR+7~, ADD2OBR+18*, ADD2OBR+19 |
| ORDPRVDR | ADD2OBR+7~, ADD2OBR+42*, ADD2OBR+43 |
| ORURG | URG+16~, URG+20*, URG+21*, URG+22, URG+23 |
| PID | RESP+12~, RESP+17*, RESP+18 |
| PIDSGMNT | ADD2PID~, ADD2PID+15, ADD2PID+19*, ADD2PID+23*, ADD2PID+27*, ADD2PID+29 |
| PIECE | TRIMWP~, TRIMWP+12 |
| PROT | URG+16~, URG+17*, URG+18 |
| PTACCTNO | RESP+12~, RESP+15*, RESP+16, RESP+17, RESP+25 |
| REPTTN | RESP+12~, ADD2PID+10~, ADD2PID+11*, ADD2PID+23 |
| SEGNUM | RESP+12~, RESP+13*, RESP+18*, RESP+21*, RESP+25* |
| SENDER | GETSERV+6~, GETSERV+10*, GETSERV+11*, GETSERV+13, GETPROC+7~, GETPROC+11*, GETPROC+12*, GETPROC+14 |
| SERV | GETSERV+6~, GETSERV+7*, GETSERV+8, GETSERV+13, GETSERV+16, GETSERV+18 |
| SITE | EDIPI+4~, EDIPI+6*, INCERNER+6~, INCERNER+8* |
| STD | UNHLNAME~, UNHLNAME+17 |
| STN | ADD2OBR+7~, ADD2OBR+18*, ADD2OBR+19*, ADD2OBR+36* |
| TFLIST | EDIPI+4~, EDIPI+6, INCERNER+6~, INCERNER+8 |
| TFLIST( | EDIPI+8, INCERNER+9 |
| U | DIV+5, DIV+8, DIV+9, DIV+11, UNHLNAME+14, URG+17, URG+18, GETSERV+7, GETSERV+10, GETSERV+16 , GETPROC+8, GETPROC+11, GETPROC+21, GETPROC+23, CODEOI+10, CODEOI+11, CODEOI+12, CODEOI+14, CODEOI+15, RESP+15 , LOGMSG+14, LOGMSG+20, LOGMSG+31, EDIPI+6, EDIPI+8, ADD2OBR+18, ADD2OBR+27, ADD2OBR+28, ADD2OBR+42, ADD2OBR+43 , INCERNER+8, INCERNER+9 |
| URG | URG+16~, URG+18*, URG+19, URG+20 |