The Database Interface
This section supplies a list of the data fields a .NET database interface needs to support. For for samples, please refer to the Noah 4 Business System Development page on himsa.com.
The database interface is necessary for the Noah 4 system to communicate with a Business System vendor’s database. A description of the objects used by Noah when interfacing to its own database is supplied. Developers can use this as a reference when designing their own database interface.
Required Data Fields
The tables below only list information relevant to the Noah 4 Managed Database Interface. The issue of inter-table relations has not been considered. The information listed in these tables should only be considered as an absolute minimum set of fields; it is possible, of course, to choose to have as many fields in the database as are deemed necessary.
NOTE: Some of the methods could potentially corrupt the relational integrity of the database. It is the implementers’ responsibility to prevent this.
Patient Table | ||
Field | Type | Description |
ID | Int32 | Unique (within the database) Patient identifier |
PatientGUID | Guid | Global unique patient identifier |
ActivePatient | Short | 1=true, 0 = false |
PatientNo | String(20) | Dispenser’s Patient identification |
CreateDate | DateTime | Date of record creation |
FirstName | String(30) | Patient’s First Name |
LastName | String(30) | Patient’s Last Name |
MiddleName | String(30) | Patient’s Middle Name |
Gender | Short (enum) | Patient’s Gender {0=Unknown,1=Male,2=Female} |
BirthDate | DateTime | Patient’s Birth date |
Salutation | String(30) | Salutation |
Title | String(30) | Title |
Address1 | String(30) | Address line 1 |
Address2 | String(30) | Address line 2 |
Address3 | String(30) | Address line 3 |
Province | String(30) | Province or State |
Zip | String(20) | Zip Code |
City | String(30) | City |
Country | String(30) | Country |
|
|
|
HomePhone | String(30) | Home phone |
WorkPhone | String(30) | Work phone |
MobilePhone | String(30) | Mobile phone |
String(50) | ||
SSNumber | String(20) | Social security number |
Physician | String(30) | Main Physician |
Referral | String(30) | Physician being referred to |
Insurance1 | String(30) | Insurance information |
Insurance2 | String(30) | Insurance information |
Other1 | String(30) | Other 1 |
Other2 | String(30) | Other 2 |
NOTE : The setup tables below, for both user and patient, store setup data as BLOB files. The setup data consist of user, or patient, preferences. For example, NOAHaud stores profile settings as User Setup data. Thus, if a user moves to a different workstation in a network, the user’s specific profile-settings are automatically transferred to that workstation.
Patient Setup Table | ||
Field | Type | Description |
PatientID | Int32 | ID of associated patient (> patient table) |
ModuleID | Int32 | ID of module that added this setup |
SetupData | BLOB | Maximum BLOB size can be retrieved through BusinessAPI, GetNoahProperties , MaxSetupBlobSize |
User Table | ||
Field | Type | Description |
UserID | Int32 | Unique identifier for user |
CreateDate | DateTime | Date of record creation |
UserInitials | String(3) | Three letter initials used for logon |
UserName | String(30) | Full user name |
Action Table | ||
Field Name | Type | Description |
ID | Int32 | Unique identifier for action (NOTE: An Action object holds information about an action performed during a patient’s visit. In addition to the actual action data, an Action object contains information about what kind of action it is, what user created it, a description of the action and a reference to an Actions collection of referenced actions. A reference, which is of type long, holds an ActionID of the action it is referencing. ActionReferences link, for example, audiograms to selections/fittings.) |
SessionID | Int32 | ID of session in which the action belongs (> session) |
UserID | Int32 | ID of user who created the action (> user table)* |
CreateDate | DateTime | Date of creation |
LastModifiedDate | DateTime | Date of last modification |
Description | String(64) | Description of the action |
ModuleID | Int32 | ID of module that created the action |
DeviceType | Short | Module specific code for external equipment |
DataTypeCode | Short | Code describing the action |
DataFmtStd | Short | Code describing the format of the PublicData field |
DataFmtExt | Short | Code describing the format of the private part of the PublicData field |
Removed | BOOL | Action marked as removed |
Hidden | BOOL | Action marked as hidden |
PublicBlob | BLOB | Maximum BLOB size can be retrieved through BusinessAPI, GetNoahProperties , MaxBigBlobSize |
PrivateBlob | BLOB | Maximum BLOB size can be retrieved through BusinessAPI, GetNoahProperties , MaxSmallBlobSize |
ActionGroup | DateTime | Value used for Action grouping. |
*Action records must not be deleted if the referenced user is deleted.
Session Table | ||
Field Name | Type | Description |
ID | Int32 | Unique identifier for session |
PatientID | Int32 | ID of patient the session belongs to (> patient table) |
CreateDate | DateTime | Date of creation (when first action was added) |
FastView Table | ||
Field Name | Type | Description |
ActionID | Int32 | The ID of the action this FastView is related to |
LastModifiedDate | Int32 | Date of last modification |
CreateDate | DateTime | Date of creation |
Data | BLOB | Maximum BLOB size can be retrieved through BusinessAPI, GetNoahProperties , MaxFastViewBlobSize |
Format | Int32 | Pdf = 1, Rtf = 2, Jpg = 3 |
Version | Int32 | Version |