SORMAS-Project icon indicating copy to clipboard operation
SORMAS-Project copied to clipboard

Create a new AEFI entity and IndexDTO

Open obinna-h-n opened this issue 2 years ago • 0 comments

Feature Description

To begin the Adverse Events Following Immunization (AEFI) Module (#12634) the first step will be to create a new Entity, DTO and any related Enumerations required in the frontend.

Acceptance Criteria

  • [x] A new AefiReport entity (extending CoreAdo) has been added with the following fields:
    • ImmunizationReference immunization (Reference to the associated Immunization Entity)
    • String reportingIdNumber (AEFI report ID number) - database type varchar(255)
    • Date reportDate (Report date)
    • User reportingUser (Reporting user)
    • YesNoUnknown pregnant (Pregnant)
    • Trimester trimester (Trimester)
    • YesNoUnknown lactating (Lactating)
    • Integer onsetAge (Age at onset)
    • List<Vaccination> vaccinations (List of associated vaccinations)
    • AdverseEvents adverseEvents (Adverse events)
    • Date startDate (Date and time AEFI started)
    • String aefiDescription (Describe AEFI (Signs and Symptoms)) - database type text
    • YesNoUnknown serious (Serious)
    • SeriousAefiReason seriousReason (Reason for serious)
    • String seriousReasonDetails (Reason for serious details) - database type text
    • AefiOutcome outcome (Outcome)
    • Date deathDate (Date of death)
    • YesNoUnknown autopsyDone (Autopsy done)
    • String pastMedicalHistory (Past medical history) - database type text
    • YesNoUnknown investigationNeeded (Investigation needed)
    • Date investigationDate (Investigation date)
    • Date nationalLevelDate (Date received at national level)
    • String worldwideId (Worldwide ID) - database type varchar(255)
    • String nationalLevelComment (Comments) - database type text
  • [x] A matching DTO and ReferenceDto is created along with a facade (extending CoreFacade) and service
  • [x] An AefiReportIndexDto has been added with the following fields:
    • UUID
    • Immunization ID
    • Disease
    • Person ID
    • First name
    • Last name
    • Age and birth date
    • Sex
    • Serious
    • Suspect vaccine
    • Outcome
    • Date of vaccination
    • Date of onset
    • Adverse events (comma separated)
  • [ ] A unit test verifies that the AefiReportIndexDto is created successfully
  • [x] An AefiReportCriteria class has been added as well as a buildCriteriaFilter method in the service supporting the following filter:
    • freeTextFilter (filters by uuid, person name)
    • disease
    • region
    • district
    • community
    • aefiType
    • suspectVaccine
    • responsibleUser
    • reportDateFrom & reportDateTo (date range by date or by epi week, e.g. similar to the immunization directory)
  • [x] A new AdverseEvents entity has been added with the following fields:
    • AdverseEventState severeLocalReaction (Severe local reaction)
    • AdverseEventState severeLocalReactionMoreThanThreeDays (> 3 days)
    • AdverseEventState severeLocalReactionBeyondNearestJoint (beyond nearest joint)
    • AdverseEventState seizures (Convulsions or Seizures)
    • SeizureType seizureType (Seizure type)
    • AdverseEventState abscess (Abscess)
    • AdverseEventState sepsis (Sepsis)
    • AdverseEventState encephalopathy (Encephalopathy)
    • AdverseEventState toxicShockSyndrome (Toxic shock syndrome)
    • AdverseEventState thrombocytopenia (Thrombocytopenia)
    • AdverseEventState anaphylaxis (Anaphylaxis)
    • AdverseEventState feverishFeeling (Fever > 38degC)
    • String otherAdverEventDetails (Other (Specify)) - database type text
  • [x] A new AdverseEventState enum has been added with the following values:
    • YES
    • NO
    • UNKNOWN
  • [x] A new SeizureType enum has been added with the following values:
    • FEBRILE
    • AFEBRILE
  • [x] A new SeriousAefiReason enum has been added with the following values:
    • DEATH
    • LIFE_THREATENING
    • DISABILITY
    • HOSPITALIZATION
    • CONGENITAL_ANOMALY
    • OTHER
  • [x] A new AefiOutcome enum has been added with the following values:
    • RECOVERING
    • RECOVERED
    • RECOVERED_WITH_SEQUELAE
    • NOT_RECOVERED
    • UNKNOWN
    • DIED

Implementation Details

No Response

Mockups

No Response

Additional Information

No Response

obinna-h-n avatar Nov 01 '23 08:11 obinna-h-n