Personal Health Information workshop

2005-08-18 Thread rna...@tin.it
  -  The following is an automated response
  -  to your message generated on behalf of rnardi at tin.it


Sono assente sino al 15 Agosto. Risponder? al mio ritorno!
I will be out of office until August the 15th. I will answer to your message 
ASAP when back in office!
Dr. Roberto Nardi

-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org



Validating an objecrt against its archetype

2005-08-18 Thread Thomas Beale
Rong Chen wrote:

>>
>>
>> The main thing is that the insert_at_path() (or whatever you call it) 
>> call must check the relevant archetype node that the insertion is 
>> allowable, and it should fail if it is not. Your code should always 
>> know in advance what node this is, due to the choosing of archetypes 
>> beforehand (e.g. by the GUI forms).
>
>
> This should work for single object node insertion since most of the 
> object nodes with their runtime name are already created.
>
> But I start to wonder if runtime path is enough for data creation from 
> scratch, which requires:
> 1. path is unique so it can be used as key to group input values;
> 2. link to the original archetype node;

You are right - in my explanation, I did not try to be complete. There 
is a step of major importance which should be carried out by the 
assembled archetype (i..e after slot-filling has occurred) structure in 
memory, namely to generate a default data structure. This should be done 
by defining a method create_default() or similar, which can be called 
recursively down the archteype hierarchy; the effect of this method 
called on every C_OBJECT is to create the appropriate data instance e.g. 
an OBSERVATION or ELEMENT object. The overall result is that in the vast 
majority of cases, there is a reasoable (often complete, apart from 
values) data object to work with. Then modifications can proceed by 
using paths.

However, even when following this desing aproach, there are occasions 
when this is not enough. Imagine the archteype in question is the 
openEHR BP measurement archetype; in this archetype, there is a subtree 
called 'protocol', which has existence = 0..1, i..e optional. It would 
be reasonable for the create_default() method not to create this subtree 
at all in the data. But what if the user does want it (1 time out of 
50)? Then what the software has to do is to call create_default() on the 
protocl subtree of the BP archetype, and attach the result into the 
correct place in the main data structure created with the original 
create_default() call.

In general I would never expect data to be created completely from 
scratch - the only archetype which would justify this is the notional 
'any' archetype which allows absolutely anything.

During this data create/modify phase Inside the kernel, there are both 
data instances and archetype instances. Each data instance has to be 
connected logically to its corresponding archetype node. This could be 
effected by pointers/references (which is what we did in our GeHR kernel 
of 3 years ago) or could just be tracked logically by using paths (every 
data node has embedded in it a value for the attribute 
archetype_node_id, inherited from he LOCATABLE class).

>
> 1) is satisfied by using current runtime path,
> 2) is not fully satisfied, since runtime path consists of mainly data 
> node names (LOCATABLE.name()) and node names could either be the text 
> value in the local language of archetype_node_id code of the node or 
> explicitly set by the user. If more than one data node should be 
> created by the same archetype node, the name should include both the 
> text value and a modifier to make it unique.

Not 'could'; it must: it is a condition of correctness that no two 
sibling LOCATABLEs can ever have the same name value.

> The algorithm used for generating unique name modifier can be 
> predefined so it is possible to find the original archetype node. But 
> it will fail if the name is explicitly set by a user.

Automatic generation (e.g. of "_1", "_2", or "(1)", "(2)" etc) will work 
fine in many cases; but user setting has to be allowed as well. 
Everything will be fine as long as when the relevant insert() or 
append() method is called, that a uniqueness precondition is observed, 
as shown in the following signature:
insert(new_item: LOCATABLE) is
   pre: not this.has(new_item)

where the 'has()' method compares LOCATABLE objects on the basis of 
their names.

>
> Besides, it is preferred to have archetype node id as the direct link 
> instead of some text values in local languages, which mainly is meant 
> to be used by humans.
>
> Perhaps a combination of both archetype id and some kind of modifier 
> based on simple algorithm, eg. a counter could be used to form the 
> path for object creation. It is bit like archetype path, but it is 
> unique and easier to process.
>
> Examples:
>
> Suppose the "occurrences" of an archetype node[at0004] is "0..*", 
> meaning from from zero to many nodes can be created by this archetype 
> node. The archetype path to this node is:
>
> /[at0001]/action[at0002]/representation[at0003]/items[at0004]/
>
> The paths used to bind input data to the archetype node, notice "-1" 
> and "-2" used as suffix of the archetype node id, which stands for the 
> first and second object node created from the same archetype node.
>
> /[at0001]/action[at0002]/representation[at0003]/items[at0004]-1/value/
> /[at0001]/action[at0002

Personal Health Information workshop

2005-08-18 Thread Ed Dodds
I apologize for cross-posts 
 
September 30, 2005 
New York City 
www.release1-0.com/events/ 

I'm writing to invite you to my Personal Health Information (PHI) workshop
on September 30 in New York City. If you care about the business of
collection, management and use of personal health information, whether you
are an entrepreneur, investor, IT vendor, policymaker or a health-care
provider, you will want to participate. 

To make effective use of the capital that investors, government and the
public (individuals, employers and insurers) will be pouring into this
sector over the next decade, the market first needs to see itself more
clearly: Investors need to see models of success, and start-ups need to
understand what competitors and potential partners are doing. At the PHI
workshop, you will meet other early entrants, see examples of what is
already happening in the field, and then discuss what could and should
happen. It's a unique chance to get comprehensive exposure to a nascent,
unformed market ripe with opportunities.   


- 
"Esther's insights in Release 1.0 were the single most important influence
on me as I planned and executed the integration of Pfizer and Pharmacia's
technical infrastructure." 

- Jonathan White, Pfizer 
Release 1.0 subscriber since 2000 

- 

Each type of player in the PHI market will have a different role, but
overall the best strategy - and the best outcome - is to improve personal
health information liquidity, the ability of that information to move around
relatively friction-free. That is, it's not enough just to collect or to
store personal health information; it must be shared (under privacy
controls) and used in new applications by both patients and health-care
providers. Those kinds of tangible benefits, not the mere presence of a
record, will drive the market for personal health information forward.
That's the goal - and the ways to achieve it - that we'll be discussing on
Friday, September 30. 

We'll also talk about what could happen when many of those records can be
aggregated (again with proper privacy protection) for use in public health,
epidemiology and evidence-based medicine of all kinds. What kinds of
better-targeted treatment will be possible? How real will the promise of
"personal medicine" be in five or ten years? And finally, what are the
potential side-effects - discrimination in employment, denial of coverage,
the very real issues around privacy and individuals' desire (or not) to know
the truth about their own conditions - and how can we guard against them? 


- 
"Over the years, Esther has consistently shown the uncanny ability to
identify important IT trends well before others doand then bring
together those new  ideas, the right people and the best technologies, and
synthesize it all into concrete business opportunities." 

- Jim Breyer, Accel Partners 
Release 1.0 subscriber since 1993 

- 

At Release 1.0, we have a 28-year history of putting IT innovations in
context, from standards to specifics, from infrastructure to applications,
from economics to policy, from technology to business. We also know how to
bring investors, entrepreneurs, policymakers and customers together to move
markets forward. Come join us in this exciting opportunity on September 30!
To register, visit www.release1-0.com/events/ 

Speakers will include: 
Larry Augustin, CEO, Medsphere Systems/Vista 
Giovanni Colella, President & CEO, RelayHealth 
George Church, Professor of Genetics, and Director, Lipper Center for
Computational Genetics, Harvard Medical School 
Carol Diamond, Managing Director, Health Program, Markle Foundation 
Ed Fotsch, CEO, Medem 
Carol McCall, VP, Center for Health Metrics, Humana 
Ryan Phelan, Founder & CEO, DNADirect 
Jeffrey Rideout, VP, Internet Business Solutions Group, Healthcare Practice,
Cisco Systems 
Paul Sheils, CEO, Aetna Health Information Solutions 
Charles Silver, President & CEO, RealAge 
Jonathan White, Senior VP, Planning, HHIT and Business Development, Pfizer 


Yours, 

Esther Dyson 
Editor, Release 1.0 
edyson at release1-0.com 

PS - Register today for the Personal Health Information workshop on
September 30. Feel free to pass this invitation along to a colleague as
well.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20050818/e6326998/attachment.html>


RFC - CR-000150 - express language etc as a String

2005-08-18 Thread Thomas Beale

As part of the current group of CRs being analysed for openEHR, we are 
considering CR-000150 
(http://coruscant.chime.ucl.ac.uk:8200/openEHR_Collector/projects/specifications/CR/150
 
in the CR system) which basically says that where we have an attribute 
in the refreence model which represents language, encoding or territory, 
we should directly use Strings rather than use CODE_PHRASE as we do now.

Current Situation
-
These particular attributes, which occur, for example in the class 
DV_TEXT (see 
http://svn.openehr.org/specification/TRUNK/publishing/architecture/rm/data_types_im.pdf)
 
use international standard codesets as follows:
- language is represented by a CODE_PHRASE object containing a code-set 
id for openehr-languages, which is the same as ISO 639 2-character 
language codes
- encoding is similarly represented, but using codes from IANA character 
sets, see http://www.iana.org/assignments/character-sets
- territory is similarly represented, using ISO 3166 2-character country 
codes

All three of these codesets are currently 'wrapped' by openEHR code-sets 
(see Support IM, 
http://svn.openehr.org/specification/TRUNK/publishing/architecture/rm/support_im.pdf),
 
and it is the openEHR code-sets which are mentioned in the reference 
model invariants, thus forcing the appropriate attributes always to be a 
code from the appropriate code set. This level of indirection allows for 
openEHR to, in the future, use different code sets for this purpose 
(e.g. the ISO 3-character code sets, or perhaps an ISO replacement for 
the IANA charater set names, or even IANA equivalents for the ISO code 
sets); the reference model would remain valid regardless.

The logic for choosing to model these codes as CODE_PHRASEs in openEHR 
was for consistency: every coded entity in openEHR is either a 
DV_CODED_TEXT (which contains a CODE_PHRASE) or a CODE_PHRASE (used when 
the codes themselves carry the meaning, as most of the ISO and IANA 
codesets do). IN practical terms it does of course mean slightly more 
data instances at a fine-grained level; e.g. in XML you would see more 
tags and data items for each CODE_PHRASE compared to a simple String field.


Proposed Situation
---
Sam Heard has proposed that these three types of codes should be 
hard-wired into the reference model - as direct string attributes, and 
that the reference model documentation should simply say that the 
particular ISO or IANA codes are mandatory in each case.

This is a reasonable position - these codesets seem to be very stable - 
some would say they are the most stable of any coded entity today. There 
is undoubtedly software around which does hardwire such codes, and has 
never had a problem. There is also an argument for simpler object 
structures as well - a String is simpler than a CODE_PHRASE. However, 
semantically, the current and proposed solutions are the same - in the 
current situation, invariants guarantee the the codes must come from the 
appropriate codesets for each particular attribute.

Possible objections are:
- the indirection we currently have is useful: there is no guarantee 
that we won't have to move to another code-set which better serves the 
same purpose
- the consistency in the software (all coded entities are _always_ dealt 
with via the terminology service, no matter what they are) is preferable 
to having certain fields that the software itself directly knows the 
codes of


We would be interested in opinions on this proposal. I personally do not 
know whether we can regard the ISO and IANA code sets for country, 
language and character-sets as 'safe for all time'; does anyone have 
inside knowledge on this? Any other opinions welcome.

- 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)

-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org



ANNC: lists functioning properly again

2005-08-18 Thread USM Bish
On Wed, Aug 17, 2005 at 07:38:56PM +0100, Thomas Beale wrote:
> USM Bish wrote:
> >
> >Thomas,
> >
> >Are you  sure that  things are ironed  out now ?  I seem  to be
> >getting two copies of each mail  (inclusive of above mail). Or,
> >is it only me ?
> >
> You are probably subscribed to both technical and clinical lists - I 
> cross-posted, to pick up people who might only be on one or other.
> 
> - thomas
---end quoted text---

Bingo, you hit the nail right on the head ...

Bish
-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org