Query Dispatch Service

Overview

The Query Dispatch service is primarily responsible for applying a lag period prior to making FHIR resource query requests against a facility endpoint. The current implementation of the Query Dispatch service handles how long Link Cloud should wait before querying for a patient’s FHIR resources after being discharged. To ensure that the encounter related data for the patient has been settled (Medications have been closed, Labs have had their results finalized, etc), tenants are able to customize how long they would like the lag from discharge to querying to be.

flowchart LR
nQueryDispatchService_31DDE349["Service: Query Dispatch Service"]
  nQueryDispatchService_31DDE349 -->|produces| nAuditableEventOccurred_2E7ED8D7["Event: AuditableEventOccurred"]
  nPatientEvent_34D33665["Event: PatientEvent"] -->|consumed by| nQueryDispatchService_31DDE349
  nReportScheduled_BC6D32E["Event: ReportScheduled"] -->|consumed by| nQueryDispatchService_31DDE349
  nQueryDispatchService_31DDE349 -->|sends| nDataAcquisitionRequested_4BBEB8F8["Command: DataAcquisitionRequested"]
  subgraph nCompliance_DBAE25D_domain["Domain: Compliance"]
    nAuditableEventOccurred_2E7ED8D7
  end
  subgraph nDataAccess_2A523756_domain["Domain: Data Access"]
    nDataAcquisitionRequested_4BBEB8F8
  end
  subgraph nReport_4D4FBBDA_domain["Domain: Report"]
    nPatientEvent_34D33665
    nQueryDispatchService_31DDE349
    nReportScheduled_BC6D32E
  end

Common Configurations

Database Schema

NameTypeRequired?Length
MigrationIdstringYes150
ProductVersionstringYes32
NameTypeRequired?Length
IdstringYes450
ServiceNamestringYes
FacilityIdstringYes
TopicstringYes
KeystringYes
ValuestringYes
HeadersstringYes
ScheduledTriggerstring (date-time)Yes
RetryCountintegerYes
CorrelationIdstringYes
CreateDatestring (date-time)Yes
NameTypeRequired?Length
IdstringYes450
PatientIdstringYes
TriggerDatestring (date-time)Yes
ScheduledReportPeriodsstringYes
CorrelationIdstringYes
FacilityIdstringYes
CreateDatestring (date-time)Yes
ModifyDatestring (date-time)No
NameTypeRequired?Length
IdstringYes450
DispatchSchedulesstringYes
FacilityIdstringYes
CreateDatestring (date-time)Yes
ModifyDatestring (date-time)No
NameTypeRequired?Length
IdstringYes450
ReportPeriodsstringYes
FacilityIdstringYes
CreateDatestring (date-time)Yes
ModifyDatestring (date-time)No
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
BLOB_DATAstringNo
NameTypeRequired?Length
SCHED_NAMEstringYes120
CALENDAR_NAMEstringYes200
CALENDARstringYes
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
CRON_EXPRESSIONstringYes120
TIME_ZONE_IDstringNo120
NameTypeRequired?Length
SCHED_NAMEstringYes120
ENTRY_IDstringYes140
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
INSTANCE_NAMEstringYes150
FIRED_TIMEintegerYes
SCHED_TIMEintegerYes
PRIORITYintegerYes
STATEstringYes16
JOB_NAMEstringNo150
JOB_GROUPstringNo150
IS_NONCONCURRENTbooleanYes
REQUESTS_RECOVERYbooleanNo
NameTypeRequired?Length
SCHED_NAMEstringYes120
JOB_NAMEstringYes150
JOB_GROUPstringYes150
DESCRIPTIONstringNo250
JOB_CLASS_NAMEstringYes250
IS_DURABLEbooleanYes
IS_NONCONCURRENTbooleanYes
IS_UPDATE_DATAbooleanYes
REQUESTS_RECOVERYbooleanYes
JOB_DATAstringNo
NameTypeRequired?Length
SCHED_NAMEstringYes120
LOCK_NAMEstringYes40
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_GROUPstringYes150
NameTypeRequired?Length
SCHED_NAMEstringYes120
INSTANCE_NAMEstringYes200
LAST_CHECKIN_TIMEintegerYes
CHECKIN_INTERVALintegerYes
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
REPEAT_COUNTintegerYes
REPEAT_INTERVALintegerYes
TIMES_TRIGGEREDintegerYes
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
STR_PROP_1stringYes512
STR_PROP_2stringYes512
STR_PROP_3stringYes512
INT_PROP_1integerNo
INT_PROP_2integerNo
LONG_PROP_1integerNo
LONG_PROP_2integerNo
DEC_PROP_1numberNo
DEC_PROP_2numberNo
BOOL_PROP_1booleanNo
BOOL_PROP_2booleanNo
TIME_ZONE_IDstringNo80
NameTypeRequired?Length
SCHED_NAMEstringYes120
TRIGGER_NAMEstringYes150
TRIGGER_GROUPstringYes150
JOB_NAMEstringYes150
JOB_GROUPstringYes150
DESCRIPTIONstringNo250
NEXT_FIRE_TIMEintegerNo
PREV_FIRE_TIMEintegerNo
PRIORITYintegerNo
TRIGGER_STATEstringYes16
TRIGGER_TYPEstringYes8
START_TIMEintegerYes
END_TIMEintegerNo
CALENDAR_NAMEstringNo200
MISFIRE_INSTRintegerNo
JOB_DATAstringNo

Relationships

flowchart LR
nQueryDispatchService_31DDE349["Service: Query Dispatch Service"]
  nQueryDispatchService_31DDE349 -->|produces| nAuditableEventOccurred_2E7ED8D7["Event: AuditableEventOccurred"]
  nPatientEvent_34D33665["Event: PatientEvent"] -->|consumed by| nQueryDispatchService_31DDE349
  nReportScheduled_BC6D32E["Event: ReportScheduled"] -->|consumed by| nQueryDispatchService_31DDE349
  nQueryDispatchService_31DDE349 -->|sends| nDataAcquisitionRequested_4BBEB8F8["Command: DataAcquisitionRequested"]
  subgraph nCompliance_DBAE25D_domain["Domain: Compliance"]
    nAuditableEventOccurred_2E7ED8D7
  end
  subgraph nDataAccess_2A523756_domain["Domain: Data Access"]
    nDataAcquisitionRequested_4BBEB8F8
  end
  subgraph nReport_4D4FBBDA_domain["Domain: Report"]
    nPatientEvent_34D33665
    nQueryDispatchService_31DDE349
    nReportScheduled_BC6D32E
  end