MACM and ADX: Difference between revisions
From IHRIS Wiki
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
Node HMIS->Node IL: ACK or receipt\n(no validation) | Node HMIS->Node IL: ACK or receipt\n(no validation) | ||
Node IL->PoS: ACK or receipt\n(no validation) | Node IL->PoS: ACK or receipt\n(no validation) | ||
loop ADX data values | loop Node submitted ADX data values | ||
Node HMIS->Node HMIS: validate ADX message | Node HMIS->Node HMIS: validate ADX message | ||
Node HMIS->Node Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? | Node HMIS->Node Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? | ||
Line 23: | Line 23: | ||
Node IL->Node IL: record headers | Node IL->Node IL: record headers | ||
Node IL->Node HMIS: ACK of receipt\n(no validation) | Node IL->Node HMIS: ACK of receipt\n(no validation) | ||
loop ADX data values | loop global submitted ADX data values | ||
Global HMIS->Global HMIS: validate ADX message | Global HMIS->Global HMIS: validate ADX message | ||
Global HMIS->Global Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? | Global HMIS->Global Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? |
Revision as of 06:55, 2 September 2015
<sequenceDiagram>
opt Third Party/PoS Submission
PoS->Node IL: Submit ADX message Node IL->Node IL: Log headers (maybe data) Node IL->Node IL: Node HMIS: Translate local identifiers\n(e.g. site ID) to PEPFAR site ID Node IL->Node HMIS: Submit ADX message Node HMIS->Node IL: ACK or receipt\n(no validation) Node IL->PoS: ACK or receipt\n(no validation) loop Node submitted ADX data values Node HMIS->Node HMIS: validate ADX message Node HMIS->Node Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? end
end
Node HMIS->Node IL: User/cron-initiated submission of ADX\nMay include more than the orignial ADX Node IL->Node IL: Log headers (maybe data) Node IL->Global IL: Submit ADX message Global IL->Global HMIS: Submit ADX message Global HMIS->Global IL: ACK of receipt\n(no validation) Global IL->Node IL: ACK of receipt\n(no validation) Node IL->Node IL: record headers Node IL->Node HMIS: ACK of receipt\n(no validation) loop global submitted ADX data values
Global HMIS->Global HMIS: validate ADX message Global HMIS->Global Alert Aggregator: initiate Mobile Report Alert (ITI-84)\n for invalid messages\n recipient inferred from ??? opt Global Alert Aggregator->Global Alert Aggregator: Dispatch alert to recipient\n (is this the correct actor?) end
end
opt Node AA fetches alerts from Global AA
loop periodic update Node IL->Global IL: submit Query for Alert Status (ITI-85)\n search against same recipient as above Global IL->Global Alert Aggregator: submit Query for Alert Status (ITI-85) Global Alert Aggregator->Global IL: Query for Alert Status (ITI-85) response Global IL->Node IL: Query for Alert Status (ITI-85) response Node IL->Node Alert Aggregator: Query for Alert Status (ITI-85) response Node Alert Aggregator->Node Alert Aggregator: Add alert to data store opt Node Alert Aggregator->Node Alert Aggregator: Dispatch alert to recipient end end
end
opt Node HMIS looks for alerts on Node AA
Node HMIS->Node Alert Aggregator: submit Query for Alert Status (ITI-85) Node Alert Aggregator->Node HMIS: Query for Alert Status (ITI-85) response
end
opt PoS looks for alerts on Node AA
PoS->Node IL: submit Query for Alert Status (ITI-85) Node IL->Node IL: submit Query for Alert Status (ITI-85) Node IL->Node Alert Aggregator: submit Query for Alert Status (ITI-85) Node Alert Aggregator->Node IL: Query for Alert Status (ITI-85) response Node IL->PoS: Query for Alert Status (ITI-85) response
end
</sequenceDiagram>