generated: '2026-07-24' method: derived source: graphql/telus-health-chr-enterprise-introspection.json (object-typed fields on marquee entities) api: telus-health:telus-chr-enterprise-api note: Entity-relationship graph derived from the CHR Enterprise GraphQL schema (505 types, 280 object types). Relationships are object-typed fields on the marquee clinical entities; has_many = GraphQL Cursor Connection fields, has_one = singular object references. root_entities: - Patient - Appointment - ReferralRecord - Task - Case - Contact - ProviderUser - Facility - Location - GroupVisit - LabObservation entity_count: 46 relationships: - from: Patient to: AdministrativeNote kind: has_many via: administrativeNotes - from: Patient to: PatientAllergyRecord kind: has_many via: allergyRecords - from: Patient to: AnswerSheet kind: has_many via: answerSheets - from: Patient to: Attachment kind: has_many via: attachments - from: Patient to: CareTeamMember kind: has_one via: careTeamMembers - from: Patient to: Case kind: has_one via: case - from: Patient to: Case kind: has_many via: cases - from: Patient to: Encounter kind: has_many via: encounters - from: Patient to: Contact kind: has_one via: familyPractitioner - from: Patient to: HealthProfile kind: has_one via: healthProfile - from: Patient to: Identification kind: has_one via: identifications - from: Patient to: InjectionRecord kind: has_many via: injectionRecords - from: Patient to: LabReport kind: has_many via: labReports - from: Patient to: LabResult kind: has_one via: labResult - from: Patient to: LabResult kind: has_many via: labResults - from: Patient to: Letter kind: has_many via: letters - from: Patient to: MedicationRecord kind: has_many via: medicationRecords - from: Patient to: PatientDataItem kind: has_many via: patientDataItems - from: Patient to: Facility kind: has_one via: preferredPharmacy - from: Patient to: Location kind: has_one via: primaryLocation - from: Patient to: ProviderUser kind: has_one via: primaryPractitioner - from: Patient to: ReferralRecord kind: has_one via: referralRecord - from: Patient to: ReferralRecord kind: has_many via: referralRecords - from: Patient to: Contact kind: has_one via: referringPractitioner - from: Patient to: StatusTag kind: has_one via: statusTags - from: Patient to: Task kind: has_one via: task - from: Patient to: Task kind: has_many via: tasks - from: Patient to: VitalsRecord kind: has_many via: vitalsRecords - from: Appointment to: Location kind: has_one via: location - from: Appointment to: Patient kind: has_one via: patient - from: Appointment to: PresentingIssue kind: has_one via: presentingIssue - from: Appointment to: ProviderUser kind: has_one via: provider - from: Appointment to: Respondent kind: has_one via: respondent - from: Appointment to: Service kind: has_one via: service - from: Appointment to: AppointmentTag kind: has_one via: tags - from: ReferralRecord to: ReferralRecordAttachment kind: has_many via: attachments - from: ReferralRecord to: ReferralRecordComment kind: has_many via: comments - from: ReferralRecord to: Patient kind: has_one via: patient - from: ReferralRecord to: ReferralPriority kind: has_one via: priority - from: ReferralRecord to: FlexibleDataPropertyItem kind: has_one via: referralDataItem - from: ReferralRecord to: FlexibleDataPropertyItem kind: has_many via: referralDataItems - from: ReferralRecord to: ReferralStatus kind: has_one via: status - from: ReferralRecord to: ReferralWaitingList kind: has_one via: waitingList - from: Task to: Location kind: has_one via: location - from: Task to: Patient kind: has_one via: patient - from: Task to: TaskCategory kind: has_one via: taskCategory - from: Case to: ProviderUser kind: has_one via: archivedBy - from: Case to: ProviderUser kind: has_one via: assignedProviderUser - from: Case to: Attachment kind: has_many via: attachments - from: Case to: CaseDataItem kind: has_many via: caseDataItems - from: Case to: CaseComment kind: has_many via: comments - from: Case to: Encounter kind: has_many via: encounters - from: Case to: Letter kind: has_many via: letters - from: Case to: CaseObservation kind: has_many via: observations - from: Case to: CaseStatus kind: has_one via: status - from: Case to: CaseTemplate kind: has_one via: template - from: Contact to: Facility kind: has_one via: facility - from: ProviderUser to: Schedule kind: has_one via: schedule - from: GroupVisit to: Appointment kind: has_one via: appointments - from: GroupVisit to: ProviderUser kind: has_one via: createdProviderUser - from: GroupVisit to: Location kind: has_one via: location - from: GroupVisit to: ProviderUser kind: has_one via: providerUsers - from: LabObservation to: Patient kind: has_one via: patient - from: LabObservation to: Respondent kind: has_one via: respondent - from: CareTeamRole to: ProviderUser kind: has_one via: archivedBy - from: DraftAppointment to: Location kind: has_one via: location - from: DraftAppointment to: ProviderUser kind: has_one via: provider - from: DraftAppointment to: Service kind: has_one via: service