public class ClinicalNotePreProcessor extends org.xml.sax.helpers.DefaultHandler implements PreProcessor
Modifier and Type | Field and Description |
---|---|
private java.lang.StringBuffer |
iv_contiguousTextBuffer |
private DocumentMetaData |
iv_docMetaData |
private int |
iv_examComponentTableDataCnt |
private java.lang.StringBuffer |
iv_examComponentText |
private boolean |
iv_foundProvider1 |
private java.util.List |
iv_headerList |
private boolean |
iv_includeSectionMarkers |
private boolean |
iv_insideAdminData |
private boolean |
iv_insideCaption |
private boolean |
iv_insideExamComponent |
private boolean |
iv_insideHeader |
private boolean |
iv_insideKnownBy |
private boolean |
iv_insideLegalAuth |
private boolean |
iv_insidePatient |
private boolean |
iv_insidePatientEncounter |
private boolean |
iv_insideProvider |
private boolean |
iv_insideSection |
private boolean |
iv_insideServiceLoc |
private boolean |
iv_insideTable |
private boolean |
iv_insideTableData |
private boolean |
iv_insideTableHeader |
private boolean |
iv_insideTableRow |
private boolean |
iv_insideTranscriptionist |
private boolean |
iv_isHospitalSummary |
private Logger |
iv_logger |
private java.lang.String |
iv_previousElement |
private java.lang.String |
iv_sectionIdentifier |
private int |
iv_sectionNestingLevel |
private int |
iv_sectionStartOffset |
private java.lang.StringBuffer |
iv_sectionText |
private java.lang.String |
iv_tableHeaderKeyID |
private int |
iv_tdCounter |
private int |
iv_tdStartOffset |
private java.lang.StringBuffer |
iv_text |
private org.xml.sax.XMLReader |
iv_xmlParser |
static java.lang.String |
MD_KEY_ADMIT_DATE |
static java.lang.String |
MD_KEY_CUSTOMER_ID |
static java.lang.String |
MD_KEY_DISCHARGE_DATE |
static java.lang.String |
MD_KEY_DOC_CONFIDENTIAL_IND |
static java.lang.String |
MD_KEY_DOC_ID |
static java.lang.String |
MD_KEY_DOC_LINK_ID |
static java.lang.String |
MD_KEY_DOC_REVISION_ID |
static java.lang.String |
MD_KEY_DOC_STATUS_CODE |
static java.lang.String |
MD_KEY_EVENT_TYPE_CODE |
static java.lang.String |
MD_KEY_FACILITY_CODE |
static java.lang.String |
MD_KEY_HISTORY_SECTION |
static java.lang.String |
MD_KEY_LOCATION |
static java.lang.String |
MD_KEY_MINUTES_COUNSELING |
static java.lang.String |
MD_KEY_NOTE_DATE |
static java.lang.String |
MD_KEY_PATIENT_CITY |
static java.lang.String |
MD_KEY_PATIENT_CNT |
static java.lang.String |
MD_KEY_PATIENT_STATE |
static java.lang.String |
MD_KEY_PATIENT_STREET_ADDR |
static java.lang.String |
MD_KEY_PATIENT_ZIP |
static java.lang.String |
MD_KEY_PROVIDER_ID |
static java.lang.String |
MD_KEY_PROVIDER2_ID |
static java.lang.String |
MD_KEY_PT_BILLING_CODE |
static java.lang.String |
MD_KEY_PT_BIRTH_DATE |
static java.lang.String |
MD_KEY_PT_BMI |
static java.lang.String |
MD_KEY_PT_BSA |
static java.lang.String |
MD_KEY_PT_GENDER |
static java.lang.String |
MD_KEY_PT_HEAD_CIRCUMFERENCE |
static java.lang.String |
MD_KEY_PT_HEIGHT |
static java.lang.String |
MD_KEY_PT_RESPIRATORY_RATE |
static java.lang.String |
MD_KEY_PT_TEMPERATURE |
static java.lang.String |
MD_KEY_PT_WEIGHT |
static java.lang.String |
MD_KEY_REV_DATE |
static java.lang.String |
MD_KEY_SERVICE_CODE |
static java.lang.String |
MD_KEY_SIGNATURE_DATE |
static java.lang.String |
MD_KEY_SIGNATURE_ID |
static java.lang.String |
MD_KEY_SITE_CODE |
static java.lang.String |
MD_KEY_TOTAL_TIME |
static java.lang.String |
MD_KEY_TRANSCRIBER_ID |
static java.lang.String |
MD_KEY_TRANSCRIPTION_DATE |
static int |
UNKNOWN_TABLE_TYPE |
Constructor and Description |
---|
ClinicalNotePreProcessor(java.io.InputStream dtdFile,
boolean includeSectionMarkers)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch,
int start,
int length) |
private java.lang.String |
compress(java.lang.StringBuffer sb) |
private long |
convertTime(java.lang.String drmStr)
Given a drm string that may or may not contain the time, this method will
return a string.
|
void |
endDocument() |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
private java.lang.String |
getSectionEndMarker(java.lang.String id) |
private java.lang.String |
getSectionStartMarker(java.lang.String id) |
private void |
newTextNode()
Called when a fully contiguous text node has been found.
|
DocumentMetaData |
process(java.lang.String xml)
Process a document to retrieve meta data about the document.
|
private void |
replaceNonAsciiChars(java.lang.StringBuffer sb,
char replacementChar)
Replaces any non-ascii characters with the specified char.
|
void |
startDocument() |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes attributes) |
private Logger iv_logger
public static final java.lang.String MD_KEY_PATIENT_STREET_ADDR
public static final java.lang.String MD_KEY_PATIENT_CITY
public static final java.lang.String MD_KEY_PATIENT_STATE
public static final java.lang.String MD_KEY_PATIENT_ZIP
public static final java.lang.String MD_KEY_PATIENT_CNT
public static final java.lang.String MD_KEY_DOC_ID
public static final java.lang.String MD_KEY_DOC_LINK_ID
public static final java.lang.String MD_KEY_DOC_REVISION_ID
public static final java.lang.String MD_KEY_NOTE_DATE
public static final java.lang.String MD_KEY_REV_DATE
public static final java.lang.String MD_KEY_ADMIT_DATE
public static final java.lang.String MD_KEY_DISCHARGE_DATE
public static final java.lang.String MD_KEY_SERVICE_CODE
public static final java.lang.String MD_KEY_SITE_CODE
public static final java.lang.String MD_KEY_FACILITY_CODE
public static final java.lang.String MD_KEY_PT_BIRTH_DATE
public static final java.lang.String MD_KEY_PT_HEIGHT
public static final java.lang.String MD_KEY_PT_WEIGHT
public static final java.lang.String MD_KEY_PT_HEAD_CIRCUMFERENCE
public static final java.lang.String MD_KEY_PT_GENDER
public static final java.lang.String MD_KEY_PT_BMI
public static final java.lang.String MD_KEY_PT_BSA
public static final java.lang.String MD_KEY_PT_TEMPERATURE
public static final java.lang.String MD_KEY_PT_BILLING_CODE
public static final java.lang.String MD_KEY_PT_RESPIRATORY_RATE
public static final java.lang.String MD_KEY_EVENT_TYPE_CODE
public static final java.lang.String MD_KEY_DOC_CONFIDENTIAL_IND
public static final java.lang.String MD_KEY_DOC_STATUS_CODE
public static final java.lang.String MD_KEY_HISTORY_SECTION
public static final java.lang.String MD_KEY_LOCATION
public static final java.lang.String MD_KEY_MINUTES_COUNSELING
public static final java.lang.String MD_KEY_TOTAL_TIME
public static final java.lang.String MD_KEY_PROVIDER_ID
public static final java.lang.String MD_KEY_PROVIDER2_ID
public static final java.lang.String MD_KEY_SIGNATURE_ID
public static final java.lang.String MD_KEY_SIGNATURE_DATE
public static final java.lang.String MD_KEY_TRANSCRIBER_ID
public static final java.lang.String MD_KEY_TRANSCRIPTION_DATE
public static final java.lang.String MD_KEY_CUSTOMER_ID
private DocumentMetaData iv_docMetaData
private boolean iv_insideHeader
private boolean iv_insideAdminData
private boolean iv_insideTranscriptionist
private boolean iv_insidePatient
private boolean iv_insideKnownBy
private boolean iv_insidePatientEncounter
private boolean iv_insideLegalAuth
private boolean iv_insideProvider
private boolean iv_foundProvider1
private boolean iv_insideServiceLoc
private boolean iv_isHospitalSummary
private int iv_sectionStartOffset
private java.lang.String iv_sectionIdentifier
private int iv_sectionNestingLevel
private boolean iv_insideSection
private boolean iv_insideCaption
public static final int UNKNOWN_TABLE_TYPE
private boolean iv_insideTable
private boolean iv_insideTableRow
private boolean iv_insideTableHeader
private boolean iv_insideTableData
private java.lang.String iv_tableHeaderKeyID
private int iv_tdStartOffset
private int iv_tdCounter
private boolean iv_insideExamComponent
private int iv_examComponentTableDataCnt
private java.lang.StringBuffer iv_examComponentText
private java.util.List iv_headerList
private org.xml.sax.XMLReader iv_xmlParser
private java.lang.StringBuffer iv_sectionText
private java.lang.StringBuffer iv_text
private boolean iv_includeSectionMarkers
private java.lang.String iv_previousElement
private java.lang.StringBuffer iv_contiguousTextBuffer
public ClinicalNotePreProcessor(java.io.InputStream dtdFile, boolean includeSectionMarkers) throws org.xml.sax.SAXException, java.io.FileNotFoundException
dtdFile
- File object pointing to DTD.includeSectionMarkers
- Flag that determines whether the section markers are included
as part of the section.org.xml.sax.SAXException
java.io.FileNotFoundException
public DocumentMetaData process(java.lang.String xml) throws java.lang.Exception
PreProcessor
process
in interface PreProcessor
java.lang.Exception
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
startElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
ContentHandler.startElement(java.lang.String,
java.lang.String, java.lang.String, org.xml.sax.Attributes)
public void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
characters
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
ContentHandler.endElement(java.lang.String,
java.lang.String, java.lang.String)
public void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
startDocument
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
ContentHandler.startDocument()
public void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
endDocument
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
ContentHandler.endDocument()
private void newTextNode()
private java.lang.String getSectionStartMarker(java.lang.String id)
private java.lang.String getSectionEndMarker(java.lang.String id)
private java.lang.String compress(java.lang.StringBuffer sb)
private long convertTime(java.lang.String drmStr) throws java.lang.Exception
drmStr
- java.lang.Exception
private void replaceNonAsciiChars(java.lang.StringBuffer sb, char replacementChar)
sb
-