Creating Encounter Form Styles

You can create as many Encounter Form Styles as you like, with each Style specifying its own list of services.

To specify which services you would like to appear in the service list on the form, use the NavBar to go to Scheduler Lookups > Encounter Form Styles.

Next, click the New button in the top toolbar, or use the <CTRL><N> hotkey, or right-click in the list area and select New from the pop-up menu. Enter a shorthand code and description for your new Encounter Form Style.

Look at the example in the figure at the top of this article. Notice that it contains not just a list of services, but also some headings to group related services. There are also blank lines to improve readability. You will be using the same SOS detail form to add all three kinds of lines. If you are not creating your Encounter Form Style based on an encounter form already in use by your organization, it is a good idea to plan your Style on paper before proceeding.

Note that only 60 lines will fit on a form, including headers and blank lines. Some offices might have an existing encounter form with more than 60 lines, but in all likelihood no single provider performs every single service on your form. Every provider in SOS can be linked to a different Encounter Form Style, so each Style should contain just those services that the provider is likely to render, plus perhaps a number of blank lines for write-ins of unusual services.

Let’s get started with an example that includes a section for “Evaluation and Testing”, and another section for “Therapy”. In both sections, we will include a number of blank lines so that the provider can manually add a service not already printed on the form.

  1. Start by adding the first heading. Click the New button at the top of the Encounter Form Lines list panel to open a detail form.
  2. Check the Section Heading box, enter the desired text, and save using the Save and New button. The Save and New button combines the save and new actions in a single mouse click, leaving you ready to enter your second line.
  3. You should see the heading line appear in the list panel in the background, and the Encounter Form Line detail form will now be empty. For our second line we want a blank line below the heading we just added, so leave the form empty and click Save and New again. You’ll see the blank line appear in position 2 in the list.
  4. Now let’s add a service line. Click the Service Code field to diplay your list of services, and select an appropriate service for this section. In our example, it will be “IE, Evaluation 120 minutes”.

    You can accept the description copied from the Service List, or adjust it as you like, then click Save and New again.
  5. We now continue, as described in the previous steps, adding the service “IV, Initial Visit”, “MMPI, Minnesota Multiphasic Personality Inventory”, “NPS, Neuropsychological Screening Battery”, and five blank lines.
  6. We continue with our next section, with the heading “Psychotherapy”, a blank line, “IT30, Individual Therapy 30 minutes”, ” IT60, Individual Therapy 60 minutes”, “GT90, Group Therapy 90 minutes”, and six blank lines. After these entries our Encounter Form Lines list looks like this:

    And when printed, the service list section for our example looks like this:

    To eliminate all that white space, be sure to configure 60 lines to each of your Styles. You can keep adding blank lines to get to 60, if necessary.

Changing the order of the lines in an Encounter Form Style

At some point in setting up your configuration, you may decide that the lines are not in the order you really want. If so, it is very easy to move a line up or down in the list. Simply highlight the line you would like to move, then use the blue Up and Down arrows in the toolbar at the top of the list to move the line to the desired position.

Linking Encounter Form Styles to your Providers

On the data screen for each of your providers, you will find a field called Encounter Form. In order to print encounter forms for the provider, you must select an existing Encounter Form Style in that field. If you do not select a Style, no encounter form will print. The Style you select, of course, will dictate which set of detail lines appears on that provider’s encounter forms.

Selecting an Encounter Form Style for a provider.

How to Print Reports and Query Your Data Using List Views

The article Exploring List View Features explains how to:

  • Filter the rows that are displayed in a list.
  • Move columns.
  • Hide columns.
  • Sort rows into the desired order.
  • Group the rows in a list by values in one or more columns.
  • Display summary values for groups, such as count, maximum, minimum, average, and sum (total).

Using these techniques you can create a list on screen that shows exactly the data of interest, in a way that is useful for you. In addition, however, you can print a nicely formatted hard copy, or export the results in various file formats. Let’s say, for example, that we would like to know the breakdown of male and female patients grouped by zip code. Starting from the main patient list, we could…

  1. Add columns for Zip Code and Sex.
  2. Sort each of those column as desired.
  3. Remove all other columns other than the Full Name and ID.
  4. Drag those Zip Code and Sex column up into the Group area at the top of the list.

The result would look something like this:

Expanding the Zip Codes by clicking the little “+” at the left of each , we reveal the counts in each Zip Code:

To print a hard copy, right-click anywhere in the list

How to suppress printing of the details (in this case, the name/id data) if I just want the group summaries?

How to Run Reports

In addition to many reports that come standard with SOS G5, you also can easily customize most any List View and print or export the results. In this article we will take a closer look at the standard reports, including patient statements, that are included with your software. Note that printing insurance claims is covered in a separate article.


To begin, click the little “+” to the left of Reports in the navigation bar at the left of your screen. As you can see in the image above, the standard reports are organized by category. The categories that appear in your own software will depend on the specific features that you have licensed. For example, if you have not licensed the Clinical Records feature, you will not see the Clinical Reports category.

  • Favorite Reports
    Contains links to any reports that you designate as Favorites.
  • Accounting Reports
    Reports that are related to tracking receivables and analyzing financial performance.
  • Insurance Reports
    Follow-up letters to insurance payers and other insurance related reports that do not better belong among the Accounting Reports.
  • Statement Reports
    Various statement types and formats.
  • Management Reports
    Primarily patient population analysis by factors such as diagnosis.
  • Patient Reports
    Patient ledger printouts, facesheets, info cards, phone lists and similar reports.
  • Clinical Reports
    Reports such as Progress Notes, Treatment Plans, Clinical Status, Intake Summary and other reports specific to clinical records.
  • Scheduler Reports
    Reports such as Check-In List, Appointments for a Period, Daily Provider Log, and Encounter Form.

Select the Report Category that is likely to contain the report you would like to run. A list of the reports for that category will appear in the main panel of your screen. Accounting Reports, for example, will contain a variety of reports concerning receivables, charges, and payments. Once you locate the desired report in the list, highlight it and click the Print Report button on the top toolbar, or right-click the desired report and select Print… on the pop-up menu. In many cases, an options window will appear in which you can specify filter conditions and/or options for your report.

Setting a report as a “Favorite”

Most users do not use all the reports and have some that they run much more frequently than others. If you find it to be more convenient, you can create a shortcut for your frequently used reports to appear in the Favorite Reports section.

  1. Locate the report you would like to make a favorite.
  2. Click the report name to highlight it.
  3. Click the Add to Favorite Reports button in the top toolbar.
  4. Add-to-favorite-reports_button The button icon will change (adding an “X” over the heart), signifying that the report has been copied to the Favorite Reports group. If you were to click the button again, the report would be removed from the Favorites group
  5. To confirm your action, click the Favorite Reports link just below Reports in the Navigation Bar at the left. If you don’t see your new favorite report, click the Refresh button (or press the F5 key on your keyboard) and it will appear.


See also:
How to Print Reports and Query Your Data Using List Views


Querying SOSDATA from within MS SQL Server

A Microsoft Linked Server can be created that uses the SQL Anywhere OLE DB provider to obtain access to a SQL Anywhere database. SQL queries can be issued using either Microsoft’s 4-part table referencing syntax or Microsoft’s OPENQUERY SQL function. An example of the 4-part syntax follows.


In this example, SOSDATA is the name of the Linked Server, SOS is the table owner in the SQL Anywhere database, and Patients is the table name in the SQL Anywhere database. The catalog name is omitted (as indicated by two consecutive dots) since catalog names are not a feature of SQL Anywhere databases.

The other form uses Microsoft’s OPENQUERY function.


In the OPENQUERY syntax, the second SELECT statement (‘SELECT * FROM Patients’) is passed to the SQL Anywhere server for execution.

To set up a Linked Server that uses the SQL Anywhere OLE DB provider, a few steps must be followed.

To set up a Linked Server in SQL Server 2005 or 2008
  1. Open up SQL Server Management Studio.
  2. In the pane on the left, open Server Objects.
  3. Under Server Objects, open Providers. If you have SOS installed on this server, there should be a provider named "SAOLEDB11". If not, install SOS on the server, taking care to select the "Client" option (because obviously there is a different computer hosting the SOS database and we will be connecting to it as a client). Restart SQL Server Management Studio to see if the driver now appears under Providers. If not, you will have to manually register the appropriate DLLs as follows.

    If you are running 32 bit SQL Server, open a command window and type the following, making appropriate adjustments in the location of the SOS folder:
    REGSVR32  C:\SOS\SA\BIN32\DBOLEDB11.DLL <press enter>
    REGSVR32  C:\SOS\SA\BIN32\DBOLEDBA11.DLL <press enter>

    If you are running 64 bit SQL Server, open a command window and type the following, making appropriate adjustments in the location of the SOS folder:
    REGSVR32  C:\SOS\SA\BIN64\DBOLEDB11.DLL <press enter>
    REGSVR32  C:\SOS\SA\BIN64\DBOLEDBA11.DLL <press enter>

    Again, restart SQL Server Management Studio to refresh. The SAOLEDB11 provider should now appear in the Providers list.


  4. Right-click on Linked Servers and select "New Linked Server".
  5. Fill in the General page like this:


    The Provider string is the connection string. Include the user id (uid), password (pwd), engine, aka server name (eng), the network protocol (links), and for good measure, the ip address of the computer on which the database is running as a parameter after the links specification. Here is an example:
    uid=myid; pwd=mypwd; eng=sosdata; links=tcpip(HOST=

  6. The "Linked server" field on the General page should contain a Linked Server name in the first field (like SOSDATA used above). The "Other data source" option should be selected and "SQL Anywhere OLE DB Provider" should be selected from the list. The "Product name" field should contain an ODBC data source name (for example, SOSDATA). The "Provider string" field should contain additional connection parameters including user ID, password, engine, and links. Other fields, such as Data source, Location, and Catalog on the General page should be left empty.

  7. Select the "Allow inprocess" provider option.

    Right-click the SAOLEDB.11 provider in Providers list beneath Linked Servers and select Properties. Check the Allow inprocess option. If the InProcess option is not selected, queries will fail. Save.


  8. Select the "RPC" and "RPC Out" options.

    Right-click your new Linked Server in the left pane under Linked Servers and select Properties. These options are True / False settings. Make sure that they are set True. The Remote Procedure Call (RPC) options must be selected if you wish to execute stored procedure / function calls in a SQL Anywhere database and pass parameters in and out successfully.


You should now be able to query tables in SOSDATA using the techniques described at the top of this article.

(#207) Running Queries with DBISQL

The following instructions are specifically for SOS Release 2010 and later.

  1. First, it is necessary to configure your user ID in the Admin Module (Users and Passwords) to allow access from 3rd party products (Access tab option “Grant read-only access from non-SOS products”). If you are not cleared for this type of access, you will have to ask a user with full access to run the query for you. You cannot run queries with the “SUPER” ID; it must be another ID that has the “Grant read-only access” option enabled.
  2. Launch the ISQL utility by doing Start > Programs > SOS Applications > DBISQL. (An alternate, somewhat less user-friendly version can be launched by Start > Programs > SOS Applications > DBISQLC.)
  3. When prompted, type your SOS ID and password (you may find that your password will work only if typed all UPPERCASE) in the appropriate fields on the LOGIN tab, then next to ODBC Data Source select or type “SOSDATA” and click OK.
  4. A screen with multiple windows will open. Type your query in the Command (DBISQLC) or SQL Statements (DBISQL) window and click the Execute button (or press <F9> in either version).

Using the DBISQL version, use Data > Export to save your results in a file. In either version you can add a line to query to do the same. Add a semicolon, then an OUTPUT statement to the query. The following simple query creates a list of patients along with their email addresses and saves it in a “web page” file in the SOS folder called “pt-emails.html”. This HTML file can be viewed in your web browser, or opened, manipulated, and printed using Microsoft Excel:

SELECT lastname, firstname, email
FROM rv_patients
ORDER BY lastname, firstname
; OUTPUT TO c:sospt-emails.html FORMAT HTML

You are not limited to HTML output, by the way. In the example above, the results are output in spreadsheet format because of the keyword LOTUS after FORMAT. By changing the keyword, you can choose from an assortment of output file formats. Among the formats available for your query results are the following:

Format Suggested filename extension (type)



Plain text



The output is a TEXT format file with one row per line in the file. All values are separated by commas, and strings are enclosed in apostrophes (single quotes).
The delimiter and quote strings can be changed using the DELIMITED BY and QUOTE clauses. If ALL is specified in the QUOTE clause, all values (not just strings) are quoted.
TEXT is the default output type. This output format used to be called ASCII in previous versions of DBISQL.

Fixed width columns



The output is fixed format with each column having a fixed width. The width for each
column can be specified using the COLUMN WIDTHS clause. No column headings are output in this format.

Web page



Open with your web browser. Also can be loaded in Excel and some other spreadsheet applications.

XML web browser format



Some programs and systems can import and/or process data in XML format.

You can save this query with a name by clicking File > Save and run it whenever you want by opening DBISQLC or DBISQL and clicking File > Open to recall it. By convention, queries like this are given names ending in SQL, like EMAILS.SQL, for example. I would suggest that you save it in your SOS folder so you don’t lose it. If you really want to get fancy, you can create a shortcut on your desktop to run your query with one double click (plus typing in your ID, etc. when prompted):

, or “C:SOSSAbin32DBISQL

Documents you may find helpful include the rather dated, but still relevant, annotated data dictionary:

and a set of entity diagrams showing links among tables for the most commonly used data:

It is most important that you review the final chapter (Accessing SOS Data from Other Programs) in sostech.pdf, located in your SOS folder. This chapter explains the basics of the database organization. You will be lost in doing anything beyond the simplest queries without that foundation.