- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 12 Feb 2001 13:53:40 +0000
- To: "Linda Bird" <bird@dstc.edu.au>
- Cc: <www-xml-schema-comments@w3.org>
Sorry for the delay in responding to your helpful and detailed
message.
A few points:
"Linda Bird" <bird@dstc.edu.au> writes:
> Therefore to represent the foreign key constraint, that the recorder of an
> EHR transaction must be defined in a demographic entity transaction, the
> foreign key field would need to be defined as something like:
>
> GEHR/event_clinical_transactions/transactions/transaction/versions/transacti
> on/content/[{organiser/}]content_item/context/recorder
> However, as the subpath "organiser" is optional and repeatable, this foreign
> key cannot be represented as an XPath.
Why is
GEHR/event_clinical_transactions/transactions/transaction/versions/transaction/content//content_item/context/recorder
not appropriate for your needs?
> In designing the clinical archetypes in XML-Schema the single biggest
> problem we had was:
> · In order to promote interoperability of health records, we require
> that the GEHR XML instances must conform to the basic building blocks of the
> GOM (using elements such as 'transaction', 'organiser', 'hier_group',
> 'hier_value', etc). Therefore, we needed to ensure that the archetypes could
> be defined as "restrictions" on the complex types found in the GOM
> XML-Schema. This, however, proved to be impossible.
> In particular, difficulties arose when it was necessary to predefine
> the values that appeared in a list of items. For example, in representing an
> archetype for 'blood pressure', the first value of the proposition must be
> defined as a 'systolic' value, and the second value of this list as a
> 'diastolic' value. However, since it is not possible to repeat an element in
> XML-Schema, it was not possible to express this structural constraint
> naturally. For example, we would have like to be able to say:
<snip/>
> This problem proved to be the single, biggest difficulty in using XML-Schema
> for Electronic Health Records. Because of this problem, XML-Schema could not
> be used as the primary means of defining clinical models in our Health
> record.
It is true that XML Schema cannot impose structural constraints based
on attribute values, either directly, or indirectly as you tried but
were prevented from doing by using multiple restricted sub-types for
the same element. Why this led you to abandon XML Schema, since DTDs
can't do this _either_, is not clear to me. In this and other similar
situations, one obvious strategy is to define the required elements
all with the same, generic, type, and indicate the co-constraint in
both <xs:documentation> and <xs:appinfo>. Then you can implement
special-purpose post-schema processing validation of your
co-constraints in the short term, and look forward to XML Schema 1.1
which will have co-constraints built in.
> Other problems we had included:
> · A similar problem occurred when trying to specify some archetype
> constraints. In particular, we often need to restrict the value of a 'TERM'
> to being from a set of valid coded terms - for example, the value of
> "Patient Position" in a blood pressures' protocol must be restricted to one
> of {('Lying', 75, 'GEHR_TermSet-v01'), ('Standing', 76, 'GEHR_TermSet-v01'),
> ('Sitting', 74, 'GEHR-TermSet-v01')}. While XML Schema allows enumeration
> constraints over simple types, there is no similar mechanism to define
> enumerations on complex types. Therefore it was not possible for us to say
> something like:
> <complexType name="bpPosition" base="gom: HIER_VALUE" derivedBy="
> restriction">
> <element name="name" fixed="position"/>
> <choice>
> <element name="value" type="bp:LyingTerm"/>
> <element name="value" type="bp:StandingTerm"/>
> <element name="value" type="bp:SittingTerm"/>
> </choice>
> </complexType>
> Although a number of methods for solving this problem were considered (e.g.
> equivalence classes, extending existing types with new elements, qualifying
> tags), no method was found which would not alter the structure of the
> instance documents, and could be used consistently in all required positions
> within the EHR.
I'm not sure I understand this one, but I think the above comment
applies here too.
> · Specifying keys and key references were not possible in some cases
> (besides the case of recursion, as described earlier). Clinical archetypes
> are defined at three levels - namely, the transaction, organiser and content
> levels. Transactions contain organisers, which contain other organisers
> and/or content. Therefore transaction archeytpes reference organiser
> archetypes, which reference content archetypes (and other organiser
> archetypes. Now because it was necessary to extend organiser definitions,
> rather than restrict them (to predefine lists of organisers in an 'organiser
> archetype', as per the main problem explained earlier), it is not possible
> for a 'content archetype' to reference the full element path of the elements
> it contains. This is because a 'content archetype' does not know which
> organiser it is contained in (it is the organiser which knows which content
> archetypes can be used within it). This means that it is not possible to
> specify key references inside content archetypes.
I can't follow that without more detail, sorry. I'm afraid at this
point I don't have time to work through more detail if it were
available, but when we get back to looking at key/keyref for v1.1,
we'll get back in touch with you.
> We believe that the problems that we have encountered in using XML Schema in
> the context of Electronic Health Records are not restricted to our GEHR
> implementation, but will be shared in other approaches and standards. We
> would, however, like to say that, despite the few problems described in this
> letter, we feel quite positive about the XML Schema language as a whole.
Thanks!
ht
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
W3C Fellow 1999--2001, part-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
Received on Monday, 12 February 2001 08:53:46 UTC