You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2019/11/30 18:30:30 UTC

svn commit: r1870633 - in /ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc: FhirJsonFileWriter.java FhirJsonWriter.java

Author: seanfinan
Date: Sat Nov 30 18:30:30 2019
New Revision: 1870633

URL: http://svn.apache.org/viewvc?rev=1870633&view=rev
Log:
Add configuration parameter WriteNlpFhir, refactor

Modified:
    ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonFileWriter.java
    ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonWriter.java

Modified: ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonFileWriter.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonFileWriter.java?rev=1870633&r1=1870632&r2=1870633&view=diff
==============================================================================
--- ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonFileWriter.java (original)
+++ ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonFileWriter.java Sat Nov 30 18:30:30 2019
@@ -1,18 +1,14 @@
 package org.apache.ctakes.fhir.cc;
 
-import ca.uhn.fhir.context.FhirContext;
-import ca.uhn.fhir.parser.IParser;
 import org.apache.ctakes.core.cc.AbstractJCasFileWriter;
 import org.apache.ctakes.core.config.ConfigParameterConstants;
 import org.apache.ctakes.core.pipeline.PipeBitInfo;
-import org.apache.ctakes.fhir.resource.PractitionerCtakes;
 import org.apache.log4j.Logger;
 import org.apache.uima.analysis_engine.AnalysisEngine;
 import org.apache.uima.fit.descriptor.ConfigurationParameter;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.resource.ResourceInitializationException;
-import org.hl7.fhir.dstu3.model.Bundle;
 
 import java.io.*;
 
@@ -47,12 +43,7 @@ public class FhirJsonFileWriter extends
    @Override
    public void writeFile( final JCas jCas, final String outputDir,
                           final String documentId, final String fileName ) throws IOException {
-      final Bundle bundle = FhirDocComposer.composeDocFhir( jCas, PractitionerCtakes.getInstance(), _writeNlpFhir );
-
-      final FhirContext fhirContext = FhirContext.forDstu3();
-      final IParser jsonParser = fhirContext.newJsonParser();
-      jsonParser.setPrettyPrint( true );
-      final String json = jsonParser.encodeResourceToString( bundle );
+      final String json = FhirJsonWriter.createJson( jCas, _writeNlpFhir );
 
       final File file = new File( outputDir, fileName + ".json" );
       try ( Writer writer = new BufferedWriter( new FileWriter( file ) ) ) {

Modified: ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonWriter.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonWriter.java?rev=1870633&r1=1870632&r2=1870633&view=diff
==============================================================================
--- ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonWriter.java (original)
+++ ctakes/trunk/ctakes-fhir/src/main/java/org/apache/ctakes/fhir/cc/FhirJsonWriter.java Sat Nov 30 18:30:30 2019
@@ -8,6 +8,7 @@ import org.apache.log4j.Logger;
 import org.apache.uima.UimaContext;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.hl7.fhir.dstu3.model.Bundle;
@@ -26,6 +27,14 @@ import org.hl7.fhir.dstu3.model.Bundle;
 )
 final public class FhirJsonWriter extends JCasAnnotator_ImplBase {
 
+   @ConfigurationParameter(
+         name = "WriteNlpFhir",
+         description = "Write all nlp information (paragraph, sentence, base annotations) to FHIR.",
+         mandatory = false,
+         defaultValue = "false"
+   )
+   private boolean _writeNlpFhir;
+
    static private final Logger LOGGER = Logger.getLogger( "FhirJsonWriter" );
 
    /**
@@ -47,12 +56,7 @@ final public class FhirJsonWriter extend
    public void process( final JCas jCas ) throws AnalysisEngineProcessException {
       LOGGER.info( "Processing ..." );
 
-      final Bundle bundle = FhirDocComposer.composeDocFhir( jCas, PractitionerCtakes.getInstance(), false );
-
-      final FhirContext fhirContext = FhirContext.forDstu3();
-      final IParser jsonParser = fhirContext.newJsonParser();
-      jsonParser.setPrettyPrint( true );
-      final String json = jsonParser.encodeResourceToString( bundle );
+      final String json = createJson( jCas, _writeNlpFhir );
       System.out.println( json );
       System.out.println();
       System.out.println();
@@ -60,5 +64,16 @@ final public class FhirJsonWriter extend
       LOGGER.info( "Finished." );
    }
 
+   static public String createJson( final JCas jCas ) {
+      return createJson( jCas, false );
+   }
+
+   static public String createJson( final JCas jCas, final boolean writeNlp ) {
+      final Bundle bundle = FhirDocComposer.composeDocFhir( jCas, PractitionerCtakes.getInstance(), writeNlp );
+      final FhirContext fhirContext = FhirContext.forDstu3();
+      final IParser jsonParser = fhirContext.newJsonParser();
+      jsonParser.setPrettyPrint( true );
+      return jsonParser.encodeResourceToString( bundle );
+   }
 
 }