HMPDJ ;SLC/MKB,ASMR/RRB,CK -- Serve VistA data as JSON via RPC;Aug 29, 2016 20:06:27
Source file <HMPDJ.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(HMP,FILTER) | ; -- Return search results as JSON in @HMP@(n)
; RPC = HMP GET PATIENT DATA JSON ; where FILTER("patientId") = DFN or DFN;ICN ; FILTER("domain") = name of desired data type (see HMPDJ0) ; 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("noHead") = flag, to omit header and commas [opt] |
|
| GTQ | ; add item count and terminating characters
|
|
| SEPUID(FILTER) | ; -- separate uid into FILTER pieces
|
|
| SYS() | ; -- return system info for JSON header
|
|
| BUILDERR(RESULT,DFN) | ; -- build error array
|
|
| TAG(X) | ; -- Return linetag in HMPDJ0 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 | Field # of Occurrence |
|---|---|
| ONE^HMPDCRC | ADD+1 |
| CHNKCHK^HMPDJFSP | ADD+17 |
| CHNKINIT^HMPDJFSP | GET+31 |
| EN^HMPDJX | GET+47 |
| ENCODE^HMPJSON | ADD+4, ADD+10 |
| LOGDPT^HMPLOG | GET+28 |
| $$FMTHL7^HMPSTMP | HL7NOW+1 |
| $$SYS^HMPUTILS | GET+14, TEST+2 |
| SETERROR^HMPUTILS | ADD+9 |
| $$GETDFN^MPIF001 | GET+23 |
| $$DT^XLFDT | GET+15 |
| $$NOW^XLFDT | HL7NOW+1 |
| $$UP^XLFSTR | TAG+2 |
| $$KSP^XUPARAM | SYS+1 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| RPC Name | Call Tags |
|---|---|
| HMP GET PATIENT DATA JSON | GET |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DPT - [#2] | GET+28 |
| ^TMP("HMP" | GET+13 |
| ^TMP("HMPTEXT" | GTQ+15! |
| ^TMP($J | GET+44!, GTQ+1, GTQ+15!, BUILDERR+2, BUILDERR+4, BUILDERR+5 |
| ^XTMP( | GET+26 |
| ^XTMP("HMP-off" | GET+47 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| COLL | ADD~, ADD+1 |
| COUNT | BUILDERR+1~, BUILDERR+2*, BUILDERR+3 |
| DFN | GET+12~, GET+20*, GET+22*, GET+23*, GET+28, BUILDERR~, TEST~, TEST+3 |
| DT | GET+15* |
| ERRMSG | GET+50~, GET+51* |
| ERROR | GTQ+1~, GTQ+8, GTQ+13, GTQ+14 |
| ERROR(1 | GTQ+4, GTQ+10, GTQ+14 |
| ERRPAT | GET+50~ |
| FILTER | GET~, GET+18, SEPUID~ |
| FILTER("domain" | GET+25, SEPUID+5* |
| FILTER("id" | GET+40, SEPUID+6* |
| FILTER("max" | GET+35 |
| FILTER("noHead" | GTQ+2 |
| FILTER("patientId" | GET+20, SEPUID+4* |
| FILTER("start" | GET+33 |
| FILTER("stop" | GET+34 |
| FILTER("text" | GET+41 |
| FILTER("uid" | GET+18, SEPUID+2! |
| HMP | GET~, GET+13*, GET+26*, GET+31, GTQ+3, GTQ+4, GTQ+5, GTQ+6, GTQ+7, GTQ+8 , GTQ+9, GTQ+10, GTQ+12, GTQ+13, GTQ+14, ADD+13, ADD+14, ADD+17 |
| >> HMPBATCH | GET+26 |
| >> HMPCRC | ADD+1 |
| HMPERR | GET+12~, GET+28*, GTQ+6, ADD+3~, ADD+5, ADD+9, ADD+10! |
| >> HMPFZTSK | GET+26 |
| HMPI | GET+12~, GET+13*, GET+31, GTQ+3, GTQ+7, GTQ+12, GTQ+13*, GTQ+14*, ADD+12*, ADD+13 , ADD+14, ADD+17 |
| HMPID | GET+12~, GET+40*, GET+47 |
| HMPITM | ADD+6~, ADD+7*, ADD+9 |
| HMPMAX | GET+12~, GET+35*, GET+47 |
| HMPP | GET+12~, GET+48* |
| HMPSTART | GET+12~, GET+33*, GET+36, GET+37* |
| HMPSTOP | GET+12~, GET+34*, GET+36, GET+37*, GET+38* |
| HMPSYS | GET+12~, GET+14*, SEPUID+3, SYS+1 |
| HMPTEXT | GET+12~, GET+41* |
| HMPTMP | ADD+6~, ADD+9 |
| HMPTN | GET+12~, GET+49*, GET+52 |
| HMPTXT | ADD+6~, ADD+9 |
| HMPTXT(1 | ADD+8* |
| HMPTYPE | GET+12~, GET+25*, GET+26, GET+28, GET+47, GET+48 |
| HMPY | ADD+3~, ADD+7!, ADD+11, ADD+14 |
| ICN | GET+12~, GET+22*, GET+23 |
| ID | TEST~, TEST+5 |
| IDX | TEST+1~, TEST+9*, TEST+10* |
| IN | TEST~, TEST+7 |
| IN("domain" | TEST+4* |
| IN("id" | TEST+5* |
| IN("patientId" | TEST+3* |
| IN("systemID" | TEST+2* |
| IN("text" | TEST+6* |
| ITEM | ADD~, ADD+1, ADD+4, ADD+7 |
| MESSAGE | BUILDERR+1~, BUILDERR+3*, BUILDERR+5*, BUILDERR+6 |
| MSG | ERR+1~*, ERR+2*, ERR+3*, ERR+4*, ERR+5*, ERR+6*, ERR+7 |
| MSGCNT | BUILDERR+1~, BUILDERR+4*, BUILDERR+5 |
| OUT | TEST+1~, TEST+7, TEST+9 |
| RESULT | BUILDERR~ |
| RESULT(1 | BUILDERR+6* |
| TEXT | TEST~, TEST+6 |
| TYPE | GET+12~, GET+48*, GET+49, TEST~, TEST+4 |
| U | TEST+1* |
| UID | SEPUID+1~, SEPUID+2*, SEPUID+3, SEPUID+4, SEPUID+5, SEPUID+6 |
| VAL | ERR~, ERR+2, ERR+3, ERR+4 |
| X | GET+37~*, 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+26 |
| Name | Field # of Occurrence |
|---|---|
| $T(@(3) | TAG+3 |
| $T(@HMPTN | GET+49 |
| $T(EN^HMPDJX | GET+47 |