
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. 
@prefix owl: <http://www.w3.org/2002/07/owl#>. 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>. 
@prefix math: <http://www.w3.org/2000/10/swap/math#>. 
@prefix umls: <http://protege.stanford.edu/umls#> .
@prefix rpo: <http://www.agfa.com/w3c/euler/rpo-rules#>.
@prefix list: <http://www.w3.org/2000/10/swap/list#>.


@prefix rim: <http://wopeg.he.agfa.be/rules/RIMV3OWL#>.
@prefix acpo: <http://wopeg.he.agfa.be/rules/ACPPOntologyRIM1#>.
@prefix atype: <http://wopeg.he.agfa.be/rules/ArthetypeRIM#>.
@prefix lab: <http://wopeg.he.agfa.be/rules/BloodCollectionTube#> .

@prefix : <http://wopeg.he.agfa.be/rules/ACPPOntologyRIM1#>.

# A simplified test case for expressing ACP in RIM: Stroke Management in ER

# Advanced Clinical Application
# Agfa Healthcare
# 
#
# Helen Chen, July 2006		
# based on HCLS ACPP working group test case http://esw.w3.org/topic/HclsigDscussionTopics/HclsSubGroupACPP/Stroke?highlight=%28ACPP%29
								    				

#different patient states unique to the treatment of the Stroke Management

:suitableForThrombolyse	a		acpo:PhysicalState .

:acuteNeurologicalDeficit a		acpo:ClinicalState.
:newNeurologicalDeficit	a		acpo:ClinicalState.
:recurringNeurologicalDeficit	a	acpo:ClinicalState.		

:suspectedAcuteCVA	a		acpo:ClinicalState.
:acuteCVA		a		acpo:ClinicalState.
:transientIschemicAttack a 		acpo:ClinicalState.
:suspectedTransientIschemicAttack a 		acpo:ClinicalState.

:thrombolysisPossible    a		 acpo:PhysicalState.
:thrombolysisNotPossible    a		 acpo:PhysicalState.
:thrombolysisReady	    a		 acpo:PhysicalState.
:thrombolysisNotReady	    a		 acpo:PhysicalState.

:hemmorhageAbsent	a		acpo:ClinicalState.	
:hemmorhagePresent	a		acpo:ClinicalState.

:CBCResultAvailable		a		acpo:OperationalState.
:PTResultAvailable		a		acpo:OperationalState.			
:PTTResultAvailable		a		acpo:OperationalState.

:noneSpecified		a	acpo:PatientState.

:TPADrugReady 		a	acpo:OperationalState.
:TPAEquipementReady	a	acpo:OperationalState.

:CVATreated		a	acpo:OperationalState.

:radReportAvailable	a	acpo:OperationalState.

#
#General medical knowledge of treating stroke
#

:ICUTriage	a		acpo:Recommendation;
		rim:hasParticipation  atype:TriageStaff;
                acpo:preCondition      [ acpo:someOf	(:acuteNeurologicalDeficit) ];
		acpo:postCondition	[ acpo:someOf	(:newNeurologicalDeficit :recurringNeurologicalDeficit) ].
       
:evaluateThrombolysisEligibility      a       acpo:Recommendation;
                rim:hasParticipation  atype:Nurse;
                acpo:preCondition      [ acpo:allOf  (:newNeurologicalDeficit) ];
                acpo:postCondition     [ acpo:someOf  (:thrombolysisPossible :thrombolysisNotPossible) ];
		rdfs:comment """ Nurse evaluates patient for thrombolysis eligibility""".

:identifyStrokeType  a                 acpo:Recommendation;
                rim:hasParticipation  atype:Physician;
                acpo:preCondition      [ acpo:someOf	(:thrombolysisPossible) ];
		acpo:postCondition	[ acpo:someOf	(:suspectedAcuteCVA :suspectedTransientIschemicAttack) ];
		rdfs:comment """ Physician identify stroke types, confirm if it is acute stroke""".
	
lab:completeBloodCount		a		acpo:Recommendation;
		rim:hasParticipation  atype:LabStaff;
		acpo:preCondition	[ acpo:someOf	(:suspectedAcuteCVA) ];
		acpo:postCondition	[ acpo:allOf	(:CBCResultAvailable) ];
		rdfs:comment """ complete blood count""".

lab:prothrombinTime		a		acpo:Recommendation;
		rim:hasParticipation  atype:LabStaff;
		acpo:preCondition	[ acpo:someOf	(:suspectedAcuteCVA) ];
		acpo:postCondition	[ acpo:allOf	(:PTResultAvailable) ];
		rdfs:comment """ Prothrombin time : This is a test that measures the clotting time of plasma (the liquid portion of the blood).""".

lab:partialThromboplastinTime		a		acpo:Recommendation;
		rim:hasParticipation  atype:LabStaff;
		acpo:preCondition	[ acpo:someOf	(:suspectedAcuteCVA) ];
		acpo:postCondition	[ acpo:allOf	(:PTTResultAvailable) ];
		rdfs:comment """ Partial Thromboplastin Time (PTT).""".

:reviewResult	a		acpo:Recommendation;
		rim:hasParticipation  atype:Physician;
		acpo:preCondition	[ acpo:allOf	(:CBCResultAvailable :PTResultAvailable :PTTResultAvailable :radReportAvailable) ];
		acpo:postCondition	[ acpo:someOf	(:thrombolysisOK :thrombolysisNotOK :acuteCVA :transientIschemicAttack :hemmorhageAbsent :hemmorhagePresent :noneSpecified) ];
		rdfs:comment """ Physician review lab results.""".


:diagnosticCT acpo:preCondition	[ acpo:someOf	(:suspectedAcuteCVA) ];
		rim:hasParticipation  atype:Technologist.

:reading	rim:actRelationshipSequel :diagnosticCT;
		rim:hasParticipation  atype:Radiologist;
		acpo:postCondition	[ acpo:someOf	(:radReportAvailable) ].

:prescribeTPA	a		acpo:Recommendation;
		rim:hasParticipation  atype:Physician;
		acpo:preCondition	[ acpo:allOf	(:acuteCVA :hemmorhageAbsent :thrombolysisOK) ].

:prepareTPADrug	rim:fulfills :prescribeTPA;
		rim:hasParticipation  atype:Pharmacist;
                acpo:postCondition     [ acpo:allOf	(:TPADrugReady) ].

:prepareTPAEquipement	rim:actRelationshipSequel :prescribeTPA;
		rim:hasParticipation  atype:Nurse;
                acpo:postCondition     [ acpo:allOf	(:TPAEquipementReady) ].

:infuseTPA	a		acpo:Recommendation;
                acpo:preCondition      [ acpo:allOf	(:TPAEquipementReady :TPADrugReady) ];
                acpo:postCondition     [ acpo:someOf	(:CVATreated :noneSpecified) ].

		
