Koppeltaal 2.0 Implementation Guide (Full Documentation)
0.16.5 - ci-build
Koppeltaal 2.0 Implementation Guide (Full Documentation) - Local Development build (v0.16.5) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
These define the properties by which a RESTful server can be searched. They can also be used for sorting and including related resources.
| correlation-id |
Search correlationId for tracking audit events |
| participant |
Find the participant of an ActivityDefinition |
| publisherId-extension |
Search by publisherId for an ActivityDefinition |
| request-id |
Search requestId for tracking audit events |
| resource-origin-extension |
Search domain resources by resource-origin. |
| task-instantiates |
Search Tasks based on a (set of) ActivityDefinition which in turn can conform to a specific PublisherId |
| trace-id |
Search trace id for tracking audit events |
These define constraints on FHIR resources for systems conforming to this implementation guide.
| KT2_ActivityDefinition |
The (FHIR) ActivityDefinition (resource) describes an eHealth activity that is available for assignment to a patient. When assigning an eHealth activity to a patient, an eHealth Task is created, in which sub-activities are included as contained resources that refer to the main task via Task.partOf. |
| KT2_AuditEvent |
The AuditEvent resource is used to consolidate and track logging information within the Koppeltaal ecosystem. It captures details about system activities, data access, and interactions between applications for security and compliance purposes. |
| KT2_CareTeam |
The CareTeam resource represents a group of healthcare professionals and related persons who collaborate to provide coordinated care and treatment for a patient. It defines the roles and participants involved in delivering healthcare services within the Koppeltaal ecosystem. |
| KT2_DeletePendingTask |
The KT2_DeletePendingTask profile represents the announcement that a patient's data within the Koppeltaal service is scheduled for definitive deletion. When the grace period starts, the Koppeltaal service creates one Task per (Patient ?? participating application); the Task is server-owned but readable by participating applications and carries the server-owned |
| KT2_Device |
The Device resource represents a software application or system that is used in the provision of healthcare services. Within the Koppeltaal context, this typically includes modules, portals, or eHealth applications that facilitate patient care and data exchange between healthcare systems. |
| KT2_Endpoint |
The Endpoint resource represents the technical contact point for an application that provides eHealth services. It defines the network address, connection protocols, and communication parameters necessary for systems to connect and interact with healthcare applications within the Koppeltaal ecosystem. |
| KT2_Organization |
The Organization resource represents a formally or informally recognized grouping of people or organizations that collectively provide healthcare services. This includes healthcare providers, departments, community groups, and healthcare practice groups operating within the Koppeltaal ecosystem. The profile extends the NlcoreHealthcareProviderOrganization profile with Koppeltaal-specific requirements. |
| KT2_Patient |
The Patient resource represents a person receiving healthcare services within the Koppeltaal ecosystem. Patients can be assigned eHealth activities and are the primary focus of care coordination between different healthcare applications. This profile extends the NlcorePatient profile with Koppeltaal-specific requirements. |
| KT2_Practitioner |
The Practitioner resource represents a healthcare professional who is directly or indirectly involved in the provision of patient care. This includes physicians, nurses, therapists, and other healthcare providers operating within the Koppeltaal ecosystem. The profile extends the NlcoreHealthProfessionalPractitioner profile, implementing Dutch Health Information Building Block (zib) standards. |
| KT2_RelatedPerson |
The RelatedPerson resource represents an individual who has a personal or professional relationship with a patient and may be involved in their care. This includes family members, caregivers, legal guardians, and other support persons who assist in the patient's therapy and treatment. The profile extends the NlcoreContactPerson profile with Koppeltaal-specific requirements. |
| KT2_Subscription |
The Subscription resource defines push-based notifications between systems in the Koppeltaal ecosystem. It enables applications to receive real-time updates when resources matching specified criteria are created or modified. The subscription mechanism ensures timely data synchronization and event-driven communication between healthcare applications. |
| KT2_Task |
The Task resource represents an eHealth activity that has been assigned to a specific patient. It tracks the lifecycle of patient assignments, from initial creation through completion, and may include subtasks for complex multi-step interventions. Tasks are created based on ActivityDefinition resources and managed throughout their execution within the Koppeltaal ecosystem. |
These define constraints on FHIR data types for systems conforming to this implementation guide.
| KT2_CorrelationId |
The correlation-id is an identifier related to the message and the workflow it's part of |
| KT2_EndpointExtension |
Reference extension to the service application (endpoint) that provides the eHealth activity. |
| KT2_Instantiates |
Extension added to a Task to refer to the ActivityDefinition which is instantiated by this Task |
| KT2_PublisherId |
Identifier of the publisher (organization or individual). This extension is used as id in the ActivityDefinition. |
| KT2_RequestId |
ID of the request. Together with the trace-id it uniquely identifies a request in logging |
| KT2_ResourceOrigin |
Defines the author of the resource |
| KT2_TraceId |
The ID of the workflow. The traceId is intended to track a log entry across multiple logs. |
These define sets of codes used by systems conforming to this implementation guide.
| Endpoint connection type ValueSet |
Endpoint connection type ValueSet |
| Koppeltaal Definition Topic |
High-level categorization of the definition, used for indicating special patient initialised activities |
| Koppeltaal Delete Hold Reason |
ValueSet for Task.statusReason on the KT2_DeletePendingTask (the emergency-brake reason) |
| Koppeltaal Delete Pending Task Status |
ValueSet for Task.status on the KT2_DeletePendingTask. The deletion announcement only moves through these five of the twelve R4 task statuses; the Koppeltaal service validates every transition between them. |
| Koppeltaal Expansion |
Optional expansions for Koppeltaal activities |
| Koppeltaal Practitioner Role ValueSet |
ValueSet voor Practitioner rollen binnen een CareTeam. Breidt de ZorgverlenerRolCodelijst uit met SNOMED CT codes voor Koppeltaal autorisatierollen. Zie Practitioner autorisaties. De SNOMED codes zijn gereviewd door Nictiz. |
| Koppeltaal RelatedPerson Role ValueSet |
ValueSet voor RelatedPerson relaties binnen een CareTeam. Bevat SNOMED CT codes die de autorisaties bepalen voor naasten van de pati??nt. Zie RelatedPerson autorisaties. De SNOMED codes zijn gereviewd door Nictiz. |
| Koppeltaal Task Code |
ValueSet for Task.code |
| Koppeltaal Usage Context Type |
Usage context type values for Koppeltaal ActivityDefinitions - uses standard FHIR usage context types |
| audit-event-type ValueSet |
ValueSet defining the allowed eventtypes for Koppeltaal |
These define new code systems used by systems conforming to this implementation guide.
| COD472-VEKT Soort relatie cli??nt |
COD472-VEKT Soort relatie cli??nt — uitsluitend bedoeld voor testdoeleinden!!! Dit is geen volledige lijst noch een door Vektis goedgekeurd uittreksel. Deze lijst is uitsluitend bedoeld voor testen binnen Koppeltaal. |
| Koppeltaal Definition Topic |
High-level categorization of the definition, used for indicating special patient initialised activities |
| Koppeltaal Delete Hold Reason |
Reasons a target application can give when it pauses the deletion of patient data by setting its KT2_DeletePendingTask to |
| Koppeltaal Endpoint Connection Type |
Type of endpoint connection as used in Koppeltaal |
| Koppeltaal Expansion |
Optional expansions for Koppeltaal activities |
| Koppeltaal Security Label |
Server-owned security labels ( |
| Koppeltaal Task Code |
Type of Task.code specifically used in Koppeltaal |
| Koppeltaal Usage Context Type |
Usage context type codes for Koppeltaal ActivityDefinitions, extending standard FHIR usage context types |
These define identifier and/or code system identities used by systems conforming to this implementation guide.
| koppeltaal-client-id |
Identifier system of the Devices as used within Koppeltaal |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
| Mindfulness exercise for adults |
Example of an ActivityDefinition using standard FHIR useContext values (age and gender) |
| Piekermoment (md) |
Example of an ActivityDefinition that defines the use of a journal |
| Routine outcome monitoring |
Vragenlijst ROM |
| Routine outcome monitoring |
Example of an ActivityDefinition that defines a questionnaire |
| audit-event-with-outcome-4 |
Auditevent with OperationOutcome |
| auditEvent-fout-006 |
Example of an AuditEvent with an OperationOutcome indicating an error in the update |
| auditevent-application-login |
Example of an Application User Authentication AuditEvent: the application authenticates the user outside the Koppeltaal authentication chain (subtype DCM#110126 Node Authentication), created by the application itself |
| auditevent-create-patient |
Example of an AuditEvent about creating a Patient |
| auditevent-delete-patient |
Example of an AuditEvent about deleting a patient |
| auditevent-error-invalid-subscription |
Auditevent with error about invalid subscription |
| auditevent-launch-application |
Example of AuditEvent on application launch |
| auditevent-launch-example |
Example of AuditEvent on user authentication |
| auditevent-login-authorize |
Example of a User Authentication AuditEvent for a launch via SMART App Launch: the /authorize call (outcomeDesc prefix 'authorize') |
| auditevent-login-idp-call |
Example of a User Authentication AuditEvent for the optional step from /authorize where the user is redirected to the external IdP (outcomeDesc prefix 'idp call') |
| auditevent-login-idp-login |
Example of a User Authentication AuditEvent for the redirect back from the external IdP with the IdP decision: outcome 0 for success, outcome 8 for a denied login (outcomeDesc prefix 'idp login') |
| auditevent-login-introspect |
Example of a User Authentication AuditEvent for a launch via HTI: introspection of the HTI launch token (outcomeDesc prefix 'introspect') |
| auditevent-opschoning-archive |
Example of an aggregated deletion lifecycle AuditEvent: the Koppeltaal service announces the deletion by creating the delete-pending Task(s); the grace period starts (ISO 21089 type 'archive', action C) |
| auditevent-opschoning-destroy |
Example of an aggregated deletion lifecycle AuditEvent: the definitive deletion has been executed (ISO 21089 type 'destroy', action D). This event survives the erase, contains no PII ??? only the technical Patient reference ??? and carries the post-delete signal to which applications can subscribe |
| auditevent-opschoning-grace-reset |
Example of an aggregated deletion lifecycle AuditEvent: a hold was still present when the grace deadline passed, so the Koppeltaal service clears all holds and restarts the grace period with a new deadline (ISO 21089 type 'archive', action U ??? action C marks the initial announcement) |
| auditevent-opschoning-hold |
Example of an aggregated deletion lifecycle AuditEvent: the first application pulls the emergency brake (its Task goes to 'on-hold'), so the aggregated process state becomes blocked (ISO 21089 type 'hold', action U). A second hold does not produce another event. The per-application reason lives on the Task ('Task.statusReason'), not in this aggregated event |
| auditevent-opschoning-reactivate |
Example of an aggregated deletion lifecycle AuditEvent: the deletion is aborted because of renewed patient engagement; the delete-pending Task(s) go to 'cancelled' and the retention period restarts (ISO 21089 type 'reactivate', action U). This is the alternative ending of the process, instead of 'destroy' |
| auditevent-opschoning-unhold |
Example of an aggregated deletion lifecycle AuditEvent: the last emergency brake is released while the process still continues to the grace deadline ??? not all Tasks are 'accepted' (ISO 21089 type 'unhold', action U). If that same release completes the process (all Tasks 'accepted'), a 'destroy' follows directly instead of an 'unhold' |
| auditevent-with-outcome-4 |
Example of AuditEvent with create Operation resulting in outcome code 4 |
| autorisatieserver |
Example of Device indicating an authorisation server |
| ba33314a-795a-4777-bef8-e6611f6be645 |
Example of a Device |
| careteam-alle-practitioner-rollen |
Example of CareTeam demonstrating all Koppeltaal Practitioner authorization roles |
| careteam-alle-relatedperson-rollen |
Example of CareTeam demonstrating all Koppeltaal RelatedPerson authorization roles |
| careteam-behandelaar |
Example of CareTeam with a Practitioner in the 'behandelaar' authorization role |
| careteam-deelnemers |
Example of CareTeam with multiple participants |
| careteam-mantelzorger |
Example of CareTeam with a RelatedPerson in the 'mantelzorger' authorization role |
| careteam-minimaal |
Example of bare minimum of CareTeam |
| careteam-related-person |
Example of CareTeam that has a RelatedPerson as one of the participants |
| careteam-wettelijk-vertegenwoordiger |
Example of CareTeam with a RelatedPerson as 'wettelijk vertegenwoordiger' (legal representative) |
| device-externe-idp |
Example of a Device representing an external identity provider (IdP) |
| device-koppeltaalvoorziening |
Example of a Device representing the Koppeltaal service (Koppeltaalvoorziening), producer of server-owned resources such as the deletion lifecycle AuditEvents |
| device-volledig |
Example of a Device with all elements populated |
| endpoint123 |
Example of an Endpoint as used in Koppeltaal |
| nl-core-TreatmentDirective2-01-RelatedPerson-01 |
Nictiz Example of RelatedPerson only to test validation |
| organization-afdeling |
Example of an Organization department |
| organization-minimaal |
Bare minimum definition of an Organization |
| organization-naam-type |
Example of an Organization with a name and type |
| patient-botje-minimaal |
Bare minimum of Patient elements populated |
| patient-managingOrganization-telefoonnummer |
Example of a Patient with a telephone number and managing organization |
| patient-met-resource-origin |
Example of Patient with resource origin extension populated |
| patient-volledig-adres |
Example of Patient with full address |
| patient-volledige-naam-bsn |
Example of Patient with full name and address |
| patient-volledige-naam-vrouw |
Example of Patient with full name and maiden name |
| patient-volledigenaam |
Example of Patient with name and initials |
| practitioner-minimaal |
Example of Practitioner |
| practitioner-volledig |
Example of Practitioner with all elements populated |
| relatedperson-contactperson |
The RelatedPerson is the contact person |
| relatedperson-example |
RelatedPerson example |
| relatedperson-full |
RelatedPerson multiple relationships |
| relatedperson-maximaal |
RelatedPerson with as much elements filled in as possible |
| relatedperson-minimal |
Example of a RelatedPerson (neighbour) 2 |
| relatedperson-multiple-codes |
RelatedPerson with multiple codes for relationship |
| relatedperson-neighbour |
Example of a RelatedPerson (neighbour) |
| relatedperson-nictiz-example |
Nictiz Example of RelatedPerson only to test validation |
| subscription-123 |
Example of a subscription |
| task-delete-pending |
Example of a delete-pending Task announcing that a patient's data is scheduled for definitive deletion. The grace deadline (30 days after the announcement) is recorded in restriction.period.end and is managed by the server. |
| task-delete-pending-on-hold |
Example of a delete-pending Task on which the target application has pulled the emergency brake. The coded statusReason states why the deletion is paused; it comes from a closed list and |
| task-in-progress |
Example of a task in progress |
| task-met-overkoepelende-task |
Example of a sub task, part of another task |
| task-met-view-code |
Task with view code set |
| task-minimaal |
Example of a Task |
| task-overkoepelend |
Example of an overarching task |