# One Health

Carry zoonotic notifications and counts between animal and public health DHIS2 instances, load AMR results and environmental readings.

One Health is defined by WHO, FAO, UNEP and WOAH as "an integrated, unifying approach that aims to sustainably balance and optimize the health of people, animals and ecosystems" ([WHO](https://www.who.int/news/item/01-12-2021-tripartite-and-unep-support-ohhlep-s-definition-of-one-health)). The [One Health Joint Plan of Action](https://www.who.int/publications/i/item/9789240059139) organises the work into six action tracks:

1. One Health capacities for health systems
2. Emerging and re-emerging zoonotic epidemics
3. Endemic zoonotic, neglected tropical and vector-borne diseases
4. Food safety
5. Antimicrobial resistance
6. The environment

## What reaches DHIS2 {#what-reaches-dhis2}

Three of the tracks become integration work around DHIS2:

1. **Zoonoses.** Animal health and public health run separate DHIS2 instances, each with its own organisation unit hierarchy and its own codes. A zoonotic notification in the animal health instance has to reach public health, and weekly counts of zoonoses have to reach the public health surveillance data set.
2. **Antimicrobial resistance.** Human, animal and food laboratories run WHONET, which exports aggregate statistics for DHIS2 data sets and isolate listings for DHIS2 event programs as files.
3. **The environment.** Readings from a national source, such as the stations of a meteorological service, are posted as data values next to the health data.

Food safety needs no flow of its own, because foodborne outbreaks arrive as notifiable conditions through the normal surveillance path. Global climate datasets such as ERA5-Land and CHIRPS are imported by the DHIS2 Climate app itself.

## Processing flow {#processing-flow}

```yaml
name: One Health data into public health DHIS2
actors:
  - id: animal
    label: Animal health
  - id: labs
    label: Laboratories
  - id: met
    label: Met service
  - id: zato
    label: Zato
  - id: public
    label: Public health
steps:
  - from: zato
    to: animal
    label: GET /api/tracker/events - notifications since the last run
  - from: zato
    to: public
    label: POST /api/tracker - notifications under public health codes
  - from: zato
    to: animal
    label: GET /api/analytics - last week's zoonosis counts
  - from: zato
    to: public
    label: POST /api/dataValueSets - counts per health district
  - from: labs
    to: zato
    label: WHONET export files over SFTP
  - from: zato
    to: public
    label: AMR data sets and isolates
  - from: zato
    to: met
    label: GET daily readings per station
  - from: zato
    to: public
    label: POST /api/dataValueSets - readings per org unit
```

## When the built-in data exchange is enough {#when-the-built-in-data-exchange-is-enough}

DHIS2 has an [aggregate data exchange](https://docs.dhis2.org/en/develop/using-the-api/dhis-core-version-240/data-exchange.html) of its own, which copies aggregate data from one instance to another on a schedule. When only aggregate data moves between two DHIS2 instances and both use the same codes for the same organisation units and data elements, that exchange covers it and no integration is needed. The pages here are for the rest - case data in tracker programs, hierarchies and code sets that differ, and sources that are not DHIS2.

## Pages in this section {#pages-in-this-section}

- [Setup](https://zato.io/docs/dev/healthcare/dhis2/one-health/setup.html) - Two instances, their connections and the code mappings
- [Zoonotic notifications](https://zato.io/docs/dev/healthcare/dhis2/one-health/notifications.html) - Animal health notifications carried to public health
- [Zoonosis counts](https://zato.io/docs/dev/healthcare/dhis2/one-health/zoonosis-counts.html) - Weekly counts into the public health data set
- [Antimicrobial resistance](https://zato.io/docs/dev/healthcare/dhis2/one-health/amr.html) - WHONET exports loaded from each laboratory
- [Environmental data](https://zato.io/docs/dev/healthcare/dhis2/one-health/environment.html) - Daily readings of a national source as data values

## See also {#see-also}

- [DHIS2 overview](https://zato.io/docs/dev/healthcare/dhis2/index.html) - All DHIS2 integration pages
- [Config tables](https://zato.io/docs/dev/examples/config-tables.html) - Translate the codes of one party into another's
- [File transfer schedules](https://zato.io/docs/dev/file-transfer/schedules.html) - Pick up files and invoke a service per file

## Learn more {#learn-more}

- [Healthcare interface engine](https://zato.io/docs/dev/healthcare/) - Clinical messages, FHIR, conversion and operations
- [HL7 v2 parsing](https://zato.io/docs/dev/healthcare/hl7/v2/parsing/) - Messages as typed objects, with field access and validation
- [MLLP channels](https://zato.io/docs/dev/healthcare/hl7v2/mllp/) - Receiving and sending HL7 v2 over MLLP sockets
- [FHIR integrations](https://zato.io/docs/dev/healthcare/hl7/fhir/) - Read and write FHIR resources, with paths, bundles and extensions
- [HL7 v2 to FHIR](https://zato.io/docs/dev/healthcare/hl7/to-fhir/) - Converting v2 messages into FHIR bundles, codes and references included
- [EDIFACT](https://zato.io/docs/dev/healthcare/edifact/) - Parsing interchanges, dialects and the transports they arrive on
- [Transformation](https://zato.io/docs/dev/healthcare/transformation/) - One message in, another standard out, in ordinary Python
- [Audit log](https://zato.io/docs/dev/healthcare/audit-log.html) - Every message with its acknowledgment, searchable by patient identifier
- [AI in clinical interfaces](https://zato.io/docs/dev/healthcare/ai/) - Services calling LLMs and AI agents calling clinical services as tools
