diff --git a/input/fsh/examples/admin-directory-org1.fsh b/input/fsh/examples/admin-directory-org1.fsh index e92ca60..ed174df 100644 --- a/input/fsh/examples/admin-directory-org1.fsh +++ b/input/fsh/examples/admin-directory-org1.fsh @@ -47,8 +47,6 @@ Usage: #example Title: "Organization 1 - PractitionerRole Harry Arts" * identifier[+].system = "http://cp1.example.org/HRM/assignments" * identifier[=].value = "654321" -* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" -* identifier[=].value = "UZI-2" * practitioner = Reference(Practitioner/9a63e407-34af-4ae4-ad3c-f7107fbbc0cd) * organization = Reference(Organization/4cb35b96-f021-4e15-bf71-d67a6d4bebec) * code.coding = $uzi-rolcode#01.015 "Huisarts" @@ -61,6 +59,8 @@ Usage: #example Title: "Organization 1 - Practitioner Harry Arts" * identifier[+].system = "http://cp1.example.org/HRM/employees" * identifier[=].value = "5678" +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-2" * name.use = #official * name.text = "Hary Arts" * name.family = "Arts" diff --git a/input/fsh/examples/admin-directory-org2.fsh b/input/fsh/examples/admin-directory-org2.fsh index 83ae17e..f8e7ff8 100644 --- a/input/fsh/examples/admin-directory-org2.fsh +++ b/input/fsh/examples/admin-directory-org2.fsh @@ -161,8 +161,6 @@ Usage: #example Title: "Organization 2 - PractitionerRole Cardioloog Caroline van Dijk at Organization 2" * identifier[+].system = "http://cp2.example.org/HRM/assignments" * identifier[=].value = "123456" -* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" -* identifier[=].value = "UZI-1" * practitioner = Reference(Practitioner/040b160a-6072-4244-adc0-2b786c4ef052) * organization = Reference(Organization/cff921f3-c1c1-4a4c-8f0f-cafd0aa25067) * code.coding = $uzi-rolcode#01.010 "Cardioloog" @@ -178,6 +176,8 @@ Title: "Organization 2 - Practitioner Cardioloog Caroline van Dijk" * meta.profile = "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-Practitioner" * identifier[+].system = "http://cp2.example.org/HRM/employees" * identifier[=].value = "1234" +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-1" * name.use = #official * name.text = "Caroline van Dijk" * name.family = "van Dijk" diff --git a/input/fsh/examples/admin-directory-org3.fsh b/input/fsh/examples/admin-directory-org3.fsh index 702e3a5..2623de7 100644 --- a/input/fsh/examples/admin-directory-org3.fsh +++ b/input/fsh/examples/admin-directory-org3.fsh @@ -104,6 +104,8 @@ InstanceOf: NlGfPractitioner Usage: #example Title: "Organization 3 - Practitioner John Doe" * active = true +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-3" * name.family = "Doe" * name.given = "John" * telecom[0].system = #phone diff --git a/input/fsh/examples/phi-org1.fsh b/input/fsh/examples/phi-org1.fsh index e26c2e2..a61636e 100644 --- a/input/fsh/examples/phi-org1.fsh +++ b/input/fsh/examples/phi-org1.fsh @@ -136,11 +136,6 @@ Title: "CareTeam of Patient Jaantje Merkens" * participant[=].member.identifier.system = "http://fhir.nl/fhir/NamingSystem/ura" * participant[=].member.identifier.value = "22222222" -// * participant[+].period.start = "2024-08-27" -// * participant[=].member = Reference(https://fhir-org3.test.dataverloskunde.nl/fhir/Organization/3e799075-63a2-4a4c-913d-a91b8198463d) -// * participant[=].member.identifier.system = "http://fhir.nl/fhir/NamingSystem/ura" -// * participant[=].member.identifier.value = "33333333" - Instance: phi-org1 diff --git a/input/fsh/examples/phi-org2.fsh b/input/fsh/examples/phi-org2.fsh index 5e487aa..7f5596d 100644 --- a/input/fsh/examples/phi-org2.fsh +++ b/input/fsh/examples/phi-org2.fsh @@ -70,59 +70,6 @@ Title: "MedicationStatement Cisplatine" * dosage[0].doseAndRate[0].doseQuantity.value = 250 * dosage[0].doseAndRate[0].doseQuantity.unit = "mg" -// Instance: org2-report-vascular-medicine -// InstanceOf: DiagnosticReport -// Usage: #inline -// * status = #final -// * basedOn = Reference(https://fhir-org1.test.dataverloskunde.nl/fhir/ServiceRequest/org1-vascular-medicine) -// * code = $sct#371530004 " klinisch consultverslag" -// * code.text = "Negative result, no abnormalities detected" -// * subject = Reference(Patient/27e58ece-409e-44f9-8cc1-b33495a0ef9d) -// * effectiveDateTime = "2025-02-19T10:00:00Z" -// * issued = "2025-02-19T10:05:00Z" -// * conclusionCode.coding = $sct#281900007 "No abnormality detected" -// * conclusion = "No significant findings. The test is negative." - -// Instance: org2-report-neurology -// InstanceOf: DiagnosticReport -// Usage: #inline -// * status = #final -// * basedOn = Reference(https://fhir-org1.test.dataverloskunde.nl/fhir/ServiceRequest/org1-neurology) -// * code = $sct#10241000146105 "verslag van neurologische beoordeling" -// * code.text = "Negative result, no abnormalities detected" -// * subject = Reference(Patient/27e58ece-409e-44f9-8cc1-b33495a0ef9d) -// * effectiveDateTime = "2025-02-19T10:00:00Z" -// * issued = "2025-02-19T10:05:00Z" -// * conclusionCode.coding = $sct#281900007 "No abnormality detected" -// * conclusion = "No significant findings. The test is negative." - - -// Instance: org2-report-orthopedic-specialty -// InstanceOf: DiagnosticReport -// Usage: #inline -// * status = #final -// * basedOn = Reference(https://fhir-org1.test.dataverloskunde.nl/fhir/ServiceRequest/org1-orthopedic-specialty) -// * code = $sct#10301000146102 "hematologieverslag" -// * code.text = "Negative result, no abnormalities detected" -// * subject = Reference(Patient/27e58ece-409e-44f9-8cc1-b33495a0ef9d) -// * effectiveDateTime = "2025-02-19T10:00:00Z" -// * issued = "2025-02-19T10:05:00Z" -// * conclusionCode.coding = $sct#281900007 "No abnormality detected" -// * conclusion = "No significant findings. The test is negative." - -// Instance: org2-report-internal-medicine -// InstanceOf: DiagnosticReport -// Usage: #inline -// * status = #final -// * basedOn = Reference(https://fhir-org1.test.dataverloskunde.nl/fhir/ServiceRequest/org1-internal-medicine) -// * code = $sct#10301000146102 "hematologieverslag" -// * code.text = "Negative result, no abnormalities detected" -// * subject = Reference(Patient/27e58ece-409e-44f9-8cc1-b33495a0ef9d) -// * effectiveDateTime = "2025-02-19T10:00:00Z" -// * issued = "2025-02-19T10:05:00Z" -// * conclusionCode.coding = $sct#281900007 "No abnormality detected" -// * conclusion = "No significant findings. The test is negative." - //4jr geleden: Vermindering energie en krachtsverlies in benen Instance: 5a7f34e7-9b7b-4e5c-ba7c-890edbc4d757 @@ -157,9 +104,5 @@ Description: "This bundle contains all personal health information for Patient J * insert BundleEntryPUT(Condition, 5a7f34e7-9b7b-4e5c-ba7c-890edbc4d757) * insert BundleEntryPUT(Procedure, 6bc0f95c-f281-475e-a279-4ed6beb59024) * insert BundleEntryPUT(MedicationRequest, 8c2d4009-4322-4d4a-8e29-3e70cd67d286) -// * insert BundleEntryPUT(DiagnosticReport, org2-report-vascular-medicine) -// * insert BundleEntryPUT(DiagnosticReport, org2-report-neurology) -// * insert BundleEntryPUT(DiagnosticReport, org2-report-orthopedic-specialty) -// * insert BundleEntryPUT(DiagnosticReport, org2-report-internal-medicine) * insert BundleEntryPUT(MedicationStatement, e00a59fa-7d7e-422d-8505-ef3e645404e9) * insert BundleEntryPUT(NlGfLocalizationDocumentReference, 52b792ba-11ae-42f3-bcc1-231f333f2317) diff --git a/input/fsh/examples/query-directory.fsh b/input/fsh/examples/query-directory.fsh index 14ade17..07d1468 100644 --- a/input/fsh/examples/query-directory.fsh +++ b/input/fsh/examples/query-directory.fsh @@ -181,8 +181,6 @@ Usage: #inline * meta.source = "https://cp1-test.example.org/fhirr4/PractitionerRole/5fa4c91a-a12f-48ae-a4c7-92971dc7ab53" * identifier[+].system = "http://cp1.example.org/HRM/assignments" * identifier[=].value = "654321" -* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" -* identifier[=].value = "UZI-2" * practitioner = Reference(Practitioner/ad1-p1) * organization = Reference(Organization/ad1-o1) * code.coding = $uzi-rolcode#01.015 "Huisarts" @@ -195,6 +193,8 @@ Usage: #inline * meta.source = "https://cp1-test.example.org/fhirr4/Practitioner/9a63e407-34af-4ae4-ad3c-f7107fbbc0cd" * identifier[+].system = "http://cp1.example.org/HRM/employees" * identifier[=].value = "5678" +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-2" * name.use = #official * name.text = "Hary Arts" * name.family = "Arts" @@ -366,8 +366,6 @@ Usage: #inline * meta.source = "https://cp2-test.example.org/fhirr4/PractitionerRole/f051d3bd-26ff-4030-a5b6-fc4ef2be83ba" * identifier[+].system = "http://cp2.example.org/HRM/assignments" * identifier[=].value = "123456" -* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" -* identifier[=].value = "UZI-1" * practitioner = Reference(Practitioner/ad2-p1) * organization = Reference(Organization/ad2-o1) * code.coding = $uzi-rolcode#01.010 "Cardioloog" @@ -382,6 +380,8 @@ Usage: #inline * meta.source = "https://cp2-test.example.org/fhirr4/Practitioner/040b160a-6072-4244-adc0-2b786c4ef052" * identifier[+].system = "http://cp2.example.org/HRM/employees" * identifier[=].value = "1234" +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-1" * name.use = #official * name.text = "Caroline van Dijk" * name.family = "van Dijk" @@ -495,6 +495,8 @@ InstanceOf: NlGfPractitioner Usage: #inline * meta.source = "https://cp3-test.example.org/fhirr4/Practitioner/08630c28-5e2a-4b0c-b8ce-f08f533246b9" * active = true +* identifier[+].system = "http://fhir.nl/fhir/NamingSystem/uzi" +* identifier[=].value = "UZI-3" * name.family = "Doe" * name.given = "John" * telecom[0].system = #phone diff --git a/input/images-source/care-services-use-case-1.plantuml b/input/images-source/care-services-use-case-1.plantuml index ed75d21..6c7721b 100644 --- a/input/images-source/care-services-use-case-1.plantuml +++ b/input/images-source/care-services-use-case-1.plantuml @@ -18,10 +18,12 @@ Doctor -> Doctor: diagnosis = torn ACL activate EHR Doctor -> EHR: use EHR's custom query tool \nsearch for orthopedic services, \nwithin 30km of Vera's home activate CSD -EHR-> CSD: Find Matching Care Services request -CSD -> EHR: Find Matching Care Services response\ncontaining HealthcareServices list +EHR-> CSD: Find Matching Care Services request\n GET [base]/HealthcareService?\ntype=consultation\n&specialty=orthopedics +CSD -> EHR: response +EHR-> CSD: Get (parent) Organizations and Locations for HealthcareServices\n GET /Organization/[id], GET /Location/[id], etc +CSD -> EHR: response +EHR -> EHR: Filter results on distance to Vera's home deactivate CSD -EHR -> EHR: Resolve References EHR -> Doctor : Review results\nwith office address, hours of operation Doctor -> Patient: Review and discuss options deactivate Patient diff --git a/input/images-source/care-services-use-case-2.plantuml b/input/images-source/care-services-use-case-2.plantuml index 59cdeb3..88431f6 100644 --- a/input/images-source/care-services-use-case-2.plantuml +++ b/input/images-source/care-services-use-case-2.plantuml @@ -18,12 +18,12 @@ group create referral Doctor -> EHR: create referral for Dr. East\n for Orthopedic department\n at Hospital East end activate CSD -EHR -> CSD: Find HealthcareService of Orthopedic department\n including Endpoints +EHR -> CSD: Find HealthcareService of Orthopedic department\n including Endpoints\n GET /HealthcareService/[id], GET /Endpoint/[id] EHR -> EHR: Check Endpoints for 'Transfer of care' support -EHR -> CSD: If no endpoint found: find Organization of HealthcareService\n including Endpoint +EHR -> CSD: If no endpoint found: find Organization of HealthcareService\n including Endpoint\n GET /Organization/[id]?_include=Organization:endpoint EHR -> EHR: Check Endpoints for 'Transfer of care' support loop If no endpoint found and\nOrganization is part of parent Organization - EHR -> CSD: Find parent Organization of Organization\n including Endpoints + EHR -> CSD: Find parent Organization of Organization\n including Endpoints\n GET /Organization/[id]?_include=Organization:endpoint EHR -> EHR: Check Endpoints for 'Transfer of care' support end deactivate CSD diff --git a/input/images/careservices-datamodel.png b/input/images/careservices-datamodel.png index 9b9122e..aecd435 100644 Binary files a/input/images/careservices-datamodel.png and b/input/images/careservices-datamodel.png differ diff --git a/input/images/careservices-overview-transactions.png b/input/images/careservices-overview-transactions.png index 867b78f..5bbbd68 100644 Binary files a/input/images/careservices-overview-transactions.png and b/input/images/careservices-overview-transactions.png differ diff --git a/input/pagecontent/care-services.md b/input/pagecontent/care-services.md index 58628e6..da61a58 100644 --- a/input/pagecontent/care-services.md +++ b/input/pagecontent/care-services.md @@ -1,8 +1,6 @@ ### Introduction -This FHIR Implementation Guide specifies the Generic Function Addressing (GFA), a national initiative led by the Dutch Ministry of Health, Welfare and Sport (VWS). GFA aims to establish a standardized, interoperable system for discovering and sharing current (digital) addresses of healthcare providers, enabling reliable and efficient exchange of health data across systems. - -In today’s healthcare landscape, organizations rely on both physical and digital addresses for communication and data exchange. However, digital addressing information is often inconsistent, out-of-date, or unavailable, hindering interoperability and timely access to health information. GFA addresses this challenge by providing a unified framework that ensures all current, valid addresses for data exchange are easily accessible and traceable to authoritative sources. +This FHIR Implementation Guide specifies the technical components of the Generic Function Addressing (GFA), a national initiative led by the Dutch Ministry of Health, Welfare and Sport (VWS). GFA aims to establish a standardized, interoperable system for discovering and sharing current (digital) addresses of healthcare providers, enabling reliable and efficient exchange of health data across healthcare systems and organizations. This guide outlines the technical requirements and architectural principles underlying GFA, with a focus on trust, authenticity, and data integrity. Key design principles include: @@ -20,11 +18,13 @@ GFA follows the IHE [mCSD profile](https://profiles.ihe.net/ITI/mCSD/index.html) - using a combination of 'NL-core' and 'IHE mCSD' for the FHIR-profiles in this IG. - using the Landelijke Register Zorgaanbieders (LRZa) as the source/master-list of all other sources. +Unlike in the IHE mCSD specification, + Here is a brief overview of the processes that are involved: -1. Every care provider registers its addressable entities in an 'Administration Directory.' +1. Every care provider registers its addressable entities in an 'Administration Directory'. This IG distinguishes the actor ['***Administration*** Directory'](#administration-directory) and the ['***Query*** Directory'](#query-directory); in the IHE mCSD specification, these are both called a 'Directory'. 1. Every care provider registers the endpoint (URL) of its 'Administration Directory' at the LRZa registry (also an 'Administration Directory'). 1. An 'Update Client' uses the LRZa ([GF-Adressering, ADR-7](https://github.com/minvws/generiekefuncties-adressering/issues/155)) and the care provider Administration Directories to consolidate all data into a 'Query Directory.' -1. A practitioner and/or system (EHR) can now use the Query Directory to search for a healthcare service, organization, department, location, endpoint, or practitioner. +1. A practitioner and/or system (EHR) can now use the Query Directory to search for resources defined within mCSD (for example: a practitioner searching for a healthcare service or a system searching for a specific endpoint) Overview of transactions in the Care Services Addressing solution. @@ -65,8 +65,8 @@ Besides using the 'history-type' operation, the Update Client should be able to During consolidation, multiple Administration Directories may have overlapping or conflicting entities. An Update Client MUST only use data from authoritative data sources ([GF-Adressering, ADR#186](https://github.com/minvws/generiekefuncties-adressering/issues/186)) and MUST obey these guidelines: -- The LRZa Administration Directory is authoritative for Organization instances with `identifier` of system `http://fhir.nl/fhir/NamingSystem/ura` (URA), its `name` and `status`. When the healthcare provider's Administration Directory also provides a `name` or `status` value (for an Organization-instance with a URA-identifier), these values should be ignored. Other elements from the healthcare provider's Administration Directory should be added. This way, a healthcare provider can add an `alias` or `endpoint` using it's own Administration Directory. -- The LRZa Administration Directory contains a list of healthcare providers (identified by a URA) and the healthcare provider's Administration Directory endpoint (URL). An Administration Directory is only authoritative for the healthcare providers that registered this Administration Directory endpoint (URL) at the LRZa. Information about other healthcare providers MUST be disregarded. +- The LRZa Administration Directory is authoritative for Organization instances with `identifier` of system `http://fhir.nl/fhir/NamingSystem/ura` (URA) and its `name`. When the healthcare provider's Administration Directory also provides a `name` value (for an Organization-instance with a URA-identifier), these values should be ignored. Other elements from the healthcare provider's Administration Directory should be added. This way, a healthcare provider can add an `alias` or `endpoint` using it's own Administration Directory. +- The LRZa Administration Directory contains a list of Organization resources (identified by a URA) and Endpoint resources referencing the Administration Directory endpoint (URL). An Administration Directory is only authoritative for the healthcare providers that registered this Administration Directory endpoint (URL) at the LRZa. Information about other healthcare providers MUST be disregarded. For example, if the LRZa Administration Directory has 20.000 Organization-records, of which 2 Organizations (identified by 'URA-1' and 'URA-2') use the same Administration Directory endpoint ('https://admindirectory.example.com/'). This Endpoint MAY contain other resources (e.g. Organization/Location/HealthcareService-records), not authored by URA-1 and URA-2. These other resources MUST be disregarded by update clients as this Administration Directory is not the authoritative source. - All HealthcareServices, Locations, PractitionerRoles and Organization-entities of a single healthcare provider MUST (indirectly) link to a top-level Organization-instance with a URA-identifier: - All HealthcareService, Location, PractitionerRole entities MUST be directly linked to an Organization-instance (could be 'sub-Organization' like a department). - All Organization-instances MUST either link to a parent-Organization or have a URA-identifier (being a top-level Organization instance) @@ -87,7 +87,10 @@ The Query Client is used to search and retrieve information from the Query Direc ### Data models -Within GF Addressing, profiles are used to validate data. They are based on both mCSD-profiles and NL-profiles ([GF-Adressering, ADR#188](https://github.com/minvws/generiekefuncties-adressering/issues/188)). Ideally, these profiles are merged in NL-profiles in the future. +Within GF Addressing, profiles are used to validate data. They are based on both mCSD-profiles and nl-core-profiles (TODO: use Nictiz nl-core package as soon as dependency-bug is fixed)([GF-Adressering, ADR#188](https://github.com/minvws/generiekefuncties-adressering/issues/188)). Ideally, these profiles are merged in the nl-core-profiles in the future. +An overview of the *most common* elements and relations between data models: + + A brief description of the data models and their profile for this guide: @@ -96,14 +99,14 @@ Organizations are “umbrella” entities; these may be considered the administr The [NL-GF-Organization profile](./StructureDefinition-nl-gf-organization.html) contains no extra constraints on top of mCSD & NL profiles. #### Endpoint -An Organization may be reachable for electronic data exchange through electronic Endpoint(s). An Endpoint may be a FHIR server, an DICOM web services, or some other mechanism. If an Organization does not have an Endpoint, it may still be reachable via an Endpoint at its parent Organization or an affiliated Organization. +An Organization may be reachable for electronic data exchange through electronic Endpoint(s). An Endpoint may be a FHIR server, an DICOM web services, or some other mechanism. If an Organization does not have an Endpoint, it may still be reachable via an Endpoint at its parent Organization. -The [NL-GF-Endpoints profile](./StructureDefinition-nl-gf-endpoint.html) has an extra value set constraint on `.payloadType` ([GF-Adressering, ADR-8](https://github.com/minvws/generiekefuncties-adressering/issues/156)) and an additional extension `replacedBy`. This can be used to point to a new endpoint if the old one has changed. +The [NL-GF-Endpoints profile](./StructureDefinition-nl-gf-endpoint.html) has an extra value set constraint on `.payloadType` ([GF-Adressering, ADR-8](https://github.com/minvws/generiekefuncties-adressering/issues/156)). > ##### Changing endpoints and the continued integrity of references > Healthcare records (e.g. conditions, observations, or procedures) will contain links (references) to addressable entities. Some entities may be referenced by an *identifier* (e.g. a URA or DEZI-number), but most references will use either a local *ID* (e.g. Patient/880e50a3) or URL (https://somecareprovider.nl/fhirR4/Patient/880e50a3). The (local) IDs and (remote) URLs are definitive and widely supported in the FHIR ecosystem. Identifiers may be harder to resolve, may expose sensitive data (like a Citizen number; Dutch BSN) and can be ambiguous (multiple instances carrying the same identifier). -IDs and URLs are easy in use and (should be) resolvable, but they may break over time which leads to broken references and unresolvable medical records. Try to use endpoints that can remain stable for long periods (5-10 years) and use universally unique IDs (UUIDs) in stead of e.g. incrementing numeric values. If the Endpoint.address (the base part of URLs) must be changed, use the `status` and `replacedBy` extension to properly redirect and fix broken links, ensuring continued integrity of references. Don't delete Endpoint-instances. +IDs and URLs are easy in use and (should be) resolvable, but they may break over time which leads to broken references and unresolvable medical records. Try to use endpoints that can remain stable for long periods (5-10 years) and use universally unique IDs (UUIDs) instead of e.g. incrementing numeric values. > >For example, care provider 'CP1' uses an EHR from software vendor 'SV1'. This vendor SV1 uses endpoint-URL 'https://sv1/fhirR4' for every customer (care provider). Now if CP1 wants to switch to a new vendor, this endpoint-URL may risk lots of broken references in many EHR-systems. A better option would be URL 'https://sv1/**cp1**/fhirR4' where a change can be applied to all references in a system OR URL 'https://cp1/fhirR4' that may prevent a change altogether (until FHIR R4 is outdated...). @@ -117,8 +120,8 @@ The [NL-GF-Location profile](./StructureDefinition-nl-gf-location.html) has no e #### PractitionerRole -PractitionerRole resources are used to define the specific roles, specialties, and responsibilities that a Practitioner holds within an Organization. PractitionerRole enables precise modeling of relationships between practitioners and organizations, supporting scenarios like assigning practitioners to departments, specifying their roles (e.g., surgeon, nurse), and linking them to particular healthcare services or locations. A PractitionerRole may have contact details for phone, mail, or direct messaging. The information in a PractitionerRole-instance is equivalent to the info on a Dutch 'UZI-pas'. -The [NL-GF-PractitionerRole profile](./StructureDefinition-nl-gf-practitionerrole.html): no extra constraints on top of mCSD & NL profiles. +PractitionerRole resources are used to define the specific roles, specialties, and responsibilities that a Practitioner holds within an Organization. PractitionerRole enables precise modeling of relationships between practitioners and organizations, supporting scenarios like assigning practitioners to departments, specifying their roles (e.g., surgeon, nurse), and linking them to particular healthcare services or locations. A PractitionerRole may have contact details for phone, mail, or direct messaging. +The [NL-GF-PractitionerRole profile](./StructureDefinition-nl-gf-practitionerrole.html): no extra constraints on top of mCSD & nl-core profiles. #### Practitioner @@ -133,9 +136,7 @@ The [NL-GF-Practitioner profile](./StructureDefinition-nl-gf-practitioner.html): OrganizationAffiliation resources are used to represent relationships between organizations, such as a software vendor managing the Endpoint that is used by a care provider. It could also be used the represent multiple care providers working together under some agreement (e.g. in a region). The [NL-GF-OrganizationAffiliation profile](./StructureDefinition-nl-gf-organizationaffiliation.html) has no extra constraints on top of mCSD & NL profiles. -An overview of the *most common* elements and relations between data models: - ### Security @@ -176,7 +177,7 @@ Currently, two types of Administration Directories are supported; LRZa as 'Root - [BIG-register](https://www.bigregister.nl/) is the authoritative source for (a part of the) Physicians/Practitioners and their qualifications. - Medmij has a register (OCL) that lists (qualified) Endpoints for certain data exchanges. Registers like the Medmij-OCL may form the authoritative source for element Endpoint.payloadType. -These types of Administration Directories should be supported in the near future. +These sources contain valuable information and may be added/integrated in the future. #### Practitioner resource @@ -184,4 +185,4 @@ Practitioner instances may contain private data (e.g. the name of a physician) a #### OrganizationAffiliation resource -The OrganizationAffiliation resource may be added in the future to publish relationships between organizations. ([GF-Adressering, ADR#169](https://github.com/minvws/generiekefuncties-adressering/issues/169)) \ No newline at end of file +The OrganizationAffiliation resource may be added in the future to publish relationships between organizations. ([GF-Adressering, ADR#169](https://github.com/minvws/generiekefuncties-adressering/issues/169))