Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Samenvatting

Waarom is deze RFC nodig?

A. Onderscheid tussen Register en Catalogus is onwenselijk (en enkele kleine verbeterpunten)

A1. Het huidige onderscheid tussen het Register van Informatiestandaarden en de Catalogus is onnodig en niet goed verklaarbaar. Op dit moment bevat het Register de informatiestandaarden die zijn toegelaten voor gebruik binnen MedMij, en de Catalogus de gegevensdiensten. Beide hebben geen bestaansrecht zonder elkaar: een informatiestandaard zonder gegevensdienst kan niet worden gebruikt, een gegevensdienst zonder informatiestandaard kan niet worden gedefinieerd. Het onderscheid tussen de twee lijsten leidt tot een onnodige beheerlast, tot kans op fouten door inconsistenties, en tot verlaagde toegankelijkheid van de opzet van en verantwoordelijkheden van MedMij.

A2. Het Register bevat enkele concepten die vooral betrekking hebben op het ontwikkel- en toetsingsproces van standaarden, maar geen operationele betekenis hebben binnen MedMij. Dit leidt tot ambiguïteit in de formele status van een informatiestandaard.

A3. Binnen het MedMij Afsprakenstelsel is niet voorzien in een mogelijkheid om aan te geven welke versies van de afsprakenset gebruikt kunnen worden in combinatie met welke Gegevensdienst. De Catalogus bepaalt wel de geldigheidsperiode van een Gegevensdienst, maar in die periode kunnen er op enig moment twee versies van de afsprakenset (de gepubliceerde en de verplichte versie) in operationeel gebruik zijn. Het is denkbaar dat een Gegevensdienst niet compatibel is met beide versies.

B. Catalogus is niet machine-leesbaar

De Catalogus is maar beperkt machineleesbaar en de juistheid wordt ook maar beperkt afgedwongen door de implementatie van het logische model in ODS of HTML. Ook is (facultatief) geautomatiseerd gebruik door belanghebbende partijen daarmee moeilijk.

Oplossingsrichting

Ad A: Catalogus neemt functie van Register over en het concept Gegevensdienst krijgt een nog centralere rol

  1. Het Register van Informatiestandaarden komt te vervallen. De Catalogus blijft het overzicht waarin de binnen MedMij te gebruiken gegevensdiensten zijn gedefinieerd. Een geldige gegevensdienst is gebaseerd op (delen van) informatiestandaarden die geschikt zijn bevonden voor gebruik binnen MedMij. Niet langer worden informatiestandaarden zelfstandig toegelaten tot gebruik binnen MedMij. Een goede toetsing kan alleen plaatsvinden als ook de manier waarop de informatiestandaard binnen MedMij wordt gebruikt helder is. Uiteraard kan bij informatiestandaarden die in meerdere gegevensdiensten terugkomen gebruik worden gemaakt van de inzichten uit eerdere beoordelingen.
  2. In de Catalogus worden enkele concepten uit het voormalige Register toegevoegd, zoals de informatiestandaardnaam en -versie. Enkele concepten zullen niet meer terugkeren, bijvoorbeeld MedMijVolwassenheidsniveau, Publicatiedatum en de vermelding van de versie van de afsprakenset waartegen de informatiestandaard is getoetst. We gaan uit van de structuur van de informatiestandaarden van Nictiz. Mochten er gegevensdiensten worden gecreëerd die zijn gebaseerd op een andere interne structuur van de onderliggende informatiestandaard, dan kan op dat moment een specifiek stukje model worden overwogen.

  3. In het Testbeleid wordt de verwijzing naar het Register vervangen door een verwijzing naar de Catalogus. Het is ook wenselijk om de eisen aan de testresultaten, die een deelnemer moet overleggen om een gegevensdienst te kunnen ontsluiten, bij die gegevensdienst zelf te formuleren. Let wel, het gaat hier niet om de manier waarop een deelnemer wordt gekwalificeerd door de kwalificerende organisatie van de informatiestandaard, noch om het kwalificatie-aanbod. Het gaat om de ingangseisen: welke kwalificatieresultaten (of anderszins) moet een deelnemer overleggen bij de aanvraag voor de erkenning van de ontsluiting van een gegevensdienst? Die vraag wordt, volgens het Testbeleid, nu beantwoord in het Register, en deze RFC wijzigt dat in de Catalogus. In de Catalogus zal voor elke Systeemrol onder een Gegevensdienst een verwijzing naar het bijbehorende kwalificatieloket worden opgenomen.
  4. Eventuele gerelateerde (niet-controversiële) optimalisaties van de modellen en formuleringen kunnen worden meegenomen, zoals het expliciteren van de contactmogelijkheden van het ondersteuningsloket behorend bij een Systeemrol binnen een Gegevensdienst, het schrappen van de vaste opbouw van de Gegevensdienstnaam (die de vrijheid om gegevensdiensten samen te stellen onbedoeld kan beperken), het minder restrictief maken van de opbouw van het Versienummer (gebruikt binnen de klasse Informatiestandaard), het wegnemen van onnodige variëteit in attribuutnamen en basisklassen en het verlengen van het aantal toegestane karakters van enkele namen.
  5. De Catalogus wordt uitgebreid, zodanig dat een relatie tussen Gegevensdienst en Interfaceversie wordt gelegd als de Gegevensdienst kan worden gebruikt in combinatie met de betreffende Interfaceversie.
  6. De verplichting om een Gegevensdienst die wordt aangeboden op de gepubliceerde versie van de afsprakenset, ook aan te bieden op de verplichte versie van de afsprakenset, wordt aangepast zodanig dat die alleen geldt als de Gegevensdienst ook gebruikt kan worden in combinatie met de Interfaceversie die overeenkomt met de verplichte versie.
  7. De "Vervangt"-relatie tussen Gegevensdiensten wordt geschrapt. De relatie is nauwelijks gebruikt in de bestaande set Gegevensdiensten. Omwille van de interoperabiliteit in een decentraal stelsel is het ook niet wenselijk om Zorgaanbieders te verplichten uit een set sterk gelijkende Gegevensdiensten slechts één 'versie' of 'variant' aan te bieden.

Ad B: de Catalogus wordt gepubliceerd in XML-formaat en een human readable formaat

  1. De Catalogus wordt gepubliceerd in XML-formaat, naast een versie die gemakkelijk 'human readable' is (en die automatisch wordt gegenereerd zodat inhoudelijke consistentie te allen tijde kan worden geborgd). De Catalogus zal gepubliceerd worden op een openbare locatie. De zekerheden van de stelselnode zijn niet vereist (er is geen operationeel gebruik van de Catalogus voorgeschreven, buiten de informatie die al in de GNL staat) en het niet-openbare karakter ervan is ongewenst.
Aanpassing van

Table of Contents
maxLevel4
minLevel4

Er is geen aanpassing nodig van de logische modellen en XML-schema's van de OCL, de ZAL en de GNL.

Impact op rollen

Niet op de relatie Deelnemer - Deelnemer of Deelnemer - Beheerorganisatie. Wel op rollen die niet in het MedMij Afsprakenstelsel zijn beschreven (rollen gerelateerd aan het "stelsel van standaarden").

Impact op beheer
  • De (interne) beheerafspraken rond de Catalogus behoeven aanpassing.
  • De tooling voor het bewerken van de Catalogus verandert. Geavanceerde tooling is geen vereiste maar kan wel wenselijk zijn. In de meest minimale variant kan het XML-bestand van de Catalogus worden beheerd met een teksteditor.
  • De publicatieplaats van de Catalogus verandert.
Impact op RnA

Optioneel: mogelijkheid tot geautomatiseerd inlezen van de Catalogus.

Optioneel: mogelijkheid tot eenvoudige geautomatiseerde afleiding van de GNL uit de Catalogus.

Verplicht: bij de registratie van een ZAL-entry moet worden gecontroleerd op een geldige combinatie Gegevensdienst-Interfaceversie.

Verplicht: bij de publicatie van de nieuwe versie van de Catalogus moet deze worden ingelezen en worden gebruikt als bron voor andere het genereren van de Gegevensdienstnamenlijst.

Impact op Acceptatie

Geen.

Gerelateerd aan (Andere RFCs, PIM issues)

Geanalyseerd: de RFC's die per 30-10-2020 kandidaat zijn voor release 1.3.0.

Inhoudelijke relatie:

  • RFC0017 Koppelen van Zorgaanbiedersnamen (ter consultatie)
    • RFC0017 beïnvloedt RFC0023 v.v.: het is wenselijk de technische publicatiewijze van de Zorgaanbiederskoppellijst (ZKL) en de Catalogus gelijk te trekken.
    • RFC0023 beïnvloedt RFC0017: Interfaceversie wordt een mogelijk relevant attribuut voor de ZKL.
  • RFC0024 Harmonisatie Gegevensdiensten- en Stelselbeleid
    • RFC0023 beïnvloedt RFC0024: enkele onderwerpen uit het Governance-document voor het stelsel van standaarden worden in RFC0023 geregeld, mede reden waarom RFC0024 ervan uit gaat dat het Governance-document kan vervallen; RFC0023 is ook relevant op onderwerpen die (anders) in het Gegevensdienstenbeleid geregeld moeten worden, zoals de relatie met het Register van Informatiestandaarden en het vervallen van het "Vervangt"-attribuut bij Gegevensdiensten.
    • RFC0024 bevat een uitwerking van Gegevensdienstenbeleid waarin tevens de gevolgen van RFC0023 zijn opgenomen.
  • RFC0035 Verzamel RFC
    • De uitwerking van RFC0023 gaat ervan uit dat RFC0035 reeds is verwerkt.
    • RFC0035 gaat ervan uit dat RFC0023 in dezelfde release wordt verwerkt.

De volgende RFC's hebben geen inhoudelijke relatie, maar vragen wel om bijstelling van de informatiemodellen. Dit vraagt om extra coördinatie/integratie bij de uitwerking:

Geen relatie:

RFC0023 is gekoppeld aan intern issue AF-967.

Eigenaar
Implementatietermijn

De RFC heeft betrekking op de Catalogus en de afsprakenset. Die kennen elk een eigen releasecyclus. De Catalogus ontleent haar structuur echter aan de afsprakenset; synchronisatie van de wijzigingen in de Catalogus en de afsprakenset is dus nodig. De implementatie van deze RFC is beoogd voor:

  • Release 1.3.0 van de afsprakenset.
  • Per publicatiedatum van release 1.3.0: een nieuwe release (releasenr. 3) van de Catalogus. Deze Catalogus vervangt, zoals gebruikelijk, de voorgaande, en is van toepassing voor alle vigerende versies van de afsprakenset.
Motivatie verkorte RFC procedure (patch)

Geen patch benodigd.

Analyse van de impact van deze RFC op afsprakenset release 1.2.0 (de enig andere release van de afsprakenset, naast 1.3.0, die gebruikt kan worden op het moment van het doorvoeren van deze RFC):

  • Het logisch model van de Catalogus (zoals gedefinieerd in afsprakenset release 1.3.0) is backwards compatible met het logisch model van de Catalogus (zoals gedefinieerd in afsprakenset release 1.2.0). Dat wil zeggen dat de vernieuwde Catalogus ook gebruikt kan worden binnen afsprakenset release 1.2.0 en dat geen separate Catalogus aangehouden hoeft te worden voor die release. Wanneer gedurende de periode dat release 1.2.0 gebruikt mag worden, een Gegevensdienst geldig wordt die alleen met Interfaceversie 1.3.0 gebruikt kan worden, is een toelichting benodigd voor gebruikers van 1.2.0: niet de gehele Catalogus is dan voor hen van toepassing.
  • De wijzigingen in het technisch model en de publicatiewijze van de Catalogus hebben geen inhoudelijke gevolgen voor gebruikers van afsprakenset release 1.2.0. Dat wil zeggen dat de XML/XSLT-publicatie ook gebruikt kan worden binnen afsprakenset release 1.2.0 en dat de oude technische modellen en publicatiewijze (spreadsheet) kunnen vervallen.
  • Daar waar in afsprakenset release 1.2.0 verwezen wordt naar het Register van Informatiestandaarden, maken de toelichting en de doorverwijzing op de oude publicatieplek van het Register duidelijk hoe de nieuwe Catalogus deze functie heeft overgenomen en hoe die gebruikt moet worden.
Input voor release notes / communicabele samenvatting

Wijzigingen zonder directe implementatie-impact voor de Deelnemers:

Catalogus is vernieuwd, Register van Informatiestandaarden is vervallen - Het Register van Informatiestandaarden is vervallen, voortaan worden Informatiestandaarden niet meer zelfstandig toegelaten maar worden de eisen waaraan een systeemrol/Informatiestandaard moet voldoen meegewogen bij het samenstellen van een specifieke Gegevensdienst. De Catalogus is uitgebreid om de relevante onderdelen van het Register van Informatiestandaarden over te kunnen nemen. Tegelijkertijd is die geoptimaliseerd zodat die alleen relevante en heldere concepten bevat. De Catalogus wordt beschikbaar gesteld als XML-bestand en een automatische vertaling naar een gebruiksvriendelijke versie. Het Gegevensdienstenbeleid reflecteert de vereenvoudiging.

Relatie tussen Gegevensdiensten en Interfaceversies is geëxpliciteerd - In de Catalogus wordt aangegeven met welke Interfaceversies een Gegevensdienst mag worden gebruikt.

...

De klassen in het metamodel horen bij de verschillende lagen in de architectuur van het afsprakenstelsel. De betreffende laag is aangegeven door de inkleuringen van de klassen. Alleen bij de Nictiz-klassen in het Register van Informatiestandaarden hebben we dit achterwege gelaten.

...

Betreft instanties van klasse ...

Invariant

Modeldomein

Toelichting

Aard

Gegevensdienst

Voor elke Gegevensdienst g geldt:

g.Gegevensdienstnaam is een concatenatie van g.Usecase.Weergavenaam, g.Weergavenaam en de eerste twee cijferreeksen (voor zover aanwezig en met de scheidende punt) van g.Systeemrol.Informatiestandaard.Informatiestandaardmajorminorversie, met een spatie als scheidingsteken.

GegevensdienstenDit standaardiseert de naamgeving van de Gegevensdiensten. Merk op dat van de Informatiestandaardversie alleen de eerste twee cijferreeksen worden overgenomen. Alle verdere cijferreeksen (voor patches bijvoorbeeld) worden als niet-significant gezien.niet-lokale afhankelijkheid
ZorgaanbiederGegevensdienst

Voor elke ZorgaanbiederGegevensdienst zg geldt:

ALS er een ZorgaanbiederGegevensdienstInterfaceversie zgi1 is zodat:

  • zgi1.ZorgaanbiederGegevensdienst = zg en
  • zgi1.Interfaceversie is de GepubliceerdeInterfaceversie

EN er een GegevensdienstInterfaceversie gi is zodat:

  • gi.Gegevensdienstzg.Gegevensdienst en
  • gi.Interfaceversie is de VerplichteInterfaceversie

DAN is er een ZorgaanbiederGegevensdienstInterfaceversie zgi2 zodat:

  • zgi2.ZorgaanbiederGegevensdienst = zg en
  • zgi2.Interfaceversie is de VerplichteInterfaceversie
ZorgaanbiedersWanneer een Zorgaanbieder een Gegevensdienst aanbiedt op de gepubliceerde Interfaceversie, moet hij deze ook aanbieden op de verplichte Interfaceversie. Dit geldt uiteraard alleen als de Gegevensdienst ook mag worden aangeboden op de verplichte Interfaceversie. Zie Change- en releasebeleid.niet-lokale afhankelijkheid
ZorgaanbiederGegevensdienst

Voor elke ZorgaanbiederGegevensdienst zg geldt:

ALS er een ZorgaanbiedersAbonnerenOpGegevensdienstInterfaceversie zagi1 is zodat:

  • zagi1.ZorgaanbiederGegevensdienstInterfaceversie.
    ZorgaanbiederGegevensdienst = zg
     en
  • zagi1.ZorgaanbiederGegevensdienstInterfaceversie.
    Interfaceversie
     is de GepubliceerdeInterfaceversie

EN er een GegevensdienstAbonnerenOpGegevensdienstInterfaceversie agi is zodat:

  • agi.Gegevensdienstzg.Gegevensdienst en
  • agi.Interfaceversie is de VerplichteInterfaceversie

DAN is er een ZorgaanbiedersAbonnerenOpGegevensdienstInterfaceversie zagi2 zodat:

  • zagi2.ZorgaanbiederGegevensdienstInterfaceversie.
    ZorgaanbiederGegevensdienst = zg
     en
  • zagi2.ZorgaanbiederGegevensdienstInterfaceversie.
    Interfaceversie
     is de VerplichteInterfaceversie
ZorgaanbiedersWanneer een Zorgaanbieder Abonneren op een Gegevensdienst aanbiedt op de gepubliceerde Interfaceversie, moet hij dat ook aanbieden op de verplichte Interfaceversie. Dit geldt uiteraard alleen als de Gegevensdienst ook mag worden aangeboden op de verplichte Interfaceversie. Zie Change- en releasebeleid.niet-lokale afhankelijkheid
OndersteuningsloketElk Ondersteuningsloket heeft ten minste één van de volgende attributen: EmailadresTelefoonnummer en Emailadres.SysteemrollenEen Ondersteuningsloket moet ten minste langs één wijze een contactadres kennen.lokale afhankelijkheid
ResourceEndpoint

Voor elk ResourceEndpoint r geldt:

ALS r.ZorgaanbiederGegevensdienstSysteemrolInterfaceversie.
ZorgaanbiederGegevensdienstInterfaceversie.
ZorgaanbiederGegevensdienst.Gegevensdienst is gebaseerd op een Informatiestandaard uit het Register Informatiestandaarden,

DAN is r gelijk aan wat in het technische ontwerp van de Informatiestandaard 

de combinatie van r.MedMijNode.DeelnemerNode.Node.Hostname en r.ResourceEndpointpath is gelijk aan wat in de specificaties van r.ZorgaanbiederGegevensdienstSysteemrolInterfaceversie.Systeemrol.Transactie

[base] heet.

ZorgaanbiedersDeze invariant regelt een goede scheiding, voor de genoemde klasse van Gegevensdiensten, tussen enerzijds de base URL en anderzijds de specifieke (FHIR-)resource geeft aan welk deel van de URI van de resource request uit de ZAL wordt betrokken.niet-lokale afhankelijkheid
GegevensdienstVoor elke Gegevensdienst geldt: g.Usecase is ofwel VerzamelenUsecase ofwel DelenUsecase.GegevensdienstenZo wordt geregeld dat een Gegevensdienst alleen gebaseerd kan zijn op de primaire use cases Verzamelen of Delen.opsomming
KwalificatieloketElk Kwalificatieloket heeft ten minste één van de volgende attributen: EmailadresTelefoonnummer en Emailadres.SysteemrollenEen Kwalificatieloket moet ten minste langs één wijze een kanaal kennen waarlangs meer informatie over de kwalificatie kan worden verkregen.lokale afhankelijkheid
Zorgaanbieder

Voor elke ZorgaanbiederGegevensdienst zg1 en voor elke Gegevensdienst g in zg1.Gegevensdienst.Vervangt geldt:

er zijn, anders dan zg1, geen ZorgaanbiederGegevensdiensten zg2, zodat zg1.Zorgaanbieder = zg2.Zorgaanbieder en

hetzij zg2.Gegevensdienst volgt g op of g volgt zg2.Gegevensdienst op.

'Opvolgen' is daarbij als volgt (recursief) gedefinieerd: Gegevensdienst h1 volgt Gegevensdienst h2 op als hetzij h1=h2 of h2 volgt een Gegevensdienst in h1.Vervangt op.

ZorgaanbiedersZo wordt ervoor gezorgd dat een Zorgaanbieder niet twee Gegevensdiensten kan aanbieden, waarvan de ene de andere (direct of indirect) vervangt. Vanwege de indirectie is een recursieve definitie nodig.niet-lokale afhankelijkheid
ZorgaanbiederGegevensdienstVoor elke ZorgaanbiederGegevensdienst.Gegevensdienst. TransactieVerzameling.Transactie.SysteemrolSysteemrolverzameling.Systeemrol s
waarvoor geldt dat s.Transactie.Bedrijfsrol = ZorgaanbiederBedrijfsrol,
geldt dat er een ZorgaanbiederGegevensdienstSysteemrol z is
zodat z.Systeemrol = s.
ZorgaanbiedersAls in de Catalogus een Systeemrol voor Zorgaanbieders hoort bij een namens een zekere Zorgaanbieder aangeboden Gegevensdienst, dan moet namens dezelfde Zorgaanbieder ook deze Systeemrol worden aangeboden.niet-lokale afhankelijkheid
Systeemrol

Voor elke Systeemrol s geldt:
ALS s.Transactie.Bedrijfsrol : PatiëntBedrijfsrol
ALS s.Deelnemersrol : PatiëntBedrijfsrol

DAN geldt voor alle RolInGegevensdienst r:
(ALS s in r.Gegevensdienst.TransactieSysteemrolvVerzameling 
DAN r.DeelnemersrolUsecaseBusinessrol.Deelnemersrol : DienstverlenerpersoonDeelnemersrol)

DeelnemersDit koppelt de MedMij-rol Dienstverlener Persoon aan de Nictiz-rol Patiënt.rolbinding
Systeemrol

Voor elke Systeemrol s geldt:
ALS s.Transactie.Bedrijfsrol : ZorgaanbiederBedrijfsrol
ALS s.Deelnemersrol : ZorgaanbiederBedrijfsrol
DAN geldt voor alle RolInGegevensdienst r :
(ALS s in r.Gegevensdienst.TransactieVSysteemrolverzameling
DAN r.DeelnemersrolUsecaseBusinessrol.Deelnemersrol : DienstverlenerzorgaanbiederDeelnemersrol)

DeelnemersDit koppelt de MedMij-rol Dienstverlener Zorgaanbieder aan de Nictiz-rol Zorgaanbieder.rolbinding
OAuthclientGegevensdienstInterfaceversie

Voor elke OAuthclientGegevensdienstInterfaceversie ogi geldt:

ALS er een OAuthClientAbonnerenOpGegevensdienstInterfaceversie oagi1 is zodat:

  • oagi1.OAuthclientGegevensdienstInterfaceversie.
    Gegevensdienst = g
    en
  • oagi1.OAuthClientGegevensdienstInterfaceversie.
    OAuthclientInterfaceversie.Interfaceversie
    is de GepubliceerdeInterfaceversie

DAN is er een OAuthClientAbonnerenOpGegevensdienstInterfaceversie oagi2 zodat:

  • oagi2.OAuthclientGegevensdienstInterfaceversie.
    Gegevensdienst = g
    en
  • oagi2OAuthClientGegevensdienstInterfaceversie.
    OAuthclientInterfaceversie.Interfaceversie
    is de VerplichteInterfaceversie
ZorgaanbiedersWanneer een OAuthClient Abonneren op een Gegevensdienst aanbiedt op de gepubliceerde Interfaceversie, moet hij dat ook aanbieden op de verplichte Interfaceversie. Zie /wiki/spaces/MedMijAfsprakenstelsel130/pages/135628810.niet-lokale afhankelijkheid
OAuthClientGegevensdienst

Voor elke OAuthClientGegevensdienst zg geldt:

ALS er een OAuthClientAbonnerenOpGegevensdienstInterfaceversie zagi1 is zodat:

  • zagi1.OAuthClientGegevensdienstInterfaceversie.
    ZorgaanbiederGegevensdienst = zg
     en
  • zagi1.OAuthClientGegevensdienstInterfaceversie.
    Interfaceversie
     is de GepubliceerdeInterfaceversie

DAN is er een OAuthClientAbonnerenOpGegevensdienstInterfaceversie zagi2 zodat:

  • zagi2.OAuthClientGegevensdienstInterfaceversie.
    ZorgaanbiederGegevensdienst = zg
     en
  • zagi2.OAuthClientGegevensdienstInterfaceversie.
    Interfaceversie
     is de VerplichteInterfaceversie
ZorgaanbiedersWanneer een OAuthClient Abonneren op een Gegevensdienst aanbiedt op de gepubliceerde Interfaceversie, moet hij dat ook aanbieden op de verplichte Interfaceversie. Zie Change- en releasebeleid.niet-lokale afhankelijkheid

...

Basisklasse

Definitie

HttpsUrl

Semantiek: adres van een resource die via het internet benaderbaar is volgens het HTTPS-protocol.

Syntax: string die altijd start met https:// en daarna ten minste vier karakters bevat, niet zijnde witruimtekarakters (spatie, tab, line feed of carriage return) bevat.

InformatiestandaardnaamString van minimaal drie en maximaal 50 tekens.
TransactienaamString van minimaal drie en maximaal 50 tekens.
VersienummerEén of meer cijferreeksen, elk bestaand uit één of meer cijfers 0 tot en met 9, gescheiden door een punt String van minimaal één en maximaal 30 tekens.
Telefoonnummer

Semantiek: internationaal telefoonnummer volgens Recommendation ITU-T E.164 (11/2010).

Syntax: string die altijd start met + en vervolgens bestaat uit maximaal vijftien cijfers (0 tot en met 9).

Emailadres

Semantiek: e-mailadres volgens sectie 3.4.1 van IETF RFC 5322.

Syntax: string van een of meer tekens, gevolgd door het teken @, gevolgd door een of meer tekens, gevolgd door het teken ., gevolgd door twee of meer tekens. Witruimte (spatie, tab, line feed of carriage return) is niet toegestaan.

NederlandseDatum

Semantiek: datum volgens lokale Nederlandse tijd.

Syntax: datum volgens het type xs:date, zoals gespecificeerd in XML Schema 1.0, zonder tijdzone-indicatie.

GegevensdienstnaamString van minimaal drie en maximaal 50 tekens.
LangeWeergavenaamString van minimaal drie en maximaal 125 tekens.

...

Betreft instanties van klasse ...

Invariant

Component

Toelichting

Aard

Herkomst

CatalogusEr is precies één instantie hiervan.CatalogusDit is een eenling in het model.getalsverhoudinglogisch model
Usecase

Voor elke Usecase u geldt: u.Weergavenaam = "Verzamelen" OF u.Weergavenaam = "Delen"

CatalogusDit koppelt de namen van de subklassen aan de weergavenamen.lokale afhankelijkheidmetamodel (bij Usecase)
Systeemrol

Voor elke Systeemrol s geldt: s.Presentatievolgorde wordt bepaald door de relatieve positie van de systeemrol in de tijdsvolgorde waarin s.Transactie binnen de uitvoering van s.Systeemrolverzameling.Gegevensdienst.Usecase zijn werk moet doen. Daarbij gelden als elkaar aanvullende richtlijnen:

  • een Transactie t met t.BedrijfsrolPatiëntBedrijfsrol gaat vooraf aan een Transactie t met t.BedrijfsrolZorgaanbiederBedrijfsrol;
  • bij meerdere Transacties van hetzelfde type: in tijdsvolgorde van de transactie.
CatalogusDe volgorde waarin die Systeemrolcodes bij een Gegevensdienst staan opgesomd is formeel om het even, maar voor de presentatie wel relevant. Die volgorde van presentatie komt overeen met de tijdsvolgorde waarin de betreffende Systeemrollen hun werk moeten doen.lokale afhankelijkheidlogisch model

...

Basisklasse

Definitie

Herkomst

DeelnemersrolWeergavenaamString met de waarde "Dienstverlener persoon" of "Dienstverlener zorgaanbieder".logisch model
UsecaseWeergavenaamString met de waarde "Verzamelen" of "Delen".logisch model
BedrijfsrolWeergavenaamString met de waarde "Patiënt" of "Zorgaanbieder".logisch model
NederlandseDatum

Semantiek: datum volgens lokale Nederlandse tijd.

Syntax: datum volgens het type xs:date, zoals gespecificeerd in XML Schema 1.0, zonder tijdzone-indicatie.

metamodel
HttpsUrl

Semantiek: adres van een resource die via het internet benaderbaar is volgens het HTTPS-protocol.

Syntax: string die altijd start met https:// en daarna ten minste vier karakters bevat, niet zijnde witruimtekarakters (spatie, tab, line feed of carriage return) bevat.

metamodel
Telefoonnummer

Semantiek: internationaal telefoonnummer volgens Recommendation ITU-T E.164 (11/2010).

Syntax: string die altijd start met + en vervolgens bestaat uit maximaal vijftien cijfers (0 tot en met 9).

metamodel
Emailadres

Semantiek: e-mailadres volgens sectie 3.4.1 van IETF RFC 5322.

Syntax: string van een of meer tekens, gevolgd door het teken @, gevolgd door een of meer tekens, gevolgd door het teken ., gevolgd door twee of meer tekens. Witruimte (spatie, tab, line feed of carriage return) is niet toegestaan.

metamodel
VersienummerString van minimaal één en maximaal 30 tekens.metamodel
PositiefnummerEen geheel getal ongelijk 0.logisch model
LangeWeergavenaamString van minimaal één en maximaal 125 tekens.metamodel
GegevensdienstnaamString van minimaal drie en maximaal 50 tekens.metamodel
Verband klassen logisch model Catalogus met metamodel

...

De klasse Usecase is een abstracte klasse in het metamodel. In het logische model zijn, in de compositiehiërarchie, echter concrete klassen nodig. In het kader van de Catalogus zijn we hier niet geïnteressseerd in de gehele semantiek van de conceptuele klassen VerzamelenUsecase en DelenUsecase, maar enkel in hun respectievelijke instanties, met de Weergavenaam die zij van de abstracte klasse Usecase krijgen, door middel van een invariant. Daarom gebruiken we in dit logische model een concrete klasse Usecase, die tot deze twee instantieert.

...

De XML-schema's zijn een implementatie van de relevante logische modellen van de lijsten in XML-syntax en vervullen daarom de rol van technisch model. XML past bij de hiërarchische structurering waarop al in de logische modellen is ingezet.

    • Bij het logische model van de lijsten en rapporten horen vier technische componenten. De hoogste klasse van elke component wordt het rootelement van het betreffende XML-schema. De attributen van de abstracte klassen bovenaan (MedMijBeheerlijst en MedMijRapport) worden over de technische modellen van de vier lijsten, respectievelijk de twee rapporten, verspreid. Er is dus voor elke lijst of rapport een apart XML-schema. Daardoor is de homonymie van Gegevensdienst en Gegevensdiensten geen probleem meer en kunnen in de namen de achtervoegsels _ZAL_GNL _OCL, _BR en _PR achterwege blijven.
      • De Catalogus vormt hierop een uitzondering. Die kent een zelfstandig logisch model. De klasse Catalogus uit het logisch model dient als root element van het XML-schema van de Catalogus.

Lijst of rapport

Bestandsnaam

Release

Versie bestand

CatalogusMedMij_Catalogus_release3.xsd35

Tijdaspect

Het metamodel en de logische modellen, met hun invarianten, werken "door de tijd". Zij beschrijven hoe de klassen samenhangen op elk moment. De XML-bestanden voor de lijsten zijn echter specifieke momentopnames van de instanties van de klassen. Er moet daarom een tijdselement worden toegevoegd om lijsten die op verschillende momenten zijn gegenereerd, uit elkaar te kunnen houden, en om in retrospectief de geldigheidstermijn van een lijst te kunnen vaststellen.

...

(Equivalente pagina in release 1.2.0: https://afsprakenstelselvzvz.medmijatlassian.nlnet/wiki/display/MedMijAfsprakenstelsel120/MedMij+Afsprakenstelsel+1.2.0)

...

Voor (C) geldt dat in de Catalogus te vinden is welke Informatiestandaard bij een Gegevensdienst hoort en in het Register van Informatiestandaarden bij de Informatiestandaard vervolgens is opgenomen waar de ondersteuning van de Systeemrollen behorend bij een Gegevensdienst kan worden aangetoond.

...

Naam

Bestandsnaam

Release

Bestandsversie

CatalogusMedMij_Catalogus (22).ods222

Algemene toelichting

De Catalogus bevat de Gegevensdiensten die over het MedMij-netwerk kunnen worden ontsloten. De Catalogus wordt formeel gepubliceerd in XML-formaat (hier te vinden). Een gebruiksvriendelijke weergave is te vinden op de pagina /wiki/spaces/MMCatalogus/pages/159187749. Een gebruiksvriendelijke weergave is te vinden op de pagina Actuele catalogus.

Info
titleNoot voor eindredactie

Op de pagina Actuele Catalogus zorgdragen voor een goede human-readable weergave (zie elders in deze RFC).

De te gebruiken CSS-stylesheet voor de tabel:

 

View file
nameSpaceCSS.txt
height250

De te gebruiken XML-stylesheet voor het genereren van de human-readable versie:

View file
nameMedMij_Catalogus_release3_Confluence.xsl
height150


in een spreadsheet weergegeven als een (niet-genormaliseerde) tabel. Het is een implementatie van het logisch model van de Catalogus. Er is gekozen voor het open bestandsformaat OpenDocument Spreadsheet (ODS) omdat hiermee aansluiting wordt gezocht bij een reeds beschikbare en open norm.

De Systeemrollen waaruit een Systeemrolverzameling bestaat zijn onderdeel van het Register van Informatiestandaarden. Voor informatieve doeleinden bevat de spreadsheet ook enkele klassen uit het Register van Informatiestandaarden. Ook is ter informatie de Deelnemersrol weergegeven; deze volgt echter niet uit de Catalogus, maar uit de invarianten van het metamodel. Wanneer mutaties worden doorgevoerd binnen een reeds gedefinieerde Gegevensdienst, wordt dit aangegeven onder de kolommen bij Wijzigingsbeheer. Ter vergroting van de leesbaarheid is een Datum aanmaak opgenomen, zodat wijzigingen in de Catalogus (toevoegingen dan wel mutaties) gemakkelijk zichtbaar zijn.

Wijzigingen in de Catalogus kunnen op grond van het Gegevensdienstenbeleid plaatsvinden onafhankelijk van releases van het afsprakenstelsel. Het bestuur van de Stichting MedMij stelt (wijzigingen in) de Catalogus vast.

...

De Catalogus bevat ook Gegevensdiensten die inmiddels niet meer geldig zijn, omdat de einddatum van de geldigheidsperiode is gepasseerd. Door deze Gegevensdiensten te blijven vermelden wordt op een gemakkelijke wijze inzage geboden in de historie van Gegevensdiensten (bijvoorbeeld ten behoeve van het interpreteren van loggegevens). Het voorkomt ook dat de Catalogus (een op dit moment handmatig beheerd en gepubliceerd product) aanpassing behoeft op het moment van het verstrijken van de geldigheid van een GegevensdienstGegevensdiensten die al bij publicatie van de betreffende versie van de Catalogus ongeldig waren, hebben voor de overzichtelijkheid een grijze achtergrond.

Toelichting bij inhoud van de Catalogus

...