VPRDJ ;SLC/MKB -- Serve VistA data as JSON via RPC ;10/18/12 6:26pm
Source file <VPRDJ.m>
| 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 |
|---|---|---|
| GET(VPR,FILTER) | ; -- Return search results as JSON in @VPR@(n)
; RPC = VPR GET PATIENT DATA JSON ; where FILTER("patientId") = DFN or DFN;ICN ; FILTER("domain") = name of desired data type (see VPRDJ0) ; FILTER("text") = boolean, to include document text [opt] ; FILTER("start") = start date.time of search [opt] ; FILTER("stop") = stop date.time of search [opt] ; FILTER("max") = maximum number of items to return [opt] ; FILTER("id") = single item id to return [opt] ; FILTER("uid") = single record uid to return [opt] ; FILTER("nowrap") = include line breaks in comments [opt] |
|
| GTQ | ; add item count and terminating characters
|
|
| SEPUID(FILTER) | ; -- separate uid into FILTER pieces
|
|
| SYS() | ; -- return system info for JSON header
|
|
| TAG(X) | ; -- Return linetag in VPRDJ0 routine for clinical domain X
|
|
| ALL() | ; -- return string for all types of data
|
|
| ERR(X,VAL) | ; -- return error message
|
|
| HL7NOW() | ; -- Return current time in HL7 format
|
|
| ADD(ITEM,COLL) | ; -- add ITEM to results
|
|
| TEST(DFN,TYPE,ID,TEXT,IN) | ; -- test GET, write results to screen
|
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| RPC Name | Call Tags |
|---|---|
| VPR GET PATIENT DATA JSON | GET |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DPT - [#2] | GET+25 |
| ^TMP("VPR" | GET+13 |
| ^TMP("VPRTEXT" | GTQ+7! |
| ^XTMP( | GET+24 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| COLL | ADD~, ADD+1 |
| DFN | GET+12~, GET+19*, GET+20*, GET+21*, GET+24, GET+25, TEST~, TEST+4 |
| DT | GET+15* |
| FILTER | GET~, GET+17, SEPUID~ |
| FILTER("domain" | GET+23, SEPUID+5* |
| FILTER("id" | GET+34, SEPUID+6* |
| FILTER("max" | GET+29 |
| FILTER("patientId" | GET+19, SEPUID+4* |
| FILTER("start" | GET+27 |
| FILTER("stop" | GET+28 |
| FILTER("text" | GET+35 |
| FILTER("uid" | GET+17, SEPUID+2! |
| ICN | GET+12~, GET+20*, GET+21 |
| ID | TEST~, TEST+6 |
| IDX | TEST+1~, TEST+10*, TEST+11* |
| IN | TEST~, TEST+8 |
| IN("domain" | TEST+5* |
| IN("id" | TEST+6* |
| IN("patientId" | TEST+4* |
| IN("systemID" | TEST+3* |
| IN("text" | TEST+7* |
| ITEM | ADD~, ADD+1, ADD+4, ADD+7 |
| MSG | ERR+1~*, ERR+2*, ERR+3*, ERR+4*, ERR+5*, ERR+6*, ERR+7 |
| OUT | TEST+1~, TEST+8, TEST+10 |
| TEXT | TEST~, TEST+7 |
| TYPE | GET+39*, GET+40, TEST~, TEST+5 |
| U | TEST+2* |
| UID | SEPUID+1~, SEPUID+2*, SEPUID+3, SEPUID+4, SEPUID+5, SEPUID+6 |
| VAL | ERR~, ERR+2, ERR+3, ERR+4 |
| VPR | GET~, GET+13*, GET+24*, GTQ+1, GTQ+2, GTQ+3, GTQ+5, GTQ+6, ADD+12, ADD+13 |
| >> VPRBATCH | GET+24 |
| >> VPRCRC | ADD+1 |
| VPRERR | GET+12~, GET+25*, GTQ+2, ADD+3~, ADD+5, ADD+9, ADD+10! |
| VPRI | GET+12~, GET+13*, GTQ+3, GTQ+5, GTQ+6*, ADD+12*, ADD+13 |
| VPRID | GET+12~, GET+34* |
| VPRITM | ADD+6~, ADD+7*, ADD+9 |
| VPRMAX | GET+12~, GET+29* |
| VPRP | GET+12~, GET+39* |
| VPRSTART | GET+12~, GET+27*, GET+30, GET+31* |
| VPRSTOP | GET+12~, GET+28*, GET+30, GET+31*, GET+32* |
| VPRSYS | GET+12~, GET+14*, SEPUID+3, SYS+1 |
| VPRTEXT | GET+12~, GET+35* |
| VPRTMP | ADD+6~, ADD+9 |
| VPRTN | GET+12~, GET+40*, GET+41 |
| VPRTXT | ADD+6~, ADD+9 |
| VPRTXT(1 | ADD+8* |
| VPRTYPE | GET+12~, GET+23*, GET+24, GET+25, GET+39 |
| VPRY | ADD+3~, ADD+7!, ADD+11, ADD+13 |
| X | GET+31~*, TAG~, TAG+1*, TAG+2, ERR~, ERR+2, ERR+3, ERR+4, ERR+5, ERR+6 |
| Y | TAG+1~, TAG+2*, TAG+3*, TAG+4 |
| >> ZTQUEUED | GET+24 |
| Name | Field # of Occurrence |
|---|---|
| $T(@(3) | TAG+3 |
| $T(@VPRTN | GET+40 |