MACM and ADX: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 2: Line 2:


<sequenceDiagram>
<sequenceDiagram>
opt Third Part Submission
opt Third Party/PoS Submission
   PoS->Node IL: Submit ADX message
   PoS->Node IL: Submit ADX message
   Node IL->Node IL: Log headers (maybe data)
   Node IL->Node IL: Log headers (maybe data)
Line 31: Line 31:
end
end


opt  
opt Node AA fetches alerts from Global AA
  loop periodic update
  loop periodic update
   Node IL->Global IL: submit Query for Alert Status (ITI-85)\n search against same recipient as above  
   Node IL->Global IL: submit Query for Alert Status (ITI-85)\n search against same recipient as above  
Line 45: Line 45:
end
end


opt
opt Node HMIS looks for alerts on Node AA
   Node HMIS->Node Alert Aggregator: submit Query for Alert Status (ITI-85)
   Node HMIS->Node Alert Aggregator: submit Query for Alert Status (ITI-85)
   Node Alert Aggregator->Node HMIS: Query for Alert Status (ITI-85) response
   Node Alert Aggregator->Node HMIS: Query for Alert Status (ITI-85) response
Line 52: Line 52:




opt
opt PoS looks for alerts on Node AA
   PoS->Node IL: submit Query for Alert Status (ITI-85)
   PoS->Node IL: submit Query for Alert Status (ITI-85)
   Node IL->Node IL: submit Query for Alert Status (ITI-85)
   Node IL->Node IL: submit Query for Alert Status (ITI-85)

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 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 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>