VPSMRAR1 ;DALOI/KML,WOIFO/BT - Update of VPS MRAR PDO file ;1/15/15 15:30
Source file <VPSMRAR1.m>
Package | Total | Call Graph |
---|---|---|
VA Point of Service | 7 | ($$ADDMRAR,$$ERROR,$$FILE,$$RESULT,GREQFLD,TABLE)^VPSMRAR0 ($$SUB52,$$SUB52X)^VPSMRAR2 $$SUB53^VPSMRAR3 ($$SUB54,$$SUB54X)^VPSMRAR4 $$SUB55^VPSMRAR5 $$SUB57^VPSMRAR7 $$VALIDATE^VPSRPC1 |
VA FileMan | 3 | $$FIND1^DIC UPDATE^DIE $$GET1^DIQ |
Kernel | 1 | ($$FMTH,$$FR,$$HTFM,$$NOW)^XLFDT |
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 |
Package | Total | Caller Graph |
---|---|---|
VA Point of Service | 1 | VPS WRITE MRAR PDO |
Name | Comments | DBIA/ICR reference |
---|---|---|
WRITE(RESULT,VPSNUM,VPSTYP,VPSINTFC,VPSMRAR) | ; RPC=VPS WRITE MRAR PDO
; Vetlink Kiosk has the Medication Review Allergy Review modules where a veteran can review and make ; changes to his medications and any allergies. The MRAR can also be facilitated by a provider. ; The local arrays identify the field to be updated along with the respective data changes and serves to RPC ; ; INPUT ; RESULT : represents the results of processing and passed in by reference (required by RPC Broker) ; VPSNUM : Parameter Value - patient SSN OR DFN OR ICN OR VIC/CAC (REQUIRED) ; VPSTYP : Parameter TYPE - SSN or DFN OR ICN OR VIC/CAC (REQUIRED) ; VPSINTFC : value of 'S' indicates that the entries in VPSMRAR coming from Staff-facing interface module. ; : value of 'P' indicates that the entries in VPSMRAR coming from Patient-facing interface module. ; VPSMRAR : local array representing the kiosk Medication and Allergy Review passed in by reference ; VPSMRAR represents allergy related fields, medication related fields, and statistical information about the MRAR session. ; Each subscript in the array is assigned a composite, delimited string. ; VPSMRAR(n) = FIELD NAME^ARRAY IENS^DATA ; n is an incremental number ; FIELD NAME represents the name of the field in 853.5 file ; ARRAY IENS represent entry and sub-entry ctrs ; e.g., if patient has 3 allergies with entry numbers of (10,20,30) then a given value "1,20" ; where "1" represents top level entry (patient level; ien and .01) and "20" represents the allergy entry level (.01 not the SUB IEN) ; DATA is the actual data that is populated at an entry in 853.5 ; ; OUTPUT ; RESULT : local array that returns the results of each updated field per array data element. ; ; SUCCESS : localArray(n) = FIELD NAME^ARRAY IENS^DATA^1 ; 1 equals successful update to the database of the specific field declared at field label. ; ; FAILED : localArray(n)="FIELD NAME^ARRAY IENS^DATA^99^exception message" ; 99 means an exception and no update was made to the database for that specific field and exception message describes the error. |
|
VALPARAM(VPSNUM,VPSTYP,INTERFC,VPSMRAR,VPSDFN) | ;Validate RPC Input parameters
; INPUT ; VPSNUM : Parameter Value - patient SSN OR DFN OR ICN OR VIC/CAC (REQUIRED) ; VPSTYP : Parameter TYPE - SSN or DFN OR ICN OR VIC/CAC (REQUIRED) ; INTERFC : value of 'S' indicates that the entries in VPSMRAR coming from Staff-facing interface module. ; : value of 'P' indicates that the entries in VPSMRAR coming from Patient-facing interface module. ; VPSMRAR : encounter, statistics, allergy and medication related data sent in a subscripted array by kiosk client ; OUTPUT ; VPSDFN : Patient DFN ; RETURN ; No Error : "" ; With Error : FIELD^PARAMETER^VALUE^99^error |
|
CRPTMRAR(VPSDFN) | ;Create MRAR PDO entry if it does not exist for this patient
; INPUT ; VPSDFN : Patient IEN ; ; OUTPUT ; No Error : "" ; With Error : PATIENT^PATIENT IEN^PATIENT IEN^99^error |
|
GETPTIEN(VPSDFN) | ;Return VPS IEN for FILE 853.5 if exist, otherwise return 0
; INPUT ; VPSDFN : Patient IEN ; ; OUTPUT ; VPS IEN for FILE 853.5 ; |
|
CRPATPDO(VPSDFN) | ;create PDO
; INPUT ; VPSDFN : Patient IEN ; ; OUTPUT ; No Error : "" ; With Error : PATIENT^PATIENT IEN^PATIENT IEN^99^error ; |
|
CRTSUB51(VPSPTIEN,INTERFC,TRNDT) | ;create stub entry at 853.51
; INPUT ; VPSPTIEN : VPS IEN for FILE 853.5 ; INTERFC : value of 'S' indicates that the entries in VPSMRAR coming from Staff-facing interface module. ; : value of 'P' indicates that the entries in VPSMRAR coming from Patient-facing interface module. ; TRNDT : Transaction Date ; ; OUTPUT ; No Error : "" ; With Error : PATIENT^PATIENT IEN^PATIENT IEN^99^error ; |
|
EXTRACT(VPSPTIEN,INTERFC,TRNDT,VARRAY,RES) | ; process each subscript in the MRAR array and file data at MRAR sub-entries at 853.5 patient entry
; INPUT ; VPSPTIEN : VPS IEN for FILE 853.5 ; INTERFC : value of 'S' indicates that the entries in VPSMRAR coming from Staff-facing interface module. ; : value of 'P' indicates that the entries in VPSMRAR coming from Patient-facing interface module. ; TRNDT : Transaction Date ; VARRAY : encounter, statistics, allergy and medication related data sent in a subscripted array by kiosk client ; VARRAY(n) = FIELD NAME^ARRAY IENS^FIELD VALUE ; ; OUTPUT ; RES : output result array. ; Success : RES(n) = Field Name^IENS^Field Value^1 ; failed : RES(n) = Field Name^IENS^Field Value^99^error text describing why data did not get filed ; IENS is composite string assigned to a subscript in the local array passed in by Vecna for the specific field |
|
SUB51(PTIEN,DTIEN,FLD,DIEFLAG,DATA,REQFLDS) | ; file the MRAR transaction (853.51)
; INPUTS ; PTIEN : D0 for 853.5 entry (Patient DFN Level) ; DTIEN : D1 for 853.51 sub-entry (transaction date/time level) ; FLD : Field # where the data will be filed ; DIEFLAG : Filing Type (I = Internal, E = External) ; DATA : Field Name^IENS^Field Value ; REQFLDS : Array of required fields by fieldname and entry number ; ; OUTPUT ; success : RESULT = Field Name^IENS^Field Value^1 ; failed : RESULT = Field Name^IENS^Field Value^99^error text describing why data did not get filed |
|
SUB5121(PTIEN,DTIEN,DATA,DIEFLAG) | ; file the 'MRAR conducted with' multiple (853.5121)
; INPUTS ; PTIEN : D0 for 853.5 entry (Patient DFN Level) ; DTIEN : D1 for 853.51 sub-entry (transaction date/time level) ; DATA : Field Name^IENS^Field Value ; DIEFLAG : Filing Type (I = Internal, E = External) ; ; OUTPUT ; success : RESULT = Field Name^IENS^Field Value^1 ; failed : RESULT = Field Name^IENS^Field Value^99^error text describing why data did not get filed |
|
CHKTRN(REQFLDS,DATA) | ;Check required transaction fields
; INPUTS ; REQFLDS : Array of required fields by fieldname and entry number ; DATA : Field Name^IENS^Field Value ; ; OUTPUT ; success : RESULT = Field Name^IENS^Field Value^1 ; failed : RESULT = Field Name^IENS^Field Value^99^error text describing why data did not get filed |
Name | Field # of Occurrence |
---|---|
$$FIND1^DIC | EXTRACT+53 |
UPDATE^DIE | CRPATPDO+11, CRTSUB51+14 |
$$GET1^DIQ | SUB51+21 |
$$ADDMRAR^VPSMRAR0 | SUB5121+23 |
$$ERROR^VPSMRAR0 | CRPATPDO+15, CRTSUB51+17 |
$$FILE^VPSMRAR0 | SUB51+23 |
$$RESULT^VPSMRAR0 | WRITE+44, VALPARAM+14, VALPARAM+15, VALPARAM+16, VALPARAM+17, EXTRACT+40, EXTRACT+41, EXTRACT+54, EXTRACT+55, SUB51+21 , SUB5121+15, SUB5121+21, SUB5121+24, SUB5121+27, CHKTRN+13 |
GREQFLD^VPSMRAR0 | EXTRACT+26 |
TABLE^VPSMRAR0 | EXTRACT+23 |
$$SUB52^VPSMRAR2 | EXTRACT+67 |
$$SUB52X^VPSMRAR2 | EXTRACT+68 |
$$SUB53^VPSMRAR3 | EXTRACT+72 |
$$SUB54^VPSMRAR4 | EXTRACT+70 |
$$SUB54X^VPSMRAR4 | EXTRACT+71 |
$$SUB55^VPSMRAR5 | EXTRACT+73 |
$$SUB57^VPSMRAR7 | EXTRACT+69 |
$$VALIDATE^VPSRPC1 | VALPARAM+13 |
$$FMTH^XLFDT | EXTRACT+60 |
$$FR^XLFDT | EXTRACT+62 |
$$HTFM^XLFDT | EXTRACT+61 |
$$NOW^XLFDT | WRITE+49 |
RPC Name | Call Tags |
---|---|
VPS WRITE MRAR PDO | WRITE |
FileNo | Call Tags |
---|---|
^TIU(8925 - [#8925] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DPT - [#2] | VALPARAM+17 |
^VPS(853.5 - [#853.5] | WRITE+44, WRITE+57, GETPTIEN+7, SUB5121+19 |
Name | Line Occurrences |
---|---|
$$CHKTRN | EXTRACT+37 |
$$CRPATPDO | CRPTMRAR+11 |
$$CRPTMRAR | WRITE+40 |
$$CRTSUB51 | WRITE+50 |
$$GETPTIEN | CRPTMRAR+9, CRPTMRAR+13 |
$$SUB51 | EXTRACT+65 |
$$SUB5121 | EXTRACT+66 |
$$VALPARAM | WRITE+36 |
EXTRACT | WRITE+55 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ADDOK | SUB5121+23~*, SUB5121+24 |
CNDCTWTH | SUB5121+14~*, SUB5121+15, SUB5121+19, SUB5121+23 |
DATA | SUB51~, SUB51+21, SUB51+23, SUB5121~, SUB5121+14, SUB5121+15, SUB5121+21, SUB5121+24, SUB5121+27, CHKTRN~ |
DDARRY | EXTRACT+23~, EXTRACT+26 |
DDARRY( | EXTRACT+41, EXTRACT+42, EXTRACT+43, EXTRACT+44, EXTRACT+49 |
DDFLD | EXTRACT+15~, EXTRACT+39*, EXTRACT+40, EXTRACT+41, EXTRACT+42, EXTRACT+43, EXTRACT+44, EXTRACT+49 |
DIEFLAG | EXTRACT+44~*, EXTRACT+47, EXTRACT+57, EXTRACT+63*, EXTRACT+64*, EXTRACT+65, EXTRACT+66, EXTRACT+67, EXTRACT+68, EXTRACT+69 , EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73, SUB51~, SUB51+23, SUB5121~, SUB5121+23 |
DTIEN | SUB51~, SUB51+20, SUB5121~, SUB5121+19, SUB5121+23 |
ERR | CRPATPDO+13~*, CRPATPDO+15*, CRPATPDO+16 |
EXIST | SUB5121+19~*, SUB5121+20, SUB5121+22 |
FIL | EXTRACT+42~*, EXTRACT+65, EXTRACT+66, EXTRACT+67, EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 |
FILE | EXTRACT+48~, EXTRACT+49*, EXTRACT+50, EXTRACT+53 |
FLD | EXTRACT+43~*, EXTRACT+65, EXTRACT+67, EXTRACT+69, EXTRACT+70, EXTRACT+72, EXTRACT+73, SUB51~, SUB51+21, SUB51+23 |
>> FM | EXTRACT+61*, EXTRACT+62 |
>> H | EXTRACT+60*, EXTRACT+61, EXTRACT+62 |
IENS | SUB51+20~*, SUB51+23 |
INTERFC | VALPARAM~, VALPARAM+15, CRTSUB51~, CRTSUB51+13, EXTRACT~, EXTRACT+72, EXTRACT+73 |
OK | EXTRACT+58~, EXTRACT+62*, EXTRACT+63 |
OUT | EXTRACT+48~ |
PATDATA | CRPATPDO+14~*, CRPATPDO+15, CRTSUB51+16~*, CRTSUB51+17 |
PTIEN | SUB51~, SUB51+20, SUB51+21, SUB5121~, SUB5121+19, SUB5121+23 |
REQFLDS | EXTRACT+26~, EXTRACT+37, EXTRACT+65, EXTRACT+67, EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 , SUB51~, CHKTRN~ |
REQFLDS("ENCO | UNTER CLINIC" , CHKTRN+11 |
REQFLDS("KIOS | K GROUP" , CHKTRN+11 |
RES | EXTRACT~, EXTRACT+14! |
RES( | EXTRACT+40*, EXTRACT+41*, EXTRACT+54*, EXTRACT+55*, EXTRACT+65*, EXTRACT+66*, EXTRACT+67*, EXTRACT+68*, EXTRACT+69*, EXTRACT+70* , EXTRACT+71*, EXTRACT+72*, EXTRACT+73* |
RES(0 | EXTRACT+38* |
RESULT | WRITE~, WRITE+54!, WRITE+55, CRPTMRAR+7~, CRPTMRAR+8*, CRPTMRAR+11*, CRPTMRAR+12, CRPTMRAR+14, EXTRACT+33~, EXTRACT+36* , EXTRACT+37*, EXTRACT+38, SUB51+13~*, SUB51+21*, SUB51+22, SUB51+23*, SUB51+24, SUB5121+11~*, SUB5121+15*, SUB5121+16 , SUB5121+21*, SUB5121+24*, SUB5121+26, CHKTRN+9~*, CHKTRN+13*, CHKTRN+14 |
RESULT(0 | WRITE+36*, WRITE+37, WRITE+40*, WRITE+41, WRITE+44*, WRITE+45, WRITE+50*, WRITE+53 |
STOPFLG | EXTRACT+33~, EXTRACT+34*, EXTRACT+35, EXTRACT+38* |
SUB | EXTRACT+15~, EXTRACT+32*, EXTRACT+35*, EXTRACT+37, EXTRACT+39, EXTRACT+40, EXTRACT+41, EXTRACT+53, EXTRACT+54, EXTRACT+55 , EXTRACT+59, EXTRACT+65, EXTRACT+66, EXTRACT+67, EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 |
SUBS | EXTRACT+27~ |
SUBS( | EXTRACT+28*, EXTRACT+29*, EXTRACT+68, EXTRACT+71 |
TRNDT | WRITE+48~, WRITE+49*, WRITE+50, WRITE+55, CRTSUB51~, CRTSUB51+12, EXTRACT~, EXTRACT+65, EXTRACT+66, EXTRACT+67 , EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 |
U | VALPARAM+14, VALPARAM+15, EXTRACT+39, EXTRACT+42, EXTRACT+43, EXTRACT+44, EXTRACT+49, EXTRACT+53, EXTRACT+54, EXTRACT+55 , EXTRACT+59, SUB51+21, SUB5121+14 |
VALID | EXTRACT+45~, EXTRACT+46*, EXTRACT+53*, EXTRACT+54, EXTRACT+55, EXTRACT+56 |
VARRAY | EXTRACT~, EXTRACT+26 |
VARRAY( | EXTRACT+35, EXTRACT+37, EXTRACT+39, EXTRACT+40, EXTRACT+41, EXTRACT+53, EXTRACT+54, EXTRACT+55, EXTRACT+59, EXTRACT+65 , EXTRACT+66, EXTRACT+67, EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 |
VPSDFN | WRITE+32~, WRITE+36, WRITE+40, WRITE+44, WRITE+50, WRITE+55, WRITE+57, VALPARAM~, VALPARAM+13*, VALPARAM+14 , VALPARAM+17, CRPTMRAR~, CRPTMRAR+9, CRPTMRAR+11, CRPTMRAR+13, GETPTIEN~, GETPTIEN+7, CRPATPDO~, CRPATPDO+9, CRPATPDO+10 , CRPATPDO+14 |
VPSERR | CRPATPDO+8~, CRPATPDO+15, CRTSUB51+11~, CRTSUB51+17 |
VPSFDA | CRPATPDO+8~, CRTSUB51+11~ |
VPSFDA( | CRPATPDO+10*, CRTSUB51+12*, CRTSUB51+13* |
VPSIEN | CRPATPDO+8~ |
VPSIEN(1 | CRPATPDO+9* |
VPSINTFC | WRITE~, WRITE+33*, WRITE+36, WRITE+50, WRITE+55 |
VPSMRAR | WRITE~, WRITE+36, WRITE+55, VALPARAM~, VALPARAM+16 |
VPSNUM | WRITE~, WRITE+34*, WRITE+36, VALPARAM~, VALPARAM+13 |
VPSPTIEN | CRPTMRAR+7~, CRPTMRAR+9*, CRPTMRAR+10, CRPTMRAR+13*, CRTSUB51~, CRTSUB51+12, CRTSUB51+13, CRTSUB51+16, EXTRACT~, EXTRACT+65 , EXTRACT+66, EXTRACT+67, EXTRACT+68, EXTRACT+69, EXTRACT+70, EXTRACT+71, EXTRACT+72, EXTRACT+73 |
VPSTYP | WRITE~, WRITE+35*, WRITE+36, VALPARAM~, VALPARAM+13 |
Y | EXTRACT+58~, EXTRACT+59*, EXTRACT+60, EXTRACT+62 |