procedurecodes abbrevations added
This commit is contained in:
344
apps/Frontend/src/assets/data/procedureCodes.json
Normal file
344
apps/Frontend/src/assets/data/procedureCodes.json
Normal file
@@ -0,0 +1,344 @@
|
||||
[
|
||||
{
|
||||
"Procedure Code": "D1999",
|
||||
"Description": "",
|
||||
"Price": "50"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0120",
|
||||
"Description": "perio exam",
|
||||
"Price": "105"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0140",
|
||||
"Description": "limited exam",
|
||||
"Price": "90"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0150",
|
||||
"Description": "comprehensive exam",
|
||||
"Price": "120"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0210",
|
||||
"Description": "Fmx.",
|
||||
"Price": "120"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0220",
|
||||
"Description": "first PA.",
|
||||
"Price": "60"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0230",
|
||||
"Description": "2nd PA.",
|
||||
"Price": "50"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0330",
|
||||
"Description": "pano",
|
||||
"Price": "150"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0272",
|
||||
"Description": "2 BW",
|
||||
"Price": "80"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0274",
|
||||
"Description": "4BW",
|
||||
"Price": "160"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D1110",
|
||||
"Description": "adult prophy",
|
||||
"Price": "150"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D1120",
|
||||
"Description": "child prophy",
|
||||
"Price": "120"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D1351",
|
||||
"Description": "sealant",
|
||||
"Price": "80"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D4341",
|
||||
"Description": "srp",
|
||||
"Price": "250"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D4910",
|
||||
"Description": "perio maintains",
|
||||
"Price": "250"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D1208",
|
||||
"Description": "FL",
|
||||
"Price": "90"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2330",
|
||||
"Description": "front composite. 1 s.",
|
||||
"Price": "180"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2331",
|
||||
"Description": "2s",
|
||||
"Price": "220"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2332",
|
||||
"Description": "3s",
|
||||
"Price": "280"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2335",
|
||||
"Description": "4s or more",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2391",
|
||||
"Description": "back. 1s",
|
||||
"Price": "200"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2392",
|
||||
"Description": "2s",
|
||||
"Price": "250"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2393",
|
||||
"Description": "3s",
|
||||
"Price": "280"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2394",
|
||||
"Description": "4s",
|
||||
"Price": "320"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2140",
|
||||
"Description": "amalgam, one surface",
|
||||
"Price": "150"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2150",
|
||||
"Description": "amalgam, two surface",
|
||||
"Price": "200"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2750",
|
||||
"Description": "high noble",
|
||||
"Price": "1300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2751",
|
||||
"Description": "base metal",
|
||||
"Price": "1200"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2740",
|
||||
"Description": "crown porcelain",
|
||||
"Price": "1300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2954",
|
||||
"Description": "p/c",
|
||||
"Price": "450"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7910",
|
||||
"Description": "suture, small wound up to 5 mm",
|
||||
"Price": "400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5110",
|
||||
"Description": "FU",
|
||||
"Price": "1200",
|
||||
"Full Price": "1700"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5120",
|
||||
"Description": "FL",
|
||||
"Price": "1700",
|
||||
"Full Price": "1700"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5211",
|
||||
"Description": "pu",
|
||||
"Price": "1300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5212",
|
||||
"Description": "pl",
|
||||
"Price": "1300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5213",
|
||||
"Description": "cast pu.",
|
||||
"Price": "1700"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5214",
|
||||
"Description": "cast pl",
|
||||
"Price": "1700"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5510",
|
||||
"Description": "Repair broken complete denture base (QUAD)",
|
||||
"Price": "400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5520",
|
||||
"Description": "Replace missing or broken teeth - complete denture (each tooth) (TOOTH)",
|
||||
"Price": "200"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5750",
|
||||
"Description": "lab reline",
|
||||
"Price": "600"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D5730",
|
||||
"Description": "chairside reline",
|
||||
"Price": "500"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2920",
|
||||
"Description": "re cement crown",
|
||||
"Price": "120"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2950",
|
||||
"Description": "core buildup",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D2955",
|
||||
"Description": "post renoval",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6100",
|
||||
"Description": "",
|
||||
"Price": "320"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6110",
|
||||
"Description": "implant",
|
||||
"Price": "1600"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6056",
|
||||
"Description": "pre fab abut",
|
||||
"Price": "750"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6057",
|
||||
"Description": "custom abut",
|
||||
"Price": "800"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6058",
|
||||
"Description": "porcelain, implant crown, ceramic crown",
|
||||
"Price": "1400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6059",
|
||||
"Description": "",
|
||||
"Price": "1400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6242",
|
||||
"Description": "noble metal. For united",
|
||||
"Price": "1400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D6245",
|
||||
"Description": "porcelain, not for united",
|
||||
"Price": "1400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0367",
|
||||
"Description": "",
|
||||
"Price": "400"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0364",
|
||||
"Description": "Less than one jaw",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0365",
|
||||
"Description": "Mand",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0366",
|
||||
"Description": "Max",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0368",
|
||||
"Description": "include TMJ",
|
||||
"Price": "375"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0383",
|
||||
"Description": "",
|
||||
"Price": "350"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0380",
|
||||
"Description": "Less than one jaw",
|
||||
"Price": "300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0381",
|
||||
"Description": "Mand",
|
||||
"Price": "300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D0382",
|
||||
"Description": "Max",
|
||||
"Price": "300"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7950",
|
||||
"Description": "max",
|
||||
"Price": "800"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7140",
|
||||
"Description": "simple ext",
|
||||
"Price": "150"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7210",
|
||||
"Description": "surgical ext",
|
||||
"Price": "280"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7220",
|
||||
"Description": "soft impacted",
|
||||
"Price": "380"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7230",
|
||||
"Description": "partial bony",
|
||||
"Price": "450"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D7240",
|
||||
"Description": "fully bony",
|
||||
"Price": "550"
|
||||
},
|
||||
{
|
||||
"Procedure Code": "D3320",
|
||||
"Description": "pre M RCT",
|
||||
"Price": "1050"
|
||||
}
|
||||
]
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
import { format, parse } from "date-fns";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
import { Label } from "@/components/ui/label";
|
||||
import { X, Calendar as CalendarIcon } from "lucide-react";
|
||||
import { X, Calendar as CalendarIcon, HelpCircle } from "lucide-react";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
import { Calendar } from "@/components/ui/calendar";
|
||||
import {
|
||||
@@ -28,6 +28,13 @@ import { useQuery } from "@tanstack/react-query";
|
||||
import { apiRequest } from "@/lib/queryClient";
|
||||
import { MultipleFileUploadZone } from "../file-upload/multiple-file-upload-zone";
|
||||
import { useAuth } from "@/hooks/use-auth";
|
||||
import {
|
||||
Tooltip,
|
||||
TooltipContent,
|
||||
TooltipProvider,
|
||||
TooltipTrigger,
|
||||
} from "@/components/ui/tooltip";
|
||||
import procedureCodes from "../../assets/data/procedureCodes.json";
|
||||
|
||||
const PatientSchema = (
|
||||
PatientUncheckedCreateInputObjectSchema as unknown as z.ZodObject<any>
|
||||
@@ -540,8 +547,9 @@ export function ClaimForm({
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-6 gap-4 mb-2 font-medium text-sm text-gray-700">
|
||||
<div className="grid grid-cols-7 gap-4 mb-2 font-medium text-sm text-gray-700">
|
||||
<span>Procedure Code</span>
|
||||
<span>Abbreviation</span>
|
||||
<span>Procedure Date</span>
|
||||
<span>Oral Cavity Area</span>
|
||||
<span>Tooth Number</span>
|
||||
@@ -551,7 +559,7 @@ export function ClaimForm({
|
||||
|
||||
{/* Dynamic Rows */}
|
||||
{form.serviceLines.map((line, i) => (
|
||||
<div key={i} className="grid grid-cols-6 gap-4 mb-2">
|
||||
<div key={i} className="grid grid-cols-7 gap-1 mb-2">
|
||||
<Input
|
||||
placeholder="eg. D0120"
|
||||
value={line.procedureCode}
|
||||
@@ -560,6 +568,35 @@ export function ClaimForm({
|
||||
}
|
||||
/>
|
||||
|
||||
<div className="flex items-center justify-center">
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
<HelpCircle className="h-4 w-4 text-gray-400 hover:text-gray-600 cursor-help" />
|
||||
</TooltipTrigger>
|
||||
<TooltipContent>
|
||||
<div className="text-sm">
|
||||
{line.procedureCode &&
|
||||
line.procedureCode.trim() !== ""
|
||||
? (() => {
|
||||
const normalizedCode = line.procedureCode
|
||||
.toUpperCase()
|
||||
.trim();
|
||||
const procedureInfo = procedureCodes.find(
|
||||
(p) =>
|
||||
p["Procedure Code"].toUpperCase().trim() ===
|
||||
normalizedCode
|
||||
);
|
||||
return procedureInfo
|
||||
? procedureInfo.Description ||
|
||||
"No description available"
|
||||
: "Enter a valid procedure code";
|
||||
})()
|
||||
: "Enter a procedure code"}
|
||||
</div>
|
||||
</TooltipContent>
|
||||
</Tooltip>
|
||||
</div>
|
||||
|
||||
{/* Date Picker */}
|
||||
<Popover>
|
||||
<PopoverTrigger asChild>
|
||||
|
||||
Reference in New Issue
Block a user