GMRCIUTL ;SLC/JFR - UTILITIES FOR INTER-FACILITY CONSULTS ; Jun 18, 2024@15:00:56
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 |
Uncategorized | 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
|
|
ERR205 | ;Waiting for treating facility list to be updated
|
|
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+14, LOGMSG+25 |
$$GET1^DIQ | ADD2OBR+16, ADD2OBR+19, ADD2OBR+22, ADD2OBR+34, ADD2OBR+39, ADD2OBR+43 |
GETS^DIQ | NOSND+5 |
SAVEHL7X^EHMHL7 | LOGMSG+29 |
$$CNVTD^GMRCIEVT | LOGMSG+29 |
$$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+10, LOGMSG+17 |
$$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+29, ADD2OBR+36 |
$$KSP^XUPARAM | CODEOI+9, LOGMSG+29, 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+18, LOGMSG+29, 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+8, LOGMSG+12 |
^ORD(101 - [#101] | URG+18 |
^ORD(101.42 - [#101.42] | URG+21, URG+23 |
^SC - [#44] | DIV+5 |
^TMP("HLS" | LOGMSG+29 |
^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+7~ |
FDA(1 | LOGMSG+10*, LOGMSG+11*, LOGMSG+12*, LOGMSG+13*, LOGMSG+17*, LOGMSG+18*, LOGMSG+19*, LOGMSG+20*, LOGMSG+21*, LOGMSG+22* , LOGMSG+23*, LOGMSG+24* |
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+8, LOGMSG+21 |
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+13, LOGMSG+24 |
GMRCERR | RESP~, RESP+8, LOGMSG+7~ |
GMRCHL | DIV+4~, DIV+5*, DIV+6, DIV+7 |
GMRCINST | VALMSG+12~ |
GMRCL | NOSND+1~, NOSND+3*, NOSND+4 |
GMRCLG | LOGMSG+7~, LOGMSG+8*, LOGMSG+9, LOGMSG+10, LOGMSG+11, LOGMSG+12, LOGMSG+13 |
GMRCMID | RESP~, RESP+8 |
GMRCMSG | LOGMSG~, LOGMSG+11, LOGMSG+19 |
GMRCNM | UNHLNAME~, UNHLNAME+15 |
GMRCNMC | UNHLNAME~, UNHLNAME+15*, UNHLNAME+16*, UNHLNAME+17* |
GMRCO | URG~, URG+17, LOGMSG~, LOGMSG+8, LOGMSG+18, LOGMSG+20, LOGMSG+29 |
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+12, LOGMSG+18, LOGMSG+29, 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 |