HMPDJFSP ;SLC/KCM.ASMR/RRB,CPC-PUT/POST for extract & freshness ;Jan 20, 2017 17:18:18
Source file <HMPDJFSP.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
PUTSUB(ARGS) | ; return location after creating a new subscription
; called by: ; API^HMPDJFS ; falls through to: ; QREJOIN ; calls: ; $$TM^%ZTLOAD ; SETERR^HMPDJFS ; $$GETDFN^MPIF001 ; SETERR^HMPDJFS ; OPDOMS^HMPDJFSD ; PTDOMS^HMPDJFSD ; SETPAT ; NEWXTMP^HMPDJFS ; SETMARK ; INIT^HMPMETA ; $$HTFM^XLFDT ; SAVETASK^HMPDJFSQ ; $$PID^HMPDJFS ; output: ; fn returns : /hmp/subscription/{hmpSrvId}/patient/{sysId;dfn} ; : "" if error, errors in ^TMP("HMPFERR",$J) ; .ARGS("server") : name of HMP server ; .ARGS("localId") : dfn for patient to subscribe or "OPD" (operational data) ; .ARGS("icn") : icn for patient to subscribe ; .ARGS("domains") : optional array of domains to initialize (deprecated) |
|
QREJOIN | ||
QUINIT(HMPBATCH,HMPFDFN,HMPFDOM) | ; Queue the initial extracts for a patient
; called by: ; VERMATCH^HMPDJFSG ; CVTSEL^HMPP3I ; calls: ; QUINIT^HMPDJFSQ |
|
SETDOM(ATTRIB,DOMAIN,VALUE,HMPMETA) | ; Set value for a domain ; cpc TA41760
; called by: ; QUINIT^HMPDJFSQ ; QUINIT^HMPMETA ; DQINIT^HMPDJFSQ ; DOMPT ; MOD4STRM ; calls: none ; input: ; ATTRIB: "status" or "count" attribute ; VALUE: ; for status, VALUE: 0=waiting, 1=ready ; for count, VALUE: count of items ; don't update to finished value if just tracking metastamp |
|
SETMARK(TYPE,HMPFDFN,HMPBATCH) | ; Post markers for begin and end of initial synch
; called by: ; PUTSUB ; PUTSUB-QREJOIN ; QUINIT^HMPMETA ; DQINIT^HMPDJFSQ ; calls: ; POST^HMPDJFS ; SETTIDY |
|
DQINIT | ; task Dequeue initial extracts
; called by: none ; calls: ; DQINIT^HMPDJFSQ |
|
DOMPT(HMPFADOM) | ; Load a patient domain
; called by: ; DQBACKDM^HMPDJFS1 ; DQINIT^HMPDJFSQ ; calls: ; $$CHNKCNT ; GET^HMPDJ ; SETDOM ; CHNKFIN |
|
DOMOPD(HMPFADOM) | ; Load an operational domain in smaller batches
; called by: none ; calls: ; DOMOPD^HMPDJFSQ |
|
CHNKCNT(DOMAIN) | ; -- get patient object chunk count trigger *BEGIN*S68-JCH*
; called by: ; DOMPT ; calls: ; $$GET^XPAR ; input: ; DOMAIN := current domain name being processed |
|
CHNKINIT(HMP,HMPI) | ; -- init chunk section callback *BEGIN*S68-JCH*
; called by: ; GET^HMPDJ ; DQINIT^HMPDJFSQ ; CHNKCHK ; calls: none ; input by ref: ; HMP := $NA of location for chunk of objects ; HMPI := number of objects in @HMP |
|
CHNKCHK(HMP,HMPI) | ; -- check if chunk should be queued callback *BEGIN*S68-JCH*
; called by: ; ADD^HMPDJ ; HMP1^HMPDJ02 ; calls: ; GTQ^HMPDJ ; CHNKFIN ; CHKXTMP ; CHNKINIT ; input by ref: ; HMP := $NA of location for chunk of objects ; HMPI := number of objects in @HMP |
|
CHNKFIN | ; -- finish chunk section callback *BEGIN*S68-JCH*
; called by: ; DOMPT ; CHNKCHK ; calls: ; MOD4STRM ; POSTSEC |
|
MOD4STRM(DOMAIN) | ; modify extract to be ready for stream
; called by: ; DOMOPD^HMPDJFSQ ; CHNKFIN ; calls: ; SETDOM ; expects: ; HMPBATCH, HMPFSYS, HMPFZTSK ; results are in: ; ^XTMP("HMPFX~hmpsrv~dfn",DFN,DOMAIN,...) |
|
POSTSEC(DOMAIN,ETOTAL,SECSIZE) | ; post domain section to stream and set tidy nodes
; called by: ; DOMOPD^HMPDJFSQ ; CHNKFIN ; calls: ; POST^HMPDJFS ; SETTIDY |
|
SETTIDY(DOMAIN,NODES) | ; Set tidy nodes for clean-up of the extracts in ^XTMP
; called by: ; SETMARK ; POSTSEC ; calls: none ; expects: ; HMPBATCH,HMPFZTSK |
|
MVFRUPD(HMPBATCH,HMPFDFN) | ; Move freshness updates over active stream
; called by: none ; calls: ; MVFRUPD^HMPDJFSQ |
|
BLDSERR(DFN,DOMAIN,ERRJSON) | ; Create syncError object in ERRJSON
; called by: none ; calls: ; DECODE^HMPJSON ; ENCODE^HMPJSON ; expects: ; HMPBATCH, HMPFSYS, HMPFZTSK |
|
POSTERR(COUNT,DFN) | ; put error into ^XTMP(batch)
; called by: ; DQINIT^HMPDJFSQ ; calls: ; POST^HMPDJFS |
|
INITDONE(HMPBATCH) | ; Return 1 if all domains are done
; called by: ; DQINIT^HMPDJFSQ ; calls: none |
|
SETPAT(DFN,SRV,NEWSUB) | ; Add patient to 800000 if not there
; called by: ; EN^HMPMETA ; PUTSUB ; calls: ; SETERR^HMPDJFS ; UPDOPD ; ADDPAT |
|
UPDOPD(SRV,STS) | ; Update status of operational synch
; called by: ; UNSUB^HMPMETA ; UPDSTS ; SETPAT ; calls: ; FILE^DIE ; SETERR^HMPDJFS ; CLEAN^DILF |
|
ADDPAT(DFN,SRV) | ; Add a patient as subscribed for server
; called by: ; SETPAT ; calls: ; $$NOW^XLFDT ; UPDATE^DIE ; SETERR^HMPDJFS ; CLEAN^DILF |
|
UPDSTS(DFN,SRVNM,STS) | ; Update the sync status
; called by: ; PUTSUB-QREJOIN ; MVFRUPD^HMPDJFSQ ; calls: ; SETERR^HMPDJFS ; UPDOPD ; $$NOW^XLFDT ; FILE^DIE ; CLEAN^DILF |
|
CHKXTMP(HMPBATCH,HMPFZTSK) | ; -- ^XTMP check at end each domain loop iteration ; if too big HANG
; called by: ; DQINIT^HMPDJFSQ ; CHNKCHK |
|
GETSECS() | ; return default # of seconds to requeue in future or hang when processing domains
; called by: ; CHKSP^HMPUTILS ; CHKXTMP |