OZO FHIR implementation guide
0.1.0 - ci-build

OZO FHIR implementation guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Interaction - Creating the network

The network interaction describes how to establish and maintain care networks using FHIR resources. This involves creating person resources (Patient, Practitioner, RelatedPerson), organizing them into care teams, and managing both floating professional teams and patient-specific care teams.

Roles

This IG distinguishes the following roles when establishing care networks:

  • The OZO platform, the environment where practitioners manage care teams and patient networks.
  • The OZO FHIR Api that processes CRUD actions on Patient, Practitioner, RelatedPerson, and CareTeam resources.
  • The OZO client, an environment where caregivers participate in care networks and interact with care teams.

Identifier Requirements

All resources must include two types of identifiers:

  • An email identifier with system "email" for communication purposes
  • An origin identifier with system "{ORIGIN}/Person", "{ORIGIN}/Professional", or "{ORIGIN}/Team" to distinguish which system created the resource (typically using database IDs)

Creating the Care Network - Order of Operations

1. Create Person Resources

Person resources must be created first as they form the foundation of care teams:

Patient Resource

The Patient resource represents the care recipient. See example: Patient-Jan-de-Hoop

Practitioner Resources

Practitioners represent healthcare professionals. Examples include:

RelatedPerson Resources

RelatedPersons represent family members, friends, or informal caregivers. Examples include:

2. Create Floating Care Teams (Optional)

Floating care teams represent organizational units or departments without specific patient assignment. See example: CareTeam-Department-Thuiszorg

3. Create Patient Care Teams

Patient-specific care teams include a subject (the patient) and can include practitioners, related persons, and even other care teams. See example: CareTeam-Jan-de-Hoop

Key Principles

  1. Resource Creation Order: Always create in this sequence:
    • Patient, Practitioner, and RelatedPerson resources first
    • Floating/department CareTeam resources (if needed)
    • Patient-specific CareTeam resources last
  2. Identifier Strategy:
    • Use email identifiers for communication routing
    • Use origin-specific identifiers to track resource ownership and prevent duplicates
    • Origin identifiers typically include the creating system's name and the local database ID
  3. Care Team Types:
    • Floating teams: No subject, represent organizational units
    • Patient teams: Include subject reference to the patient
    • Teams can be nested - a CareTeam can be a participant in another CareTeam
  4. Participant Roles: Include appropriate SNOMED CT codes to identify the role of each participant within the care team

Interaction Diagram

The diagram below displays the sequence of creating a care network with nested teams: {::nomarkdown}

OZO PlatformOZO FHIR APIFHIR RepositoryOZO PlatformOZO PlatformOZO FHIR APIOZO FHIR APIFHIR RepositoryFHIR Repository1. Create Person Resources (Foundation)Create Patient ResourcePOST Patient(Jan de Hoop)identifiers: email, {ORIGIN}/PersonStore Patient/747Patient created(id: 747)Create Practitioner ResourcesPOST Practitioner(Marijke van der Berg - POH)identifiers: email, {ORIGIN}/ProfessionalStore Practitioner/1208Practitioner created(id: 1208)POST Practitioner(Pieter de Vries - Huisarts)identifiers: email, {ORIGIN}/ProfessionalStore Practitioner/1209Practitioner created(id: 1209)POST Practitioner(Annemiek Jansen - Verpleegkundige)identifiers: email, {ORIGIN}/ProfessionalStore Practitioner/1210Practitioner created(id: 1210)POST Practitioner(Johan van den Berg - Fysiotherapeut)identifiers: email, {ORIGIN}/ProfessionalStore Practitioner/1211Practitioner created(id: 1211)Create RelatedPerson ResourcesPOST RelatedPerson(Maria Groen-de Wit - Spouse)patient: Patient/747identifiers: email, {ORIGIN}/PersonStore RelatedPerson/1501RelatedPerson created(id: 1501)POST RelatedPerson(Thomas Groen - Son)patient: Patient/747identifiers: email, {ORIGIN}/PersonStore RelatedPerson/1502RelatedPerson created(id: 1502)POST RelatedPerson(Jane Groen - Family)patient: Patient/747identifiers: email, {ORIGIN}/PersonStore RelatedPerson/1500RelatedPerson created(id: 1500)POST RelatedPerson(Willem Bakker - Friend)patient: Patient/747identifiers: email, {ORIGIN}/PersonStore RelatedPerson/1503RelatedPerson created(id: 1503)2. Create Floating Care Teams (Optional)Create Department TeamPOST CareTeam(Afdeling Thuiszorg Oost)no subject (floating team)participants: Practitionersidentifiers: email, {ORIGIN}/TeamStore CareTeam/1473Floating CareTeam created(id: 1473)3. Create Patient-Specific Care TeamsCreate Patient Care TeamPOST CareTeam(Zorgteam Jan de Hoop)subject: Patient/747participants:- Practitioners (1208, 1209, 1210, 1211)- RelatedPersons (1500, 1501, 1502, 1503)- CareTeam/1473 (nested team)identifiers: email, {ORIGIN}/TeamStore CareTeam/1472Patient CareTeam created(id: 1472)Care Network EstablishedCare network is now complete with:- Patient and care providers- Nested team structure- Communication identifiers- Role assignments with SNOMED codes

{:/}