API ProcedureCodes

See API Specification

Anyone using the API should also become very familiar with our schema documentation which contains important details about individual database table columns.
See ProcedureCode Database Schema.

ProcedureCodes GET (single)

Version Added: 23.3.25

Gets a single ProcedureCode.

Example Request:
GET /procedurecodes/35

Example Response:
{
"CodeNum": 35,
"ProcCode": "D0120",
"Descript": "periodic oral evaluation - established patient",
"AbbrDesc": "PerEx",
"ProcTime": "/X/",
"ProcCat": 73,
"procCat": "Exams & Xrays",
"TreatArea": "Mouth",
"NoBillIns": "false",
"IsProsth": "false",
"DefaultNote": "",
"IsHygiene": "false",
"AlternateCode1": "",
"MedicalCode": "",
"IsTaxed": "false",
"PaintType": "None",
"LaymanTerm": "",
"IsCanadianLab": "false",
"BaseUnits": 0,
"SubstitutionCode": "",
"SubstOnlyIf": "Always",
"DateTStamp": "2023-12-12 09:15:11",
"DrugNDC": "",
"RevenueCodeDefault": "",
"ProvNumDefault": 0,
"CanadaTimeUnits": 0.0,
"IsRadiology": "false",
"DefaultClaimNote": "",
"DefaultTPNote": "",
"PaintText": "",
"AreaAlsoToothRange": "false",
"DiagnosticCodes": ""
}

200 OK
404 NotFound

ProcedureCodes GET (multiple)

Version Added: 22.3.22

Gets a list of ProcedureCodes.

DateTStamp: (Added in version 22.4.28) Optional. String in "yyyy-MM-dd HH:mm:ss" format. Get ProcedureCodes altered on and after the specified date and time.

Example Requests:
GET /procedurecodes
GET /procedurecodes?DateTStamp=2021-11-07%2014%3A00%3A00

Example Response:
[
{
"CodeNum": 35,
"ProcCode": "D0120",
"Descript": "periodic oral evaluation - established patient",
"AbbrDesc": "PerEx",
"ProcTime": "/X/",
"ProcCat": 73,
"procCat": "Exams & Xrays",
"TreatArea": "Mouth",
"NoBillIns": "false",
"IsProsth": "false",
"DefaultNote": "",
"IsHygiene": "false",
"AlternateCode1": "",
"MedicalCode": "",
"IsTaxed": "false",
"PaintType": "None",
"LaymanTerm": "",
"IsCanadianLab": "false",
"BaseUnits": 0,
"SubstitutionCode": "",
"SubstOnlyIf": "Always",
"DateTStamp": "2023-12-12 09:15:11",
"DrugNDC": "",
"RevenueCodeDefault": "",
"ProvNumDefault": 0,
"CanadaTimeUnits": 0.0,
"IsRadiology": "false",
"DefaultClaimNote": "",
"DefaultTPNote": "",
"PaintText": "",
"AreaAlsoToothRange": "false",
"DiagnosticCodes": ""
},
{
"CodeNum": 36,
"ProcCode": "D0140",
"Descript": "limited oral evaluation - problem focused",
"AbbrDesc": "LimEx",
"ProcTime": "/X/",
"ProcCat": 73,
"procCat": "Exams & Xrays",
"TreatArea": "Mouth",
"NoBillIns": "false",
"IsProsth": "false",
"DefaultNote": "",
"IsHygiene": "false",
"AlternateCode1": "",
"MedicalCode": "",
"IsTaxed": "false",
"PaintType": "None",
"LaymanTerm": "",
"IsCanadianLab": "false",
"BaseUnits": 0,
"SubstitutionCode": "",
"SubstOnlyIf": "Always",
"DateTStamp": "2018-07-18 08:59:14",
"DrugNDC": "",
"RevenueCodeDefault": "",
"ProvNumDefault": 0,
"CanadaTimeUnits": 1.0,
"IsRadiology": "false",
"DefaultClaimNote": "",
"DefaultTPNote": "",
"PaintText": "",
"AreaAlsoToothRange": "false",
"DiagnosticCodes": ""
},
etc...
]

200 OK
400 BadRequest

ProcedureCodes POST (create)

Version Added: 22.3

Creates a new ProcedureCode. For more information, see Procedure Code.

ProcCode: Required. Dental code.
Descript: Required. The main description of the procedure.
AbbrDesc: Required. Abbreviated description.
ProcCat: This or procCat is required. FK to definition.DefNum where definition.Category=11.
procCat: This or ProcCat is required. The string version of the definition.ItemName.

ProcTime: Optional. Time pattern in increments defined by the AppointmentTimeIncrement preference. A string consisting of 'X' and '/' characters only. Default "/X/".
TreatArea: (Added in version 22.4.34) Optional. Either "None", "Surf", "Tooth", "Mouth", "Quad", "Sextant", "Arch", or "ToothRange". Default is "None".
NoBillIns: (Added in version 23.2.10) Optional. Either "true" or "false". Default "false".
IsProsth: (Added in version 23.3.25) Optional. Either "true" or "false". Default "false".
DefaultNote: Optional. The default note for this procedure that will be copied to a ProcNote when marking complete.
IsHygiene: Optional. Either "true" or "false". Default "false".
AlternateCode1: (Added in version 23.3.25) Optional. For Medicaid.
MedicalCode: Optional. FK to procedurecode.ProcCode. The medical code that is being referenced must be set up first. Anytime a procedure is added, this medical code will also be added to that procedure.
IsTaxed: (Added in version 23.3.25) Optional. If true, uses PrefName.SalesTaxDefaultProvider to apply a sales tax adjustment to procedurelog. Either "true" or "false". Default "false".
PaintType: (Added in version 23.3.25) Optional. Either "None", "Extraction", "Implant", "RCT", "PostBU", "FillingDark", "FillingLight", "CrownDark", "CrownLight", "BridgeDark", "BridgeLight", "DentureDark", "DentureLight", "Sealant", "Veneer", "Text", "RetainedRoot", or "SpaceMaintainer". Default is "None".
LaymanTerm: Optional. When creating treatment plans, this description will be used instead of Descript.
IsCanadianLab: (Added in version 23.3.25) Optional. True if procedure code is used as an adjunct to track the lab fee. Either "true" or "false". Default "false".
BaseUnits: (Added in version 23.3.25) Optional. Base units for a code. Cannot be negative. Normally 0.
SubstitutionCode: (Added in version 22.4.9) Optional. FK to procedurecode.ProcCode. Used to create a substitution code at the procedure level. Case sensitive.
SubstOnlyIf: (Added in version 22.4.9) Optional. Either "Always", "Molar", "SecondMolar", "Never", or "Posterior". Only used if SubstitutionCode is set. Default is "Always".
DrugNDC: (Added in version 23.3.25) Optional. National Drug Code number. 11 digits or blank.
RevenueCodeDefault: (Added in version 23.3.25) Optional. A 3-digit code sometimes used for institutional claims.
ProvNumDefault: Optional. FK to provider.ProvNum. 0 for none. Otherwise, this provider will override other providers.
CanadaTimeUnits: Optional. Tracks scaling insurance and periodontal scaling units for patients depending on coverage.
IsRadiology: (Added in version 23.3.25) Optional. Either "true" or "false". Default "false".
DefaultClaimNote: (Added in version 23.3.25) Optional. Default note appended to claim.ClaimNote when a claim is created using this procedure code.
DefaultTPNote: (Added in version 23.3.25) Optional. Default note appended to a treatment planned procedure.
PaintText: (Added in version 23.3.24) Optional. The text to draw on the tooth. PaintType must be "Text".
AreaAlsoToothRange: (Added in version 23.3.25) Optional. TreatArea must be "Quad" or "Arch". Either "true" or "false". Default "false".
DiagnosticCodes: (Added in version 23.3.25) Optional. Text to store up to 4 ICD-10 codes. Codes are comma-separated with no whitespace.

Example Request:
POST /procedurecodes

{
"ProcCode": "G0140",
"Descript": "limited oral evaluation - problem focused",
"AbbrDesc": "LimEx",
"ProcCat": 83,
"DiagnosticCodes": "B08.09"
}

Example Response:
{
"CodeNum": 617,
"ProcCode": "G0140",
"Descript": "limited oral evaluation - problem focused",
"AbbrDesc": "LimEx",
"ProcTime": "/X/",
"ProcCat": 83,
"procCat": "Ortho",
"TreatArea": "None",
"NoBillIns": "false",
"IsProsth": "false",
"DefaultNote": "",
"IsHygiene": "false",
"AlternateCode1": "",
"MedicalCode": "",
"IsTaxed": "false",
"PaintType": "None",
"LaymanTerm": "",
"IsCanadianLab": "false",
"BaseUnits": 0,
"SubstitutionCode": "",
"SubstOnlyIf": "Always",
"DateTStamp": "2023-12-29 09:19:21",
"DrugNDC": "",
"RevenueCodeDefault": "",
"ProvNumDefault": 0,
"CanadaTimeUnits": 0.0,
"IsRadiology": "false",
"DefaultClaimNote": "",
"DefaultTPNote": "",
"PaintText": "",
"AreaAlsoToothRange": "false",
"DiagnosticCodes": "B08.09"
}

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

ProcedureCodes PUT (update)

Version Added: 23.3.25

Updates an existing ProcedureCode. All fields are optional. For more information, see Procedure Code.

CodeNum: Required in URL.

Descript: The main description of the Procedure.
AbbrDesc: Abbreviated description.
ProcTime: Time pattern in increments defined by the AppointmentTimeIncrement preference. A string consisting of 'X' and '/' characters only.
ProcCat: This or procCat. FK to definition.DefNum where definition.Category=11.
procCat: This or ProcCat. The string version of the definition.ItemName.
TreatArea: Either "None", "Surf", "Tooth", "Mouth", "Quad", "Sextant", "Arch", or "ToothRange".
NoBillIns: Either "true" or "false".
IsProsth: Either "true" or "false".
DefaultNote: The default note for this procedure that will be copied to a ProcNote when marking complete.
IsHygiene: Either "true" or "false".
AlternateCode1: For Medicaid.
MedicalCode: FK to procedurecode.ProcCode. The medical code that is being referenced must be set up first. Anytime a procedure is added, this medical code will also be added to that procedure.
IsTaxed: If true, uses PrefName.SalesTaxDefaultProvider to apply a sales tax adjustiment to a procedurelog. Either "true" or "false".
PaintType: Either "None", "Extraction", "Implant", "RCT", "PostBU", "FillingDark", "FillingLight", "CrownDark", "CrownLight", "BridgeDark", "BridgeLight", "DentureDark", "DentureLight", "Sealant", "Veneer", "Text", "RetainedRoot", or "SpaceMaintainer".
LaymanTerm: When creating treatment plans, this description will be used instead of the Descript.
IsCanadianLab: True if procedure code is used as an adjunct to track lab fee. Either "true" or "false".
BaseUnits: Base units for a code. Cannot be negative. Normally 0.
SubstitutionCode: FK to procedureCode.ProcCode. Used to create a substitution code at the procedure level. Case sensitive.
SubstOnlyIf: Either "Always", "Molar", "SecondMolar", "Never", or "Posterior". Only used if SubstitutionCode is set.
DrugNDC: National Drug Code number. 11 digits or blank.
RevenueCodeDefault: A 3-digit code sometimes used for institutional claims.
ProvNumDefault: FK to provider.ProvNum. 0 for none. Otherwise, this provider will override other providers.
CanadaTimeUnits: Tracks scaling insurance and periodontal scaling units for patients depending on coverage.
IsRadiology: Either "true" or "false".
DefaultClaimNote: Default note appended to claim.ClaimNote when a claim is created using this procedure code.
DefaultTPNote: Default note appended to a treatment planned procedure.
PaintText: The text to draw on the tooth. PaintType must be "Text".
AreaAlsoToothRange: TreatArea must be "Quad" or "Arch". Either "true" or "false".
DiagnosticCodes: Text to store up to 4 ICD-10 codes. Codes are comma-separated with no whitespace.

Example Request:
PUT /procedurecodes/617

{
"PaintType": "Text",
"PaintText": "Watch"
}

Example Response:
{
"CodeNum": 617,
"ProcCode": "G0140",
"Descript": "limited oral evaluation - problem focused",
"AbbrDesc": "LimEx",
"ProcTime": "/X/",
"ProcCat": 83,
"procCat": "Ortho",
"TreatArea": "None",
"NoBillIns": "false",
"IsProsth": "false",
"DefaultNote": "",
"IsHygiene": "false",
"AlternateCode1": "",
"MedicalCode": "",
"IsTaxed": "false",
"PaintType": "Text",
"LaymanTerm": "",
"IsCanadianLab": "false",
"BaseUnits": 0,
"SubstitutionCode": "",
"SubstOnlyIf": "Always",
"DateTStamp": "2023-12-29 09:19:21",
"DrugNDC": "",
"RevenueCodeDefault": "",
"ProvNumDefault": 0,
"CanadaTimeUnits": 0.0,
"IsRadiology": "false",
"DefaultClaimNote": "",
"DefaultTPNote": "",
"PaintText": "Watch",
"AreaAlsoToothRange": "false",
"DiagnosticCodes": "B08.09"
}

200 OK
400 BadRequest (with explanation)
404 NotFound (with explanation)