RIVO-Noord Zorgviewer Implementation Guide
1.9.0 - CI build Netherlands flag

RIVO-Noord Zorgviewer Implementation Guide, published by RIVO-NN HL7NL. This guide is not an authorized publication; it is the continuous build for version 1.9.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/RIVO-Noord/zorgviewer-ig/ and changes regularly. 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. Dit is de startpagina voor het bouwteam.

Bouwblokken

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»ZorgverlenerDirectory «ZorgviewerHost»Hyperspace «Authenticatie»Epic Auth «Bronsysteemontsluiting»IRIS of Rhapsody «Bronsysteem& Logging»Epic «Zorgviewer Host& Logging& Bronsysteem»HiX of VIPLive «Authenticatie»Zorgplatform ofVIPLive Auth «Bronsysteemontsluiting»Zorgplatformof 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 Patientbanner Weergavegegevens Sorteren Conflictenattenderen Ontdubbelengegevens Filtering obvBehandelplan OpstartZorgviewer Steltidentity vast Controlebehandelrelatie Patientselectie Zorgverlenergegevens Zorgverlenerrollen Behandelplannenadhv diagnose Relevante gegevensadhv zorgpad Relevante gegevensadhv rol Toegestanebronsystemen patient Bronsystemenendpoints

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 zorgaanbiederZorgverlenerZorgviewer HostAuthenticatieZorgviewer1start EPD2inloggen met lokale identiteit3selecteer patient4start Zorgviewer5start met context dmv SMART-on-FHIRhttps://app-tst.zorgviewer.nl/application/launch6SMART-on-FHIR handshakeUit 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>"... }7opvragen gebruiker gegevens<zorgviewer-host-base>/Practitioner/<practitioner_fhir_id>8Practitioner9opvragen gebruiker rollen<zorgviewer-host-base>/PractitionerRole?practitioner=<practitioner_fhir_id>10PractitionerRoleopt:ConceptMapgebruiken voor PractitionerRole.codesubject_role zit in Practitioner.code[system=SNOMED CT]subject_organization_id zit in Practitioner.meta[extension=source]11toon gebruiker gegevens12opvragen patient gegevens<zorgviewer-host-base>/Patient/<patient_fhir_id>13Patient(onder andere BSN voor verdere raadplegingen)14toon patient gegevens15ga 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

Opstarten zorgviewer: Chipsoft HiX/Zorgplatform

Eerst opstarten Zorgviewer Host, inloggen en patiënt selectie en vervolgens opstarten van de Zorgviewer.

Van toepassing zijnde standaarden en documentatie:

Eigen zorgaanbiederHiX / ZorgplatformZorgverlenerZorgviewer HostAuthenticatieZorgviewer1start EPD2inloggen met lokale identiteit3selecteer patient4start Zorgviewer5start met context6SAML handshakeAttributen1.BSN -> resource-id2.Role -> role... zie tabel7toon gebruiker gegevens8toon patient gegevens9ga 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 zorgaanbiederVIPLiveZorgverlenerZorgviewer HostAuthenticatieZorgviewer1start EPD2inloggen met lokale identiteit3selecteer patient4start Zorgviewer5start met context6SAML handshakeSAML Attributes1.subject:role2.subject:organization-id... zie tabel7toon gebruiker gegevens8toon patient gegevens9ga 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

ZorgverlenerZorgviewerAdressering1vervolg opstarten zorgviewer2Organizations opvragen<adressering-base>/OrganizationAlle geregistreerde Organizations3Bundle metOrganizationloop[voor iedere organisatie]4Endpoints opvragen adhv Organization<adressering-base>/Endpoint?organization=Organization/<Organization.name>Endpoint opvragen bij Organization5Bundle metEndpoint

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
ZorgverlenerZorgviewer~MITZ UitwisselsysteemToestemming~MITZAdressering1vervolg opstarten zorgviewer2Opvragen ontvankelijke zorgaanbieders (Open autorisatievraag adhv BSN)<toestemming-base>/Consent?patient:Patient.identifier=<BSN>Afhankelijk van toestemming van patientvoor "delen met de zorgverlener".3Lijst ontvankelijke zorgaanbieders (Organization)Bundle metToestemmingConsentloop[voor iedere zorgaanbieder]4Endpoints opvragen adhv Organization<adressering-base>/Endpoint?organization=<Consent.organization.reference>Consent.organization: e.g. UMCGEndpoint opvragen bij Organization5Bundle metEndpoint

Bevragen bronsystemen zorgaanbieders

Van toepassing zijnde standaarden en documentatie:

Andere zorgaanbiederZorgverlenerZorgviewerLoggingBehandelplanBronsysteem ontsluitingAuthenticatieBronsysteem1..vervolg bepalenzorgaanbieders..2log gebeurtenis, zieAuditEvent3Bepalen minimale dataset<behandelplan-base>/PlanDefinition?name=BgZ2017Eerst hard-coded "BgZ2017" behandelplan.Later obv (hoofd)diagnose(zorgpad) of rol/specialisme gebruiker.4BehandelplanPlanDefinitionloop[voor iedere zorgaanbieder]5Bronsysteem ontsluiting endpoint6verkrijgpatient_fhir_idadhv BSN<bronsysteem-ontsluiting-base>/Patient?identifier=<BSN>7verkrijgen access tokenzie tabelauth_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" }8Patient request9toestemming controleen log request10Patient resourceopt[als knooppunt voor meerdere bronnen]11Toevoegen bron metadataadhvbronsysteem-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.identifier12Patientloop[gegevensverzoeken]13formuleren gegevensverzoek (request)adhv Behandelplan Data RequirementsPlanDefinition.action[0].output[].typeenPlanDefinition.action[0].output[].codeFilter14gegevensverzoek<bronsysteem-ontsluiting-base>/<resource>?patient=<patient_fhir_id>&<filter>opt[als token verlopen]15verkrijgen access token (zie stap #7)16gegevensverzoek (per zib)17toestemming controlelog request18fhir resources (Bundle) bij de zibopt[als knooppunt voor meerdere bronnen]19Toevoegen bron metadata (zie stap #11)20fhir resources (Bundle) bij de zibTOEKOMST21ontdubbelen en conflicten detectieZorgviewer invulling vanBgZ paragrafen 3.2.9.1 Ontdubbelen en 3.2.9.2 Duplicaatdetectie22toon gegevens23 

Bevragen bronsystemen zorgaanbieders documenten

Van toepassing zijnde standaarden en documentatie:

Andere zorgaanbiederZorgverlenerZorgviewerZorgverlenerDirectoryBronsysteem ontsluitingBronsysteem1vervolg bevragen bronsystemen zorgaanbiedersloop2voor iedere zorgaanbieder (Bronsysteem ontsluiting endpoint)3formuleren documenten gegevensverzoek(request)4gegevensverzoek<bronsysteem-ontsluiting-base>/DocumentReference?patient=<patient_fhir_id>opt[als token verlopen]5verkrijgen access token6gegevensverzoek7toestemming checken log request8fhir resources (DocumentReference Bundle)opt[als knooppunt voor meerdere bronnen]9Toevoegen bron metadata10Bundle metDocumentReferenceTOEKOMST: specialisme bij documenten loop11GET <bronsysteem-ontsluiting-base>/Practitioner/<practitioner_fhir_id>12Practitioner13GET <zorgverlener-directory-base>/PractitionerRole/?identifier=<AGB/BIG>14Bundle metPractitionerRole15samenvoegen16toon documenten lijst17 wacht op gebruikers actie18selecteer document19gegevensverzoek<bronsysteem-ontsluiting-base>/Binary/<binary-id>url komt uit DocumentReference.content.attachement.urlStuurAccept Headerapplication/fhir+xml of application/fhir+jsonopt[als token verlopen]20verkrijgen access token21gegevensverzoek22toestemming checken log request23Binaryopt[als knooppunt voor meerdere bronnen]24Toevoegen bron metadata25Binary26toon document27