Tracker reads¶
Typed instance models returned by /api/tracker/* reads: TrackerTrackedEntity, TrackerEnrollment, TrackerEvent, TrackerRelationship + nested value types + EventStatus / EnrollmentStatus StrEnums.
Tracker models are version-scoped because /api/tracker/* shapes drift across DHIS2 majors. Import from the version your client is pinned to: from dhis2w_client.generated.v42.tracker import TrackerBundle, TrackerEvent, ....
tracker
¶
Typed models for DHIS2 v42 tracker instance data.
Thin shim over the OpenAPI-derived models under generated/v42/oas/. Re-exports
the wire-shape classes (TrackerTrackedEntity, TrackerEnrollment,
TrackerEvent, TrackerRelationship, TrackerRelationshipItem,
TrackerDataValue, TrackerAttribute, TrackerNote) plus the status enums
(EnrollmentStatus, EventStatus), and defines the client-side TrackerBundle
wrapper used for POST /api/tracker (not in OpenAPI — it's the wire envelope
DHIS2 accepts for bulk writes).
Tracker shapes drift across DHIS2 majors; keeping this under
dhis2w_client.generated.v42 means a v43 bump can ship its own
generated/v43/oas/ + tracker.py without touching v42 callers.
Classes¶
EnrollmentStatus
¶
EventStatus
¶
Bases: StrEnum
EventStatus.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/_enums.py
TrackerAttribute
¶
Bases: BaseModel
OpenAPI schema TrackerAttribute.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_attribute.py
TrackerDataValue
¶
Bases: BaseModel
OpenAPI schema TrackerDataValue.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_data_value.py
TrackerEnrollment
¶
Bases: BaseModel
OpenAPI schema TrackerEnrollment.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_enrollment.py
TrackerEvent
¶
Bases: BaseModel
OpenAPI schema TrackerEvent.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_event.py
TrackerNote
¶
Bases: BaseModel
OpenAPI schema TrackerNote.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_note.py
TrackerRelationship
¶
Bases: BaseModel
OpenAPI schema TrackerRelationship.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_relationship.py
TrackerRelationshipItem
¶
Bases: BaseModel
OpenAPI schema TrackerRelationshipItem.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_relationship_item.py
TrackerTrackedEntity
¶
Bases: BaseModel
OpenAPI schema TrackerTrackedEntity.
Source code in packages/dhis2w-client/src/dhis2w_client/generated/v42/oas/tracker_tracked_entity.py
TrackerBundle
¶
Bases: BaseModel
Typed payload for POST /api/tracker — any mix of tracker objects in one atomic write.
DHIS2 accepts nested construction (a tracked entity carrying its own
enrollments[] which carry their own events[]) or flat construction
(all four arrays populated independently). Callers pick whichever fits
their data shape; DHIS2 collapses both forms server-side.
Produce the wire payload with
bundle.model_dump(by_alias=True, exclude_none=True, mode="json").
Bundle fields are typed lists of the OpenAPI-derived tracker models, so
enum fields like EventStatus.COMPLETED validate at construction time.
Not in the OpenAPI spec — POST /api/tracker is documented but the
request body shape is described only in prose. This class is a
hand-written mirror of that shape.