You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.
close
Welcome to the CAREWare FAQ Page
announcement close button
Home > CAREWare > HL7 Appointment Specifications
HL7 Appointment Specifications
print icon

This document specifies how the HL7 Socket Interface imports appointment data into CAREWare. Appointments can be imported from SIU HL7 message types.  CAREWare can also create service records for completed appointments and, for certain appointments specified during setup, referrals as well.  The HL7 element "Message Type" is found in the MSH segment at position 9. The trigger event is a subfield of this element and is found at the first subfield, 9.1.

 

The following SIU event types are processed in CAREWare to import appointment, service, and referral data:

  • S12 (new appointment)
  • S13 (rescheduling)
  • S14 (modification)

Table 1.0: CAREWare’s Appointment/Service Import Fields

Field Description Note
Appointment Subservice subservice code  
Filler Status Code filler code  
Appointment Schedule ID ID that is associated with the appointment If a scheduler ID already created an appointment, the interface performs an update for that record instead
Appointment Time appointment time  
Qty Service Quantity Optional field. If added, uses value to populate service quantity. Otherwise, the import uses the quantity set by the contract item.
Dgn Def diagnosis definition code If available, the import adds a diagnosis record
Diagnosis Type diagnosis type code  
Dgn Date diagnosis date  

 

Table 1.1: CAREWare’s Referral Import Fields

Field Description Note
Appointment Subservice subservice code Used to complete the referral by adding a service
Filler Status Code filler code  
Rfr Date Referral date  
Srv Category Contains service category required for adding a referral  
Referral ID Identifier for each referral  
Referral Class Contains information for referral class  
External provider Used to map external provider for referral  
Dgn Def diagnosis definition code If available, CAREWare adds a diagnosis record
Diagnosis Type diagnosis type code  
Dgn Date diagnosis date  

 

CAREWare Appointment/Service Import

 

CAREWare's Socket Interface breaks down the import process into distinct steps called Indexes, each defined by specific functionality and an option for activation by admin users. All messages are initially processed by the Make Stubs index. This index parses the raw HL7 message and takes only the valid messages based on the message type and trigger event. It creates message stubs, which are representations of the HL7 message that hold the status and fields necessary for processing. The appointment import process begins by activating the following indexes:

  • SCH_Map_Provider_Map_Provider
  • SCH_Map_Client_Map_Client 
  • SCH_Process_Records_Process_Records
  • SCH_Process_Referrals

Upon a successful activation of these indexes, CAREWare then starts processing appointment stubs stored in the HL7 Socket holding tank with the status of "Map Provider."

 

SCH_Map_Provider Index

 

This index is used to assign the account provided in MSH 6 of the incoming HL7 message to a CAREWare provider. The MSH specifications can be found in table 1.1. CAREWare creates a mapping record if none exists, and if a mapping is complete and an activation code is entered for the provider, the message is moved to the Client Processing step. The Lab Test Mapping Tool’s Map Provider form lists all provider mappings. The Map Provider records indicate whether they are active or inactive. Activation codes are generated and sent out by jProg upon request.

 

SCH_Map_Client Index

 

This index is used to match the HL7 message to a CAREWare patient found in the PID segment. The PID specifications can be found in table 1.2. The interface uses the Patient ID (External ID) found in the PID segment to identify patients. The provider mapping specification done in the Map Provider part of the process allows the user to specify which CAREWare field to use for matching. If the message does not contain a value for the PID element, the user can specify an alternate value using the field mapping in the HL7_Make_Document_Stubs index.

 

In addition to matching the patient based on the value, CAREWare uses a secondary check called the demographic threshold, which considers additional criteria even when the ID matches as described above. This additional check compares last name, first name, and date of birth, and the threshold set in the provider mappings determines how closely those demographic elements need to match in order for the record to be considered a match. When that threshold is not met, the message and all related stubs are marked for deletion. However, CAREWare also has a feature to automatically add new clients based on a user configurable setting. It is recommended to use the "AutoAdd Clients" (screenshot below) with great caution because that could potentially increase the clients within the provider to unmanageable levels. 

 

In cases where the patient information does not match an existing CAREWare client record, the interface can still import results into an observation provider, which stores data for Ryan White-suspected patients, depending on whether diagnosis and generic condition results meet certain criteria.  For diagnosis conditions, the interface checks for whether or not the patient had a particular diagnosis. For generic conditions, the user can set the interface to compare any segment element to a user-defined value. 

 

CAREWare also provides optional manual client matching functionality (screenshot below).  Admin users can use this to review and match patient records within the provider that have been identified by the Map Provider process. Once enabled, Manual Client Matching is available across all providers importing data through the HL7 Socket Interface. 

 

 

HL7_Client_Provider_Look_Up_BAR Index

 

CAREWare also provides an option to match providers and clients in one step using client-provider lookup indexes. When using lookup indexes, it is advised not to operate with other Map Provider/Map Client indexes activated to avoid inconsistent provider and client matching functionality. The lookup indexes search for patients across all CAREWare providers and set the provider and client values based on the setup. The following cases are possible:

 

  • No client/provider combination is found: CAREWare automatically adds the client record to a provider according to conditions set on the Fallback Conditions screen (screenshot below).
  • A single client/provider record is found: if the client threshold is met, the client is assigned to the provider; otherwise the fallback provider settings are used.
  • Several clients in a provider are identified: CAREWare flags the importing client as "Duplicate" and waits for user resolution.
  • A single client is found in several providers: values entered for the client custom field for import provider are used for the import; if these are not found, the Primary Provider calculation used in CAREWare's Custom Report module is used.

SCH_Process_Records Index

This Index is used to import appointments and services into CAREWare. There are checks to make sure that all required data elements needed for particular imports are mapped prior to allowing the import to proceed. Tables 1.3 and 1.4 outline the AIG and SCH segments used for mapping key data elements for appointments/services. Appointment codes intended to import referrals instead are specified by admin users during setup. Otherwise, the appointment import is based on scheduler ID and filler status code. For a specified scheduler ID, only one appointment record can exist in CAREWare. The import logic is outlined below:

  • If the appointment does not exist for the scheduler ID, the import either creates a new record or assigns a data-entered appointment for the same date and subservice as are indicated by the scheduler ID.
  • If an appointment already exists for the ID and the filler status value is "Delete" then the import deletes the appointment record.
  • If an appointment already exists for the ID and the filler status value is "Canceled" then the import assigns a status of "Missed."
  • If the filler status value is "Complete," then the import could either complete the existing appointment by adding a service or add a new appointment if it does not exist and then complete it.

CAREWare gets the different values required for the appointment from the mappings setup at the time of entry. This process can also import diagnoses for the scheduler stubs if DGN segments are included.

 

SCH_Process_Referrals Index

 

The SCH feed could also be configured to import referrals in CAREWare. Table 1.1 outlines the various fields required for the CAREWare referral import. Tables 1.3 and 1.4

outline the AIG and SCH segments used for mapping key data elements for the referral records. Only external referrals are created and updated by this import. Also, for any given scheduler ID, only one referral record can exist in CAREWare. The referral import logic is similar to the appointment import logic:

  • If a referral does not exist for the scheduler ID and the filler code specifies anything other than "Completed," the import creates a new record with a "Pending" status.
  • If the referral does not exist and the filler code specifies "Complete," the import creates a completed referral; if the subservice is also set to add a service for the referral, CAREWare creates a service record for the referral.
  • If it exists for the scheduler ID and filler code specifies a "Delete," the import deletes the referral.
  • Otherwise the import creates a new referral or updates a previously created one for the scheduler ID with a status "Lost to Follow-up."

 

Table 1.2: MSH Specifications

 

SEQ LEN OPT ELEMENT NAME CAREWare Field Required
For
Import
Comments
1 1 R Field Separator   Yes Indicates what delimiter to use to separate components when parsing.
2 4 R Encoding Characters   Yes  
3 180 O Sending Application   Yes Used in conjunction with MSH 6 to ensure a unique provider mapping record. CAREWare uses this value to determine where the data originated from.
4 180 O Sending Facility   No Available as an alternative to MSH 3.
5 180 O Receiving Application Alternate Provider ID Yes Available as an alternative to MSH 6. If user sets this as the default provider identifier, this value will override the value MSH 6. If this is set as the alternate value, it will override MSH 6 if MSH 6 is empty.
6 180 O Receiving Facility Primary Provider ID No Used in conjunction with MSH 3 to create a unique provider mapping record. CAREWare uses this value to link to a CAREWare provider. jProg needs this value to create an activation code.
7 26 O Date/Time Of Message   No  
8 40 O Security   No  
9 7 R Message Type   Yes CAREWare uses this field to determine the message type and trigger event. Message type is in MSH 9.0 and trigger event is in MSH 9.1.
10 20 R Message Control ID   No  
11 3 R Processing ID   No  
12 8 R Version ID   No  
13 15 O Sequence Number   No  
14 180 O Continuation Pointer   No  
15 2 O Accept
Acknowledgment Type
  No  
16 2 O Application
Acknowledgment Type
  No  
17 2 O Country Code   No  
18 6 O Character Set   No  
19 60 O Principal Language Of Message   No  

 

 

Table 1.3: PID Specifications

 

SEQ LEN OPT ELEMENT NAME CAREWare Field Required
For
Import
Comments
1 4 O Set ID - Patient ID   No  
2 20 O Patient ID (External ID) Primary Client ID Yes Default field where CAREWare looks for matching patient value.
3 20 R Patient ID (Internal ID) Primary/Alternate Client ID No Can be used as matching patient identifier. If user sets this as the default patient identifier, this value will override the value PID 2. If this is set as the alternate value, it will override PID 2 if PID 2 is empty.
4 20 O Alternate Patient ID - PID Primary/Alternate Client ID No Can be used as matching patient identifier. If user sets this as the default patient identifier, this value will override the value in PID 2. If this is set as the alternate value, it will override PID 2 if PID 2 is empty.
5 48 R Patient Name Last Name, First
Name, Middle
Name
No If patient name is not set, CAREWare will match patients by matching patient value only. Users must set CAREWare’s threshold (secondary check) to 0.
6 48 O Mother’s Maiden Name   No  
7 26 O Date/Time of Birth   No If date of birth is not set, make sure CAREWare's threshold (secondary check) is low enough to account for this. YYYY.
8 1 O Sex Gender No Only mandatory if new patient is added.
9 48 O Patient Alias   No  
10 1 O Race Patient Race, Race Subgroup No Single patient race
11 106 O Patient Address Address, Address
Continued, City,
State, Zip
No Address^Address
Continued^City^State^Zip
12 4 B County Code County No  
13 40 O Phone Number - Home Phone No  
14 40 O Phone Number - Business   No  
15 60 O Primary Language   No  
16 1 O Marital Status   No  
17 3 O Religion   No  
18 20 O Patient Account Number acct No  
19 16 O SSN Number - Patient   No  
20 25 O

Driver's License Number - Patient

  No  
21 20 O Mother's Identifier   No  
22 3 O Ethnic Group Hispanic No  
23 60 O Birth Place   No  
24 2 O Multiple Birth Indicator   No  
25 2 O Birth Order   No  
26 4 O Citizenship   No  
27 60 O Veterans Military Status   No  
             
28 80 O Nationality   No  
29 26 O Patient Death Date and Time deathDate No  
30 1 O Patient Death Indicator Vtl Status No  

 

Table 1.3: AIG Specifications

 

SEQ LEN OPT ELEMENT NAME CAREWare Field Required For Import Comments
1 4 R Set ID - AIG      
2 3 C Segment Action Code      
3 250 C Resource ID Appointment/ Service Name Yes Can be set to another field
4 250 R Resource Type      
5 250 O Resource Group      
6 5 O Resource Quantity      
7 250 O Resource Quantity Units      
8 26 C Start Date/Time Appointment/ Service Date Yes Can be used for another date field
9 20 C Start Date/Time Offset      
10 250 C Start Date/Time Offset Units      
11 20 O Duration      
12 250 O Duration Units      
13 10 C Allow Substitution Code      
14 250 C Filler Status Code      

 

Table 1.4: SCH Specifications

 

SEQ LEN OPT ELEMENT NAME CAREWare
Field
Required For Import Comments
1 75 C Placer Appointment ID   Yes Used to identify the scheduler transaction to determine Add, Edit or even Delete
2 75 C Filler Appointment ID      
3 5 C Occurrence Number      
4 22 O Placer Group Number      
5 250 O Schedule ID      
6 250 R Event Reason      
7 250 O Appointment Reason      
8 250 O Appointment Type      
9 20 B Appointment Duration Service Qty No Used to import as service quantity for completed appointments
10 250 B Appointment Duration
Units
     
11 200 B Appointment Timing Quantity      
12 250 O Placer Contact Person      
13 250 O Placer Contact Phone Number      
14 250 O Placer Contact Address      
15 80 O Placer Contact Location      
16 250 R Filler Contact Person      
17 250 O Filler Contact Phone Number      
18 250 O Filler Contact Address      
19 80 O Filler Contact Location      
20 250 R Entered by Person      
21 250 O Entered by Phone Number      
22 80 O Entered by Location      
23 75 O Parent Placer Appointment
ID
     
24 75 C Parent Filler Appointment
ID
     
25 250 O Filler Status Code   Yes Filler Status code
26 22   Place Order Number      
27 22 C Filler Order Number      
Feedback
0 out of 0 found this helpful

Attachments

HL7_Appointment_Specifications.pdf
scroll to top icon