You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by ma...@apache.org on 2012/12/21 17:30:49 UTC
svn commit: r1425006 [1/3] - in
/incubator/ctakes/trunk/ctakes-assertion-zoner: ./ .settings/ desc/
desc/cpe/ metadata/ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/mitre/ src/main/java/org/mitre/medfacts/
src/main/java/org/mitre/...
Author: mattcoarr
Date: Fri Dec 21 16:30:48 2012
New Revision: 1425006
URL: http://svn.apache.org/viewvc?rev=1425006&view=rev
Log:
adding the ctakes-assertion's zoner component (this is the assertion module's version of a sectionizer)
Added:
incubator/ctakes/trunk/ctakes-assertion-zoner/
incubator/ctakes/trunk/ctakes-assertion-zoner/.classpath
incubator/ctakes/trunk/ctakes-assertion-zoner/.project
incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/
incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.core.resources.prefs
incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.m2e.core.prefs
incubator/ctakes/trunk/ctakes-assertion-zoner/desc/
incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/
incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/
incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml
incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml.backup01
incubator/ctakes/trunk/ctakes-assertion-zoner/src/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/types.txt
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.06162011.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.out.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.xml (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.xml.bak (with props)
incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.xml.bak2 (with props)
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/.classpath
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/.classpath?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/.classpath (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/.classpath Fri Dec 21 16:30:48 2012
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/classes" path="target/generated-sources/jcasgen">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/.project
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/.project?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/.project (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/.project Fri Dec 21 16:30:48 2012
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>UIMA AFEM Zone Annotator</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.apache.uima.pear.UimaNature</nature>
+ </natures>
+</projectDescription>
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.core.resources.prefs
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.core.resources.prefs?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.core.resources.prefs (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.core.resources.prefs Fri Dec 21 16:30:48 2012
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//target/generated-sources/jcasgen=UTF-8
+encoding/<project>=UTF-8
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs Fri Dec 21 16:30:48 2012
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.m2e.core.prefs
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.m2e.core.prefs?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.m2e.core.prefs (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/.settings/org.eclipse.m2e.core.prefs Fri Dec 21 16:30:48 2012
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <primitive>true</primitive>
+ <annotatorImplementationName>org.mitre.medfacts.uima.Zoner</annotatorImplementationName>
+ <analysisEngineMetaData>
+ <name>ZonerDescriptor</name>
+ <description/>
+ <version>1.0</version>
+ <vendor>MITRE</vendor>
+ <configurationParameters/>
+ <configurationParameterSettings/>
+ <typeSystemDescription>
+ <types>
+ <typeDescription>
+ <name>org.mitre.medfacts.uima.Heading</name>
+ <description>a section heading</description>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ <typeDescription>
+ <name>org.mitre.medfacts.uima.Zone</name>
+ <description>A document Zone, including its heading</description>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ <typeDescription>
+ <name>org.mitre.medfacts.uima.Subzone</name>
+ <description/>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ </types>
+ </typeSystemDescription>
+ <typePriorities/>
+ <fsIndexCollection/>
+ <capabilities>
+ <capability>
+ <inputs/>
+ <outputs/>
+ <languagesSupported/>
+ </capability>
+ </capabilities>
+ <operationalProperties>
+ <modifiesCas>true</modifiesCas>
+ <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+ <outputsNewCASes>false</outputsNewCASes>
+ </operationalProperties>
+ </analysisEngineMetaData>
+ <externalResourceDependencies>
+ <externalResourceDependency>
+ <key>SectionRegex</key>
+ <description/>
+ <optional>false</optional>
+ </externalResourceDependency>
+ </externalResourceDependencies>
+ <resourceManagerConfiguration>
+ <externalResources>
+ <externalResource>
+ <name>SectionHeaderRegularExpressions</name>
+ <description/>
+ <fileResourceSpecifier>
+ <fileUrl>file:org/mitre/medfacts/uima/section_regex.xml</fileUrl>
+ </fileResourceSpecifier>
+ </externalResource>
+ </externalResources>
+ <externalResourceBindings>
+ <externalResourceBinding>
+ <key>SectionRegex</key>
+ <resourceName>SectionHeaderRegularExpressions</resourceName>
+ </externalResourceBinding>
+ </externalResourceBindings>
+ </resourceManagerConfiguration>
+</analysisEngineDescription>
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptor.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<styleMap>
+</styleMap>
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/ZonerDescriptorStyleMap.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cpeDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <collectionReader>
+ <collectionIterator>
+ <descriptor>
+ <import location="../../../../../../../apache-uima/examples/descriptors/collection_reader/FileSystemCollectionReader.xml"/>
+ </descriptor>
+ <configurationParameterSettings>
+ <nameValuePair>
+ <name>InputDirectory</name>
+ <value>
+ <string>C:\a_projects\AFEM\i2b2 data\2009_Medications\TrainingDataText\4</string>
+ </value>
+ </nameValuePair>
+ </configurationParameterSettings>
+ </collectionIterator>
+ </collectionReader>
+ <casProcessors casPoolSize="3" processingUnitThreadCount="1">
+ <casProcessor deployment="integrated" name="ZonerDescriptor">
+ <descriptor>
+ <import location="../ZonerDescriptor.xml"/>
+ </descriptor>
+ <deploymentParameters/>
+ <errorHandling>
+ <errorRateThreshold action="terminate" value="0/1000"/>
+ <maxConsecutiveRestarts action="terminate" value="30"/>
+ <timeout max="100000" default="-1"/>
+ </errorHandling>
+ <checkpoint batch="10000" time="1000ms"/>
+ </casProcessor>
+ <casProcessor deployment="integrated" name="Xmi Writer CAS Consumer">
+ <descriptor>
+ <import location="../../../../../../../apache-uima/examples/descriptors/cas_consumer/XmiWriterCasConsumer.xml"/>
+ </descriptor>
+ <deploymentParameters/>
+ <errorHandling>
+ <errorRateThreshold action="terminate" value="0/1000"/>
+ <maxConsecutiveRestarts action="terminate" value="30"/>
+ <timeout max="100000" default="-1"/>
+ </errorHandling>
+ <checkpoint batch="10000" time="1000ms"/>
+ <configurationParameterSettings>
+ <nameValuePair>
+ <name>OutputDirectory</name>
+ <value>
+ <string>C:\a_projects\AFEM\i2b2 data\uimaout\Meds4</string>
+ </value>
+ </nameValuePair>
+ </configurationParameterSettings>
+ </casProcessor>
+ </casProcessors>
+ <cpeConfig>
+ <numToProcess>-1</numToProcess>
+ <deployAs>immediate</deployAs>
+ <checkpoint batch="0" time="300000ms"/>
+ <timerImpl/>
+ </cpeConfig>
+</cpeDescription>
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/desc/cpe/zonermeds4.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<COMPONENT_INSTALLATION_DESCRIPTOR>
+ <OS>
+ <NAME>Windows</NAME>
+ </OS>
+ <TOOLKITS>
+ <JDK_VERSION>1.4.0</JDK_VERSION>
+ </TOOLKITS>
+ <UIMA_FRAMEWORK>
+ </UIMA_FRAMEWORK>
+ <SUBMITTED_COMPONENT>
+ <ID>UIMA_AFEM_Zone_Annotator</ID>
+ <NAME></NAME>
+ <DESC>$main_root/desc/ZonerDescriptor.xml</DESC>
+ <DEPLOYMENT>standard</DEPLOYMENT>
+ </SUBMITTED_COMPONENT>
+ <INSTALLATION>
+ <PROCESS>
+ <ACTION>set_env_variable</ACTION>
+ <PARAMETERS>
+ <COMMENTS></COMMENTS>
+ <VAR_VALUE>$main_root/bin;$main_root/resources;$main_root/lib/med-facts-zoner-1.0-SNAPSHOT.jar;</VAR_VALUE>
+ <VAR_NAME>CLASSPATH</VAR_NAME>
+ </PARAMETERS>
+ </PROCESS>
+ </INSTALLATION>
+</COMPONENT_INSTALLATION_DESCRIPTOR>
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/metadata/install.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>ctakes-assertion-zoner</artifactId>
+ <name>Apache cTAKES Assertion's zoner</name>
+ <parent>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes</artifactId>
+ <version>3.1.0-incubating-SNAPSHOT</version>
+ </parent>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.mastif</groupId>
+ <artifactId>mastif-zoner</artifactId>
+ <version>1.5-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.uimafit</groupId>
+ <artifactId>uimafit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-core</artifactId>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.cleartk</groupId>
+ <artifactId>jcasgen-maven-plugin</artifactId>
+ <configuration>
+ <typeSystem>src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml</typeSystem>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml.backup01
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml.backup01?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml.backup01 (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/pom.xml.backup01 Fri Dec 21 16:30:48 2012
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>ctakes-assertion-zoner</artifactId>
+ <name>Apache cTAKES Assertion</name>
+ <parent>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes</artifactId>
+ <version>3.1.0-incubating-SNAPSHOT</version>
+ </parent>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.mastif</groupId>
+ <artifactId>mastif-zoner</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <!--
+ <dependency>
+ <groupId>org.mitre.medfacts</groupId>
+ <artifactId>medfacts-zoner</artifactId>
+ <version>1.1</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/med-facts-zoner-1.1.jar</systemPath>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.uima</groupId>
+ <artifactId>uimaj-core</artifactId>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-type-system</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-utils</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-pos-tagger</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ctakes</groupId>
+ <artifactId>ctakes-dependency-parser</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-ml</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-ml-libsvm</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-ml-opennlp-maxent</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-util</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-test-util</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-eval</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-examples</artifactId>
+ <exclusions>
+ <exclusion>
+ <!- - Excluding mallet/trove4j dependencies due to
+ licence in compatible until we could remove the
+ cleartk-examples dependency. - ->
+ <groupId>org.cleartk</groupId>
+ <artifactId>cleartk-ml-mallet</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>args4j</groupId>
+ <artifactId>args4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.carrotsearch</groupId>
+ <artifactId>hppc</artifactId>
+ </dependency>
+
+
+ <dependency>
+ <groupId>jdom</groupId>
+ <artifactId>jdom</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-maxent</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.opennlp</groupId>
+ <artifactId>opennlp-tools</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>tw.edu.ntu.csie</groupId>
+ <artifactId>libsvm</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.uimafit</groupId>
+ <artifactId>uimafit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-core-asl</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-mapper-asl</artifactId>
+ <version>1.5.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-library</artifactId>
+ <version>2.9.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-tools.sbinary</groupId>
+ <artifactId>sbinary_2.9.0</artifactId>
+ <version>0.4.0</version>
+ </dependency>
+
+ <!- - Dependencies that still need to be uploaded to Maven Central; when
+ done, the dependency versions should be moved into the parent pom - ->
+ <dependency>
+ <groupId>org.mitre.medfacts</groupId>
+ <artifactId>medfacts-i2b2</artifactId>
+ <version>1.2</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/med-facts-i2b2-1.2-SNAPSHOT.jar</systemPath>
+ </dependency>
+ <dependency>
+ <groupId>org.mitre.medfacts</groupId>
+ <artifactId>medfacts-zoner</artifactId>
+ <version>1.1</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/med-facts-zoner-1.1.jar</systemPath>
+ </dependency>
+ <dependency>
+ <groupId>org.mitre.jcarafe.core</groupId>
+ <artifactId>jcarafe.core</artifactId>
+ <version>2.9.1</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/jcarafe-core_2.9.1-0.9.8.3.RC4.jar</systemPath>
+ </dependency>
+ <dependency>
+ <groupId>org.mitre.jcarafe.ext</groupId>
+ <artifactId>jcarafe.ext</artifactId>
+ <version>2.9.1</version>
+ <scope>system</scope>
+ <systemPath>${project.basedir}/lib/jcarafe-ext_2.9.1-0.9.8.3.RC4.jar</systemPath>
+ </dependency>
+ -->
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.cleartk</groupId>
+ <artifactId>jcasgen-maven-plugin</artifactId>
+ <configuration>
+ <typeSystem>src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml</typeSystem>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java Fri Dec 21 16:30:48 2012
@@ -0,0 +1,163 @@
+package org.mitre.medfacts.uima;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.logging.Logger;
+
+import org.apache.ctakes.core.util.CtakesFileNamer;
+import org.apache.ctakes.core.ae.DocumentIdPrinterAnalysisEngine;
+import org.apache.ctakes.core.cr.XMIReader;
+import org.apache.uima.UIMAException;
+import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.resource.DataResource;
+import org.apache.uima.resource.ExternalResourceDescription;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.resource.SharedResourceObject;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.uimafit.component.xwriter.XWriter;
+import org.uimafit.factory.AggregateBuilder;
+import org.uimafit.factory.AnalysisEngineFactory;
+import org.uimafit.factory.CollectionReaderFactory;
+import org.uimafit.factory.ExternalResourceFactory;
+import org.uimafit.factory.TypeSystemDescriptionFactory;
+import org.uimafit.factory.UimaContextFactory;
+import org.uimafit.pipeline.SimplePipeline;
+
+public class RunZoner
+{
+ private static Logger logger = Logger.getLogger(RunZoner.class.getName());
+
+ File inputDirectory;
+ List<File> inputFiles;
+
+ File outputDirectory;
+
+ public static void main(String args[]) throws UIMAException, IOException, URISyntaxException
+ {
+ if (args.length != 2)
+ {
+ System.err.format("Syntax: %s input_directory output_directory%n", RunZoner.class.getName());
+ }
+
+ File inputDirectory = new File(args[0]);
+ File outputDirectory = new File(args[1]);
+
+ List<File> inputFiles = listContents(inputDirectory);
+
+ RunZoner runner = new RunZoner();
+ runner.setInputDirectory(inputDirectory);
+ runner.setInputFiles(inputFiles);
+ runner.setOutputDirectory(outputDirectory);
+
+ runner.execute();
+ }
+
+ public static List<File> listContents(File inputDirectory)
+ {
+ File fileArray[] = inputDirectory.listFiles(new FilenameFilter()
+ {
+
+ @Override
+ public boolean accept(File dir, String name)
+ {
+ return name.endsWith(".xmi");
+ }
+ });
+
+ List<File> fileList = Arrays.asList(fileArray);
+ return fileList;
+ }
+
+ public void execute() throws UIMAException, IOException, URISyntaxException
+ {
+ AggregateBuilder builder = new AggregateBuilder();
+
+ TypeSystemDescription typeSystemDescription = TypeSystemDescriptionFactory.createTypeSystemDescriptionFromPath();
+
+ CollectionReader reader =
+ CollectionReaderFactory.createCollectionReader(
+ XMIReader.class,
+ typeSystemDescription,
+ XMIReader.PARAM_FILES,
+ inputFiles);
+
+ AnalysisEngineDescription documentIdPrinter =
+ AnalysisEngineFactory.createPrimitiveDescription(DocumentIdPrinterAnalysisEngine.class);
+ builder.add(documentIdPrinter);
+
+ URI generalSectionRegexFileUri =
+ this.getClass().getClassLoader().getResource("org/mitre/medfacts/zoner/section_regex.xml").toURI();
+// ExternalResourceDescription generalSectionRegexDescription = ExternalResourceFactory.createExternalResourceDescription(
+// SectionRegexConfigurationResource.class, new File(generalSectionRegexFileUri));
+ AnalysisEngineDescription zonerAnnotator =
+ AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
+ ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
+ generalSectionRegexFileUri
+ );
+ builder.add(zonerAnnotator);
+
+ URI mayoSectionRegexFileUri =
+ this.getClass().getClassLoader().getResource("org/mitre/medfacts/zoner/mayo_sections.xml").toURI();
+// ExternalResourceDescription mayoSectionRegexDescription = ExternalResourceFactory.createExternalResourceDescription(
+// SectionRegexConfigurationResource.class, new File(mayoSectionRegexFileUri));
+ AnalysisEngineDescription mayoZonerAnnotator =
+ AnalysisEngineFactory.createPrimitiveDescription(ZoneAnnotator.class,
+ ZoneAnnotator.PARAM_SECTION_REGEX_FILE_URI,
+ mayoSectionRegexFileUri
+ );
+ builder.add(mayoZonerAnnotator);
+
+ AnalysisEngineDescription xWriter = AnalysisEngineFactory.createPrimitiveDescription(
+ XWriter.class,
+ typeSystemDescription,
+ XWriter.PARAM_OUTPUT_DIRECTORY_NAME,
+ outputDirectory.toString(),
+ XWriter.PARAM_FILE_NAMER_CLASS_NAME,
+ CtakesFileNamer.class.getName()
+ );
+
+ builder.add(xWriter);
+
+ logger.info("BEFORE RUNNING PIPELINE...");
+ SimplePipeline.runPipeline(reader, builder.createAggregateDescription());
+ logger.info("AFTER RUNNING PIPELINE...COMPLETED");
+ }
+
+ public File getInputDirectory()
+ {
+ return inputDirectory;
+ }
+
+ public void setInputDirectory(File inputDirectory)
+ {
+ this.inputDirectory = inputDirectory;
+ }
+
+ public List<File> getInputFiles()
+ {
+ return inputFiles;
+ }
+
+ public void setInputFiles(List<File> inputFiles)
+ {
+ this.inputFiles = inputFiles;
+ }
+
+ public File getOutputDirectory()
+ {
+ return outputDirectory;
+ }
+
+ public void setOutputDirectory(File outputDirectory)
+ {
+ this.outputDirectory = outputDirectory;
+ }
+
+}
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java Fri Dec 21 16:30:48 2012
@@ -0,0 +1,136 @@
+package org.mitre.medfacts.uima;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Iterator;
+import java.util.List;
+import java.util.logging.Logger;
+
+import org.apache.ctakes.assertion.zoner.types.Heading;
+import org.apache.ctakes.assertion.zoner.types.Subzone;
+import org.apache.ctakes.assertion.zoner.types.Zone;
+import org.apache.uima.UimaContext;
+//import org.apache.uima.analysis_component.JCasAnnotator_ImplBase;
+import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.resource.DataResource;
+import org.apache.uima.resource.ResourceAccessException;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.resource.SharedResourceObject;
+
+//import org.mitre.medfacts.zoner.*;
+import org.mitre.medfacts.zoner.ZonerCli;
+import org.mitre.medfacts.zoner.ZonerCli.HeadingRange;
+import org.mitre.medfacts.zoner.ZonerCli.Range;
+//import org.mitre.medfacts.zoner.ZonerCliSimplified;
+//import org.mitre.medfacts.zoner.ZonerCliSimplified.HeadingRange;
+//import org.mitre.medfacts.zoner.ZonerCliSimplified.Range;
+import org.uimafit.component.JCasAnnotator_ImplBase;
+import org.uimafit.descriptor.ConfigurationParameter;
+import org.uimafit.descriptor.ExternalResource;
+import org.uimafit.descriptor.TypeCapability;
+
+@TypeCapability(outputs =
+{
+ "org.apache.ctakes.assertion.zoner.types.Zone",
+ "org.apache.ctakes.assertion.zoner.types.Zone:label",
+ "org.apache.ctakes.assertion.zoner.types.Subzone",
+ "org.apache.ctakes.assertion.zoner.types.Subzone:label",
+ "org.apache.ctakes.assertion.zoner.types.Heading",
+ "org.apache.ctakes.assertion.zoner.types.Heading:label"
+})
+
+public class ZoneAnnotator extends JCasAnnotator_ImplBase {
+ public static final String PARAM_SECTION_REGEX_FILE_URI = "SectionRegex";
+
+ @ConfigurationParameter(
+ name = PARAM_SECTION_REGEX_FILE_URI,
+ description = "xml configuration file with zone regular expression values",
+ mandatory = true)
+ protected URI sectionRegexFileUri;
+
+ protected final Logger logger = Logger.getLogger(ZoneAnnotator.class.getName());
+
+ //private ZonerCliSimplified zonerCli;
+
+ @Override
+ public void initialize (UimaContext aContext) throws ResourceInitializationException {
+ super.initialize(aContext);
+ // Create ZonerCli using the resource URI
+// URI uri;
+// try {
+// uri = getContext().getResourceURI(PARAM_SECTION_REGEX_FILE_NAME);
+// } catch (ResourceAccessException e) {
+// e.printStackTrace();
+// throw new ResourceInitializationException(e);
+// }
+ //zonerCli = new ZonerCliSimplified(sectionRegexFileUri);
+
+ }
+
+ private int countOfIndexOutOfBounds = 0;
+
+ @Override
+ public void process(JCas jcas) throws AnalysisEngineProcessException {
+// ZonerCliSimplified zonerCli =
+// new ZonerCliSimplified(sectionRegexFileUri);
+ ZonerCli zonerCli =
+ new ZonerCli(sectionRegexFileUri);
+
+ zonerCli.setEntireContents(jcas.getDocumentText());
+ // initialize converter once contents are set
+ zonerCli.initialize();
+ try {
+ zonerCli.execute();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ return;
+ //throw new AnalysisEngineProcessException(e);
+ } catch (StringIndexOutOfBoundsException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ System.out.format("string index out of bounds exception count: %d%n", ++countOfIndexOutOfBounds);
+ return;
+ //throw new AnalysisEngineProcessException(e);
+ }
+ // Add the zone annotations
+ List<Range> rangeList = zonerCli.getRangeList();
+ for (Iterator<Range> i = rangeList.iterator(); i.hasNext(); ) {
+ Range r = i.next();
+ Zone zAnnot = new Zone(jcas);
+ zAnnot.setBegin(r.getBegin());
+ zAnnot.setEnd(r.getEnd());
+ zAnnot.setLabel(r.getLabel());
+ zAnnot.addToIndexes();
+ logger.info(String.format("added new zone annotation [%d-%d] \"%s\"", zAnnot.getBegin(), zAnnot.getEnd(), zAnnot.getCoveredText()));
+ }
+
+ List<Range> subsectionRangeList = zonerCli.getSubsections();
+ for (Iterator<Range> i = subsectionRangeList.iterator(); i.hasNext(); ) {
+ Range r = i.next();
+ Subzone sAnnot = new Subzone(jcas);
+ sAnnot.setBegin(r.getBegin());
+ sAnnot.setEnd(r.getEnd());
+ sAnnot.setLabel(r.getLabel());
+ sAnnot.addToIndexes();
+ logger.info(String.format("added new subzone annotation [%d-%d] \"%s\"", sAnnot.getBegin(), sAnnot.getEnd(), sAnnot.getCoveredText()));
+ }
+
+
+
+ // Add the heading annotations
+ List<HeadingRange> headings = zonerCli.getHeadings();
+ for (Iterator<HeadingRange> i = headings.iterator(); i.hasNext(); ) {
+ HeadingRange r = i.next();
+ Heading hAnnot = new Heading(jcas);
+ hAnnot.setBegin(r.getHeadingBegin());
+ hAnnot.setEnd(r.getHeadingEnd());
+ hAnnot.setLabel(r.getLabel());
+ hAnnot.addToIndexes();
+ logger.info(String.format("added new headingrange annotation [%d-%d] \"%s\"", hAnnot.getBegin(), hAnnot.getEnd(), hAnnot.getCoveredText()));
+ }
+
+ }
+
+}
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/ZoneAnnotator.java
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/types.txt
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/types.txt?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/types.txt (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/META-INF/org.uimafit/types.txt Fri Dec 21 16:30:48 2012
@@ -0,0 +1 @@
+classpath*:org/apache/ctakes/assertion/zoner/types/TypeSystem.xml
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/apache/ctakes/assertion/zoner/types/TypeSystem.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <name>org.apache.ctakes.assertion.types.TypeSystem</name>
+ <description/>
+ <version>1.0</version>
+ <vendor/>
+ <types>
+ <typeDescription>
+ <name>org.apache.ctakes.assertion.zoner.types.Heading</name>
+ <description>a section heading</description>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ <typeDescription>
+ <name>org.apache.ctakes.assertion.zoner.types.Zone</name>
+ <description>A document Zone, including its heading</description>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ <typeDescription>
+ <name>org.apache.ctakes.assertion.zoner.types.Subzone</name>
+ <description/>
+ <supertypeName>uima.tcas.Annotation</supertypeName>
+ <features>
+ <featureDescription>
+ <name>label</name>
+ <description/>
+ <rangeTypeName>uima.cas.String</rangeTypeName>
+ </featureDescription>
+ </features>
+ </typeDescription>
+ </types>
+</typeSystemDescription>
+
Added: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml
URL: http://svn.apache.org/viewvc/incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml?rev=1425006&view=auto
==============================================================================
--- incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml (added)
+++ incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml Fri Dec 21 16:30:48 2012
@@ -0,0 +1,641 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+<fragments>
+<!-- Modifier Components of Section Headings -->
+ <fragment>
+ <name>admit</name>
+ <expansion>(?:admit(?:ting)?|admission)</expansion>
+ </fragment>
+<fragment>
+ <name>be</name>
+ <expansion>(\s+(?:am|is|are|was|were))</expansion>
+</fragment>
+ <fragment>
+ <name>left-time-mods</name>
+ <expansion>((?:(?:pre-)?<fragment-ref name="admit"/>|current|discharge|follow[\s+\-]?up|home|interim|initial|postpartum|(?:pre|post)op(?:erative)?|transfer)\s+)</expansion>
+ </fragment>
+ <fragment>
+ <name>left-descr-mods</name>
+ <expansion>((?:brief(?:\s+resume\s+of)?|overall|other|additional|pertinent|relevant|(?:list\s+of\s+)?other|plan\s+for|standardized|summary\s+of|doctor(?:\s+\')?s)\s+)</expansion>
+ </fragment>
+<fragment>
+ <name>include</name>
+ <expansion>(\s+(?:include[ds]?))</expansion>
+</fragment>
+ <fragment>
+ <name>right-time-mods</name>
+ <expansion>(\s+(?:(?:(?:UP)?ON|AS|AT|\@|OF|FOR|(?:PRIOR\s+TO)|(?:DURING))\s+(?:(?:(?:THE|THAT|THIS)\s+)?(?:TIME|DAY)\s+OF\s+)?(?:ADMISSION|ADMIT|DEATH|DISCHARGE|TRANSFER|COMPLICATIONS?|HOME|HOSPITALIZATION|OUTPATIENT)))</expansion>
+ </fragment>
+ <fragment>
+ <name>right-descr-mods</name>
+ <expansion>(\s+(?:(?:by\s+(?:problems?|(?:organ\s+)?systems?|issues?|report))|(?:\s+of\s+note)))</expansion>
+ </fragment>
+ <fragment>
+ <name>right-location-mods</name>
+ <expansion>(\s+in\s+the\s+emergency\s+department)</expansion>
+ </fragment>
+<!-- Core Components of Section Headings -->
+<!--HISTORY/SUBJECTIVE-->
+ <fragment>
+ <name>allergies1</name>
+ <expansion>(?:allergies|allergy|adverse\s+drug\s+reactions?)</expansion>
+ </fragment>
+ <fragment>
+ <name>allergies2</name>
+ <expansion>(allergy(\s*\/\s*reaction)?\s+profile)</expansion>
+ </fragment>
+ <fragment>
+ <name>famhistory</name>
+ <expansion>(?:family\s+(?:(?:medical|social)\s+)?history|fhx?|fam\s+hx)</expansion>
+ </fragment>
+ <fragment>
+ <name>sochistory</name>
+ <expansion>(social\s+history|social\s+hx|\bshx?|soc\s*hx|habits)</expansion>
+ </fragment>
+<!--MEDICATIONS-->
+ <fragment>
+ <name>medication1</name>
+ <expansion>(medications?|medication\s*\(\s*s\s*\)|regimen|treatment\s+cycle)</expansion>
+ </fragment>
+ <fragment>
+ <name>medication2</name>
+ <expansion>(meds?)</expansion>
+ </fragment>
+<!--EXAM/LAB/OBJECTIVE-->
+ <fragment>
+ <name>physicalexam1</name>
+ <expansion>((physical|surgical)(\s+exam(ination)?|\s+findings)?|\bpe|\*pe|on\s+exam(ination)?|examination\s+data)</expansion>
+ </fragment>
+ <fragment>
+ <name>physicalexam2</name>
+ <expansion>((daily|patient)\s+status)</expansion>
+ </fragment>
+<!--ASSESSMENT/DISPOSITION/PLAN/INSTRUCTIONS-->
+<!--IN-PATIENT COURSE-->
+<!--DIAGNOSIS-->
+<!--PROCEDURE/TREATMENT-->
+<!--MAYO CLINIC STYLE DATE -->
+ <fragment>
+ <name>time</name>
+ <expansion>(\d?\d\:\d\d[aApP][mM])</expansion>
+ </fragment>
+ <fragment>
+ <name>mayodate</name>
+ <expansion>(([0123])?\d(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)(\d\d)?\d\d\s+<fragment-ref name="time"/>)</expansion>
+ </fragment>
+ <fragment>
+ <name>mayodate2</name>
+ <expansion>([01]?\d/\d?\d/(\d\d)?\d\d\s+<fragment-ref name="time"/>)</expansion>
+ </fragment>
+</fragments>
+
+<!-- Section Heading Patterns -->
+<sections>
+ <!-- ADDENDUM -->
+ <section>
+ <regex>((addendum)\s*\:)</regex>
+ <label>addendum</label>
+ </section>
+ <!-- ADMISSION DATE -->
+ <section>
+ <regex>(?:(?:(?:admission\s+date)|(date\s+of\s+admission))\s*\:)</regex>
+ <label>admission date</label>
+ </section>
+ <!-- AGE -->
+ <section>
+ <regex>age\s*\:</regex>
+ <label>age</label>
+ </section>
+ <!-- ALLERGY -->
+ <section>
+ <regex>(?:(?:<fragment-ref name="allergies1"/>|<fragment-ref name="allergies2"/>)\s*\:)</regex>
+ <label>allergy</label>
+ </section>
+ <!-- APPOINTMENTS -->
+ <section>
+ <regex>(((<fragment-ref name="left-time-mods"/>)|(<fragment-ref name="left-descr-mods"/>))?(appointments?(?:\(?:\s+s\s+\))?)\s*(?:\(\s+s\s+\))?\s*\:)</regex>
+ <label>appointments</label>
+ </section>
+ <!-- ASSESSMENT -->
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>|<fragment-ref name="left-descr-mods"/>)?(assessment)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>assessment</label>
+ </section>
+ <!-- ASSESSMENT/PLAN -->
+ <section>
+ <regex>(((<fragment-ref name="left-time-mods"/>)|<fragment-ref name="right-descr-mods"/>)?((?:assessment\s*(?:and|\&|\/)\s*plan)|(?:a\s*(?:\&|\/)\s*p))(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>assessment/plan</label>
+ </section>
+ <!-- ATTENDING MD -->
+ <section>
+ <regex>(?:attend(?:ing)?(?:\s+physician)?\s*\:)</regex>
+ <label>attending md</label>
+ </section>
+ <section>
+ <regex ignore-case="false">([A-Z]{2,2}\d{3,3}\/\d{4,4}\s+[A-Z]+\s+([A-Z]\.\s+)?[A-Z]+\s+\,(?:\s+(?:jr|iii)\s*\,\s*)?\s+M\.D\.)\s*\:</regex>
+ <label>attending md</label>
+ </section>
+ <!-- CHIEF COMPLAINT -->
+ <section>
+ <regex find-all="false">(?:(?:chief\s+complaint)|(?:patient\s+states\s+complaint)\s*\:)</regex>
+ <label>chief complaint</label>
+ </section>
+ <!-- CLINICAL FINDINGS -->
+ <section>
+ <regex>((clinical\s+findings?)\s*\:)</regex>
+ <label>clinical findings</label>
+ </section>
+ <!-- CODE STATUS -->
+ <section>
+ <regex find-all="false">(?:((code(?:\s+status)?)\s*\:))</regex>
+ <label>code status</label>
+ </section>
+ <!-- COMMENTS -->
+ <section>
+ <regex>(((?:additional\s+)comments)\s*\:)</regex>
+ <label>comments</label>
+ </section>
+ <!-- COMPLICATIONS -->
+ <section>
+ <regex find-all="false">(?:((complications?)\s*\:))</regex>
+ <label>complications</label>
+ </section>
+ <!--CONDITION -->
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>)?(condition)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>condition</label>
+ </section>
+ <!-- CONSULTANTS -->
+ <section>
+ <regex>((consultants?)\s*\:)</regex>
+ <label>consultants</label>
+ </section>
+ <!-- CONSULTATION SUMMARY -->
+ <section>
+ <regex>((consults)\s*\:)</regex>
+ <label>consultation summary</label>
+ </section>
+ <!--DATE OF BIRTH -->
+ <section>
+ <regex>date\s+of\s+birth\s*\:</regex>
+ <label>date of birth</label>
+ </section>
+ <!--DATE OF EXPIRATION -->
+ <section>
+ <regex>date\s+of\s+expiration\s*\:</regex>
+ <label>date of expiration</label>
+ </section>
+ <!-- DIAGNOSES -->
+ <section>
+ <regex>(((?:principal\s+discharge\s+diagnosis\s*;\s*responsible\s+after\s+study\s+for\s+causing\s+admission\s*\)\s?))\s?)</regex>
+ <label>diagnoses</label>
+ </section>
+ <section>
+ <regex>((?:other\s+diagnosis\s*;\s*conditions\s*\,\s*infections\s*,\s*complications\s*,\s*affecting\s+treatment\s*\/?\s*stay)\s?)</regex>
+ <label>diagnoses</label>
+ </section>
+ <section>
+ <regex>(((?:cause\s+of\s+death\s+and\s+)?((?:final|principal|principle|primary|associated|secondary|additional|other)\s+)?(((?:pre-)?admission|admit(?:ting)?|discharge|(?:pre|post)?operative)\s+)?(?:problems\s+and\s+)?diagnos[ei]s(?:\s*\(\s*es\s*\))?)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>diagnoses</label>
+ </section>
+ <!-- DICTATION\/AUTHOR DETAILS -->
+ <section>
+ <regex>((?:(?:(?:entered|dictated)\s+by\b)|dictator)\s*\:)</regex>
+ <label>dictation/author details</label>
+ </section>
+ <section>
+ <regex ignore-case="false">((?:(?:[A-Z]+\.?)\s+)*[A-Z]+\s*\,\s+M\.D\.\s+DICTATING\s+FOR\s*\:)</regex>
+ <label>dictation/author details</label>
+ </section>
+ <section>
+ <regex ignore-case="false">(This\s+report\s+was\s+created\s+by\s+[A-Z])</regex>
+ <label>dictation/author details</label>
+ </section>
+ <!-- DIET -->
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>)?(diet)\s*\:)</regex>
+ <label>diet</label>
+ </section>
+ <!-- DISCHARGE ACTIVITY -->
+ <section>
+ <regex>(((?:discharge\s+)?activity)\s*\:)</regex>
+ <label>discharge activity</label>
+ </section>
+ <section>
+ <regex>(^((?:discharge\s+)?activity)\s*)(\n)</regex>
+ <label>discharge activity</label>
+ </section>
+ <!-- DISCHARGE DATE -->
+ <section>
+ <regex>((discharge\s+date)|(date\s+of\s+discharge))\s*\:</regex>
+ <label>discharge date</label>
+ </section>
+ <!-- DISCHARGE DETAILS -->
+ <section>
+ <regex>((discharge\s+patient\s+on)\s*\:)</regex>
+ <label>discharge details</label>
+ </section>
+ <!-- DISCHARGE ORDERS -->
+ <section>
+ <regex>(((?:doctor\'?s\s+)?discharge\s+orders)\s*\:)</regex>
+ <label>discharge orders</label>
+ </section>
+ <!-- DISCHARGE NOTIFICATION SUMMARY -->
+ <section>
+ <regex>(ed\s+discharge\s+notification\s*\/\s*summary)(\s+)</regex>
+ <label>discharge notification summary</label>
+ </section>
+ <!-- DISPOSITION -->
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>)?(disposition)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>disposition</label>
+ </section>
+ <!-- EMERGENCY DEPARTMENT COURSE -->
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?((?:ed\s+course)|(?:emergency\s+department\s+course)|(?:in\s+(?:the\s+)?ed|\bed))<fragment-ref name="right-descr-mods"/>?(\s*\:|\*+))</regex>
+ <label>emergency department course</label>
+ </section>
+ <!-- EVALUATION DATE -->
+ <section>
+ <regex>evaluation\s+date\s*\:</regex>
+ <label>evaluation date</label>
+ </section>
+ <!-- EVENTS -->
+ <section>
+ <regex>((events)\s*\:)</regex>
+ <label>events</label>
+ </section>
+ <!-- FAMILY HISTORY -->
+ <section>
+ <regex find-all="false">(?:(?:<fragment-ref name="famhistory"/>)\s*\:)</regex>
+ <label>family history</label>
+ </section>
+ <section>
+ <regex ignore-case="false" find-all="false">(?:(?:FAMILY\s+HISTORY\s+[a-z]+))</regex>
+ <label>family history</label>
+ </section>
+ <!-- FOLLOW-UP -->
+ <section>
+ <regex>((discharged?\s+wound\s+care)\s*\:)</regex>
+ <label>discharge wound care</label>
+ </section>
+ <section>
+ <regex>(((?:discharged?\s+follow[\s\-]?up(?:\s+care)?)|((?:standardized\s+)?discharge\s+orders\s+\(\s+medications\s+instructions\s+to\s+patient\s+\,\s+follow-up\s+care\s+\))|(disposition\s*\,\s+follow[\s+\-]up\s+and\s+instructions\s+to\s+patient)|(?:follow[\s\-]?up))\s*\:)</regex>
+ <label>follow-up</label>
+ </section>
+ <section>
+ <regex>((((?:discharged?\s+follow[\s\-]?up(?:\s+care)?))|((?:standardized\s+)?discharge\s+orders\s+\(\s+medications\s+instructions\s+to\s+patient\s+\,\s+follow-up\s+care\s+\))|(disposition\s*\,\s+follow[\s+\-]up\s+and\s+instructions\s+to\s+patient)|(?:follow[\s\-]?up))\s*)(\n)</regex>
+ <label>follow-up</label>
+ </section>
+ <!-- GENDER -->
+ <section>
+ <regex>sex\s*\:</regex>
+ <label>gender</label>
+ </section>
+ <!-- HEALTH STATUS -->
+ <section>
+ <regex>^(health\s+status)\s*(\n)</regex>
+ <label>health status</label>
+ </section>
+ <!-- HISTORY OF PRESENT ILLNESS/REASON FOR HOSPITALIZATION -->
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(?:history\s+(?:of\s+(?:the\s+)?)?(?:present|physical)\s+illness|hpi)\s+and\s+(?:(?:history\s+and\s+)?reasons?\s+(?:for\s+)?(?:hospitalization|admission|admit))\s*\:)</regex>
+ <label>history of present illness/reason for hospitalization</label>
+ </section>
+ <section>
+ <regex find-all="false">((?:(?:history\s+and\s+)?reasons?\s+(?:for\s+)?(?:hospitalization|admission|admit))\s*\:)</regex>
+ <label>reason for hospitalization</label>
+ </section>
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(((history\s+(of\s+(the\s+)?)?)?(present|physical)\s+illness)|hpi)\s*\:)</regex>
+ <label>history of present illness</label>
+ </section>
+ <section>
+ <regex>(((?:history\s+(?:of\s+(?:the\s+)?)?(?:present|physical)\s+illness)|hpi)\s*)\n</regex>
+ <label>history of present illness</label>
+ </section>
+ <section>
+ <regex>(^(<fragment-ref name="left-descr-mods"/>)?((?:clinical\s+)?history)\s*\:)</regex>
+ <label>history of present illness</label>
+ </section>
+ <!-- HOSPITAL COURSE -->
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(?:hosp(?:ital)?\s+course(?:\s+and\s+treatment)?)|(?:summary\s+of\s+hospitalization)<fragment-ref name="right-descr-mods"/>?(\s*\:|\*+|\-+))</regex>
+ <label>hospital course</label>
+ </section>
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(?:hosp(?:ital)?\s+course(?:\s+and\s+treatment)?)|(?:summary\s+of\s+hospitalization)<fragment-ref name="right-descr-mods"/>?)(\s*\n)</regex>
+ <label>hospital course</label>
+ </section>
+ <section>
+ <regex>(\*+(hosp(?:ital)?\s+course(?:\s+and\s+treatment)?)|(?:summary\s+of\s+hospitalization))</regex>
+ <label>hospital course</label>
+ </section>
+ <section>
+ <regex>((hosp(?:ital)?\s+course(\s+and\s+treatment)?)|(summary\s+of\s+hospitalization)<fragment-ref name="right-descr-mods"/>\s+([a-z]+|\())</regex>
+ <label>hospital course</label>
+ </section>
+ <!-- IMPRESSION -->
+ <section>
+ <regex find-all="false">((impressions?|imp)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>impression</label>
+ </section>
+ <!-- IMPRESSION\/PLAN -->
+ <section>
+ <regex>((?:impression\s+and\s+plan)\s*\:)</regex>
+ <label>impression/plan</label>
+ </section>
+ <!-- IMPRESSION\/PLAN -->
+ <section>
+ <regex>((?:impression\s+and\s+plan)\s*)(\n)</regex>
+ <label>impression/plan</label>
+ </section>
+ <!-- INSTRUCTIONS -->
+ <section>
+ <regex>(((<fragment-ref name="left-time-mods"/>)|(<fragment-ref name="left-descr-mods"/>))+(instructions?)(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>instructions</label>
+ </section>
+ <section>
+ <regex>(^(instructions?)(<fragment-ref name="right-time-mods"/>)?\s*)(\n)</regex>
+ <label>instructions</label>
+ </section>
+ <!--LABORATORY/STUDIES -->
+ <section>
+ <regex>((?:(<fragment-ref name="left-time-mods"/>)|(<fragment-ref name="left-descr-mods"/>))?((?:summary\s+of\s+)?(?:(?:diagnostic\s+)?(?:laboratory|labs?|laboratories|diagnostic|radiologic)(?:(?:\s+and\s+)|(?:\/))?\s*(?:radiologic\s+)?(?:studies|data|results|exams?(?:inations?)?|evaluation|values|findings|tests?|x\-rays?)?)|(?:tests\/procedures|(?:studies\/(?:procedures|tests))|(?:proc(?:edures)?\/tests)|tests))(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>laboratory</label>
+ </section>
+ <section>
+ <regex>(((?:new|discrete|(?:today\s+\'s))\s+results(?:\s+only)?)\s*\:)</regex>
+ <label>laboratory</label>
+ </section>
+ <section>
+ <regex>(((?:new|discrete|(?:today\s+\'s))\s+results(?:\s+only)?)\s*)\n</regex>
+ <label>laboratory</label>
+ </section>
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>)\s*data(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>laboratory</label>
+ </section>
+ <section>
+ <regex>((?:\-+|\*+|\_+)\s*)(data(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>laboratory</label>
+ </section>
+ <!-- MEDICATION -->
+ <section>
+ <regex>(<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="medication1"/>)(<fragment-ref name="right-time-mods"/>)?(<fragment-ref name="be"/>|<fragment-ref name="include"/>)?\s*\:</regex>
+ <label>medication</label>
+ </section>
+ <section>
+ <regex>^(<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="medication1"/>)(<fragment-ref name="right-time-mods"/>)?(<fragment-ref name="be"/>|<fragment-ref name="include"/>)?\s*\n</regex>
+ <label>medication</label>
+ </section>
+ <section>
+ <regex>(<fragment-ref name="left-time-mods"/>)(<fragment-ref name="medication2"/>)(<fragment-ref name="right-time-mods"/>)?(<fragment-ref name="be"/>|<fragment-ref name="include"/>?\s*\:)</regex>
+ <label>medication</label>
+ </section>
+ <section>
+ <regex>^(<fragment-ref name="medication2"/>)(<fragment-ref name="right-time-mods"/>)?(<fragment-ref name="be"/>|<fragment-ref name="include"/>?\s*\:)</regex>
+ <label>medication</label>
+ </section>
+ <section>
+ <regex>((<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="medication1"/>)\s+on\s+transfer\s+from(\s+[A-Z]+)+(<fragment-ref name="be"/>|<fragment-ref name="include"/>)?\s*\:)</regex>
+ <label>medication</label>
+ </section>
+ <section>
+ <regex ignore-case="false" >(MEDICATIONS(<fragment-ref name="right-time-mods"/>)?)(\s+[a-z]+)</regex>
+ <label>medication</label>
+ </section>
+ <!--OB-GYN HISTORY -->
+ <section>
+ <regex>(((?:(?:past\s+)?ob\-gyn\s+history))\s*\:)</regex>
+ <label>ob-gyn history</label>
+ </section>
+ <section>
+ <regex>(((?:past\s+obstetric\s+history))\s*\:)</regex>
+ <label>obstetric history</label>
+ </section>
+ <section>
+ <regex>^(((?:past\s+gyn(?:ocologic(?:al)?)?\s+history))\s*\:)</regex>
+ <label>gynocologic history</label>
+ </section>
+ <!-- OBJECTIVE -->
+ <section>
+ <regex find-all="false">(?:objective\s*\:?\n)</regex>
+ <label>objective</label>
+ </section>
+ <section>
+ <regex find-all="false">(?:^o\s*\:\n)</regex>
+ <label>objective</label>
+ </section>
+ <!--OPERATIONS/PROCEDURES -->
+ <section>
+ <regex>(((?:((?:principal|principle|primary|special)\s+)?(?:operations?\s+(?:and|or)\s+)?procedures?(\s+(?:and|or)\s+operations?)?(?:\s+performed)?)|(operations\s*\/\s*procedures)|(?:operations?))\s*\:)</regex>
+ <label>operations/procedures</label>
+ </section>
+ <section>
+ <regex>((((?:associated|secondary|additional|other)\s+)(?:operations?\s+(?:and|or)\s+)?procedures?(\s+(?:and|or)\s+operations?)?)\s*\:)</regex>
+ <label>operations/procedures</label>
+ </section>
+ <section>
+ <regex>((procedure\s+note)\s*\:)</regex>
+ <label>procedure description</label>
+ </section>
+ <section>
+ <regex>((procedure\s+in\s+detail)\s*\:)</regex>
+ <label>procedure description</label>
+ </section>
+ <section>
+ <regex>((postpartum\s+diagnostic\s+procedures)\s*\:)</regex>
+ <label>postpartum diagnostic procedures</label>
+ </section>
+ <section>
+ <regex>((postpartum\s+therapeutic\s+procedures)\s*\:)</regex>
+ <label>postpartum therapeutic procedures</label>
+ </section>
+ <section>
+ <regex>((other\s+postpartum\s+therapies)\s*\:)</regex>
+ <label>other poastpartum treatment</label>
+ </section>
+ <section>
+ <regex>^procedure:\s*$</regex>
+ <label>operations/procedures</label>
+ </section>
+ <!-- PAST CARDIAC HISTORY -->
+ <section>
+ <regex>((past\s+cardiac\s+history)\s*\:)</regex>
+ <label>past cardiac history</label>
+ </section>
+ <!-- PAST MEDICAL HISTORY -->
+ <section>
+ <regex>(past\s+(medical\s+)?history|medical\s+history|pmhx?|pmedhx)\s*\:</regex>
+ <label>past medical history</label>
+ </section>
+ <section>
+ <regex>((past\s+(?:medical\s+)?history|medical\s+history|pmhx?|pmedhx)\/(<fragment-ref name="sochistory"/>)\s*\:)</regex>
+ <label>past medical history</label>
+ </section>
+ <!-- PAST SURGICAL HISTORY -->
+ <section>
+ <regex>(past\s+surgical\s+history)\s*\:</regex>
+ <label>past surgical history</label>
+ </section>
+ <!-- PATIENT INFO -->
+ <section>
+ <regex ignore-case="false">(\*+\s+(FINAL\s+)?DISCHARGE\s+ORDERS\s+\*+)</regex>
+ <label>patient info</label>
+ </section>
+ <!-- PHYSICAL EXAMINATION -->
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="physicalexam1"/>|<fragment-ref name="physicalexam2"/>)(<fragment-ref name="right-time-mods"/>)?<fragment-ref name="right-location-mods"/>?(?:\s*\:|\-[^a-z]))</regex>
+ <label>physical examination</label>
+ </section>
+ <section>
+ <regex>((<fragment-ref name="left-descr-mods"/>)?(<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="physicalexam1"/>|<fragment-ref name="physicalexam2"/>)(<fragment-ref name="right-time-mods"/>)?(<fragment-ref name="right-location-mods"/>)?)((\s+vss?)(?:\s*\:|\-[^a-z]))</regex>
+ <label>physical examination</label>
+ </section>
+ <section>
+ <regex>((?:\-+|\*+|\_+|(<fragment-ref name="left-descr-mods"/>))\s*(?:exam(?:ination)?(?:\s+data)?(<fragment-ref name="right-time-mods"/>)\s*\:))</regex>
+ <label>physical examination</label>
+ </section>
+ <section>
+ <regex>^((<fragment-ref name="left-time-mods"/>)(?:exam(?:ination)?)(?:\s*\:))</regex>
+ <label>physical examination</label>
+ </section>
+ <section>
+ <regex>^((<fragment-ref name="left-descr-mods"/>)?(<fragment-ref name="left-time-mods"/>)?(<fragment-ref name="physicalexam1"/>|<fragment-ref name="physicalexam2"/>))(\n)</regex>
+ <label>physical examination</label>
+ </section>
+ <!-- PLAN -->
+ <section>
+ <regex ignore-case="false">(?:^((<fragment-ref name="left-time-mods"/>)?(\bplans?)(\s*\:[^\d]|\s*\*)))</regex>
+ <label>plan</label>
+ </section>
+ <section>
+ <regex ignore-case="false">(?:^((<fragment-ref name="left-time-mods"/>)?(\bplans?))(\s*\n))</regex>
+ <label>plan</label>
+ </section>
+ <!-- PLAN: DISPOSITION/PLAN -->
+ <section>
+ <regex>(((?:disposition\s*(?:and|\&|\/)\s*plan)|(?:disposition\s*(?:\&|\/)plan))(<fragment-ref name="right-time-mods"/>)?\s*\:)</regex>
+ <label>plan</label>
+ </section>
+ <!-- PLAN: TO DO\/PLAN -->
+ <section>
+ <regex>(((?:to\s+do\s*\/\s*plans?))\s*\:)</regex>
+ <label>plan</label>
+ </section>
+ <!-- PRELIMINARY REPORT CONTENT -->
+ <section>
+ <regex>(($pch)\s*\:)(\s+)</regex>
+ <label>preliminary report content</label>
+ </section>
+ <!-- PREOPERATIVE STATUS -->
+ <section>
+ <regex>((preoperative\s+(?:cardiac\s+)?status)\s*\:)</regex>
+ <label>preoperative stastus</label>
+ </section>
+ <!-- PREVIOUS CARDIOVASCULAR INTERVENTIONS -->
+ <section>
+ <regex>((previous\s+cardiovascular\s+interventions?)\s*\:)</regex>
+ <label>previous cardiovascular interventions</label>
+ </section>
+ <!-- PRIMARY CARE PHYSICIAN -->
+ <section>
+ <regex find-all="false">(?:pcp\s+name\s*\:)</regex>
+ <label>primary care physician</label>
+ </section>
+ <!-- PROBLEMS -->
+ <section>
+ <regex>(((?:(?:patient\s+)?problem\s+list)|(?:significant\s+problems)|(?:(?:(?:his|her)\s+)?problems\s+and\s+management\s+are\s+as\s+follows) )<fragment-ref name="right-descr-mods"/>?\s*[\:;\*+])</regex>
+ <label>problems</label>
+ </section>
+ <!-- RADIOLOGY -->
+ <section>
+ <regex find-all="false">(?:(?:radiology(?:\s+(?:studies|data|results))?)\s*\:)</regex>
+ <label>radiology</label>
+ </section>
+ <!-- REASON FOR CONSULTATION -->
+ <section>
+ <regex find-all="false">(?:reason\s+(?:for\s+)?consultation\s*\:)</regex>
+ <label>reason for consultation</label>
+ </section>
+ <!-- REPORT STATUS -->
+ <section>
+ <regex>((report\s+status)\s*\:)</regex>
+ <label>report status</label>
+ </section>
+ <!--REVIEW OF SYSTEMS -->
+ <section>
+ <regex find-all="false">(?:(review\s+(?:of\s+)?systems|ros)\s*\:)</regex>
+ <label>review of systems</label>
+ </section>
+ <section>
+ <regex ignore-case="false" find-all="false">(?:(REVIEW\s+OF\s+SYSTEMS)(\s+[a-z]+))</regex>
+ <label>review of systems</label>
+ </section>
+ <!-- SERVICE SPRECIALTY -->
+ <section>
+ <regex find-all="false">(?:service\s*\:)</regex>
+ <label>service specialty</label>
+ </section>
+ <!-- SOCIAL HISTORY -->
+ <section>
+ <regex>(?:^(<fragment-ref name="sochistory"/>)\s*\:)</regex>
+ <label>social history</label>
+ </section>
+ <section>
+ <regex ignore-case="false" find-all="false">(?:((SOCIAL\s+HISTORY|HABITS))(\s+[a-z]+))</regex>
+ <label>social history</label>
+ </section>
+ <!-- SUBJECTIVE -->
+ <section>
+ <regex find-all="false">(?:subjective\s*\:?\n)</regex>
+ <label>subjective</label>
+ </section>
+ <section>
+ <regex find-all="false">(?:^s\s*\:\n)</regex>
+ <label>subjective</label>
+ </section>
+ <!-- TRANSCRIPTION DETAILS -->
+ <section>
+ <regex>(((?:escription\s+document)|batch)\s*\:)</regex>
+ <label>transcription details</label>
+ </section>
+ <!-- TREATMENT -->
+ <section>
+ <regex>(((?:treatment\s+rendered))\s*\:?)</regex>
+ <label>treatment</label>
+ </section>
+ <section>
+ <regex>((((?:other\s+treatments?\s*\/\s*procedures\s+\(\s+not\s+in\s+o\.r\.\s+\)))|(other\s+treatments?\s+and\s+procedures))\s*\:?)</regex>
+ <label>other treatments/procedures</label>
+ </section>
+ <!-- UNIT NUMBER -->
+ <section>
+ <regex find-all="false">(?:unit\s+number\s*\:)</regex>
+ <label>unit number</label>
+ </section>
+ <!-- WORK RETURN -->
+ <section>
+ <regex>((return\s+to\s+work)\s*\:)</regex>
+ <label>work return</label>
+ </section>
+ <!-- SECTIONS for Mayo style radiology reports -->
+ <section>
+ <regex>(?:<fragment-ref name="mayodate"/>\s+Exam\:)</regex>
+ <label>radiology exam type</label>
+ </section>
+ <section>
+ <regex>(?:ORIGINAL REPORT)</regex>
+ <label>radiology exam report</label>
+ </section>
+ <section>
+ <regex>(?:<fragment-ref name="mayodate2"/>\s+\*+\s+Final\s+\*+)</regex>
+ </section>
+ <section>
+ <regex>(?:Indications\:)</regex>
+ <label>reason for examination</label>
+ </section>
+</sections>
+</root>
+
Propchange: incubator/ctakes/trunk/ctakes-assertion-zoner/src/main/resources/org/mitre/medfacts/uima/section_regex.04162012.xml
------------------------------------------------------------------------------
svn:executable = *