OZO FHIR implementation guide
0.7.7 - ci-build

OZO FHIR implementation guide - Local Development build (v0.7.7) 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 at least one identifier. The OZO platform uses identifiers under the https://www.ozoverbindzorg.nl/namingsystem/ base. Recognized systems per resource type:

  • Patient: BSN (http://fhir.nl/fhir/NamingSystem/bsn), email, OZO person identifiers
  • RelatedPerson: email, OZO person and network-relation identifiers
  • Practitioner: AssignedId (https://www.ozoverbindzorg.nl/namingsystem/professional), BIG, UZI, AGB
  • Organization: AssignedId (https://www.ozoverbindzorg.nl/namingsystem/organization), URA, AGB
  • CareTeam: OZO team identifiers, email

All profiles use open slicing — additional identifier systems are accepted.

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: 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 Organizational Care Teams (Optional)

Organizational care teams use the OZOOrganizationalCareTeam profile and represent departments or organizational units without specific patient assignment. They have no subject, require a managingOrganization, and only allow Practitioner participants. See example: Department-Thuiszorg

3. Create Patient Care Teams

Patient-specific care teams use the OZOCareTeam profile and include a subject (the patient). They can include practitioners, related persons, and even organizational care teams as nested participants. See example: Netwerk-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:
    • Organizational teams (OZOOrganizationalCareTeam): No subject, represent organizational units (departments, shared inboxes). Only practitioners as members.
    • Patient teams (OZOCareTeam): Include subject reference to the patient. Practitioners, related persons, and organizational teams as members.
    • Teams can be nested — an organizational CareTeam can be a participant in a patient 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

{:/}