RE: [TMO] patient record normalization

Hi,
  I think the model where we separate the unit from the value is preferred (as per CPR) because it is highly flexible. You are right however that people could then refer to any unit, although an ontology could specify the unit involved (universal restriction). The alternative, which Bijan worked on was a stylesheet to convert values in different units to a common unit.

m.

> -----Original Message-----
> From: public-semweb-lifesci-request@w3.org [mailto:public-semweb-
> lifesci-request@w3.org] On Behalf Of Eric Prud'hommeaux
> Sent: Thursday, September 09, 2010 1:06 PM
> To: public-semweb-lifesci@w3.org
> Subject: [TMO] patient record normalization
> 
> We have choices about how to model units. per the first TMO RDF
> patient data, we can keep the units as datatypes:
> 
> :X trans:bloodPressure
>   [ trans:systolic "120"^^u:mmHg ;
>     trans:diastolic "80"^^u:mmHg ] .
> 
> per CPR, as a pair of value and datatype:
> 
> … [ trans:systolic [ muo:measuredIn trans1:mmHg ; muo:numericalValue
> "120" ] ;
>     trans:diastolic [ muo:measuredIn trans1:mmHg ; muo:numericalValue
> "80" ] ] .
> 
> Another, potentially more attractive option, is to model units in the
> predicate:
> 
> :X trans:bloodPressure
>   [ trans:systolicMmHg "120" ;
>     trans:diastolicMmHg "80" ] .
> 
> This greatly simplifies our life as we are otherwise likely to have a
> variety of e.g. BP data in the database: 120/80 mmHg, 12/8 DmHg,
> 16000/10667 Pa,
> 16/11 MPa, 13 (PAM)
> 
> which would lead to rediculous queries when we want to use the data:
> 
> SELET ?sysM ?diaM {
>           ?x trans:bloodPressure [ trans:systolic ?sys ;
> trans:diastolic ]
>           FILTER (datatype(?sys) = u:mmHg) && datatype(?dia) = u:mmHg)
> }
>   UNION SELECT (?sys*10 as ?sysM) (?dia*10 as ?diaM) {
>           ?x trans:bloodPressure [ trans:systolic ?sys ;
> trans:diastolic ]
>           FILTER (datatype(?sys) = u:dmHg) && datatype(?dia) = u:dmHg)
> }
>   UNION SELECT (?sys*133 as ?sysM) (?dia*133 as ?diaM) {
>           ?x trans:bloodPressure [ trans:systolic ?sys ;
> trans:diastolic ]
>           FILTER (datatype(?sys) = u:MPa) && datatype(?dia) = u:MPA) }
> … }
> 
> 
> 
> --
> -ericP

Received on Thursday, 9 September 2010 18:53:07 UTC