Information model: diagram: verschil tussen versies
(→Codering van de concepten) |
(→Codering van de concepten) |
||
Regel 25: | Regel 25: | ||
<li>Project OID.1 = Content Models Elementen (alias 'NL-CM') | <li>Project OID.1 = Content Models Elementen (alias 'NL-CM') | ||
<li>Project OID.2 = Content Modules ValueSets (alias 'NL-CM-VS' ) | <li>Project OID.2 = Content Modules ValueSets (alias 'NL-CM-VS' ) | ||
− | <li>Project OID.3 = DCM bouwstenen (Geen alias. Wordt alleen in de metagegevens gebruikt. Daar schrijven we de OID voluit). | + | <li>Project OID.3 = DCM bouwstenen (Geen alias. Wordt alleen in de metagegevens gebruikt. Daar schrijven we de OID voluit).<br> |
<br> | <br> | ||
In het geval van Content Models Elements wordt de notatie ‘root:extensie’ gebruikt. De root is NL-CM (=ProjectOID.1) en de extensie heeft de vorm x.y.z waarin: | In het geval van Content Models Elements wordt de notatie ‘root:extensie’ gebruikt. De root is NL-CM (=ProjectOID.1) en de extensie heeft de vorm x.y.z waarin: | ||
<li>X = sectienummer | <li>X = sectienummer | ||
<li>Y = DCM volgnummer (1 sectie kan meerdere DCM’s omvatten) | <li>Y = DCM volgnummer (1 sectie kan meerdere DCM’s omvatten) | ||
− | <li>Z = elementvolgnummer | + | <li>Z = elementvolgnummer<br> |
Voorbeeld: NL-CM:5.1.1 voor het rootconcept van DCM#1 van sectie 5, Problems<br> | Voorbeeld: NL-CM:5.1.1 voor het rootconcept van DCM#1 van sectie 5, Problems<br> | ||
<br> | <br> |
Versie van 23 nov 2012 om 14:20
Inhoud
Auteursnaam instellen
Versie beheer
Classes toevoegen
Welke items/class vullen
Codering van de concepten
De DCM standaard eist dat voor ieder concept een definition code gedefinieerd wordt. Zonder codering is alles betekenisloos. Daarin kan alleen een Snomed CT code staan als je zeker weet dat het de juiste is, anders moet je een eigen code opvoeren en deze goed definieren. Die “eigen” code kan ook een Snomed CT extensie zijn. Foute SNOEMD codes zouden juist misverstanden kunnen introduceren doordat je toch 'misbruik' maakt van een concept uit bv SNOMED, wat eigenlijk een semantische fout introduceert. Ook zijn er vaak geen definition codes voor ons type containers.
In de implementatie handleiding zullen we wel verwijzingen moeten opnemen. Daarvoor hebben we de definition codes ook nodig.
Daarom is besloten om een eigen lijst met concept definitie codes te maken. Hiervoor is een projectOID aangevraagd en toegekend. Idem voor een eigen lijst met ValueSets en klinische bouwstenen. Deze OID komt onder de Nictiz root.
De project OID heeft de waarde 2.16.480.-.-.-.-. (komt nog)
In de DCM nemen we per concept een DCM::DefinitionCode op in de vorm:
DCM::DefinitionCode = NL-CM: <sectienummer>.<DCMvolgnummer>.<elementnummer>
NL-CM staat voor : "Netherlands Content Models Elements".
We gebruiken in de DCM::DefinitionCodes de volgende aliases, zodat we niet steeds het hele lange OID hoeven in te tikken:
In het geval van Content Models Elements wordt de notatie ‘root:extensie’ gebruikt. De root is NL-CM (=ProjectOID.1) en de extensie heeft de vorm x.y.z waarin:
Voorbeeld: NL-CM:5.1.1 voor het rootconcept van DCM#1 van sectie 5, Problems
Voor valuesets wordt gebruikelijk geen notatie in de vorm van een root en een extensie gebruikt, maar wordt achter de root OID doorgenummerd, met punten als scheidingsteken. Een alias is hierbij niet gebruikelijk. In ieder geval tot er een projectOID is kunnen we de alias wel gebruiken. De notatie voor de valuesets wordt dan: NL-CM-VS.x.y.z, echter Z is hier het volgnummer van de valueset binnen de DCM en niet het volgnummer van het element waar de valueset bij hoort. (let op het verschil in notatie, een ‘.’ ipv ‘:)
Voor DCM’s is de nummering in de vorm:
Project OID.3.x.y waarin:
Relaties maken
Notes
Constraints
Subdiagrammen
Als een diagram te groot of te complex wordt, kan het diagram opgeknipt worden in een hoofddiagram en subdiagrammen.
De verbinding tussen hoofd- en subdiagrammen verloopt via een gemeenschappelijke container. Als dit op de juiste manier gedaan wordt, kan met een dubbelclick op deze container in het hoofddiagram automatisch naar het subdiagram gesprongen worden.
De werkwijze daarvoor is als volgt. Uitgangssituatie is dat er een hoofdiagram is en dat de gemeenschappelijke container daar nog niet instaat.
- Voeg aan het Information Model een nieuw package toe.
- Indien dit niet automatisch gebeurt, voeg aan dit package een class diagram toe.
![AddPackage.png](/images/b/b0/AddPackage.png)
![NewDiagram.png](/images/3/3c/NewDiagram.png)
- Vul het diagram met de gewenste concepten incl. de gemeenschappelijke container.
- Verplaats in de Project Browser het diagram naar de gemeenschappelijke container.
- Selecteer in het subdiagram de container en kies via de rechtermuisknop 'Advanced > Composite'.
- Sleep het diagram in de Project Browser terug naar de oorspronkelijke plaats.
- Ga naar het hoofddiagram en sleep de gemeenschappelijke container vanuit de Project Browser naar het diagram als 'Simple Link'.
Verwijzingen naar andere bouwstenen
Algemeen
Als in een bouwsteen verwezen wordt naar een andere bouwsteen of een concept in een andere bouwsteen wordt een generieke klasse aangemaakt met stereotype <<context>> en <<reference>>. N.B. Stereotype ‘context’ moet evt aangemaakt worden.
De naam van de klasse wordt Conceptnaam::GerefereerdeConceptnaam.
De eerste conceptnaam is de naam in de verwijzende bouwsteen, de tweede is de naam in de de bouwsteen waarna verwezen wordt.
Beide conceptnamen benoemen is niet verplicht. Dit wordt alleen gebruikt als het nodig en zinvol is. In de minimale vorm is de naam van de klasse GerefereerdeConceptnaam. De hele tekst van de klasse heeft 40% grijs als kleur (dit wordt een eigenschap van het stereotype, actie Michael).
De verwijzing wordt gecomplementeerd door bij het verwijzende concept de tag DCM::DCMIdentifier te vullen met de GUID van het concept waarnaar verwezen wordt. (Hoe? zo!)
Zorgverleners
Zorgverleners komen in vrijwel alle secties voor.
Indien in deze secties het vermelden van deze betrokkenen klinisch relevant is, wordt dit gedaan door een verwijzing naar zorgverlener.
De modellering van zorgverlener verbeurt eenmalig in sectie 0.
Valuesets en codes
Valueset vermelding
Bij een concept van het type CD wordt het waardebereik vastgelegd in de enumeratie attributen of in een losse value set.
Bij een losse valueset wordt de naam van deze set vermeld in een tagged value van het concept:
DCM::Valueset Naam van de valueset
Voor het documenteren van de koppeling van de naam van de valueset aan de OID van de valueset zijn twee plaatsen genoemd:
- sectie References van de DCM
- note van de beteffende tag value
Voor het project Generieke overdrachtsgegevens is voor de tweede mogelijkheid gekozen.
Indien het waardebereik niet wordt vastgelegd in een losse valueset maar als enumeratie, is er voor gekozen dit niet te doen als enumeratie attributen bij het concept maar de waardenlijst aan aan het concept te koppelen middels een ‘document artifact’ (uit de Common elements). Dit doen we in alle gevallen voor enumeratie, dus niet alleen voor lange waardelijsten, maar ook voor korte.
Werkwijze:
- In de toolkit op ProjectPlace vind je een Word-template waarin je de waardelijst kunt intikken (template voor valuesets.docx).
- Sleep een "Document" component uit de "Common" sectie van de toolbox naar het diagram.
- DoubleClick op het 'artifact'
- De document editor gaat dan open. Plak via copy/paste de waardelijst (tabel) uit het Word-document in de document editor.
- Sluit de document editor.
- Het document en het concept worden verbonden met een ‘Note Link’ (daavoor moet het concept stereotype wel data+enumeratie zijn)
Note: Doe dit eenmalig en edit daarna eventuele wijzigingen direct in de document editor van EA. Dit om te voorkomen dat je de waardelijst op twee plaatsen (in het Word-bestand en in EA) actueel moet houden.
Omdat niet alle Value sets even goed beschikbaar zijn, zou ik willen voorstellen in dit document artifact een kopie van de set op te nemen met de naam van de beherende instantie erbij. Anders blijven die in spreadsheets staan.
Waarden buiten Valueset
Elk concept van het type CD heeft naast de value set een ‘overige’ mogelijkheid om te voorkomen dat bij gebrek aan een juiste waarde een foute waarde geselecteerd wordt (zeker bij verplichte items). Afspraak is dat deze overige waarden niet gecodeerde vrije tekst is. (in HL7 zal dit nullflavour OTH zijn met de tekst in originalText)
Bovenstaande geldt ook voor datatype CO