DOI: 10.6084/m9.figshare.923519.v2
title: Test patient data represented as instances of openEHR archetypes & Examples of eligibility criteria of clinical trials represented as SPARQL queries.

description: Merged: NCI Thesaurus, selected openEHR archetypes and test patient data File contains test patient data, represented as instances of selected openEHR archetypes [1], translated to owl. Additionally the file contains merged NCI Thesaurus [2]. File was generated in order to demonstrate how to transform structured eligibility criteria to SPARQL queries. The example queries [2] utilize the hierarchy of NCI thesaurus. The file accompanies the publication [3]. The translation of archetypes from adl to owl was done using the methods defined by L.Lezcano and K. Dentler [4,5]. The following examples demonstrate how the dataset can be queried to find patients who match the criteria corresponding to the following patterns: 1. Diagnosis of (NCI code) * PREFIX diagnosis: http://archetypes.mash-it.net/openEHR-EHR-EVALUATION.problem-diagnosis.v1#<br>PREFIX archetypes http://www.semanticweb.org/ontologies/2012/10/MergedArchetypes.owl#<br>PREFIX c:http://klt.inf.um.es/~cati/ontologies/OpenEHR-SP-v2.0.owl#<br>PREFIX nci:http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#<br>PREFIX rdfs:http://www.w3.org/2000/01/rdf-schema# SELECT distinct ?patient ?diagnosisCode ?diagnosisName<br>WHERE {<br>?patient a archetypes:at0000.1_Patient ;<br>archetypes:links ?dc . ?dc c:data_evaluation ?d ;<br>a diagnosis:at0000.1_Diagnosis .<br>?d c:value_element ?diagnosisCode ;<br>a diagnosis:at0002.1_Diagnosis .<br>?diagnosisCode rdfs:label ?diagnosisName .<br>?subclass rdfs:subClassOf nci:C2910<br>.FILTER<br>( (?diagnosisCode=nci:C2910 || ?diagnosisCode=?subclass ) &&<br>NOT EXISTS { ?dc c:data_evaluation ?s . ?s a diagnosis:at0030_Date_of_resolution })<br>} * the prefixes need to be enclosed in brackets 2. Age over (threshold) SELECT distinct ?patient WHERE { ?patient a archetypes:at0000.1_Patient ; archetypes:links ?demographics . ?demographics a dg:at0000_Individuals_personal_demographics; c:items ?dateOfBirth. ?dateOfBirth a dg:at0007_Date_of_Birth ; archetypes:time_value_ ?date . BIND ( 365 *(year(now()) - year(xsd:dateTime(?date))) + 30 * (month(now()) - month(xsd:dateTime(?date))) +day(now()) - day(xsd:dateTime(?date) ) AS ?age) . FILTER (?age &gt; 365 * limit ) } 3. At least (threshold) since (procedureCode) SELECT distinct ?patient WHERE { ?patient a archetypes:at0000.1_Patient ; c:links&gt; ?procedure . ?procedure a p:at0000_Procedure_undertaken ; archetypes:time_value_ ?procedureTime ; c:items ?procedureName . ?procedureName a p:at0002_Procedure . c:value_element&gt; ?procedureCode . ?subclass rdfs:subClassOf nci:procedureCode . BIND (86400*(day(now()) + 30*month(now()) + 360*year(now())) AS ?now). BIND (xsd:dateTime(?procedureTime) AS ?t) BIND (86400*(day(?t) + 30*month(?t) + 360*year(?t)) AS ?procTimeInS). FILTER ((?procedureCode = nci:procedureCode || ?code = ?subclass) && ?now - ?procTimeInS&gt; threshold) } 4. No prior (procedureCode) for (diseaseCode). SELECT distinct ?patient WHERE { ?patient a archetypes:at0000.1_Patient ; archetypes:links ?procedure . ?procedure a procedure:at0000_Procedure_undertaken ; c:items ?procedureName . ?procedureName a procedure:at0002_Procedure ; archetypes:NCI_code ?pCode . ?pSubclass rdfs:subClassOf nci:procedureCode . ?procedure c:items ?reason. ?reason a procedure:at0014_Reason_s_for_procedure; c:value_element/c:data_evaluation ?diagnosis. ?diagnosis a diagnosis:at0002.1_Diagnosis ; c:value_element ?dCode. ?dSubclass rdfs:subClassOf nci:diseaseCode. FILTER (( ?pCode!=nci:procedureCode && ?pCode!=?pSubclass) || ((?pCode=nci:procedureCode || ?pCode=?pSubclass) && ?dCode!=nci:diseaseCode && ?dCode!=?dSubclass)) }