> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rcintell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calculate Medi-Cal APR-DRG payment

> SFY 2025-26 Medi-Cal APR-DRG payment for an already-grouped APR-DRG+SOI.

Uses the DHCS calculator workbook (hospital characteristics, DRG table,
policy constants). Does not group diagnoses or procedures.



## OpenAPI

````yaml /docs/openapi.client.json post /v1/medi-cal/apr-drg/payment
openapi: 3.1.0
info:
  description: >-
    Client API for RCIntel. Admin ingest, catalog sync, and internal audit
    routes are omitted. See Guides → Which API to use.
  summary: Multi-tenant knowledge API for healthcare revenue cycle management.
  title: Healthcare Knowledge Layer
  version: 0.1.0
servers: []
security: []
tags:
  - description: >-
      Geographic payer policy lookup (national NCD vs MAC LCD vs state). Query
      payer, code, state, plan_type. Each row includes geo_scope and
      document_version.
    name: policies
  - description: >-
      Payer network directory — search payers, check prior auth requirements,
      view filing rules, denial patterns, and appeal levels.
    name: payers
  - description: >-
      Resolve healthcare billing knowledge across the L1-L6 layer stack.
      Includes payment calculation, billing guidance, and per-layer queries.
    name: knowledge
  - description: >-
      CMS Fee Schedule lookups — OPPS (Addendum B / APC), DMEPOS (state-level
      pricing), and Clinical Lab Fee Schedule (CLFS).
    name: fee-schedules
  - description: >-
      NCCI (National Correct Coding Initiative) — dedicated MUE limits, PTP
      bundling edits, add-on code edits, and code pair validation.
    name: ncci
  - description: >-
      Service code intelligence — CPT/HCPCS lookup, RVU data, NCCI edits,
      payment calculation, implant/GUDID search, and service group
      classification.
    name: codes
  - description: >-
      Submit asynchronous AI agent jobs for code research, medical necessity,
      and denial resolution. Poll for results and retrieve reasoning traces.
    name: agents
  - description: >-
      Register and manage healthcare facilities by CCN (Medicare Provider
      Number). Each facility is the root entity for knowledge resolution.
    name: facilities
  - description: >-
      NPI Registry — live search against CMS NPPES API for provider and
      organization National Provider Identifiers.
    name: npi
  - description: >-
      OpenFDA drug product lookup by NDC. Includes product-level fields with
      normalized ingredient and package detail.
    name: drugs
  - description: Health checks, service metadata, and Prometheus metrics.
    name: system
paths:
  /v1/medi-cal/apr-drg/payment:
    post:
      tags:
        - knowledge
      summary: Calculate Medi-Cal APR-DRG payment
      description: |-
        SFY 2025-26 Medi-Cal APR-DRG payment for an already-grouped APR-DRG+SOI.

        Uses the DHCS calculator workbook (hospital characteristics, DRG table,
        policy constants). Does not group diagnoses or procedures.
      operationId: calculate_medi_cal_aprdrg_v1_medi_cal_apr_drg_payment_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediCalAprDrgPaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediCalAprDrgPaymentResponse'
          description: SFY 2025-26 DHCS APR-DRG estimate for a known DRG+SOI
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - APIKeyHeader: []
components:
  schemas:
    MediCalAprDrgPaymentRequest:
      description: Calculate SFY 2025-26 Medi-Cal APR-DRG payment for a known DRG+SOI.
      examples:
        - apr_drg: '194'
          length_of_stay: 3
          oshpd_id: '106010735'
          patient_age: 64
          soi: 1
          total_charges: 50000
      properties:
        apr_drg:
          description: APR-DRG code, optionally with SOI (e.g. 194 or 194-1)
          title: Apr Drg
          type: string
        cost_to_charge_ratio:
          anyOf:
            - minimum: 0
              type: number
            - type: 'null'
          description: Override hospital CCR
          title: Cost To Charge Ratio
        designated_nicu:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Override hospital NICU designation
          title: Designated Nicu
        discharge_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Discharge Date
        discharge_status_30:
          default: false
          title: Discharge Status 30
          type: boolean
        drg_base_rate:
          anyOf:
            - minimum: 0
              type: number
            - type: 'null'
          description: Override wage-adjusted DRG base rate
          title: Drg Base Rate
        length_of_stay:
          minimum: 0
          title: Length Of Stay
          type: number
        oshpd_id:
          description: OSHPD hospital ID from the DHCS workbook
          examples:
            - '106010735'
          title: Oshpd Id
          type: string
        other_health_coverage:
          default: 0
          minimum: 0
          title: Other Health Coverage
          type: number
        patient_age:
          minimum: 0
          title: Patient Age
          type: number
        patient_discharge_status_transfer:
          default: false
          title: Patient Discharge Status Transfer
          type: boolean
        patient_share_of_cost:
          default: 0
          minimum: 0
          title: Patient Share Of Cost
          type: number
        soi:
          description: Severity of illness 1-4
          maximum: 4
          minimum: 1
          title: Soi
          type: integer
        total_charges:
          minimum: 0
          title: Total Charges
          type: number
      required:
        - oshpd_id
        - apr_drg
        - soi
        - total_charges
        - length_of_stay
        - patient_age
      title: MediCalAprDrgPaymentRequest
      type: object
    MediCalAprDrgPaymentResponse:
      properties:
        allowed_amount:
          title: Allowed Amount
          type: number
        calculation:
          $ref: '#/components/schemas/MediCalAprDrgCalculationOut'
        caveats:
          items:
            type: string
          title: Caveats
          type: array
        discharge_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Discharge Date
        drg:
          $ref: '#/components/schemas/MediCalAprDrgOut'
        fiscal_year:
          title: Fiscal Year
          type: string
        hospital:
          $ref: '#/components/schemas/MediCalHospitalOut'
        payer:
          title: Payer
          type: string
        payment_amount:
          title: Payment Amount
          type: number
        policy:
          $ref: '#/components/schemas/MediCalAprDrgPolicyOut'
        reliability:
          $ref: '#/components/schemas/ReliabilityMetadata'
        total_base_payment:
          title: Total Base Payment
          type: number
      required:
        - payer
        - fiscal_year
        - hospital
        - drg
        - policy
        - calculation
        - total_base_payment
        - allowed_amount
        - payment_amount
        - reliability
      title: MediCalAprDrgPaymentResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    MediCalAprDrgCalculationOut:
      properties:
        add_on_amount:
          title: Add On Amount
          type: number
        allowed_after_transfer_adjustment:
          title: Allowed After Transfer Adjustment
          type: number
        allowed_amount:
          title: Allowed Amount
          type: number
        case_margin_status:
          title: Case Margin Status
          type: string
        drg_base_payment:
          title: Drg Base Payment
          type: number
        drg_base_rate:
          title: Drg Base Rate
          type: number
        drg_payment_so_far:
          title: Drg Payment So Far
          type: number
        estimated_cost:
          title: Estimated Cost
          type: number
        estimated_gain:
          anyOf:
            - type: number
            - type: 'null'
          title: Estimated Gain
        estimated_loss:
          anyOf:
            - type: number
            - type: 'null'
          title: Estimated Loss
        high_side_outlier_applies:
          title: High Side Outlier Applies
          type: boolean
        high_side_outlier_payment_increase:
          title: High Side Outlier Payment Increase
          type: number
        interim_claim_payment:
          title: Interim Claim Payment
          type: number
        lesser_of_amount:
          title: Lesser Of Amount
          type: number
        low_side_outlier_applies:
          title: Low Side Outlier Applies
          type: boolean
        low_side_outlier_payment_decrease:
          title: Low Side Outlier Payment Decrease
          type: number
        national_average_los:
          title: National Average Los
          type: number
        payment_amount:
          title: Payment Amount
          type: number
        payment_relative_weight:
          title: Payment Relative Weight
          type: number
        policy_adjustor_code:
          title: Policy Adjustor Code
          type: string
        policy_adjustor_value:
          title: Policy Adjustor Value
          type: number
        transfer_payment_adjustment:
          anyOf:
            - type: number
            - type: 'null'
          title: Transfer Payment Adjustment
      required:
        - policy_adjustor_code
        - policy_adjustor_value
        - payment_relative_weight
        - drg_base_rate
        - drg_base_payment
        - national_average_los
        - transfer_payment_adjustment
        - allowed_after_transfer_adjustment
        - estimated_cost
        - case_margin_status
        - estimated_loss
        - high_side_outlier_applies
        - high_side_outlier_payment_increase
        - estimated_gain
        - low_side_outlier_applies
        - low_side_outlier_payment_decrease
        - drg_payment_so_far
        - add_on_amount
        - allowed_amount
        - lesser_of_amount
        - interim_claim_payment
        - payment_amount
      title: MediCalAprDrgCalculationOut
      type: object
    MediCalAprDrgOut:
      properties:
        apr_drg:
          title: Apr Drg
          type: string
        description:
          title: Description
          type: string
        hsrv_casemix_relative_weight:
          title: Hsrv Casemix Relative Weight
          type: number
        medicaid_care_category_adult:
          title: Medicaid Care Category Adult
          type: string
        medicaid_care_category_pediatric:
          title: Medicaid Care Category Pediatric
          type: string
        national_average_los:
          title: National Average Los
          type: number
        policy_adjustor_a:
          title: Policy Adjustor A
          type: number
        policy_adjustor_b:
          title: Policy Adjustor B
          type: number
        policy_adjustor_c:
          title: Policy Adjustor C
          type: number
        policy_adjustor_d:
          title: Policy Adjustor D
          type: number
      required:
        - apr_drg
        - description
        - national_average_los
        - hsrv_casemix_relative_weight
        - policy_adjustor_a
        - policy_adjustor_b
        - policy_adjustor_c
        - policy_adjustor_d
        - medicaid_care_category_adult
        - medicaid_care_category_pediatric
      title: MediCalAprDrgOut
      type: object
    MediCalHospitalOut:
      properties:
        admin2_level_190_rate:
          title: Admin2 Level 190 Rate
          type: number
        admin2_level_199_rate:
          title: Admin2 Level 199 Rate
          type: number
        ca_neutrality_adjusted_wage_index:
          title: Ca Neutrality Adjusted Wage Index
          type: number
        cost_to_charge_ratio:
          title: Cost To Charge Ratio
          type: number
        designated_nicu:
          title: Designated Nicu
          type: boolean
        dhcs_designated_remote_rural:
          title: Dhcs Designated Remote Rural
          type: boolean
        dph:
          title: Dph
          type: boolean
        ndph:
          title: Ndph
          type: boolean
        oshpd_id:
          title: Oshpd Id
          type: string
        oshpd_rural_hospital:
          title: Oshpd Rural Hospital
          type: boolean
        provider_name:
          title: Provider Name
          type: string
        rehab_rate:
          title: Rehab Rate
          type: number
        unadjusted_base_rate:
          title: Unadjusted Base Rate
          type: number
        wage_adjusted_base_rate:
          title: Wage Adjusted Base Rate
          type: number
        wage_index:
          title: Wage Index
          type: number
      required:
        - oshpd_id
        - provider_name
        - dph
        - ndph
        - designated_nicu
        - oshpd_rural_hospital
        - dhcs_designated_remote_rural
        - cost_to_charge_ratio
        - wage_index
        - ca_neutrality_adjusted_wage_index
        - unadjusted_base_rate
        - wage_adjusted_base_rate
        - rehab_rate
        - admin2_level_190_rate
        - admin2_level_199_rate
      title: MediCalHospitalOut
      type: object
    MediCalAprDrgPolicyOut:
      properties:
        add_on_amount:
          title: Add On Amount
          type: number
        casemix_adjustment_factor:
          title: Casemix Adjustment Factor
          type: number
        cost_outlier_threshold:
          title: Cost Outlier Threshold
          type: number
        interim_claim_threshold:
          title: Interim Claim Threshold
          type: number
        interim_per_diem_amount:
          title: Interim Per Diem Amount
          type: number
        marginal_cost_percentage:
          title: Marginal Cost Percentage
          type: number
      required:
        - cost_outlier_threshold
        - marginal_cost_percentage
        - casemix_adjustment_factor
        - interim_claim_threshold
        - interim_per_diem_amount
        - add_on_amount
      title: MediCalAprDrgPolicyOut
      type: object
    ReliabilityMetadata:
      description: User-visible reliability metadata attached to API responses.
      properties:
        data_sources:
          additionalProperties:
            type: string
          description: Data-source backends used to build this response.
          title: Data Sources
          type: object
        dataset_versions:
          additionalProperties:
            type: string
          description: >-
            CMS/DHCS/NLM/FDA named versions used to compose this response (e.g.
            mpfs=CY2026, ipps=FY2026). See GET /v1/data/changes.
          title: Dataset Versions
          type: object
        degraded:
          default: false
          description: True when a fallback or non-primary source path was used.
          title: Degraded
          type: boolean
        generated_at:
          description: UTC timestamp when the response payload was composed.
          title: Generated At
          type: string
        warnings:
          description: Human-readable caveats relevant to downstream consumers.
          items:
            type: string
          title: Warnings
          type: array
      required:
        - generated_at
      title: ReliabilityMetadata
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-Key
      type: apiKey

````