Files
query-orchestration/internal/database/queries/fieldextractions.sql
T

203 lines
4.9 KiB
SQL
Raw Normal View History

-- name: AddFieldExtraction :one
INSERT INTO documentFieldExtractions (
documentId,
fileName,
contractTitle,
aareteDerivedAmendmentNum,
clientName,
payerName,
payerState,
providerState,
filenameTin,
provGroupTin,
provGroupNpi,
provGroupNameFull,
provOtherTin,
provOtherNpi,
provOtherNameFull,
aareteDerivedEffectiveDt,
aareteDerivedTerminationDt,
autoRenewalInd,
autoRenewalTerm,
createdBy
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10,
$11, $12, $13, $14, $15, $16, $17, $18, $19, $20
)
RETURNING *;
-- name: AddFieldExtractionArrayField :exec
INSERT INTO documentFieldExtractionArrayFields (
fieldExtractionId,
arrayIndex,
exhibitTitle,
exhibitPage,
reimbProvTin,
reimbProvNpi,
reimbProvName,
reimbEffectiveDt,
reimbTerminationDt,
aareteDerivedClaimTypeCd,
aareteDerivedProduct,
aareteDerivedLob,
aareteDerivedProgram,
aareteDerivedNetwork,
aareteDerivedProvType,
provTaxonomyCd,
provTaxonomyCdDesc,
provSpecialtyCd,
provSpecialtyCdDesc,
placeOfServiceCd,
placeOfServiceCdDesc,
billTypeCd,
billTypeCdDesc,
patientAgeMin,
patientAgeMax,
reimbTerm,
lobProgramRelationship,
lobProductRelationship,
carveoutInd,
carveoutCd,
lesserOfInd,
greaterOfInd,
aareteDerivedReimbMethod,
unitOfMeasure,
reimbPctRate,
reimbFeeRate,
reimbConversionFactor,
triggerCapThresholdAmt,
triggerBaseThreshold,
defaultInd,
additionDesc,
additionMaxFeeRateInc,
additionMaxPctRateInc,
aareteDerivedAdditionRateChangeTimeline,
aareteDerivedFeeSchedule,
aareteDerivedFeeScheduleVersion,
serviceTerm,
cpt4ProcCd,
cpt4ProcCdDesc,
cpt4ProcMod,
cpt4ProcModDesc,
revenueCd,
revenueCdDesc,
diagCd,
diagCdDesc,
ndcCd,
ndcCdDesc,
claimAdmitTypeCd,
authAdmitTypeDesc,
claimStatusCd,
claimStatusCdDesc,
grouperType,
grouperCd,
grouperCdDesc,
grouperPctRate,
grouperBaseRate,
aareteDerivedGrouperVersion,
grouperAlternativeLevelOfCare,
grouperSeverityInd,
grouperSeverity,
grouperRiskOfMortalitySubclass,
grouperTransferInd,
grouperReadmissionsInd,
grouperHacInd,
outlierTerm,
outlierFirstDollarInd,
rangeNbrDays,
outlierFixedLossNbrDaysThreshold,
outlierFixedLossThreshold,
outlierMaximum,
outlierMaximumFrequency,
outlierPctRate,
outlierExclusionCd,
outlierExclusionCdDesc,
facilityAdjustmentTerm,
dshInd,
dshPctRate,
dshFeeRate,
imeInd,
imePctRate,
imeFeeRate,
ntapInd,
ntapPctRate,
ntapFeeRate,
ucInd,
ucPctRate,
ucFeeRate,
gmeInd,
gmePctRate,
gmeFeeRate,
rateEscalatorInd,
rateEscalatorDesc,
rateEscalatorMaxRateIncPct,
rateEscalatorRateChangeTimeline,
stopLossTerm,
stopLossFirstDollarInd,
stopLossRangeNbrDays,
stopLossFixedLossThreshold,
stopLossMaximum,
stopLossMaximumFrequency,
stopLossDailyMaxRate,
stopLossPctRateOnExcessCharges,
stopLossExclusionCd,
stopLossExclusionDesc
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10,
$11, $12, $13, $14, $15, $16, $17, $18, $19, $20,
$21, $22, $23, $24, $25, $26, $27, $28, $29, $30,
$31, $32, $33, $34, $35, $36, $37, $38, $39, $40,
$41, $42, $43, $44, $45, $46, $47, $48, $49, $50,
$51, $52, $53, $54, $55, $56, $57, $58, $59, $60,
$61, $62, $63, $64, $65, $66, $67, $68, $69, $70,
$71, $72, $73, $74, $75, $76, $77, $78, $79, $80,
$81, $82, $83, $84, $85, $86, $87, $88, $89, $90,
$91, $92, $93, $94, $95, $96, $97, $98, $99, $100,
$101, $102, $103, $104, $105, $106, $107, $108, $109, $110,
$111, $112, $113, $114
);
-- name: AddFieldExtractionEntry :exec
INSERT INTO documentFieldExtractionVersions (fieldExtractionId, version, createdBy)
VALUES ($1, $2, $3);
-- name: GetCurrentFieldExtraction :one
SELECT * FROM currentFieldExtractions
WHERE documentId = $1;
-- name: GetCurrentFieldExtractionWithArrayCount :one
SELECT * FROM currentFieldExtractionsWithArrayCount
WHERE documentId = $1;
-- name: GetFieldExtractionArrayFields :many
SELECT * FROM documentFieldExtractionArrayFields
WHERE fieldExtractionId = $1
ORDER BY arrayIndex;
-- name: GetFieldExtractionHistory :many
SELECT
dfe.id,
dfe.documentId,
dfev.version,
dfev.createdBy,
dfev.createdAt
FROM documentFieldExtractions dfe
JOIN documentFieldExtractionVersions dfev
ON dfev.fieldExtractionId = dfe.id
WHERE dfe.documentId = $1
ORDER BY dfev.version DESC;
-- name: ValidateArrayFieldCount :one
SELECT COUNT(*) as arrayFieldCount
FROM documentFieldExtractionArrayFields
WHERE fieldExtractionId = $1;
-- name: GetFieldExtractionByID :one
SELECT * FROM documentFieldExtractions
WHERE id = $1;
-- name: GetFieldExtractionsByDocumentID :many
SELECT * FROM documentFieldExtractions
WHERE documentId = $1
ORDER BY createdAt DESC;