API Providers

See API Specification

Providers GET

Version Added: 21.1

Gets a list of all providers. Can be optionally filtered by either ClinicNum or DateTStamp. Two different queries are used. ClinicNum is not a field in the Provider table, so it does not get returned in any results.

ClinicNum: Optional. Specifying a ClinicNum returns list of non-hidden providers that are either not restricted to a clinic, or are restricted to the ClinicNum provided. When using ClinicNum, a serverDateTime will not be returned.
DateTStamp (added in version 21.3): Optional. String in "yyyy-MM-dd HH:mm:ss" format. Get providers altered after the specified date and time. This is a good way for you to keep a synchronized copy of providers. Store serverDateTime that gets returned, and use it to run the next GET.

Example Requests:
GET /providers
GET /providers?DateTStamp=2021-08-01%2005%3A30%3A00

Example Response:
[
{
"ProvNum": 1,
"Abbr": "DOC1",
"LName": "Albert",
"FName": "Brian",
"MI": "L",
"Suffix": "",
"FeeSched": 53,
"Specialty": 263,
"SSN": "1522864182",
"IsSecondary": "false",
"IsHidden": "false",
"UsingTIN": "true",
"DateTStamp": "2021-08-04 08:33:01",
"IsNotPerson": "false",
"IsHiddenReport": "false",
"Birthdate": "0001-01-01",
"SchedNote": "",
"PreferredName": "",
"serverDateTime": "2021-08-31 12:05:31"
"provColor": "164,255,164"
},
{
"ProvNum": 2,
"Abbr": "HYG1",
"LName": "Jones",
"FName": "Tina",
"MI": "",
"Suffix": "",
"FeeSched": 53,
"Specialty": 264,
"SSN": "",
"IsSecondary": "true",
"IsHidden": "false",
"UsingTIN": "false",
"DateTStamp": "2021-08-15 13:18:51",
"IsNotPerson": "false",
"IsHiddenReport": "false",
"Birthdate": "0001-01-01",
"SchedNote": "",
"PreferredName": "",
"serverDateTime": "2021-08-31 12:05:31"
"provColor": "203,151,255"
}
]

Example Request:
GET /providers?ClinicNum=4

Example Response:
{
"ProvNum": 6,
"Abbr": "HYG2",
"LName": "Thomason",
"FName": "Shirley",
"MI": "",
"Suffix": "",
"FeeSched": 53,
"Specialty": 264,
"SSN": "",
"IsSecondary": "true",
"IsHidden": "false",
"UsingTIN": "false",
"DateTStamp": "2021-07-25 10:20:21",
"IsNotPerson": "false",
"IsHiddenReport": "false",
"Birthdate": "1969-10-01",
"SchedNote": "",
"PreferredName": "",
"serverDateTime": ""
"provColor": "255,183,183"
}

200 OK
400 BadRequest "DateTStamp format must be yyyy-MM-dd HH:mm:ss"
404 NotFound "Clinic not found"

Providers POST (create)

Version Added: 21.4

Creates a new provider, billing entity, or dummy provider. After adding a provider, there's no way to delete it, not even from within Open Dental. The best you can do is to go into Open Dental and hide the provider.

Abbr: Required. A short abbreviation that shows in various lists throughout Open Dental.
LName: Optional. Last name. If billing as an entity, enter the billing entity name.
FName: Optional. First name.
MI: Optional. Middle initial.
Suffix: Optional. MD, DMD, DDS, etc.
FeeSched: Optional. Foreign key to feesched.FeeSchedNum. Default is the first in the Fee Schedule list.
Specialty: Optional. Definition.DefNum where definition.Category=35. Default is the first in the Specialty list.
SSN: Optional. Provider's SSN or TIN. Most offices will enter their TIN here. If SSN the TIN field must be set to "false". SSN/TIN is not allowed to have dashes.
IsSecondary: Optional. True if provider is a hygienist. Default is false.
IsHidden: Optional. If true, provider wil be removed as a selection option in various areas of Open Dental. Default is false.
UsingTIN: Optional. True if SSN field is storing TIN. Default is true.
IsNotPerson: Optional. This is set to true if the provider is used as an entity or organization instead of a person. When set to true, FName and MI must be omitted. Default is false.
IsHiddenReport: Optional. Determines wether the provider will show on standard reports. Default is false.
BirthDate: Optional. Provider's birth date in "yyyy-mm-dd" format.
SchedNote: Optional. Indicates if the provider should be scheduled in a certain way.
PreferredName: Optional. The preferred name of the provider. This is displayed in the eClipboard.

Example Request:
POST /providers

{
"Abbr": "DOCE",
"LName": "Fisher",
"FName": "Ethan",
"Suffix": "DDS",
"SSN":"123859778",
"IsHiddenReport": "true",
"Birthdate": "1987-07-17",
"SchedNote": "Root canals only.",
"PreferredName": "Doc E."
}

Example Response:
{
"ProvNum": 12,
"Abbr": "DOCE",
"LName": "Fisher",
"FName": "Ethan",
"MI": "",
"Suffix": "DDS",
"FeeSched": 53,
"Specialty": 263,
"SSN": "123859778",
"IsSecondary": "false",
"IsHidden": "false",
"UsingTIN": "true",
"DateTStamp": "",
"IsNotPerson": "false",
"IsHiddenReport": "true",
"Birthdate": "1987-07-17",
"SchedNote": "Root canals only.",
"PreferredName": "Doc E.",
"serverDateTime": ""
"provColor": "0,0,0"
}

201 Created
400 BadRequest (with explanation)
404 NotFound (with explanation)

Providers PUT (update)

Version Added: 22.1

All fields are optional.

Abbr: The provider's abbreviation. Cannot be blank.
FName: The provider's first name.
LName: The provider's last name.
MI: The provider's middle initial.
Suffix: The provider's suffix (Jr., III, IV, etc...).
PreferredName: The provider's preferred name.
Specialty: The DefNum of the provider's specialty, where the definition category is 35.
NationalProvId: The provider's national provider ID.
StateLicense: The provider's state license number.
SSN: Provider's SSN or TIN, no dashes.
UsingTIN: True if SSN field is storing TIN. Valid values are "true" and "false".

Example Request:
PUT /providers/13

{
"Abbr": "DOC1",
"FName": "Philip",
"LName": "Sherman",
"MI": "",
"Suffix": "",
"PreferredName": "Phil",
"Specialty": 264,
"NationalProvId": "1245319599",
"StateLicense": "183815",
"SSN": "123456789",
"UsingTIN": "false"
}

Example Response:
200 OK
400 Bad Request (with explanation)
404 Not Found