SOAPwareXchange
Technical Specifications
& Instructions
Introduction
What is SOAPwareXchange?
SOAPwareXchange is an add-on module for SOAPware® that allows communication between SOAPware® and other systems. SOAPwareXchange was specifically designed for Patient Management System integrations, but can also accept other types of information, like lab reports and patient encounters*.
SOAPwareXchange allows other systems to automatically update SOAPware® when new demographic or insurance information is entered. It can import an entire chart, including the summary and Soap note portions. It can even update custom demographic fields.*
SOAPwareXchange can also automatically queue patients in SOAPware® when they check in, saving the medical professional the trouble of searching through Chart Rack to find them. If desired, it can automatically create a new encounter at this time.*
SOAPwareXchange can send back superbill information for patient encounters, significantly reducing paperwork.*
*Note--Not all interfacing systems support all the features of SOAPwareXchange.
How does SOAPwareXchange work?
SOAPwareXchange uses a simple directory structure to communicate with other systems. SOAPwareXchange maintains five directories; an "In" directory, an "Out" directory, an "Error" directory, a "Working" directory, and a "Debug" directory. These directories are always located in the same directory as the SOAPwareXchange program.
SOAPwareXchange, at its simplest, operates in a two-step loop. It scans the "In" directory for new material to process, and then it checks the SOAPware® command queue for new material to process. After a file has been processed, SOAPwareXchange deletes it.
Whenever SOAPwareXchange encounters a file it cannot process, it places the entire file into the "Error" directory and displays the appropriate notification.
So all that is necessary to interface with SOAPware® is exporting a simple text file in the proper format, and depositing it in the specified "In" directory. When SOAPwareXchange has new information (such as a superbill) for the other system, it will build the appropriate file and place it in the "Out" directory.
It is important to remember that simply installing SOAPwareXchange is not enough to establish an interface. SOAPwareXchange is only the SOAPware® half of the interface. System vendors must supply software to enable their systems to export the proper text files and make use of the information SOAPwareXchange provides.
Why use SOAPwareXchange?
The advantages of using SOAPwareXchange over a "direct" interface between two systems include the reduction of development time, reduced programming complexity, and isolation from system changes.
Development time is reduced because most systems already support the ability to export data in a variety of ASCII formats. By working only with ASCII files, it is relatively easy to isolate the problems and find a solution.
Conversely, if two systems are directly tied together, "it's not our system causing the problems" is frequently heard from both sides when there is a problem. In this case it helps to have hard specs and ACSII files to examine.
Finally, systems are continually changing, and this means changes to the underlying database structure that, without SOAPwareXchange, would mean a rewrite of the interface.
Getting Started
Installing SOAPwareXchange
SOAPwareXchange has the same hardware and operating system requirements as SOAPware®. SOAPware® must be installed on the machine before you install SOAPwareXchange.
When you start SOAPwareXchange, you will need to login. Be sure to login to SOAPwareXchange with a SOAPware® user who has sufficient permissions to create and modify charts.
Program Operation
The Settings Menu
| Suspend Operation | Pauses SOAPwareXchange's scan of the In directory. No processing of incoming files will occur until this command is unchecked. |
| Batch Export From SOAPware® | Creates a SOAPwareXchange format file in the Out directory containing demographic information for all patients in SOAPware®. |
| View/Edit Doctor ID Map | Displays the Doctor ID Map |
| Outbox Settings | Displays the Outbox Settings dialog, where the various data items that can be sent from SOAPware® can be enabled or disabled. |
| Date Format | Enables the user to specify one of several date formats for incoming files. |
| Auto-Create Charts | Toggles the chart creation mode. When this item is checked, charts will automatically be created for any incoming records that can't be matched. When this item is not checked, unmatched records will be added to the patient queue for manual assignment. |
| Empty Error Directory | Removes all files from the Error directory. |
| Clear Patient ID Map | Clears the external to internal patient ID map. |
| Auto-Format Names | Toggles name formatting. When this command is checked, names will be standardized so that only the first letter is capitalized. When this command is unchecked, names are entered exactly as they are in the incoming file. |
The Doctor ID Map is used to map external Doctor ID’s to the ID’s used internally by SOAPware. The Doctor ID Map is an essential part of a smoothly operating integration.
The SOAPware® side of the Doctor ID Map is taken care of automatically when you select the physician’s name; the tricky part of setting up the map is determining the values to use for External ID and Billing System. When in doubt, you can look at the export files produced by the billing/scheduling system to determine these values according to the following table:
| Field in Doctor ID Map | Field in Export File |
| External ID | Primary Physician (last element of GDEM line) |
| Billing System | Sender ID (first element of Record Header) |
To add a new entry to the map-
1. Click on the “New Map” button.
2. Select the doctor’s name from the first list box, then type in the external ID and the billing system ID.
3. Click on OK to accept the changes, or Cancel to discard them.
To edit an existing map –
1. Click on the doctor’s name in the entry you wish to modify, and click on “Edit”. The Change ID box will appear. In this box are the current billing system and external ID.
2. Change either or both of them, and click OK to accept or Cancel to discard.
To delete a Doctor ID map –
1. Click on the doctor’s name and click “Delete”.
The Tools Menu
| Check for Updates | Launches a program to check for SOAPwareXchange updates from SOAPware®'s website. |
The Help Menu
| About SOAPwareXchange | Displays versioning information for the SOAPwareXchange program |
Patient Identifiers
SOAPware® uses a Globally Unique Identifier to internally identify patients. This ID is guaranteed unique in the world and, once assigned, will never change for a given data item and never be reused.
A SOAPware® ID looks like the following:
12158761-6ED3-11D0-89FD-00C0F00A2A2E
We realize that not every system will be able to accommodate such a large ID, and that most systems use a much simpler ID based on incrementing a number each time a record is added to the system. Auto-increment ID's work fine in stand-alone systems, but often fail when scaled to the multi-vendor/multi-site implementations SOAPware® is designed for.
For this reason SOAPwareXchange maintains patient ID maps. The map tracks the external system ID, the external ID for the patient, and our internal ID for the patient.
When importing data, SOAPwareXchange uses a sophisticated matching algorithm to match incoming records with SOAPware® patients. The algorithm is shown below and should be thoroughly understood before implementing an interface.
The Matching Algorithm
SOAPwareXchange uses the following algorithm to determine if a patient already exists in the SOAPware® databases or if one needs to be created. After an incoming record has been successfully matched to a SOAPware® patient, a record will be added to the patient ID map with the internal and external ID.
To ensure that patients match properly, always include the patient ID in the PID segment.
SOAPwareXchange attempts to match an external patient record to a SOAPware® patient via the following rules. The rules are considered in order. If a match is not found, the record will be queued or a new chart will be created in SOAPware® for the patient.
An incoming record will be considered to be a match to a SOAPware® patient if:
External ID is found in patient map, AND
Birthdate matches, OR
Last name matches
OR
Social Security numbers match, AND
Birthdate matches, AND
Last name matches, AND
First name matches
OR
Chart numbers match, AND
Birthdate matches, AND
Last name matches, AND
First name matches
OR
First name and Last name matches, AND
Birthdate matches, AND
Sex matches
So a match can be made on
First Name AND Last Name AND Birthdate
AND
Sex OR Chart Number OR Social Security Number
The SOAPwareXchange File Format
SOAPwareXchange uses standard ASCII files to transfer patient information. Each data item is delimited with a comma and each record is delimited with a Carriage Return-Line Feed combination.
To omit a data item, leave the corresponding field in the SOAPwareXchange file blank (it will appear as ,,) This will leave the data item as it is in the SOAPware® database. To empty a data item, put a single space in the corresponding field in the SOAPwareXchange file (it will appear as , ,) This will empty the data item in the SOAPware® database.
Each file can contain multiple patients. A SOAPwareXchange file has the following elements:
Record Header--This tells SOAPwareXchange who is sending the file and includes optional error reporting information. This must appear as the first line of every file and is only included once per file.
Patient ID (PID)--This segment uniquely identifies a patient. Every import section begins with this segment. All subsequent data exchanges or requests in the file will use this patient until the end of the file is reached, or another Patient ID segment is encountered.
Exchange Section--This always follows the Patient ID section and explains what data is to be moved, or what events are to be triggered. This section may contain GDEM, IDEM, CDEM, CONS, CONT, SOAP, SUM, REP, CMDQUEUE, or CMDQUEUENEW segments.
The general layout of a SOAPwareXchange file is:
Record Header <CR><LF>
Patient ID<CR><LF>
Exchange Section<CR><LF>
Patient ID<CR><LF>
Exchange Section<CR><LF>
…
…
…
Patient ID<CR><LF>
ExchangeSection<CR><LF>
<EOF>
The Record Header
The Record Header that begins each file tells SOAPwareXchange the source of the data and any optional error tracking information. The Sender ID that begins each import file is assigned by the interfacing system vendor and once assigned, cannot change. Each system that sends information to SOAPware® must use a unique Sender ID. SOAPwareXchange uses the Sender ID to match external doctor and patient ID's to SOAPware® internal ID's.
Record Header Format
Sender ID (TEXT 36) (This is site defined—it should never be changed after its first use or the External ID mapping files will be invalid. Each system sending information to SOAPwareXchange must have a unique Sender ID)
(The following are site defined and are used to provide feedback in the event of an error)
Send Station (Optional)
Send Date (Optional) (YYYYMMDD)
Send Time (Optional) (HHMMSS)
Optional Description
Sample Record Header
BILL01,Station 1,19970120,145322,Optional text describing who/what/when/where<CR><LF>
Patient ID Format
| Field | Type | Length | Description |
| PID | | | Tells SOAPwareXchange that this is a Patient ID segment |
| External ID | Text | 100 | |
| SOAPware® ID | | | This field is included for internal SOAPware® use only and must never be filled in by an interfacing system. If this field is filled with invalid data, the interface will not function properly. |
| Last Name | Text | 20 | |
| First Name | Text | 20 | |
| Sex | Text | 1 | |
| Birthdate | Text | 8 | YYYYMMDD |
| Social Security | Number/Text | 11 | XXX-XX-XXXX |
| Chart Number | Text | 20 | |
Sample Patient ID Segment
PID,ExternalID,SOAPwareID,LastName,Firstname,Sex,Birthdate,SocialSecurityNumber,ChartNumber<CR><LF>
PID,EXTERNALID,SOAPWAREID,Doe,John,M,19721029,999-88-0000,1234-56743<CR><LF>
General Demographics Format
| Field | Type | Length | Description |
| GDEM | | | Tells SOAPwareXchange that this segment contains General Demographic information |
| Last Name | Text | 20 | |
| First Name | Text | 20 | |
| Middle Initial | Text | 20 | |
| Title | Text | 5 | |
| Suffix | Text | 5 | |
| Street | Text | 20 | |
| Street2 | Text | 20 | |
| City | Text | 20 | |
| State | Text | 5 | |
| Zip | Number | 5 | |
| Home Phone | Text | 20 | |
| Work Phone | Text | 20 | |
| Email | Text | 20 | |
| Sex | Text | 1 | |
| Marital Status | Text | 1 | |
| Birthdate | Number | 8 | YYYYMMDD |
| Fax Number | Text | 20 | |
| Chart Number | Text | 20 | |
| Social Security | Text | 11 | XXX-XX-XXXX |
| Primary Physician ID | Text | 100 | |
Marital Status Values:
I Single
M Married
S Separated
W Widowed
D Divorced
Sample General Demographics Segment
GDEM,LastName,FirstName,MiddleInitial,Title,Suffix,Steert1,Street2,City,State,Zip,
HomePhone,WorkPhone,Email,Sex,MartialStatus,Birthdate,,ChartNumber,SocialSecurityNumber,ProviderID<CR><LF>
GDEM,Doe,John,T,Mr,,111 South St.,Suite 1,Pittsburgh,PA,99999-0989,(999)999-...-88-7777,DrBob<CR><LF>
Custom Demographics Format
| Field | Type | Length | Description |
| CDEM | | | Tells SOAPwareXchange that this is a Custom Demographics Segment |
| Custom1 | Text | 25 | |
| Custom2 | Text | 25 | |
| Custom3 | Text | 25 | |
| Custom4 | Text | 25 | |
| Custom5 | Text | 25 | |
| Custom6 | Text | 25 | |
| Custom7 | Text | 25 | |
| Custom8 | Text | 25 | |
| Custom9 | Text | 25 | |
| Custom10 | Text | 25 | |
| Custom11 | Text | 25 | |
| Custom12 | Text | 25 | |
| Custom13 | Text | Memo | |
Insurance Policy Format
| Field | Type | Length | Description |
| IPOL | | | Tells SOAPwareXchange that this is an Insurance Policy Segment |
| Company Name | Text | 25 | |
| Company Phone | Text | 25 | |
| Company Zip Code | Text | 10 | |
| Copay | Text | 25 | |
| Effective Date (YYYYMMDD) | Text | 8 | |
| Employer | Text | 25 | |
| Expiration Date (YYYYMMDD) | Text | 8 | |
| Group Name | Text | 25 | |
| Group Number | Text | 25 | |
| Insured Address | Text | 25 | |
| Insured Birthdate (YYYYMMDD) | Text | 8 | |
| Insured City | Text | 25 | |
| Insured First Name | Text | 25 | |
| Insured Gender | Text | 10 | |
| Insured Last Name | Text | 25 | |
| Insured Middle Name | Text | 25 | |
| Insured Phone | Text | 25 | |
| Insured Relation Code | Text | 2 | See Table, Next Page |
| Insured State | Text | 2 | |
| Insured Zip | Text | 9 | |
| Plan Name | Text | 25 | |
| Policy Number | Text | 25 | |
| Policy Status | Text | 25 | Possible Values: Primary Secondary Tertiary Inactive |
| | | | |
This segment creates a SOAPware® 5.0 insurance policy for the patient identified in the PID segment. Multiple IPOL segments can appear in one file.
The Insurance Company Name is not transferred directly into the Insurance Company field in SOAPware®. Insurance Companies are entities defined in SOAPware® through the user interface. SOAPware® will look at the company phone number and zip code to attempt to match the incoming company to an entity already defined in SOAPware®. If the match is successful, then the company name will appear in the Insurance Company field of the Policy view in SOAPware®.
If the match is not successful, the company name will be imported as plain text into the Notes field of the Policy view.
SOAPwareXchange will attempt to match an incoming policy to an existing policy in the patient chart. If SOAPwareXchange finds an insurance policy in this patient's chart with the same policy number, it will consider it a match and update the existing policy. If not, it will create a new one.
Insured Relation Codes:
00 Self
01 Spouse
04 Grandfather or Grandmother
05 Grandson or Granddaughter
07 Nephew or Niece
09 Adopted Child
10 Foster Child
15 Ward
17 Stepson or Stepdaughter
19 Child
20 Employee
21 Unknown
22 Handicapped Dependent
23 Sponsored Dependent
24 Dependent of a Minor Dependent
29 Significant Other
32 Mother
33 Father
34 Other Adult
36 Emancipated Minor
39 Organ Donor
40 Cadaver Donor
41 Injured Plaintiff
43 Child Where Insured Has No Financial Responsibility
53 Life Partner
G8 Other Relationship
SOAP note Format
The SOAP note format is more complex than the demographic segments. The SOAP note is necessarily a multi-line format, and special tags are used to delineate the sections of the encounter. Each tag must be on its own line, separated by a carriage return-line feed pair.
The first line in the SOAP note section contains the record-keeping information about the encounter. The following sections contain the actual encounter data.
| Field | Type | Length | Description |
| SOAP | | | Tells SOAPwareXchange that this is a SOAP note segment |
| EncounterDate | Number | 8 | YYYYMMDD |
| EncounterTime | Number | 6 | HHMMSS |
| PhysicianID | Text | 41 | The same external doctor ID used in the demographic sections should be used here |
| <#Start#> | | | Tells SOAPwareXchange to place the coming text in the field |
| Field Text | Text | 64k | |
| <#End#> | | |
|
| <#StartObjective#> | | | Tells SOAPwareXchange to place the coming text in the Objective field |
| Objective Field Text | Text | 64k | |
| <#EndObjective#> | | | Marks the end of the Objective field |
| <#StartAssessment#> | | | Tells SOAPwareXchange to place the coming text in the Assessment field |
| Assessment Field Text | Text | 64k | |
| <#EndAssessment#> | | | Marks the end of the Assessment field |
| <#StartPlan#> | | | Tells SOAPwareXchange to place the coming text in the Plan field |
| Plan Field Text | Text | 64k | |
| <#EndPlan#> | | | Marks the end of the Plan field |
| <#StartRX#> | | | Tells SOAPwareXchange to place the coming text in the Medications field |
| Medications Field Text | Text | 64k | |
| <#EndRX#> | | | Marks the end of the Medications field |
| <#StartFollowUp#> | | | Tells SOAPwareXchange to place the coming text in the Follow Up field |
| Follow Up Field Text | Text | 64k | |
| <#EndFollowUp#> | | | Marks the end of the Follow Up field |
| END_SOAP | | | Marks the end of the SOAP note segment |
Sample SOAP Note Segment
SOAP,19970619,144400,SMITH01
<#Start#>
The patient describes being tense, on edge, tremulous, difficulty relaxing, tachycardia-palpitations, dyspnea.
<#End#>
<#StartObjective#>
GEN: Tense appearing, hypervigilant
<#EndObjective#>
<#StartAssessment#>
Anxiety Syndrome (Tense or nervous) #300.00.
<#EndAssessment#>
<#StartPlan#>
Avoid caffeine and plan for regular physical activity. Practice a relaxtion exercise regularly as well.
<#EndPlan#>
<#StartFollowUp#>
Return if problems develop or worsen.
<#EndFollowUp#>
END_SOAP
Chart Summary Format
The Summary format is complex. The Summary is necessarily a multi-line format, and special tags are used to delineate the sections of the encounter. Each tag must be on its own line, separated by a carriage return-line feed pair.
The first line in the Summary section only command to trigger a new summary document. The following sections contain the actual summary data.
| Field | Type | Length | Description |
| SUM | | | Tells SOAPwareXchange that this is a Summary segment |
| <#StartActiveProblems#> | | | Tells SOAPwareXchange to place the coming text in the Active Problems field |
| Active Problems Text | Text | 64k | |
| <#EndActiveProblems#> | | | Marks the end of the Active Problems field |
| <#StartInactiveProblems#> | | | Tells SOAPwareXchange to place the coming text in the Inactive Problems field |
| Inactive Problems Text | Text | 64k | |
| <#EndInactiveProblems#> | | | Marks the end of the Inactive Problems field |
| <#StartSurguries#> | | | Tells SOAPwareXchange to place the coming text in the Surguries field |
| Surguries Text | Text | 64k | |
| <#EndSurguries#> | | | Marks the end of the Surguries field |
| <#StartMedications#> | | | Tells SOAPwareXchange to place the coming text in the Medications field |
| Medications Text | Text | 64k | |
| <#EndMedications#> | | | Marks the end of the Medications field |
| <#StartAllergies#> | | | Tells SOAPwareXchange to place the coming text in the Allergies field |
| Allergies Text | Text | 64k | |
| <#EndAllergies#> | | | Marks the end of the Allergies field |
| <#StartFamilyHistory#> | | | Tells SOAPwareXchange to place the coming text in the Family History field |
| Family History Text | Text | 64k | |
| <#EndFamilyHistory#> | | | Marks the end of the Family History field |
| <#StartTobacco#> | | | Tells SOAPwareXchange to place the coming text in the Tobacco field |
| Tobacco Text | Text | 64k | |
| <#EndTobacco#> | | | Marks the end of the Tobacco field |
| <#StartAlcohol#> | | | Tells SOAPwareXchange to place the coming text in the Alcohol field |
| Alcohol Text | Text | 64k | |
| <#EndAlcohol#> | | | Marks the end of the Alcohol field |
| <#StartInterventions#> | | | Tells SOAPwareXchange to place the coming text in the Interventions field |
| Interventions Text | Text | 64k | |
| <#EndIntervention#> | | | Marks the end of the Interventions field |
| <#StartSocialHistory#> | | | Tells SOAPwareXchange to place the coming text in the Social History field |
| Social History Text | Text | 64k | |
| <#EndSocialHistory#> | | | Marks the end of the Social History field |
| <#StartROS#> | | | Tells SOAPwareXchange to place the coming text in the ROS field |
| Review Of Symptoms Text | Text | 64k | |
| <#EndROS#> | | | Marks the end of the ROS field |
| <#StartPhysical#> | | | Tells SOAPwareXchange to place the coming text in the Physical field |
| Physical Text | Text | 64k | |
| <#EndPhysical#> | | | Marks the end of the Physical field |
| END_SUM | | | Mark the end of the Summary segment |
Sample Chart Summary Segment
SUM
<#StartActiveProblems#>
Pain, neck #723.1.
Degenerative Disc Disease #722.6.
Hemorrhoids (piles) #455.6.
Weight loss #783.2.
Probable GERD, Gastro-Esophageal Reflux Disease (acid reflux) #530.81
Chronic Obstructive Pulmonary Disease #496.
Controlled Hypertension (high blood pressure) #401.9.
<#EndActiveProblems#>
Fatigue #780.7.
Hematochezia (rectal bleeding) #569.3.
Hypertension (high blood pressure) #401.9.
Hematoma (collection of blood) #924.9.
Hemorrhoids (piles) #455.6.
Hernia, hiatal #553.3.
Mild Benign Prostatic Hypertrophy (enlarged prostate) #600.
<#StartInactiveProblems#>
<#EndInactiveProblems#>
<#StartSurguries#>
No history of any past major surgeries.
<#EndSurguries#>
<#StartMedications#>
10/08/2000 - (Starter pack given) Cardura 4 mg. (Disp - #100) Take one daily or as directed (Refill - 3). (ID-d00726)
Monopril (Dose/Unit - 40 mg.) (Form - Tabs) (Disp - #100) (Frequency - One daily) (Route - By mouth) (Refills-1 year). (ID-d00242)
Combivent Inhaler (Generic - Albuterol/Ipratropium) (Disp - 1 Inhaler) (Frequency - 2 puffs every 6 hours) (Route - by mouth) (Refills-1 year). (ID-d04066)
Centrum Silver.
Theragran M (OTC) one daily.(ID-d03145T9697)
Vitamin C.(ID-12307)
Vitamin E.(ID-12301)
vitamin B
Baby Aspirin 81 mg. (OTC) Take one daily with food. (ID-d00170)
Folic Acid
Potassium.
<#EndMedications#>
<#StartAllergies#>
There is no known history of allergy to any medication. (ID-IGNORE)
<#EndAllergies#>
<#StartFamilyHistory#>
Mother deceased at age 65 with cancer.
Father deceased at age 85 with cerebrovascular accident.
No colo-rectal cancers.
<#EndFamilyHistory#>
<#StartTobacco#>
States that he quit smoking 5/97, had smoked for 55 years.
<#EndTobacco#>
<#StartAlcohol#>
Denies the use of alcohol.
<#EndAlcohol#>
<#StartInterventions#>
08/29/2000 cervical spine x-rays at the hospital with anterior subluxation of the C3-4 and C4-5 which appear degenerative in nature, degenerative disc disease at C5-6; hypertrophic osteophytes causing neuroforamenal narrowing bilaterally from C3-7.
08/29/2000 EKG within normal limits
12/08/1999: Sigmoidoscopy.
11/23/1999: PSA-1.4. GHP/Lipids- Chol-174, LDL-117, Otherwise, wnl. Mild variances- CO2-31.
Pneumovax, 03/13/1998.
1998: D-Tetanus.
1970s: upper gastrointestinal x-ray
<#EndInterventions#>
<#StartSocialHistory#>
Single, divorced, 3 children, retired.
<#EndSocialHistory#>
<#StartROS#>
<#EndROS#>
<#StartPhysical#>
GEN: Appear/General-Abn(-). VS: WT: 162#. T: 96.7. BP: 164/96.
HEENT: Dental plates in place. Oropharynx-Abn(-). EARS- Otoscopic-Abn(-). Ear-Nose/Appear-Abn(-). NOSE- Nose/Internal-Abn(-). EYES: Conjunctiva/Lids-Abn(-). Pupils/Irises-Abn(-).
NECK: Neck-Abn(-).
LUNGS: Lung/Auscultation-Abn(+) with slight, diffuse decreased breath sounds. Respirations-Abn(-).
HEART: Heart/Auscultation-Abn(-).
ABD: Abdomen-Mass/Tenderness-Abn(-). Liver/Spleen-Abn(-). Hernia-Abn(-).
<place w:st="on">GENT</place>: Anus/Perineum/Rectum-Abn(+), external hemorrhoids. Scrotal-Abn(-). Penis-Abn(-). Prostate-Abn(+) with-.- Prostate_Enlargement(+).- Prostate_Edema(-).- Prostate_Symmetry-Abn(-).- Prostate_Nodularity(-).- Prostate_Tenderness(-).
BJE: 1 cm. hematoma on right forearm with some surrounding ecchymosis.
NEURO: PSYCH: Insight/Judgement-Abn(-).
SKIN: Skin/Subcutaneous-Inspection-Abn(-). Mild acne/folliculitis on chest.
STUDIES:
<#EndPhysical#>
END_SUM
CMDQUEUE
This command tells SOAPwareXchange to pull a patient's chart. This will place the patient's chart in the Pulled Charts list. The command must be followed by the attending physician's external ID, the same ID that would be sent in the GDEM segment.
CMDQUEUE,SMITH01
CMDQUEUENEW
This command tells SOAPwareXchange not only to pull the patient's chart, but also to create a new encounter for that patient. The created encounter will use the date and time at which the command was received. This command also requires the physician's external ID.
CMDQUEUENEW,SMITH01
Reports Format
| Field | Type | Length | Description |
| REP | | | Tells SOAPwareXchange that this is a report segment |
| Category | | | The category the report should be placed in. Category codes are listed below |
| Report Title | Text | 50 | |
| Report Date | Date | 10 | MM/DD/YYYY |
| Report Time | Number | 6 | HHMMSS |
| Author | Text | 20 | |
| Recipient | Text | 20 | |
| Status | Text | 2 | |
| Condition | Text | 2 | |
| Acknowledged | Text | 2 | |
| Source | Text | 20 | |
| External Doctor ID | Text | 20 | |
| Signed Off | Text | 1 | Y/N |
| Signed By | Text | 20 | |
| Signed Date | Date | 10 | MM/DD/YYYY |
| Signed Time | Number | 6 | HHMMSS |
| Image Path | Text | | The complete path to the image file, if this is an image-based report. PDF files are also supported in versions 2010.1 and later. |
The following items must be separated by a carriage return-line feed pair, and will not be used for image-based reports.
| Field | Type | Length | Description |
| Report Text | Text | 64k | The text of the report |
| <#EndReport#> | | | Marks the end of the report segment |
Category Codes
| SWDF01 | History and Physical |
| SWDF02 | Lab |
| SWDF03 | Misc Report |
| SWDF04 | Printed Encounters |
| SWDF05 | Flow Sheets |
| SWDF07 | Encounter |
| SWDF08 | Correspondence In |
| SWDF09 | Correspondence Out |
| SWDF10 | Radiology |
| SWDF11 | Pathology |
Contacts
SOAPwareXchange can receive contact information from other systems. The CONT segment contains this information.
| Field | Type | Length | Description |
| CONT | | | Tells SOAPwareXchange that this is a contact segment |
| First Name | Text | 20 | |
| Last Name | Text | 20 | |
| Middle Initial | Text | 5 | |
| Title | Text | 5 | |
| Suffix | Text | 5 | |
| Street | Text | 20 | |
| City | Text | 20 | |
| State | Text | 5 | |
| Zip | Text | 5 | |
| Office Phone | Text | 12 | |
| Fax | Text | 12 | |
| Pager | Text | 12 | |
| Home Phone | Text | 12 | |
| Cell Phone | Text | 12 | |
| Email | Text | 20 | |
| Web Page | Text | 20 | |
| Greeting | Text | 20 | |
| UPIN | Text | 20 | |
| Specialty | Text | 20 | |
| Notes | Text | 50 | |
Insurance Companies
SOAPwareXchange can create Insurance Company objects in SOAPware®. This segment is generally used to populate insurance company information in SOAPware® on initial deployment, before patient demographic information is sent.
| Field | Type | Length | Description |
| ICOM | | | Tells SOAPwareXchange that this is an insurance company segment |
| Company Name | Text | 50 | |
| Street | Text | 30 | |
| Street2 | Text | 30 | |
| City | Text | 20 | |
| State | Text | 2 | |
| Zip | Text | 10 | |
| Phone | Text | 10 | |
| Extension | Text | 10 | |
| Participating | Bool | 1 | T or F: is this clinic participating in this plan |
| ExternalID | Text | 5 | Your system's ID for this company |
Balance Forward (Version 2010.2 and later)
BFOR
The BFOR segment can transfer the patient's Balance Forward from another system to SOAPware's billing system. The Balance Forward should be expressed in dollars, with no dollar sign.
Sample:
BFOR,162.84
Outdated Segments
These segments were ported over directly from DOCSExchange version 4.0. They are provided in SOAPwareXchange version 5.0 for backward compatibility, but their use is not recommended.
Insurance Demographics Format
| Field | Type | Length | Description |
| IDEM | | | Tells SOAPwareXchange that this is an Insurance Demographics segment |
| Expiration Date1 | Number | 8 | YYYYMMDD |
| Insurance Contact Person1 | Text | 50 | |
| Policy Number1 | Text | 50 | |
| Name Insured Under 1 | Text | 50 | |
| Insurance Company Phone1 | Text | 50 | |
| Insurance Company Name 1 | Text | 50 | |
| Comment 1 | Text | Memo | |
| Expiration Date2 | Number | 8 | YYYYMMDD |
| Insurance Contact Person2 | Text | 50 | |
| Policy Number2 | Text | 50 | |
| Name Insured Under 2 | Text | 50 | |
| Insurance Company Phone2 | Text | 50 | |
| Insurance Company Name 2 | Text | 50 | |
| Comment 2 | Text | Memo | |
The Insurance Company Name is not transferred directly into the Insurance Company field in SOAPware®. Insurance Companies are entities defined in SOAPware® through the user interface. SOAPwareXchange will look at the company phone number and zip code to attempt to match the incoming company to an entity already defined in SOAPware®. If the match is successful, then the company name will appear in the Insurance Company field of the Policy view in SOAPware®.
If the match is not successful, the company name will be imported as plain text into the Notes field of the Policy view.
SOAPwareXchange will attempt to match an incoming policy to an existing policy in the patient chart. If SOAPwareXchange finds an insurance policy in this patient's chart with the same policy number, it will consider it a match and update the existing policy. If not, it will create a new one.
Sending Information From SOAPware®
SOAPware® can be configured to send general demographics information, and to post an electronic superbill. SOAPwareXchange can also do a batch export containing demographic information on all patients in SOAPware®.
Enabling the Out Directory
1) Select Outbox Settings on the SOAPwareXchange window
2) Enable data out from SOAPware® by placing a check mark next to the corresponding items
If you intend to send demographic or billing information back from SOAPware®, be sure to place the Sender ID in the box "Use this System ID for posting superbills". SOAPwareXchange will use this ID to look external IDs in the maps. This will enable SOAPwareXchange to send the other system its own IDs for patients and providers.
This system ID is the same as the sender ID in incoming files.
Superbill Format
The superbill in SOAPwareXchange 5.0 is offered in two formats: the classic format, and the new XML format.
Superbill Classic
| Record Header | |
| PID segment | Standard Patient ID header |
| Billing codes | Format for the billing codes is Site Code|CPT Code| … |
| Remarks | Terminated with | |
| Assessment | Text of the Assessment area terminated with | |
| Physician | The external system’s ID for the posting physician |
| Encounter Date | The date and time of the SOAPware® encounter |
The doctor ID map and outbox settings are used to identify the proper external physician ID to return. If there is no doctor ID map or system ID specified, no physician ID will be returned.
The patient ID map and outbox settings are used to identify the proper external patient ID to return. If there is no patient ID map or system ID specified, no external patient ID will be returned.
Site codes are not used in SOAPware® 5.0, and the field is only retained to ensure backward compatibility.
Sample Classic Superbill
SOAPware Export File,,,
PID,ExternalID,4210FBF0-C16C-11D0-9E16-00C0F00A2A2E,Jill,Jackin,F,19690919,999-88-7777,AA1234
501|85031|557||
Remarks section|
Assessment area|
PHYSICIANID|SMITH01
ENCOUNTERDATE|01/01/2005 10:30 AM
XML Superbill
The XML Superbill format is new for SOAPware® 5.0. It contains more information than the classic format, including place of service codes and ICD codes related to the appropriate CPT codes.
<Superbill>
<PatientInfo>
<ExternalID />
<PatientID>9de24f67-6bf2-420c-8986-29ac4610738b</PatientID>
<LastName>Jim</LastName>
<FirstName>Slim</FirstName>
<Sex>M</Sex>
<Birthdate>19320321</Birthdate>
<SocialSecurity>999999999</SocialSecurity>
<ChartNumber>68332</ChartNumber>
</PatientInfo>
<SuperbillInfo>
<ProviderID>ddbd44c0-0630-4493-9c0f-6c27191a8e4d</ProviderID>
<VisitDate>08/09/2007 7:58 AM</VisitDate>
<PlaceOfService>11</PlaceOfService>
<ICDList>
<ICD>642.00</ICD>
<ICD>307.81</ICD>
<ICD>009.1</ICD>
</ICDList>
<CPTItems>
<CPT>
<Code>12356</Code>
<Description>X-ray</Description>
<RelatedICDs>
<ICD>009.1</ICD>
</RelatedICDs>
<ModifierList>
<Modifier>21</Modifier>
<Modifier>23</Modifier>
</ModifierList>
<Units>1</Units>
</CPT>
<CPT>
<Code>98765</Code>
<Description>Blood Draw</Description>
<RelatedICDs>
<ICD>642.00</ICD>
<ICD>307.81</ICD>
</RelatedICDs>
<ModifierList>
<Modifier>24</Modifier>
<Modifier>22</Modifier>
</ModifierList>
<Units>1</Units>
</CPT>
</CPTItems>
<PlanNotes>not able to find amputation of thumb </PlanNotes>
<Notes>follow up in 2 weeks to
check on your status</Notes>
</SuperbillInfo></Superbill>
Above is a sample XML superbill. The fields of an XML superbill are detailed below.
PatientInfo--this block contains demographic data on the current patient. This block is the new equivalent of the GDEM segment. Data includes:
External Patient ID
SOAPware®'s internal patient ID
Last Name
First Name
Sex
Birthdate
Social Security Number
Chart Number
SuperbillInfo--this block contains the actual data of the superbill. Segments in this block include:
Provider ID--The external physician ID for this doctor, or SOAPware®'s internal physician ID if the external is not available.
Visit Date--This is the date of service. It can be different from the date of file generation.
Place of Service--A code representing the place of service. These codes are drawn from the official Centers for Medicare & Medicaid Services Place of Service Codes for Professional Claims:
01 Pharmacy
02 Unassigned
03 School
04 Homeless Shelter
05 Indian Health Service Free-standing Facility
06 Indian Health Service Provider-based Facility
07 Tribal 638 Free-standing Facility
08 Tribal 638 Provider-based Facility
09 Prison-Correctional Facility
10 Unassigned
11 Office
12 Home
13 Assisted Living
14 Group Home
15 <place w:st="on">Mobile</place> Unit
16 Temporary Lodging
17-19 Unassigned N/A
20 Urgent Care Facility
21 Inpatient Hospital
22 Outpatient Hospital
23 Emergency Room – Hospital
24 Ambulatory Surgical Center
25 Birthing Center
26 Military Treatment Facility
27-30 Unassigned
31 Skilled Nursing Facility
32 Nursing Facility
33 Custodial Care Facility
34 Hospice
35-40 Unassigned
41 Ambulance - Land
42 Ambulance – Air or Water
43-48 Unassigned
49 Independent Clinic
50 Federally Qualified <place w:st="on"><placename w:st="on">Health</placename> <placetype w:st="on">Center</placetype></place>
51 Inpatient Psychiatric Facility
52 Psychiatric Facility-Partial Hospitalization
53 Community Mental <place w:st="on"><placename w:st="on">Health</placename> <placetype w:st="on">Center</placetype></place>
54 Intermediate Care Facility/Mentally Retarded
55 Residential Substance Abuse Treatment Facility
56 Psychiatric Residential Treatment Center
57 Non-residential Substance Abuse Treatment Facility
58-59 Unassigned
60 Mass Immunization Center
61 Comprehensive Inpatient Rehabilitation Facility
62 Comprehensive Outpatient Rehabilitation Facility
63-64 Unassigned N/A
65 End-Stage Renal Disease Treatment Facility
66-70 Unassigned
71 Public Health Clinic
72 Rural Health Clinic
73-80 Unassigned
81 Independent Laboratory
82-98 Unassigned N/A
99 Other Place of Service
ICDList--This block has a separate ICD field for each ICD code in the superbill.
CPTItems--This block contains all the CPT codes present in the superbill, along with their modifiers and related ICD codes. A CPTItems block contains:
CPT code--the numeric CPT code
Description--a text description of the code
RelatedICDs--a list of all ICD codes linked to this CPT code
ModifierList--a list of all modifiers for this CPT code
Units--
Plan Notes--The text of the Plan field of the encounter note
Notes--any additional notes the SOAPware® user placed on this bill
Batch Export From SOAPware®
You can export demographic information for all patients is SOAPware® using the Batch Export command available in the SOAPwareXchange File menu. This will export general demographic information in the format outlined above, and place the resulting file in the SOAPwareXchange Out folder. This feature is useful for initial population of a new billing/scheduling system.
General Demographics Format for Export
| Field | Type | Length | Description |
| GDEM | | | Tells SOAPwareXchange that this segment contains General Demographic information |
| Last Name | Text | 20 | |
| First Name | Text | 20 | |
| Middle Initial | Text | 20 | |
| Title | Text | 5 | |
| Suffix | Text | 5 | |
| Street | Text | 20 | |
| Street2 | Text | 20 | |
| City | Text | 20 | |
| State | Text | 5 | |
| Zip | Number | 5 | |
| Home Phone | Text | 20 | |
| Work Phone | Text | 20 | |
| Email | Text | 20 | |
| Unused Field | | | |
| Unused Field | | | |
| Sex | Text | 1 | |
| Unused Field | | | |
| Marital Status | Text | 1 | |
| Birthdate | Number | 8 | YYYYMMDD |
| Fax Number | Text | 20 | |
| Chart Number | Text | 20 | |
| Social Security | Text | 11 | XXX-XX-XXXX |
| Primary Physician ID | Text | 100 | |
Unused Fields are blank, but included to preserve backward compatibility.
Marital Status Values:
I Single
M Married
S Separated
W Widowed
D Divorced