RIVO-Noord Zorgviewer Implementation Guide - Local Development build (v1.14.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Design
Deze pagina beschrijft de interacties tussen de bouwblokken voor het opstarten van de zorgviewer en het ontsluiten van de bronsystemen.
Bouwblokken
Bouwblokken
Toestemming
Inwoners van onze zorgregio geven op één keer, op één plek zorgverleners toestemming, dat zij hun zorggegevens mogen inzien van andere behandelaren en vanuit andere zorgorganisaties.
Gebruikers Authenticatie
Klopt het dat jij als zorgverlener bent, wie je zegt dat je bent? Werk jij echt bij die zorgorganisatie? Door middel van twee factor authenticatie binnen je eigen informatieomgeving wordt jouw identiteit op twee manieren gecheckt. Met deze authenticatie heb je ook toegang tot de Zorgviewer.
Autorisatie
Welke informatie van patiënten en cliënten is voor mij als zorgverlener beschikbaar? Mag je als apotheker bijvoorbeeld de volledige zorginformatie zien of heb je enkel inzag in labuitslagen en medicatie?N.B. Zorgviewer heeft 1 autorisatie profiel, namelijk alle Zorgverleners die toegang hebben tot de Zorgviewer hebben toegang tot het ontsloten dossier van de patiënt of cliënt als die toestemming heeft gegeven.
Patiëntindex
De patiëntindex maakt inzichtelijk bij welke zorgorganisaties de patiënt of cliënt bekend is. De zorgviewer bevraagt bij het inloggen door een zorgverlener enkel de informatiesystemen van deze zorgorganisaties.
Logging
Wie logt wanneer en waar in? Het geautomatiseerde logboek houdt exact bij welke zorgverlener toegang heeft gevraagd en gekregen tot de zorginformatie van een patiënt of cliënt.
Behandelplan
De stappen die je als patiënt of cliënt doorloopt in het zorgpad. In de zorgviewer zie je een digitale weergave van het -regionaal overeengekomen- zorgpad. Aan de gestructureerde stappen ‘hangen’ informatiecomponenten vast.
Ontsluiting bronsysteem
Elk informatiesysteem communiceert in een eigen taal. Dit technische bouwblok is een koppeling, die ervoor zorgt, dat alle zorginformatie uit de verschillende bronsystemen in de zorgviewer in dezelfde taal beschikbaar is.
Overname TOEKOMST
Is de zorginformatie -beschikbaar in de zorgviewer, afkomstig van een ander bronsysteem- voor jou als zorgverlener relevant, dan kan je deze selecteren en overnemen in de informatieomgeving van jouw zorgorganisatie.
Zorgviewer
Alle bouwblokken samen vormen de zorgviewer. De zorgviewer combineert, ontdubbelt en filtert de informatie op basis van jouw behoefte als zorgverlener. De zorgviewer biedt zorgverleners een 360° beeld van de patiënt of cliënt. Opgebouwd uit alle beschikbare zorginformatie, waarvoor de patiënt of cliënt toestemming heeft gegeven.
Zorgviewer Services
Bouwblokken voor generieke services
Multi-inzetbaar : De bouwblokken zijn niet alleen bruikbaar voor de regionale zorgviewer, maar zijn ook bruikbaar en essentieel voor het delen van diagnostiek, multidisciplinair overleg, monitoring en e-Health en de Persoonlijke Gezondheidsomgeving (PGO).
Bouwblokken samenwerking
In onderstaande schema zie je de groepering en interacties (in globale volgorde) tussen de verschillende bouwblokken.
cloud Epic huis Chipsoft of Topicus huis «future» Zorgviewer Host Los Zorgviewer «future» Behandelplan «future» Toestemming «future» Adressering «future» Zorgverlener Directory «Zorgviewer\nHost» Hyperspace «Authenticatie» Epic Auth «Bronsysteem\nontsluiting» IRIS of Rhapsody «Bronsysteem\n& Logging» Epic «Zorgviewer Host\n& Logging\n& Bronsysteem» HiX of VIPLive «Authenticatie» Zorgplatform of VIPLive Auth «Bronsysteem\nontsluiting» Zorgplatform of VIPLive «Zorgviewer Host» «future» ZV Los «Authenticatie» «future» ZV Los Auth 1. opstart 1. opstart 1. opstart 2. wie? 2. wie? 2. wie? 3a. waar? 3b. waar? 4. filters 5. bevragen 5. bevragen (opt)5b. bevragen
Functionaliteiten
Hierna volgt een schema met functionaliteiten per bouwblok.
Zorgviewer Zorgviewer Host Behandelplan Toestemming & Patientindex Patient banner Weergave gegevens Sorteren Conflicten attenderen Ontdubbelen gegevens Filtering obv Behandelplan Opstart Zorgviewer Stelt identity vast Controle behandelrelatie Patient selectie Zorgverlener gegevens Zorgverlener rollen Behandelplannen adhv diagnose Relevante gegevens adhv zorgpad Relevante gegevens adhv rol Toegestane bronsystemen patient Bronsystemen endpoints
Actors
Scope MVP2 is Epic (UMCG, MCL), Chipsoft (Antonius Sneek, Tjongerschans, Wilhelmina, Martini, Nij Smellinge), en Topicus VIPlive (bij Dokter Drenthe aangesloten partijen).
IHE System Actors
Note: Relatie tussen bouwblokken en definities uit IHE Actors , b.v. de IHE Mobile Profiles IHE_PCC_Suppl_QEDm
Authorization Client, Result Aggregator - Zorgviewer bouwblok
Authorization Server - Authenticatie bouwblok
Provider Information Directory - Zorgverlener Registry bouwblok
Clinical Data Consumer "Raadpleger" - Zorgviewer bouwblok
Clinical Data Source "Beschikbaar steller" - Ontsluiten Bronsysteem bouwblok
Sequence Diagrams
Opstarten zorgviewer: Epic
Eerst opstarten Zorgviewer Host, inloggen en patiënt selectie en vervolgens opstarten van de Zorgviewer.
Van toepassing zijnde standaarden en documentatie :
Eigen zorgaanbieder Zorgviewer Host Zorgviewer Host Zorgviewer Host Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgviewer Host Zorgviewer Host Zorgviewer Host Zorgviewer 1 start EPD 2 inloggen met lokale identiteit 3 selecteer patient 4 start Zorgviewer 5 start met context dmv SMART-on-FHIR https://app-tst.zorgviewer.nl/application/launch 6 SMART-on-FHIR handshake Uit request: zorgviewer-host-base from URL token: { "access_token": "...", "id_token": "<JWT>", "patient": "<patient_fhir_id>", "practitioner": "<practitioner_fhir_id>" ... } access_token decoded: { "sub": "<practitioner_fhir_id>" ... } 7 opvragen gebruiker gegevens <zorgviewer-host-base>/Practitioner/<practitioner_fhir_id> 8 Practitioner 9 opvragen gebruiker rollen <zorgviewer-host-base>/PractitionerRole?practitioner=<practitioner_fhir_id> 10 PractitionerRole opt: ConceptMap gebruiken voor PractitionerRole.code subject_role zit in Practitioner.code[system=SNOMED CT] subject_organization_id zit in Practitioner.meta[extension=source] 11 toon gebruiker gegevens 12 opvragen patient gegevens <zorgviewer-host-base>/Patient/<patient_fhir_id> 13 Patient (onder andere BSN voor verdere raadplegingen) 14 toon patient gegevens 15 ga naar de Bepalen zorgaanbieders sequence
Token Attributes mapping op FHIR tabel :
Scope
Name/Path
Value
FHIR Path
Practitioner FHIR ID
practitioner
ABCD..
Practitioner.id
Patient FHIR ID
patient
WXYZ..
Patient.id
Eerst opstarten Zorgviewer Host, inloggen en patiënt selectie en vervolgens opstarten van de Zorgviewer.
Van toepassing zijnde standaarden en documentatie :
Eigen zorgaanbieder HiX / Zorgplatform Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgviewer 1 start EPD 2 inloggen met lokale identiteit 3 selecteer patient 4 start Zorgviewer 5 start met context 6 SAML handshake Attributen 1. BSN -> resource-id 2. Role -> role ... zie tabel 7 toon gebruiker gegevens 8 toon patient gegevens 9 ga naar de Bepalen zorgaanbieders sequence
SAML Attributes Assertions mapping op FHIR tabel :
Item
Attribute Name/Path
Value
FHIR Path
Workflow ID
http://sts.zorgplatform.online/ws/claims/2017/07/workflow/workflow-id
a84f5229-c804-4627-8b80-489ae3ed6a51
nvt
Practitioner ID
Subject/NameID
larts@2.16.528.1.1007.3.3.15123
Practitioner.identifier
Practitioner Role
urn:oasis:names:tc:xacml:2.0:subject:role
SNOMED CT 62247001 huisarts
PractitionerRole.code[system=sct]
Patient BSN
urn:oasis:names:tc:xacml:1.0:resource:resource-id
999911120
Patient.identifier[system=bsn]
Opstarten zorgviewer: VIPlive
Van toepassing zijnde standaarden en documentatie :
Eigen zorgaanbieder VIPLive Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgverlener Zorgviewer Host Authenticatie Zorgviewer Zorgviewer 1 start EPD 2 inloggen met lokale identiteit 3 selecteer patient 4 start Zorgviewer 5 start met context 6 SAML handshake SAML Attributes 1. subject:role 2. subject:organization-id ... zie tabel 7 toon gebruiker gegevens 8 toon patient gegevens 9 ga naar de Bepalen zorgaanbieders sequence
SAML Attributes Assertions op FHIR mapping tabel :
Item
Attribute Name/Path
Value
FHIR Path
Organization OID
urn:oasis:names:tc:xspa:1.0:subject:organization-id
2.16.840.1.113883.2.4.3.164.2.1.2
Organization.identifier
Practitioner ID
Subject/NameID
177578
Practitioner.identifier
Practitioner Role
urn:oasis:names:tc:xacml:2.0:subject:role
<Role code="62247001" codeSystem="2.16.840.1.113883.6.96" codeSystemName="SNOMED_CT" displayName="huisarts" xmlns="urn:hl7-org:v3"/>
PractitionerRole.code[system=sct]
Practitioner Name
professional.initials
L.
Practitioner.name.given[extension=IN]
Practitioner Name
professional.family_name
Arts
Practitioner.name.family
Patient Name
client.initials
J.
Patient.name.given[extension=IN]
Patient Name
client.family_name
Fictief
Patient.name.family
Patient Birthdate
client.birthdate
19700101
Patient.birthDate
Patient BSN
client.bsn
999911120
Patient.identifier[system=bsn]
Bepalen zorgaanbieders
Bepalen zorgaanbieders en endpoints zonder toestemming check
Zorgviewer Adressering Adressering Zorgverlener Zorgviewer Adressering Zorgverlener Zorgviewer Adressering Zorgviewer Adressering Adressering 1 vervolg opstarten zorgviewer 2 Organizations opvragen <adressering-base>/Organization Alle geregistreerde Organizations 3 Bundle met Organization loop [voor iedere organisatie] 4 Endpoints opvragen adhv Organization <adressering-base>/Endpoint?organization=Organization/<Organization.name> Endpoint opvragen bij Organization 5 Bundle met Endpoint
Bepalen zorgaanbieders adhv toestemming
Bepalen zorgaanbieders en endpoints waarvoor toestemming is gegeven door de patiënt.
Met de Zorgviewer MVP2 zullen we een toestemming realiseren volgens de afspraken tussen de RIVO-Noord instellingen. Zie het beleid hier . Deze zal zoveel mogelijk volgens de MITZ specificatie zijn. MITZ zal zich laten inspireren door de Zorgviewer specificaties.
Van toepassing zijnde standaarden en documentatie :
MITZ Open autorisatie vraag gebruikt als lokalisatie vraag
Zorgviewer Toestemming Adressering Zorgverlener Zorgviewer Toestemming Adressering Zorgverlener Zorgviewer ~MITZ Uitwisselsysteem Toestemming ~MITZ Adressering Zorgviewer Toestemming Adressering 1 vervolg opstarten zorgviewer 2 Opvragen ontvankelijke zorgaanbieders (Open autorisatievraag adhv BSN) <toestemming-base>/Consent?patient:Patient.identifier=<BSN> Afhankelijk van toestemming van patient voor "delen met de zorgverlener". 3 Lijst ontvankelijke zorgaanbieders (Organization) Bundle met ToestemmingConsent loop [voor iedere zorgaanbieder] 4 Endpoints opvragen adhv Organization <adressering-base>/Endpoint?organization=<Consent.organization.reference> Consent.organization: e.g. UMCG Endpoint opvragen bij Organization 5 Bundle met Endpoint
Bevragen bronsystemen zorgaanbieders
Van toepassing zijnde standaarden en documentatie :
Andere zorgaanbieder Zorgviewer Zorgviewer Zorgviewer Behandelplan Bronsysteem ontsluiting Bronsysteem ontsluiting Bronsysteem Bronsysteem Zorgverlener Zorgviewer Logging Behandelplan Bronsysteem ontsluiting Authenticatie Bronsysteem Zorgverlener Zorgviewer Logging Behandelplan Bronsysteem ontsluiting Authenticatie Bronsysteem Zorgviewer Zorgviewer Zorgviewer Behandelplan Bronsysteem ontsluiting Bronsysteem ontsluiting Bronsysteem Bronsysteem 1 ..vervolg bepalen zorgaanbieders.. 2 log gebeurtenis, zie AuditEvent 3 Bepalen minimale dataset <behandelplan-base>/PlanDefinition?name=BgZ2017 Eerst hard-coded "BgZ2017" behandelplan. Later obv (hoofd)diagnose(zorgpad) of rol/specialisme gebruiker. 4 Behandelplan PlanDefinition loop [voor iedere zorgaanbieder] 5 Bronsysteem ontsluiting endpoint 6 verkrijg patient_fhir_id adhv BSN <bronsysteem-ontsluiting-base>/Patient?identifier=<BSN> 7 verkrijgen access token zie tabel auth_token bij access token request: { ... "subject_name": "Int Arts", "subject_role": [ { "system": "2.16.840.1.113883.6.96", "code": "309343006", "display": "Arts" } ], (optioneel) "subject_organization": "UMCG", "subject_organization_id": "urn:oid:2.16.840.1.113883.2.4.3.8" } 8 Patient request 9 toestemming controle en log request 10 Patient resource opt [als knooppunt voor meerdere bronnen] 11 Toevoegen bron metadata adhv bronsysteem-zorgaanbieder "meta": { "extension": [ { "url": "http://hl7.org/fhir/4.0/StructureDefinition/extension-Meta.source", "valueUri": "urn:oid:2.16.840.1.113883.2.4.3.8" } ] } - of - via Patient.managingOrganization.identifier 12 Patient loop [gegevensverzoeken] 13 formuleren gegevensverzoek (request) adhv Behandelplan Data Requirements PlanDefinition.action[0].output[].type en PlanDefinition.action[0].output[].codeFilter 14 gegevensverzoek <bronsysteem-ontsluiting-base>/<resource>?patient=<patient_fhir_id>&<filter> opt [als token verlopen] 15 verkrijgen access token (zie stap #7) 16 gegevensverzoek (per zib) 17 toestemming controle log request 18 fhir resources (Bundle) bij de zib opt [als knooppunt voor meerdere bronnen] 19 Toevoegen bron metadata (zie stap #11) 20 fhir resources (Bundle) bij de zib TOEKOMST 21 ontdubbelen en conflicten detectie Zorgviewer invulling van BgZ paragrafen 3.2.9.1 Ontdubbelen en 3.2.9.2 Duplicaatdetectie 22 toon gegevens 23
Bevragen bronsystemen zorgaanbieders documenten
Van toepassing zijnde standaarden en documentatie :
Andere zorgaanbieder Zorgviewer Zorgviewer Zorgviewer Bronsysteem ontsluiting Bronsysteem ontsluiting Bronsysteem Bronsysteem Zorgverlener Zorgverlener Zorgviewer Zorgviewer Zorgverlener Zorgverlener Bronsysteem ontsluiting Bronsysteem ontsluiting Bronsysteem Bronsysteem Zorgverlener Zorgviewer Zorgverlener Directory Bronsysteem ontsluiting Bronsysteem Zorgviewer Zorgviewer Zorgviewer Bronsysteem ontsluiting Bronsysteem ontsluiting Bronsysteem Bronsysteem 1 vervolg bevragen bronsystemen zorgaanbieders loop 2 voor iedere zorgaanbieder ( Bronsysteem ontsluiting endpoint ) 3 formuleren documenten gegevensverzoek(request) 4 gegevensverzoek <bronsysteem-ontsluiting-base>/DocumentReference?patient=<patient_fhir_id> opt [als token verlopen] 5 verkrijgen access token 6 gegevensverzoek 7 toestemming check en log request 8 fhir resources (DocumentReference Bundle) opt [als knooppunt voor meerdere bronnen] 9 Toevoegen bron metadata 10 Bundle met DocumentReference TOEKOMST : specialisme bij documenten loop 11 GET <bronsysteem-ontsluiting-base>/Practitioner/<practitioner_fhir_id> 12 Practitioner 13 GET <zorgverlener-directory-base>/PractitionerRole/?identifier=<AGB/BIG> 14 Bundle met PractitionerRole 15 samenvoegen 16 toon documenten lijst 17 wacht op gebruikers actie 18 selecteer document 19 gegevensverzoek <bronsysteem-ontsluiting-base>/Binary/<binary-id> url komt uit DocumentReference.content.attachement.url Stuur Accept Header application/fhir+xml of application/fhir+json opt [als token verlopen] 20 verkrijgen access token 21 gegevensverzoek 22 toestemming check en log request 23 Binary opt [als knooppunt voor meerdere bronnen] 24 Toevoegen bron metadata 25 Binary 26 toon document 27