Hi Tom

I prefer the original structure, mainly from a general dislike of aggregate
attributes (such as the new one combining the terminology and the code id).
I can see the need to decompose the attribute to talk to the right
terminology being a nuisance and it could make some sensible operations
difficult when dealing with CODE_PHRASEs from multiple terminologies.

Cheers,
Hugh

-----Original Message-----
From: [email protected]
[mailto:owner-openehr-technical at openehr.org] On Behalf Of Thomas Beale
Sent: Sunday, 15 January 2006 2:19 PM
To: Openehr-Technical
Subject: Proposed slightly radical change to CODE_PHRASE in Text package in
openEHR


Dear all,

we just came across a "feature" of the current openEHR Reference Model 
which, in the light of current implementations (particularly XML), it 
seems would be good to alter slightly. The change has no semantic 
effect, only affecting how data are persisted. We are too close to the 
Release 1.0 release date to be making such changes for my liking at 
least, but on the other hand I suspect that this change would be of 
universal benefit.

The class concerned from the current model is as follows:

class CODE_PHRASE
    terminology_id: TERMINOLOGY_ID   
        -- Identifier of the distinct terminology from which the 
code_string (or its elements) was extracted.
    code_string: String   
        -- The key used by the terminology service to identify a concept 
or coordination of concepts.
        -- This string is most likely parsable inside the terminology 
service, but nothing can be assumed
        -- about its syntax outside that context.
end

The effect of this in XML data is to have to store:

    <name xsi:type="DV_CODED_TEXT">
          <value>clinical finding</value>
          <defining_code>
               <code_string>404684003</code_string>
               <terminology_id>
                    <value>SNOMED-CT</value>
               </terminology_id>
          </defining_code>
     </name>

The PROPOSED CHANGE to the class is as follows:

class CODE_PHRASE
    value: String
       -- the string concatenation form of the term, in the form
       -- "terminology_id::code_string", e.g. "SNOMED-CT::404684003"

    terminology_id(): TERMINOLOGY_ID    {}
       -- NOW A FUNCTION
        -- Identifier of the distinct terminology from which the 
code_string (or its elements) was extracted.

    code_string(): String    {}
       -- NOW A FUNCTION
       -- The key used by the terminology service to identify a concept 
or coordination of concepts.
        -- This string is most likely parsable inside the terminology 
service, but nothing can be assumed
        -- about its syntax outside that context.
end

The effect of this in XML data is to have to store:

    <name xsi:type="DV_CODED_TEXT">
          <value>clinical finding</value>
          <defining_code>
                 <value>SNOMED-CT::404684003</value>
          </defining_code>
    </name>

We believe this will also enable more powerful path expressions using 
the syntax form of coded terms, since the whole coded term code is now 
just one attribute, e.g. "SNOMED-CT::404684003".

openEHR already uses "micro-syntaxes" for various kinds of identifiers, 
such as archetype id, and a few other things, like units, so we see this 
proposed change as compatible with the existing state of affairs. It 
also has no semantic effect on the object-oriented view of CODE_PHRASE, 
since terminology_id and code_string hoth return the same values as 
before (it is just that now they are computed).

The only downside to this change we can see is that some current 
implementors will need to change their softare and schemas.

In the balance of considerations, I would prefer to impose the nuisance 
value now, and have a better reference model to live with for the next 
5-10 years.

Do others agree?
Are their violent objertions?
Does anyone see a flaw in the proposal?

thanks,

- thomas beale

-- 
____________________________________________________________________________
_______
CTO Ocean Informatics (http://www.OceanInformatics.biz)
Research Fellow, University College London (http://www.chime.ucl.ac.uk)
Chair Architectural Review Board, openEHR (http://www.openEHR.org)



Reply via email to