Skip to content

Message processing

sergiupacurariu edited this page Sep 23, 2024 · 4 revisions

Message processing

1) Overview

Message processing is a feature of Sormas which is intended for communication with other systems through messages.

2) External systems:

  • Demis - German Electronic Reporting and Information System for Infection Protection
  • e-Sante – eSante Agency Luxembourg (National agency for shared information in the field of health)

3) Connection

For each external system there is a dedicated adapter which converts the specific message of an external system to SORMAS external message format.

4) Elements of the messaging system:

i. Message directory

  • All the messages received from external systems will be stored here
  • In case only manual lab message processing is available for a particular external system in this directory the user will be able to manually process each message
  • for automatic lab message processing the messages which were not processed automatically have active the “Process” button to allow the users to manually process them
  • Is the place where all the pulled message are stored when:
    • a. The system is not configured for automatic lab message processing for manual processing
    • b. The automatic processing
      • i. is not able to unambiguously link the lab message to a person
      • ii. potentially one duplicate person exists
  • the directory is available if the feature configuration EXTERNAL_MESSAGES is true

ii. Fetch messages button (Messages menu)

  • will be available in case feature type EXTERNAL_MESSAGES is activated and the property FETCH_MODE is true
  • it pulls messages from the external system and saves them to Sormas

5) Processing types

a. Automatic

  • In order to be able to process a lab message the following criteria must be fulfilled:
    • automaticProcessingPossible field set by the adapter is true
    • AND
      • Either
        • The user must have the user right: EXTERNAL_MESSAGE_PROCESS
        • The property FORCE_AUTOMATIC_PROCESSING of EXTERNAL_MESSAGES must be also true (the state of the EXTERNAL_MESSAGES do not influence the automatic processing)
      • OR
        • The features CONTACT_TRACING and EVENT_SURVEILLANCE must be false

b. Manual

  • i. Rules to trigger the process button on a lab message
    • User must have EXTERNAL_MESSAGE_PROCESS right
    • Message status “unprocessed”
    • The external message type must not be PHYSICIANS_REPORT type OR the user should have CASE_CREATE and CASE_EDIT rights
  • ii. Process flow
    • Lab message

      • 1. Check disease – if missing user asked to continue or cancel
      • 2. Get samples from the lab message (work with only one sample per message)
      • 3. Pick or create person
        • If a matching person is found this person will be available to choose
          • Person similarity rules:
            • • first name
            • • last name
            • • sex
            • • birth year
            • • birth month
            • • birth day
            • • NATIONAL_HEALTH_ID
            • • passport number
            • • person UUID, INTERNAL_TOKEN, EXTERNAL_ID, EXTERNAL_TOKEN
          • if server configuration duplicatechecks.nationalhealthidoverridescriteria is set to true then a matching NATIONAL_HEALTH_ID overrides all other similarity criteria
          • each of the above fields are checked if they exist in the lab message
        • Create new person or choose from duplicates found
      • 4. Choose next step from the following:
        • Create new case
        • Create new contact
        • Create new event participant
        • Choose an existing case
        • Choose an existing contact
        • Choose an existing event participant
      • 5. Create new sample form
        • Fill the missing mandatory fields if the case
        • Add pathogen test if the case
        • Save and/or open the entity to which the sample is attached (e.g. case, contact, event participant)
      • Until save the flow can be canceled at any time
    • Physicians report

      • it has the same flow like Lab message except step 4
      • step 4 in the physicians report is the following
      • 4. Choose next step from the following:
        • Create new case
        • Choose an existing case