HMPUTILS ;SLC/AGP,ASMR/ASF,JC-HMP utilities ;Jan 20, 2017 17:18:18
Source file <HMPUTILS.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
CHKSP(HMPFHMP) | ; ^XTMP check before patient subscription starts to cache *BEGIN*S68-PJH
; HMPFHMP - server name |
|
SETERROR(RESULT,ERROR,EXTERROR,DATA) | ; -- error text for JSON
|
|
SETERRTX(TEMP,ERROR) | ; concatenate errors from ERROR array, put CR, LF between them
|
|
SETTEXT(X,VALUE) | ; -- format word processing text
|
|
SPLITVAL(NODE,ARRAY) | ; -- split a value into a list
|
|
SETPROV(NODE,PROV) | ; -- providers
|
|
SETUID(DOMAIN,PAT,ID,ADDDATA) | ; function, UID string
|
|
SETFCURN(DOMAIN,FACILITY,VALUE) | ; function, create facility URN
|
|
SETVURN(DOMAIN,VALUE) | ; function, create VA urn
|
|
SYS(NAME) | ; -- return hashed system name from HMP SYSTEM NAME parameter, or calculate from NAME parameter if it exists
; DE4463 4/22/2016 CK - changed HMP routines to all call this function ; SYS^HMPUTILS returns a 4 digit hashed site, padded with leading zeros |
|
SETNCS(CODESET,VALUE) | ; -- create national codeset URN
|
|
JSONDT(X) | ; function, convert FileMan date-time to HL7 date-time for JSON
|
|
FACILITY(X,Y) | ; -- add facility info to array for JSON
; X=STATION NUMBER^STATION NAME ; Y=Variable array name ; >D FACILITY^HMPUTILS("500^CAMP MASTER","LAB") |
|
VERSRV() | ||
VERCMP(CUR,VAL) | ; Returns 1 if CUR<VAL, -1 if CUR>VAL, 0 if equal
|
|
WDWH() | ; What kind of data exist?, DE6644, 7 September 2016
; HMPA = loop counter ; HMPB = node information ; HMPOPD = 1 if operational data exists, 0 otherwise ; HMPPAT = 1 if patient data exist, 0 otherwise ; HMPRET = return variable - 0 if no data exist ; 1 if ONLY patient data exist ; 2 if ONLY operational data exist ; 3 if BOTH patient and operational data exist |
|
NODATA(A) | ; boolean function, is there any patient data for stream in A?; JD - 2/23/15
; Returns 1 if there is no patient data, 0 Otherwise, DE6644, 7 September 2016 ; HMPA = Loop counter ; HMPF = Flag indicating data found |
|
GETSIZE(HMPMODE,HMPSRVN) | ; function, returns aggregate extract size for extracts waiting to be sent to HMP servers
; returns: total size ^ object count ; HMPMODE = estimate - use estimated domain average sizes (default) ; actual - walk though object nodes to calculate using $LENGTH ; HMPSRVN = name of HMP server [optional - defaults to all HMP servers] ; DE7401, move function here, 20 January 2017 ; loop through extracts for server(s) |
|
WALK(BATCH,TASK,DOMAIN) | ; function, walk through domain objects in task to get actual size
|
|
GETMAX() | ; function, return the max allowable aggregate extract size in bytes
|
Name | Field # of Occurrence |
---|---|
FIND^DIC | VERSRV+2 |
$$GETSECS^HMPDJFSP | CHKSP+5 |
STATUS^HMPMETA | CHKSP+4, CHKSP+5 |
$$FMTHL7^HMPSTMP | JSONDT+7 |
$$SYS^HMPUTILS | SETUID+2 |
$$CRC16^XLFCRC | SYS+7 |
$$FMADD^XLFDT | SETERROR+3, JSONDT+6 |
$$UP^XLFSTR | VERSRV+4 |
$$BASE^XLFUTL | SYS+7 |
$$GET^XPAR | SYS+4, GETMAX+2 |
GETLST^XPAR | GETSIZE+10 |
$$KSP^XUPARAM | SYS+5 |
FileNo | Call Tags |
---|---|
^DIC(19 - [#19] | FIND^DIC |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^XTMP( | SETERROR+3*, SETERROR+5*, WDWH+12, NODATA+6, GETSIZE+13, GETSIZE+14, GETSIZE+15, WALK+3, WALK+4 |
Name | Line Occurrences |
---|---|
$$GETMAX | CHKSP+4 |
$$GETSIZE | CHKSP+4 |
$$SETUID | SETPROV+1 |
$$SETVURN | SPLITVAL+5 |
$$SYS | SYS+5 |
$$WALK | GETSIZE+17 |
SETERRTX | SETERROR+6, SETERROR+8 |
Name | Field # of Occurrence |
---|---|
^( | WALK+4 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
A | NODATA~, NODATA+6 |
ADDDATA | SETUID~, SETUID+4 |
ARRAY | SPLITVAL~ |
ARRAY( | SPLITVAL+2, SPLITVAL+3, SPLITVAL+5, SPLITVAL+6* |
BATCH | GETSIZE+7~, GETSIZE+12*, GETSIZE+13*, GETSIZE+14, GETSIZE+15, GETSIZE+17, WALK~, WALK+3, WALK+4 |
CNT | SETERROR+1~, SETERRTX+1*, SETERRTX+2*, SPLITVAL+1~, SPLITVAL+3*, SPLITVAL+4 |
CODESET | SETNCS~, SETNCS+1 |
CUR | VERCMP~, VERCMP+2 |
CURMAJOR | VERCMP+1~, VERCMP+2*, VERCMP+8 |
CURMINOR | VERCMP+1~, VERCMP+2*, VERCMP+5*, VERCMP+7*, VERCMP+9 |
CURSNAP | VERCMP+1~, VERCMP+2*, VERCMP+10 |
DATA | SETERROR~, SETERROR+5 |
DOMAIN | SETUID~, SETUID+3, SETFCURN~, SETFCURN+1, SETVURN~, SETVURN+1, GETSIZE+7~, GETSIZE+14*, GETSIZE+15, GETSIZE+16 , GETSIZE+17, WALK~, WALK+3, WALK+4 |
DT | SETERROR+3 |
ERROR | SETERROR~, SETERROR+6, SETERRTX~ |
ERROR( | SETERRTX+2 |
EXTERROR | SETERROR~, SETERROR+8 |
FACILITY | SETFCURN~, SETFCURN+1 |
FIELD | SPLITVAL+1~, SPLITVAL+5* |
FIRST | SETTEXT+1~, SETTEXT+2* |
HL7DT | JSONDT+1~, JSONDT+7*, JSONDT+8*, JSONDT+9 |
HMPA | WDWH+9~, WDWH+10*, WDWH+12*, WDWH+13, NODATA+4~, NODATA+5*, NODATA+6* |
HMPB | WDWH+9~, WDWH+13*, WDWH+14 |
HMPF | NODATA+4~, NODATA+5*, NODATA+6*, NODATA+7 |
HMPFHMP | CHKSP~, CHKSP+4, CHKSP+5 |
HMPLIM | GETMAX+2~*, GETMAX+3 |
HMPLST | VERSRV+1~ |
HMPLST("DILIST" | VERSRV+3 |
HMPMODE | GETSIZE~, GETSIZE+8*, GETSIZE+9*, GETSIZE+10, GETSIZE+16 |
>> HMPOD | WDWH+12 |
HMPOK | CHKSP+2~*, CHKSP+3, CHKSP+4*, CHKSP+5 |
HMPOPD | WDWH+9~, WDWH+10*, WDWH+13*, WDWH+15, WDWH+16, WDWH+17 |
HMPPAT | WDWH+9~, WDWH+10*, WDWH+12, WDWH+14*, WDWH+15, WDWH+16, WDWH+17 |
HMPRET | WDWH+9~, WDWH+10*, WDWH+15*, WDWH+16*, WDWH+17*, WDWH+18 |
HMPSRVN | GETSIZE~, GETSIZE+12 |
>> HMPSYS | SETUID+2 |
HMPTEMP | SETERROR+1~, SETERROR+2*, SETERROR+3, SETERROR+5, SETERROR+7 |
I | SETTEXT+1~, SETTEXT+3*, SETTEXT+4, SETTEXT+6 |
ID | SETUID~, SETUID+3 |
L | GETSIZE+7~, GETSIZE+12*, GETSIZE+13 |
LINE | SETTEXT+1~, SETTEXT+4*, SETTEXT+6 |
NAME | SPLITVAL+1~, SPLITVAL+2*, SPLITVAL+3, SPLITVAL+5, SPLITVAL+6, SYS~, SYS+5, SYS+6, SYS+7 |
NODE | SPLITVAL~, SPLITVAL+4, SETPROV~, SETPROV+1, WALK+1~, WALK+4* |
OBJ | WALK+1~, WALK+2*, WALK+3*, WALK+4 |
OBJCNT | GETSIZE+7~, GETSIZE+12*, GETSIZE+15*, GETSIZE+18 |
OBJS | GETSIZE+7~, GETSIZE+15*, GETSIZE+16 |
OBJSIZES | GETSIZE+7~, GETSIZE+10 |
OBJSIZES( | GETSIZE+16 |
PAT | SETUID~, SETUID+3 |
PROV | SETPROV~ |
PROV("providerName" | SETPROV+1* |
PROV("providerUid" | SETPROV+1* |
RESULT | SETERROR~, SETUID+1~, SETUID+3*, SETUID+4*, SETUID+5 |
RESULT("error" | SETERROR+6*, SETERROR+7*, SETERROR+8* |
RESULT("success" | SETERROR+4* |
ROOT | GETSIZE+7~, GETSIZE+12*, GETSIZE+13 |
SIZE | WALK+1~, WALK+2*, WALK+4*, WALK+5 |
SYS | SETUID+1~, SETUID+2*, SETUID+3, SYS+3~, SYS+4*, SYS+5, SYS+6 |
T | JSONDT+1~, JSONDT+4*, JSONDT+5, JSONDT+6, JSONDT+8 |
TASK | GETSIZE+7~, GETSIZE+14*, GETSIZE+15, GETSIZE+17, WALK~, WALK+3, WALK+4 |
TEMP | SETERROR+1~, SETERROR+6, SETERROR+8, SETERRTX~, SETERRTX+1*, SETERRTX+2* |
TOTAL | GETSIZE+7~, GETSIZE+12*, GETSIZE+16*, GETSIZE+17*, GETSIZE+18 |
U | SETERROR+3, SPLITVAL+4, SPLITVAL+5, SETPROV+1, GETSIZE+9 |
VAL | VERSRV+1~, VERSRV+3*, VERSRV+4, VERCMP~, VERCMP+3 |
VALMAJOR | VERCMP+1~, VERCMP+3*, VERCMP+8 |
VALMINOR | VERCMP+1~, VERCMP+3*, VERCMP+4*, VERCMP+5, VERCMP+6*, VERCMP+9 |
VALSNAP | VERCMP+1~, VERCMP+3*, VERCMP+10 |
VALUE | SETTEXT~, SETTEXT+6, SPLITVAL+1~, SPLITVAL+4*, SPLITVAL+5*, SPLITVAL+6, SETFCURN~, SETFCURN+1, SETVURN~, SETVURN+1 , SETNCS~, SETNCS+1 |
X | SETTEXT~, SETTEXT+3, SETTEXT+4, JSONDT~, JSONDT+4, JSONDT+5, FACILITY~, FACILITY+5, FACILITY+6 |
XCNT | SETERROR+1~, SETERROR+5*, SETERROR+7 |
Y | JSONDT+1~, JSONDT+5*, JSONDT+6*, JSONDT+7, FACILITY~, FACILITY+5, FACILITY+6 |