Geert, thanks for responding. Let me provide background using an
explanation involving the Continuity of Care Record (CCR) schema. CCR
is one of multiple standards for storing clinical data for a single
patient.
CCR includes an <Actors> node that contains individual <Actor> nodes,
each with an ID. These represent people or other entities who are in
some way involved with treatment of the patient. The Actors section
is a normalized set of actors referenced by ID inside other sections
of the CCR (the main section being the "Body"). Here's an example
<Actor>:
<Actor>
<ActorObjectID>X32423982309E30</ActorObjectID>
<Person>
<Name>
<CurrentName>
<Given>John</Given>
<Family>Doe</Family>
</CurrentName>
<DisplayName>John C. Doe, M.D.</DisplayName>
</Name>
</Person>
<Relation>
<Text>Healthcare Provider</Text>
</Relation>
</Actor>
The normalization resulting from the use of the Actors section makes
it difficult to search. For example, to perform a search against part
of the body section that is constrained to elements that are
associated with a particular actor, you cannot simply use the name of
the actor directly. You must search the Actors section for the actor
name, find the corresponding ID, then perform your search against the
body using your criteria and ensuring that the results are constrained
to those that reference that ID.
That, I believe, illustrates why I want to simplify representation for
internal storage. Using a different internal storage format does not
preclude exchange of data with other parties because, as I alluded to
previously, document transformation could be performed on export to
the "standard du jour".
Much of my concern stems from being a new user of the Search API. I
don't see how to constrain searches to specific hierarchical paths in
order to ensure that results don't include elements of the same name
that are at a different path; <value> and <word> constraints only seem
to allow you to generate simple queries. If you have many <Actor>
sections like the one above in a single document, how could you use
the Search API to find the "Healthcare Provider" named "John C Doe"?
I know how to do it using composed cts:query functions and FLOWR
post-processing, but that strategy is hard to generalize (and I need a
general solution to support search criteria resulting from web forms).
Thanks for reading; hopefully that is enough background to at least
spark further discussion.
Karl
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general