Skip to main content

Events

warning

Satxuma is still under active development. It is not yet HIPAA compliant and should only be used with dummy data.

An event represents something that happens at a scheduled day and/or time. Events can be used for things like special appointments, staff meetings, or evaluations. Do not, however, use events to plan treatments - use treatments instead.


Data model

Satxuma stores events under an organization:

Properties

An Event has the following properties:

  • id (string) — A unique identifier for the event.
  • title (string) — Short description of the event (e.g., “Initial PT Evaluation”).
  • notes (string) — Optional free-text notes about the event.
  • organizationId (string) — The ID of the parent organization.
  • startDate (string) — The calendar date the event starts (YYYY-MM-DD).
  • startTime (string) — The time of day the event starts (HH:mm).
  • endDate (string) — The calendar date the event ends (YYYY-MM-DD).
  • endTime (string) — The time of day the event ends (HH:mm).
  • minutes (number \| null) — Duration of the event in minutes, if tracked.
  • timeZone (TimeZone) — IANA time zone for the event.
  • isBusy (boolean \| null) — Whether the event blocks scheduling (e.g., a therapist is unavailable).
  • tags (string[]) — Optional tags for categorization or filtering.
  • facility (IdPlusName \| null) — The facility where the event takes place (if applicable).
  • participants
    • If facility = null: must include a non-empty array of participants.
    • If facility is set: participants are optional.
    • Each participant is an IdPlusNamePlusRole (links a person to their role).

Examples

Example 1: Patient Therapy Session (with facility)

{
"id": "e001",
"title": "PT Treatment Session",
"notes": "Focus on gait training",
"organizationId": "org123",
"startDate": "2025-09-10",
"startTime": "10:00",
"endDate": "2025-09-10",
"endTime": "11:00",
"minutes": 60,
"timeZone": "America/Chicago",
"isBusy": true,
"tags": ["therapy", "PT"],
"facility": { "id": "f001", "name": "Sunrise Outpatient Clinic" },
"participants": [
{ "id": "p123", "name": "Jane Doe", "role": "Patient" },
{ "id": "t456", "name": "John Smith", "role": "Therapist" }
]
}

Example 2: Staff Meeting (no facility)

{
"id": "e002",
"title": "Weekly Team Meeting",
"notes": "Discuss case load and upcoming audits",
"organizationId": "org123",
"startDate": "2025-09-12",
"startTime": "09:00",
"endDate": "2025-09-12",
"endTime": "10:00",
"minutes": 60,
"timeZone": "America/Chicago",
"isBusy": false,
"tags": ["meeting"],
"facility": null,
"participants": [
{ "id": "t456", "name": "John Smith", "role": "Therapist" },
{ "id": "d789", "name": "Dr. Alice Jones", "role": "Physician" }
]
}