VPSSEND ;SLOIFO/BT - Send HL7 messages (Appointment Status Change) to VetLink HL7 Server ;01/16/2015 11:23
Source file <VPSSEND.m>
Package | Total | Call Graph |
---|---|---|
Kernel | 5 | ^%ZTLOAD $$NOW^XLFDT STDNAME^XLFNAME $$NS^XUAF4 $$KSP^XUPARAM |
Health Level Seven | 4 | ($$ADDSEG,$$NEWMSG,SET)^HLOAPI $$SENDONE^HLOAPI1 SETDT^HLOAPI4 (STARTQUE,STOPQUE)^HLOQUE |
Registration | 3 | GET^DGENA $$BADADR^DGUTL3 ELIG^VADPT |
VA Point of Service | 3 | GETPRF^VPSAPPT SENLOG^VPSRPC16 (BAL,DGS,IBB)^VPSRPC26 |
VA FileMan | 2 | (FILE,UPDATE)^DIE ($$GET1,GETS)^DIQ |
Scheduling | 1 | $$SDAPI^SDAMA301 |
Name | Comments | DBIA/ICR reference |
---|---|---|
EN | ;Entry Point called by SDAM APPOINTMENT EVENTS protocol
; SDATA will be defined when SDAM APPOINTMENT EVENTS protocol calls this entry |
|
ACTIVE() | ;Is VPS HL7 active?
|
|
QUE(DFN,APPTDT,CLINIC,STATUS) | ; -- Queue Send appointment status Job
|
|
SEND | ; -- Send HL7 message to VetLink
|
|
ERROR(ERR,LINKPORT,QUEUE) | ;Store error
|
|
PREPQUE(LINK,QUEUE) | ; -- Prepare to use HL7 Queue
; INPUT ; LINK : HL LOGICAL LINK ; QUEUE : HL7 Transmission Queue ; RETURN ; LINK_":"_HLOPORT for success ; -1^Error Message for error |
|
STARTQUE(LINKPORT,QUEUE) | ;start Queue
|
|
UNLQUE(LINKPORT,QUEUE) | ;Unlock Queue
|
|
EVN(APPT,SEG) | ; -- generate PID segment
|
|
PID(DFN,SEG) | ; -- generate PID segment
|
|
PV1(DFN,SEG,ERR) | ; -- Patient Visit segment for patient record Flags
|
|
ZEN(DFN,SEG) | ; -- generate ZEN segment (VA Enrollment)
|
|
ZEL(VAEL,SEG) | ; -- generate ZEL segment (VA Patient Eligibility)
|
|
ZMT(VAEL,SEG) | ; -- generate ZMT segment (VA Means Test)
|
|
IN1(DFN,SEG) | ; -- generate IN1 segment (Insurance Information)
|
|
NAMPARSE(VNAME) | ; return name components for standard VistA name
|
Name | Field # of Occurrence |
---|---|
^%ZTLOAD | QUE+12 |
GET^DGENA | ZEN+25 |
$$BADADR^DGUTL3 | PID+50 |
FILE^DIE | ERROR+9 |
UPDATE^DIE | ERROR+16 |
$$GET1^DIQ | ZEN+28 |
GETS^DIQ | EVN+52, PID+42 |
$$ADDSEG^HLOAPI | SEND+31, SEND+36, SEND+45, SEND+51, SEND+56, SEND+61, PV1+38 |
$$NEWMSG^HLOAPI | SEND+26 |
SET^HLOAPI | EVN+19, EVN+22, EVN+36, EVN+39, EVN+43, EVN+44, EVN+47, EVN+48, EVN+55, PID+23 , PID+24, PID+27, PID+31, PID+34, PID+39, PID+45, PID+46, PID+47, PID+56, PID+60 , PID+64, PV1+21, PV1+31, PV1+32, PV1+33, PV1+35, PV1+36, PV1+37, ZEN+19, ZEN+20 , ZEN+29, ZEN+30, ZEN+36, ZEL+21, ZEL+22, ZEL+26, ZEL+30, ZEL+35, ZMT+20, ZMT+21 , ZMT+25, IN1+20, IN1+21, IN1+27 |
$$SENDONE^HLOAPI1 | SEND+65 |
SETDT^HLOAPI4 | EVN+23, ZEN+37, ZEL+36 |
STARTQUE^HLOQUE | STARTQUE+2 |
STOPQUE^HLOQUE | PREPQUE+18 |
$$SDAPI^SDAMA301 | EVN+30 |
ELIG^VADPT | SEND+49 |
GETPRF^VPSAPPT | PV1+24 |
SENLOG^VPSRPC16 | PID+37 |
BAL^VPSRPC26 | PV1+19 |
DGS^VPSRPC26 | ZEN+33 |
IBB^VPSRPC26 | IN1+24 |
$$NOW^XLFDT | ERROR+7, ERROR+14 |
STDNAME^XLFNAME | NAMPARSE+4 |
$$NS^XUAF4 | PID+30 |
$$KSP^XUPARAM | PID+30 |
FileNo | Call Tags |
---|---|
^DPT - [#2] | GETS^DIQ |
2.98 | GETS^DIQ |
^DGEN(27.11 - [#27.11] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DGEN(27.11 - [#27.11] | ZEN+23 |
^HLB("QUEUE" | PREPQUE+17, UNLQUE+1 |
^HLCS(870 - [#870] | PREPQUE+8, PREPQUE+11 |
^SC - [#44] | SEND+9 |
^TMP($J | EVN+31 |
^VPS(853.1 - [#853.1] | ACTIVE+2, ACTIVE+4, ERROR+4 |
Name | Line Occurrences |
---|---|
$$ACTIVE | EN+7 |
$$NAMPARSE | PID+44 |
$$PREPQUE | SEND+3 |
$$PV1 | SEND+40 |
$$QUE | EN+14 |
ERROR | EN+7, EN+14, SEND+4, SEND+27, SEND+32, SEND+37, SEND+41, SEND+46, SEND+52, SEND+57 , SEND+62, SEND+66 |
EVN | SEND+30 |
IN1 | SEND+44 |
PID | SEND+35 |
STARTQUE | SEND+68 |
UNLQUE | SEND+69, ERROR+1, STARTQUE+1 |
ZEL | SEND+50 |
ZEN | SEND+55 |
ZMT | SEND+60 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
AFTERSTS | EN+2~*, EN+3 |
APPT | SEND+6~, SEND+30, EVN~ |
APPT("APPOINT | MENT DATE" , SEND+10*, EVN+22, EVN+23, EVN+27, EVN+31, EVN+51 |
APPT("CLINIC | NAME" , SEND+9*, EVN+48 |
APPT("CLINIC" | SEND+8*, EVN+31, EVN+47 |
APPT("DFN" | SEND+7*, EVN+29, EVN+31, EVN+51 |
APPTCMTS | EVN+53~*, EVN+55 |
APPTCNT | EVN+30~* |
APPTDT | EN+11~*, EN+14, QUE~, SEND+10 |
APPTOUT | EVN+52~, EVN+54! |
APPTOUT( | EVN+53 |
ATYPE | EVN+42~*, EVN+43, EVN+44 |
BADADR | PID+50~*, PID+51, PID+53, PID+54, PID+55, PID+56 |
BADADRNM | PID+52~*, PID+53*, PID+54*, PID+55*, PID+56 |
BAL | PV1+20~*, PV1+21 |
CLINIC | EN+12~*, EN+14, QUE~, SEND+8, SEND+9 |
CNT | PV1+27~*, PV1+28*, PV1+30 |
DFENR | ZEN+25~ |
DFN | EN+10~*, EN+14, QUE~, SEND+7, SEND+35, SEND+40, SEND+44, SEND+55, PID~, PID+27 , PID+37, PID+42, PID+43, PID+50, PID+59, PID+63, PV1~, PV1+19, PV1+24, ZEN~ , ZEN+23, ZEN+33, IN1~, IN1+24 |
>> DGENR | ZEN+25 |
>> DGENR("STATUS" | ZEN+26 |
ELIGSTAT | ZEL+25~*, ZEL+26, ZEL+29*, ZEL+30 |
PID+59~*, PID+60 | |
ENRIEN | ZEN+23~*, ZEN+24, ZEN+25, ZEN+28 |
ENRSTAT | ZEN+26~*, ZEN+27, ZEN+29 |
ERR | SEND+25~, SEND+26, SEND+27, SEND+31, SEND+32, SEND+36, SEND+37, SEND+40, SEND+41, SEND+45 , SEND+46, SEND+51, SEND+52, SEND+56, SEND+57, SEND+61, SEND+62, SEND+65, SEND+66, ERROR~ , ERROR+8, ERROR+15, PV1~, PV1+38 |
ESNAME | ZEN+28~*, ZEN+30 |
FLD | NAMPARSE+6~* |
HLOPORT | PREPQUE+12~*, PREPQUE+13*, PREPQUE+14, PREPQUE+16 |
IDX | PV1+25~ |
IELIGDT | ZEL+33~*, ZEL+34, ZEL+35, ZEL+36 |
IEN | PREPQUE+8~*, PREPQUE+9, PREPQUE+11 |
IENS | EVN+51~*, EVN+52, EVN+53 |
INS | IN1+25~*, IN1+26*, IN1+27 |
IO("Q" | QUE+1! |
LINK | QUE+9~*, SEND+3, SEND+23, PREPQUE~, PREPQUE+8, PREPQUE+16 |
LINKPORT | SEND+3~*, SEND+4, SEND+27, SEND+32, SEND+37, SEND+41, SEND+46, SEND+52, SEND+57, SEND+62 , SEND+66, SEND+68, SEND+69, ERROR~, ERROR+1, PREPQUE+16~*, PREPQUE+17, PREPQUE+20, STARTQUE~, STARTQUE+1 , UNLQUE~, UNLQUE+1 |
MSG | SEND+12~, SEND+26, SEND+31, SEND+36, SEND+45, SEND+51, SEND+56, SEND+61, SEND+65, PV1+38 |
MTS | ZMT+24~*, ZMT+25 |
NAMPARSE | PID+44~*, PID+45, PID+46, PID+47 |
NARR | PV1+25~ |
NARRTXT | PV1+25~ |
NODE | PREPQUE+11~*, PREPQUE+12, PREPQUE+13 |
OK | SEND+25~, SEND+26*, SEND+27, SEND+30, SEND+31*, SEND+32, SEND+35, SEND+36*, SEND+37, SEND+40* , SEND+41, SEND+44, SEND+45*, SEND+46, SEND+50, SEND+51*, SEND+52, SEND+55, SEND+56*, SEND+57 , SEND+60, SEND+61*, SEND+62, SEND+65*, SEND+66, PV1+26~*, PV1+30, PV1+38*, PV1+40 |
PARAM | EVN+26~, EVN+30 |
PARAM("FLDS" | EVN+28* |
PARAM(1 | EVN+27* |
PARAM(4 | EVN+29* |
PARMS | SEND+12~, SEND+26, SEND+65 |
PARMS("ACCEPT | ACK TYPE" , SEND+17* |
PARMS("APP AC | K TYPE" , SEND+18* |
PARMS("EVENT" | SEND+14* |
PARMS("MESSAG | E STRUCTURE" , SEND+15*, E TYPE" , SEND+13* |
PARMS("QUEUE" | SEND+19* |
PARMS("SENDIN | G APPLICATION" , SEND+16* |
PATNAM | PID+43~*, PID+44 |
PRDT | ZEN+34~*, ZEN+35, ZEN+36, ZEN+37 |
PRF | PV1+27~, PV1+30*, PV1+32, PV1+34, PV1+35, PV1+36, PV1+37 |
PRFLAGS | PV1+24~ |
PRFLAGS("PRF" | PV1+27, PV1+34, PV1+35, PV1+36, PV1+37 |
QUEUE | SEND+2~*, SEND+3, SEND+19, SEND+27, SEND+32, SEND+37, SEND+41, SEND+46, SEND+52, SEND+57 , SEND+62, SEND+66, SEND+68, SEND+69, ERROR~, ERROR+1, PREPQUE~, PREPQUE+17, PREPQUE+18, STARTQUE~ , STARTQUE+1, STARTQUE+2, UNLQUE~, UNLQUE+1 |
RCVAPP | QUE+8~*, SEND+22 |
RES | PID+42~ |
RES(2 | PID+43, PID+59, PID+63 |
RET | NAMPARSE+5~*, NAMPARSE+6*, NAMPARSE+7*, NAMPARSE+8 |
SAV | QUE+11~* |
>> SDATA | EN+10, EN+11, EN+12 |
>> SDATA("AFTER" | EN+2 |
SEG | SEND+30, SEND+31, SEND+35, SEND+36, SEND+40, SEND+44, SEND+45, SEND+50, SEND+51, SEND+55 , SEND+56, SEND+60, SEND+61, EVN~, EVN+16!*, EVN+19, EVN+22, EVN+23, EVN+36, EVN+39 , EVN+43, EVN+44, EVN+47, EVN+48, EVN+55, PID~, PID+20!*, PID+23, PID+24, PID+27 , PID+31, PID+34, PID+39, PID+45, PID+46, PID+47, PID+56, PID+60, PID+64, PV1~ , PV1+18!*, PV1+21, PV1+31, PV1+32, PV1+33, PV1+35, PV1+36, PV1+37, PV1+38, ZEN~ , ZEN+16!*, ZEN+19, ZEN+20, ZEN+29, ZEN+30, ZEN+36, ZEN+37, ZEL~, ZEL+18!*, ZEL+21 , ZEL+22, ZEL+26, ZEL+30, ZEL+35, ZEL+36, ZMT~, ZMT+17!*, ZMT+20, ZMT+21, ZMT+25 , IN1~, IN1+17!*, IN1+20, IN1+21, IN1+27 |
SENDAPP | QUE+7~*, SEND+16 |
SENS | PID+38~*, PID+39 |
SITE | ACTIVE+2~*, ACTIVE+3, ACTIVE+4, ERROR+3~, ERROR+4*, ERROR+6, ERROR+7, ERROR+8, ERROR+11 |
SSN | PID+63~*, PID+64 |
STATION | PID+30~*, PID+31 |
STATUS | EN+3~*, EN+4, EN+14, QUE~, EVN+35~*, EVN+36, EVN+39 |
TMP | EVN+31~*, EVN+33, EVN+35, EVN+42 |
U | ACTIVE+4, SEND+4, SEND+9, EVN+35, EVN+42, PID+30, PID+38, PID+45, PID+46, PID+47 , PV1+20, ZEN+34, ZEL+25, ZEL+29, ZEL+33, ZMT+24, IN1+25, NAMPARSE+6 |
VAEL | SEND+49~, SEND+50, SEND+60, ZEL~, ZMT~ |
VAEL(5 | ZEL+33 |
VAEL(8 | ZEL+25, ZEL+29 |
VAEL(9 | ZMT+24 |
VNAME | NAMPARSE~, NAMPARSE+3, NAMPARSE+4 |
VNAME( | NAMPARSE+6 |
VPSARR | PID+37~, PV1+19!, ZEN+33!, IN1+24! |
VPSARR(1 | PID+38, PV1+20, ZEN+34, IN1+25 |
VPSERR | ERROR+3~ |
VPSFDA | ERROR+3~ |
VPSFDA( | ERROR+7*, ERROR+8*, ERROR+12*, ERROR+13*, ERROR+14*, ERROR+15* |
WHOTO | SEND+21~, SEND+65 |
WHOTO("FACILI | TY LINK NAME" , SEND+23* |
WHOTO("RECEIV | ING APPLICATION" , SEND+22* |
>> ZTDESC | QUE+4* |
>> ZTDTH | QUE+3* |
>> ZTIO | QUE+2* |
>> ZTRTN | QUE+5* |
>> ZTSAVE( | QUE+11* |
ZTSK | QUE+1!, QUE+13 |