MCPcopy Index your code
hub / github.com/SORMAS-Foundation/SORMAS-Project

github.com/SORMAS-Foundation/SORMAS-Project @v1.103.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.103.0 ↗ · + Follow
48,728 symbols 218,218 edges 4,233 files 1,493 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

SORMAS - Surveillance, Outbreak Response Management and Analysis System

License Latest Release Development Build Status

SORMAS

SORMAS (Surveillance Outbreak Response Management and Analysis System) is an open source eHealth system - consisting of separate web and mobile apps - that is geared towards optimizing the processes used in monitoring the spread of infectious diseases and responding to outbreak situations.

FAQ (Frequently Asked Questions)

Where can I find the documentation?

We provide an extensive documentation of SORMAS for users, system administrators, Developers and DevOps in our Wiki.

How Does it Work?

You can give SORMAS a try on our demo server at https://demo.sormas.org!

How Can I Get Involved?

Read through our Contributing Readme and contact us at info@sormas.org to learn how you can help to drive the development of SORMAS forward, or check out our Discussions to get development support from the core developers and other community members. SORMAS is a community-driven project, and we'd love to have you on board!

If you want to contribute to the code, please strictly adhere to the Development Environment guide to ensure that everything is set up correctly. Please also make sure that you've read the Development Contributing Guidelines before you start to develop.

How Can I Report a Bug or Request a Feature?

If you want to report a security issue, please read and follow our Security Policies. For bugs without security implications, change and feature requests, please create a new issue and read the Submitting an Issue guide for more detailed instructions. We appreciate your help!

Which Browsers and Android Versions are Supported?

SORMAS officially supports and is tested on Chromium-based browsers (like Google Chrome) and Mozilla Firefox, and all Android versions starting from Android 7.0 (Nougat). In principle, SORMAS should be usable with all web browsers that are supported by Vaadin 8 (Chrome, Firefox, Safari, Edge, Internet Explorer 11; see https://vaadin.com/faq).

Making use of the SORMAS web application through a mobile device web browser is possible and acceptable also in countries that are subject to the General Data Protection Regulation (GDPR) as enforced by the European Union. However, in such countries that are subject to the GDPR, the Android application (.apk file) for SORMAS should not be used on mobile devices until further notice.

Is there a ReST API documentation?

Yes! Please download the latest release and copy the content of /deploy/openapi/sormas-rest.yaml to an editor that generates a visual API documentation(e.g. https://editor.swagger.io/). A runtime Swagger documentation of the External Visits Resource (used by external symptom journals such as CLIMEDO or PIA) is available at <<host>>/sormas-rest/openapi.json or <<host>>/sormas-rest/openapi.yaml

Who is responsible for Data Protection and Data Security?

We herewith explicitly would like to draw your attention to the fact, that the respective public health agency running SORMAS is in charge of data security and data protection and has to ensure compliance with national data protection and data security regulations in their respective jurisdiction. It has to ensure that state-of-the art requirements for data protection and data security are fulfilled. All those prerequisites and examinations have to be done in the context of the country and its respective legal framework. For these reasons, HZI cannot take the responsibility from the respective public health agency running the SORMAS systems and is not liable for any violation of data protection of the agency as the data generated by SORMAS belong to that very agency.

Guidelines and Resources

If you want to learn more about the development and contribution process, setting up or customizing your own system, or technical details, please consider the following guides and resources available in this repository. You can also view this readme and all guides outside the Wiki with a full table of content and search functionality here: https://sormas-foundation.github.io/SORMAS-Project/

  • GitHub Wiki - Our wiki contains additional guides for server customization and development instructions. Please have a look at it if you need information on anything that this readme does not contain.
  • Contributing Guidelines - These are mandatory literature if you want to contribute to this repository in any way (e.g. by submitting issues, developing code, or translating SORMAS into new languages).
  • Development Environment Setup Instructions - If you want to get involved with development, this guide tells you how to correctly set up your system in order to contribute to the code in adherence with codestyle guidelines, development practices, etc.
  • Troubleshooting - A collection of solutions to common (mostly development) problems. Please consult this readme when encountering issues before issuing a support request.
  • Server Customization - If you are maintaining a SORMAS server or are a developer, this guide explains core concepts such as turning features on or off, importing infrastructure data or adjusting the configuration file.
  • Internationalization - SORMAS can be translated in any language by using the open source tool Crowdin; this resource explains how this process is working.
  • Disease Definition Instructions - We already support a large number of diseases, but not all of them are fully configured for case-based surveillance, and some might not be part of SORMAS at all yet; if you need SORMAS to support a specific disease, please use these instructions to give us all the information we need in order to extend the software with your requested disease.
  • Sormas2Sormas - The Sormas2Sormas API is used to share entities between SORMAS instances.

  • Security Policies - These contain important information about how to report security problems and the processes we are using to take care of them.

  • Third-Party License Acknowledgement - This resource contains the names and license copies of external resources that SORMAS is using.

If you want to set up a SORMAS instance for production, testing or development purposes, please refer to the following guides: * Installing a SORMAS Server * Updating a SORMAS Server * Setup Development environment * Creating a Demo Android App

Project Structure

The project consists of the following modules:

Extension points exported contracts — how you extend this code

GeoLocationFacade (Interface)
Facade to group all infrastructure/location together which indicates a real geographical entity, in contrast to faciliti [7 …
sormas-api/src/main/java/de/symeda/sormas/api/infrastructure/GeoLocationFacade.java
DatabaseCleaner (Interface)
Hook for database cleanup. If a bean for this interface is found it will be run before the tests. [11 implementers]
sormas-ui/src/test/java/de/symeda/junit/cdi/jee/jpa/DatabaseCleaner.java
OnLinkClickListener (Interface)
Created by Orson on 15/01/2018. www.technologyboard.org sampson.orson@gmail.com sampson.orson@technologyboard.org [32 …
sormas-app/app/src/main/java/de/symeda/sormas/app/component/OnLinkClickListener.java
DatabaseCleaner (Interface)
Hook for database cleanup. If a bean for this interface is found it will be run before the tests. [11 implementers]
sormas-backend/src/test/java/de/symeda/junit/cdi/jee/jpa/DatabaseCleaner.java
DriverFactory (Interface)
(no doc) [4 implementers]
sormas-e2e-tests/src/main/java/org/sormas/e2etests/webdriver/DriverFactory.java
Endpoints (Interface)
(no doc)
sormas-performance-gatling/src/main/java/gatling/restassured/constants/Endpoints.java
StatisticsGroupingKey (Interface)
Indicates that the class implementing this interface will be used for filter and grouping purposes in the statistics sec [33 …
sormas-api/src/main/java/de/symeda/sormas/api/statistics/StatisticsGroupingKey.java
CommitListener (Interface)
(no doc) [9 implementers]
sormas-ui/src/main/java/de/symeda/sormas/ui/utils/CommitDiscardWrapperComponent.java

Core symbols most depended-on inside this repo

get
called by 7398
sormas-backend/src/main/java/de/symeda/sormas/backend/externaljournal/PersonContactInfoValidator.java
getUuid
called by 6771
sormas-api/src/main/java/de/symeda/sormas/api/uuid/HasUuid.java
getValue
called by 2814
sormas-app/app/src/main/java/de/symeda/sormas/app/core/enumeration/StatusElaborator.java
addComponent
called by 2705
sormas-ui/src/main/java/de/symeda/sormas/ui/utils/AbstractView.java
getString
called by 2210
sormas-api/src/main/java/de/symeda/sormas/api/i18n/I18nProperties.java
stream
called by 1960
sormas-ui/src/main/java/de/symeda/sormas/ui/utils/FieldHelper.java
size
called by 1745
sormas-ui/src/main/java/de/symeda/sormas/ui/utils/processing/EntrySelectionField.java
add
called by 1596
sormas-backend/src/main/java/de/symeda/sormas/backend/common/ChangeDateBuilder.java

Shape

Method 43,267
Class 3,961
Function 728
Enum 418
Interface 354

Languages

Java99%
TypeScript1%

Modules by API surface

sormas-api/src/main/java/de/symeda/sormas/api/symptoms/SymptomsDto.java432 symbols
sormas-backend/src/main/java/de/symeda/sormas/backend/symptoms/Symptoms.java431 symbols
sormas-app/app/src/main/java/de/symeda/sormas/app/backend/symptoms/Symptoms.java426 symbols
sormas-ui/src/main/resources/de/symeda/sormas/ui/dashboard/visualisation/vis-network-7.6.2/vis-network.min.js405 symbols
sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseExportDto.java345 symbols
sormas-api/src/main/java/de/symeda/sormas/api/adverseeventsfollowingimmunization/AefiInvestigationDto.java319 symbols
sormas-backend/src/main/java/de/symeda/sormas/backend/adverseeventsfollowingimmunization/entity/AefiInvestigation.java314 symbols
sormas-backend/src/main/java/de/symeda/sormas/backend/caze/Case.java305 symbols
sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseDataDto.java277 symbols
sormas-app/app/src/main/java/de/symeda/sormas/app/backend/caze/Case.java234 symbols
sormas-backend/src/main/java/de/symeda/sormas/backend/contact/Contact.java189 symbols
sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactExportDto.java179 symbols

Datastores touched

postgresDatabase · 1 repos

For agents

$ claude mcp add SORMAS-Project \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page