Hi All There is no limit to the complexity we can all support - but you will lose the clinicians if the level of fragmentation and reuse gets beyond a certain point. One advantage of openEHR is that we have pushed the very common patterns (e.g. timing, distributed workflow) into the reference model.
I would recommend using examples from current models. Cheers, Sam On 4/05/2012 1:31 AM, Thomas Beale wrote: > > The example below I would say is taking things to extremes. Normally, > if you are going to create separate archetypes, they have distinct > semantics. Here you are trying to use one archetype for three > purposes, but to nevertheless retain the semantic distinctions inside > the parent archetype, rather than specifying them in the child > archetypes. So one has to ask the question: why bother with separate > archetypes here? If you really want to have this ELEMENT archetype for > some the purpose of reuse, then you can constraint ELEMENT.name to be > the coded term you want in each case i.e. 'systolic BP' etc. > > I have to admit I don't see much use in having such an ELEMENT > archetype, because it is not really saying anything much. Defining the > same thing inline seems to be clearer and easier. > > Do you have any more realistic examples? > > - thomas > > On 03/05/2012 09:18, Diego Bosc? wrote: >> Ok, let me make an example so I can explain me better. I'm not saying >> this is the way we should model this case, but just to show that the >> use case is there. >> >> If we get blood pressure archetype and decide to represent systolic, >> diastolic, and mean arterial pressure as slots to another archetype >> (in this case pressure_measurement), you get something like this >> >> http://img717.imageshack.us/img717/6919/a4e77856c56c4c5499c5d1b.png >> >> this is the ADL code: >> >> definition >> ENTRY[at0000] occurrences matches {1..1} matches { -- Blood Pressure >> items existence matches {0..1} cardinality matches {0..*; >> unordered} matches { >> CLUSTER[at0001] occurrences matches {0..*} matches { -- Blood >> Pressure Measurement >> parts existence matches {0..1} cardinality matches {0..*; >> unordered; unique} matches { >> allow_archetype ELEMENT[at0003] occurrences matches >> {0..*} matches { -- Systolic >> include >> archetype_id/value matches >> {/CEN-EN13606-ELEMENT\.pressure_measurement\.v1/} >> } >> allow_archetype ELEMENT[at0006] occurrences matches >> {0..*} matches { -- Diastolic >> include >> archetype_id/value matches >> {/CEN-EN13606-ELEMENT\.pressure_measurement\.v1/} >> } >> allow_archetype ELEMENT[at0009] occurrences matches >> {0..*} matches { -- Mean Arterial Pressure >> include >> archetype_id/value matches >> {/CEN-EN13606-ELEMENT\.pressure_measurement\.v1/} >> } >> } >> structure_type existence matches {1..1} matches { >> CS occurrences matches {1..1} matches { -- >> codeValue existence matches {0..1} matches >> {"STRC01"} >> codingSchemeName existence matches {0..1} matches >> {"CEN/TC251/EN13606-3:STRUCTURE_TYPE"} >> } >> } >> } >> } >> } >> >> ontology >> terminologies_available =<"SNOMED-CT", ...> >> term_definitions =< >> ["es"] =< >> items =< >> ["at0000"] =< >> text =<"Blood Pressure"> >> description =<"Blood Pressure"> >> > >> ["at0001"] =< >> text =<"Blood Pressure Measurement"> >> description =<"a meassure of a BP"> >> > >> ["at0003"] =< >> text =<"Systolic"> >> description =<"Peak systemic arterial blood pressure - >> measured in systolic or contraction phase of the heart cycle."> >> > >> ["at0006"] =< >> text =<"Diastolic"> >> description =<"Minimum systemic arterial blood pressure >> - measured in the diastolic or relaxation phase of the heart cycle."> >> > >> ["at0009"] =< >> text =<"Mean Arterial Pressure"> >> description =<"The average arterial pressure that >> occurs over the entire course of the heart contraction and relaxation >> cycle."> >> > >> > >> > >> > >> constraint_definitions =< >> > >> term_binding =< >> ["SNOMED-CT"] =< >> items =< >> ["at0003"] =<[SNOMED-CT::163030003]> >> ["at0009"] =<[SNOMED-CT::6797001]> >> ["at0006"] =<[SNOMED-CT::163031004]> >> > >> > >> > >> >> In the cases like this, if you resolve pressure_measurement then you >> get something like this >> >> definition >> ENTRY[at0000] occurrences matches {1..1} matches { -- Blood Pressure >> items existence matches {0..1} cardinality matches {0..*; >> unordered} matches { >> CLUSTER[at0001] occurrences matches {0..*} matches { -- Blood >> Pressure Measurement >> parts existence matches {0..1} cardinality matches {0..*; >> unordered; unique} matches { >> >> ELEMENT[CEN-EN13606-ELEMENT.pressure_measurement.v1] occurrences matches >> {1..1} matches { >> value existence matches {0..1} matches { >> PQ occurrences matches {0..1} matches { -- PQ >> units existence matches {1..1} matches { >> CS occurrences matches {1..1} matches { -- >> codeValue existence matches {0..1} >> matches {"mm[Hg]"} >> codingSchemeName existence matches >> {0..1} matches {"UCUM"} >> } >> } >> value existence matches {1..1} matches >> {|>0.0..<1000.0|} >> } >> } >> } >> >> ELEMENT[CEN-EN13606-ELEMENT.pressure_measurement.v1] occurrences matches >> {1..1} matches { >> value existence matches {0..1} matches { >> PQ occurrences matches {0..1} matches { -- PQ >> units existence matches {1..1} matches { >> CS occurrences matches {1..1} matches { -- >> codeValue existence matches {0..1} >> matches {"mm[Hg]"} >> codingSchemeName existence matches >> {0..1} matches {"UCUM"} >> } >> } >> value existence matches {1..1} matches >> {|>0.0..<1000.0|} >> } >> } >> } >> >> ELEMENT[CEN-EN13606-ELEMENT.pressure_measurement.v1] occurrences matches >> {1..1} matches { >> value existence matches {0..1} matches { >> PQ occurrences matches {0..1} matches { -- PQ >> units existence matches {1..1} matches { >> CS occurrences matches {1..1} matches { -- >> codeValue existence matches {0..1} >> matches {"mm[Hg]"} >> codingSchemeName existence matches >> {0..1} matches {"UCUM"} >> } >> } >> value existence matches {1..1} matches >> {|>0.0..<1000.0|} >> } >> } >> } >> } >> >> And as you can see, you have lost text, descriptions, and codes. >> >> This kind of problem can in fact show up. e.g. AIDS report should >> require two different AIDS tests, one for the first test and another >> for the confirmation test. >> Another different example could be having a main diagnosis (as an >> obligatory slot with their own code), and secondary diagnosis (0..* >> slot with their own code) referring both to an hypothetical diagnosis >> archetype >> >> >> 2012/5/2 Thomas Beale<thomas.beale at oceaninformatics.com>: >>> On 02/05/2012 16:58, Diego Bosc? wrote: >>> >>> so you have to define two different archetype id even if the >>> archetypes are the same? >>> and again, slot text, description and codes are lost with this kind of >>> approach >>> >>> >>> >>> if the archetypes are the same, you just use that archetype once, and allow >>> multiple occurrences. There is never a need to duplicate an identical >>> constraint object in an archetype. >>> >>> I am not sure what you mean by the 'slot text, description and code being >>> lost'. Everything is right there in its archetype. A template contains all >>> the codes. It doesn't include copies of the description because it doesn't >>> need it - flattened objects are operational entities ('compiled' entities) >>> not source entities. It's the same when you compile Java source code - the >>> comments disappear in the output. >>> >>> - thomas >>> >>> _______________________________________________ >>> openEHR-technical mailing list >>> openEHR-technical at lists.openehr.org >>> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> _______________________________________________ >> openEHR-technical mailing list >> openEHR-technical at lists.openehr.org >> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> > > > -- > Ocean Informatics *Thomas Beale > Chief Technology Officer, Ocean Informatics > <http://www.oceaninformatics.com/>* > > Chair Architectural Review Board, /open/EHR Foundation > <http://www.openehr.org/> > Honorary Research Fellow, University College London > <http://www.chime.ucl.ac.uk/> > Chartered IT Professional Fellow, BCS, British Computer Society > <http://www.bcs.org.uk/> > Health IT blog <http://www.wolandscat.net/> > > > * > * > > > _______________________________________________ > openEHR-technical mailing list > openEHR-technical at lists.openehr.org > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120504/63000902/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 5828 bytes Desc: not available URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120504/63000902/attachment-0001.jpe>

