Skip to main content

People

warning

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

A person represents anyone involved in therapy care. This includes patients, therapists, physicians, or other staff. People are associated with an organization and can have roles that determine what data is stored about them.


Data model

Satxuma stores people under an organization:

Roles

Every person must have a role. The role determines what additional information is required:

  • Patient — a person receiving therapy services.
  • Therapist — a person providing therapy services.
  • Physician — a licensed medical provider.
  • Other — any other type of person associated with the organization.

Properties

A Person has the following properties:

  • id (string)
    A unique identifier for the person.
  • name (string)
    The full name of the person. Must be a non-empty string.
  • role ('Patient' | 'Therapist' | 'Physician' | 'Other')
    Defines the type of person. The role affects which additional properties are required.

Patient

If the person is a patient:

  • admissions (Admission[]) — All admissions associated with the patient.
  • cases (Case[]) — Clinical cases for the patient.
  • gender (Gender | '') — The patient’s gender.
  • gender (Height | '') — The patient’s height.
  • gender (Weight | '') — The patient’s weight.
  • mbi (string) — Medicare Beneficiary Identifier, if applicable.
  • settings
    • availability.weekdays (Weekday[]) — Days the patient is available for therapy.
    • avoidTherapists (IdPlusName[]) — Therapists the patient prefers not to see.

Therapist

If the person is a therapist:

  • doctoralDegrees (DoctoralDegree[]) — Any doctoral degrees held by the therapist.
  • employmentPeriods (EmploymentPeriod[]) — Periods of employment at facilities.
  • licenses (License[]) — Professional licenses held by the therapist.
  • npi (string) — National Provider Identifier.
  • settings
    • availability — Hours available for each weekday.
    • avoidPatients (IdPlusName[]) — Patients the therapist prefers not to see.
    • sameDayFacilities — Facilities where the therapist works on the same day.
    • workFacilities — Facilities the therapist is scheduled to work, with days per week.

Physician

If the person is a physician:

  • npi (string) — National Provider Identifier.
  • faxNumber (string) — Contact fax number.

Examples

Example 1: Patient

{
"id": "p123",
"name": "Jane Doe",
"role": "Patient",
"gender": "Female",
"mbi": "1EG4-TE5-MK73",
"admissions": [],
"cases": [],
"settings": {
"availability": {
"weekdays": ["Monday", "Wednesday", "Friday"]
},
"avoidTherapists": []
}
}

Example 2: Therapist

{
"id": "t456",
"name": "John Smith",
"role": "Therapist",
"doctoralDegrees": ["DPT"],
"employmentPeriods": [],
"licenses": [],
"npi": "1234567890",
"settings": {
"availability": {
"Monday": { "onClockHrs": 8, "openToWorkHrs": 2 }
},
"avoidPatients": [],
"sameDayFacilities": [],
"workFacilities": []
}
}

Example 3: Physician

{
"id": "d789",
"name": "Dr. Alice Jones",
"role": "Physician",
"npi": "9876543210",
"faxNumber": "555-123-4567"
}

Example 4: Other

{
"id": "o101",
"name": "Receptionist Bob",
"role": "Other"
}