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

# Potenzial-Check durchführen

> Analysiert die übermittelten Patienten- und Termindaten mit der Clinero-Regelprüfung und liefert das Abrechnungspotenzial für das angegebene Quartal. Details zum Datenformat und zur benötigten Behandlungshistorie finden Sie im Leitfaden "Potenzial-Check per API".



## OpenAPI

````yaml openapi.public.json POST /api/v1/potential-check
openapi: 3.1.0
info:
  title: Clinero API
  description: >-
    Öffentliche Clinero-Partnerschnittstelle. Alle Anfragen werden mit einem
    API-Key im Header `X-Api-Key` authentifiziert.
  version: '1.0'
servers:
  - url: https://ui.clinero.de
security: []
paths:
  /api/v1/potential-check:
    post:
      tags:
        - Potenzial-Check API
      summary: Potenzial-Check durchführen
      description: >-
        Analysiert die übermittelten Patienten- und Termindaten mit der
        Clinero-Regelprüfung und liefert das Abrechnungspotenzial für das
        angegebene Quartal. Details zum Datenformat und zur benötigten
        Behandlungshistorie finden Sie im Leitfaden "Potenzial-Check per API".
      operationId: run_public_potential_check
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicPotentialCheckRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPotentialCheckResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PublicPotentialCheckRequest:
      properties:
        quarter:
          $ref: '#/components/schemas/PublicQuarter'
          description: Abrechnungsquartal, das analysiert werden soll.
        bundesland:
          $ref: '#/components/schemas/Bundesland'
          description: >-
            KZV-Bereich der Praxis (Bundesland-Kürzel, z. B. "BW";
            Nordrhein-Westfalen ist in "NR" und "WL" geteilt). Bestimmt
            KZV-Zielwerte und Quartalsziele.
          examples:
            - BW
        patients:
          items:
            $ref: '#/components/schemas/PublicPatient'
          type: array
          minItems: 1
          title: Patients
          description: Patienten mit Befund und vollständiger Terminhistorie.
      type: object
      required:
        - quarter
        - bundesland
        - patients
      title: PublicPotentialCheckRequest
    PublicPotentialCheckResponse:
      properties:
        quarter:
          $ref: '#/components/schemas/PublicQuarter'
          description: Analysiertes Abrechnungsquartal.
        bundesland:
          $ref: '#/components/schemas/Bundesland'
          description: KZV-Bereich der Analyse.
        point_value:
          type: number
          title: Point Value
          description: Für die Euro-Umrechnung verwendeter BEMA-Punktwert.
        summary:
          $ref: '#/components/schemas/PublicPotentialCheckSummary'
        add_code_stats:
          items:
            $ref: '#/components/schemas/PublicAddCodeStat'
          type: array
          title: Add Code Stats
          description: Vorgeschlagene Ziffern, aggregiert je Gebührenziffer.
        rule_impacts:
          items:
            $ref: '#/components/schemas/PublicRuleImpact'
          type: array
          title: Rule Impacts
          description: Auswirkung je Regel, absteigend nach Häufigkeit.
        appointments:
          items:
            $ref: '#/components/schemas/PublicAppointmentFinding'
          type: array
          title: Appointments
          description: >-
            Termine des Zielquartals mit mindestens einem Befund. Termine ohne
            Vorschläge sind nicht enthalten.
      type: object
      required:
        - quarter
        - bundesland
        - point_value
        - summary
        - add_code_stats
        - rule_impacts
        - appointments
      title: PublicPotentialCheckResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PublicQuarter:
      properties:
        year:
          type: integer
          maximum: 2100
          minimum: 2000
          title: Year
          description: Kalenderjahr des Abrechnungsquartals.
        quarter:
          type: integer
          maximum: 4
          minimum: 1
          title: Quarter
          description: Quartal (1–4).
      type: object
      required:
        - year
        - quarter
      title: PublicQuarter
    Bundesland:
      type: string
      enum:
        - BW
        - BY
        - BE
        - BB
        - HB
        - HH
        - HE
        - MV
        - NDS
        - NR
        - WL
        - RPS
        - SL
        - SN
        - ST
        - SH
        - TH
      title: Bundesland
      description: >-
        The 17 KZV areas. They follow the Bundesländer, except that

        Nordrhein-Westfalen is split into the KZVen Nordrhein and
        Westfalen-Lippe.
    PublicPatient:
      properties:
        id:
          type: string
          minLength: 1
          title: Id
          description: >-
            Patienten-ID aus Ihrem System. Muss innerhalb der Anfrage eindeutig
            sein; sie wird unverändert in den Ergebnissen zurückgegeben.
        birthday:
          type: string
          format: date
          title: Birthday
          description: >-
            Geburtsdatum. Erforderlich für altersabhängige Leistungen (z. B. IP,
            FU).
        insurance_status:
          type: string
          enum:
            - public
            - private
            - unknown
          title: Insurance Status
          description: 'Versicherungsstatus: "public" (GKV), "private" (PKV) oder "unknown".'
          examples:
            - public
        befund:
          additionalProperties:
            items:
              $ref: '#/components/schemas/BefundToken'
            type: array
          type: object
          title: Befund
          description: >-
            Zahnbefund je Zahn im FDI-Schema ("18"–"48"). Zähne ohne Befund
            können weggelassen werden. Die möglichen Befund-Tokens sind im
            Leitfaden dokumentiert.
          examples:
            - '16':
                - crown
              '24':
                - caries
                - vital
        appointments:
          items:
            $ref: '#/components/schemas/PublicAppointment'
          type: array
          title: Appointments
          description: >-
            Alle Termine des Patienten – nicht nur die des Zielquartals. Die
            Regelprüfung benötigt die Behandlungshistorie (mindestens 2–3 Jahre,
            für eine zuverlässige PAR-Erkennung 5 Jahre).
      type: object
      required:
        - id
        - birthday
        - insurance_status
        - befund
        - appointments
      title: PublicPatient
    PublicPotentialCheckSummary:
      properties:
        total_appointments:
          type: integer
          title: Total Appointments
          description: Anzahl der Termine im Zielquartal.
        affected_appointments:
          type: integer
          title: Affected Appointments
          description: >-
            Termine mit mindestens einem Hinzufügungs- oder
            Entfernungsvorschlag.
        additions:
          type: integer
          title: Additions
          description: Anzahl vorgeschlagener zusätzlicher Ziffern (Potenzial).
        removals:
          type: integer
          title: Removals
          description: Anzahl der Ziffern, die entfernt werden müssen.
        limitations:
          type: integer
          title: Limitations
          description: >-
            Anzahl der Ziffern, die durch Abrechnungsbestimmungen begrenzt
            wurden.
        total_add_points:
          type: integer
          title: Total Add Points
          description: Summe der BEMA-Punkte aller Vorschläge.
        total_add_eur:
          type: number
          title: Total Add Eur
          description: Geschätztes Potenzial in Euro (Punkte × Punktwert).
      type: object
      required:
        - total_appointments
        - affected_appointments
        - additions
        - removals
        - limitations
        - total_add_points
        - total_add_eur
      title: PublicPotentialCheckSummary
    PublicAddCodeStat:
      properties:
        code:
          type: string
          title: Code
          description: Vorgeschlagene Gebührenziffer.
        count:
          type: integer
          title: Count
          description: Wie oft die Ziffer vorgeschlagen wurde.
        points_per_code:
          type: integer
          title: Points Per Code
          description: BEMA-Punkte je Ansatz.
        total_points:
          type: integer
          title: Total Points
          description: Summe der Punkte über alle Vorschläge.
        total_eur:
          type: number
          title: Total Eur
          description: Summe in Euro (Punkte × Punktwert).
      type: object
      required:
        - code
        - count
        - points_per_code
        - total_points
        - total_eur
      title: PublicAddCodeStat
    PublicRuleImpact:
      properties:
        action:
          type: string
          enum:
            - add
            - remove
          title: Action
          description: Ob die Regel Ziffern hinzufügt oder entfernt.
        rule_id:
          type: string
          title: Rule Id
          description: Stabile ID der Regel.
        label:
          type: string
          title: Label
          description: Kurzbezeichnung der Regel.
        explanation:
          type: string
          title: Explanation
          description: Fachliche Begründung der Regel.
        count:
          type: integer
          title: Count
          description: Anzahl der Vorschläge dieser Regel.
        appointments_affected:
          type: integer
          title: Appointments Affected
          description: Anzahl betroffener Termine.
        codes:
          items:
            type: string
          type: array
          title: Codes
          description: Betroffene Gebührenziffern.
      type: object
      required:
        - action
        - rule_id
        - label
        - explanation
        - count
        - appointments_affected
        - codes
      title: PublicRuleImpact
    PublicAppointmentFinding:
      properties:
        patient_id:
          type: string
          title: Patient Id
          description: Ihre Patienten-ID aus der Anfrage.
        date:
          type: string
          format: date
          title: Date
          description: Behandlungsdatum des Termins.
        add_codes:
          items:
            type: string
          type: array
          title: Add Codes
          description: Vorgeschlagene zusätzliche Ziffern.
        remove_codes:
          items:
            type: string
          type: array
          title: Remove Codes
          description: Zu entfernende Ziffern.
        additions:
          items:
            $ref: '#/components/schemas/PublicAppointmentFindingItem'
          type: array
          title: Additions
          description: Details zu den Hinzufügungsvorschlägen.
        removals:
          items:
            $ref: '#/components/schemas/PublicAppointmentFindingItem'
          type: array
          title: Removals
          description: Details zu den Entfernungsvorschlägen.
        limitations:
          items:
            $ref: '#/components/schemas/PublicAppointmentLimitationItem'
          type: array
          title: Limitations
          description: Ziffern, die durch Abrechnungsbestimmungen begrenzt wurden.
      type: object
      required:
        - patient_id
        - date
        - add_codes
        - remove_codes
        - additions
        - removals
        - limitations
      title: PublicAppointmentFinding
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    BefundToken:
      type: string
      enum:
        - adhesive_anchor
        - adhesive_bridge
        - adhesive_bridge_renew
        - adhesive_anchor_renew
        - bridge
        - bridge_renew
        - replaced
        - replaced_renew
        - missing
        - implant_remove
        - crown
        - crown_renew
        - partial_defect
        - partial_crown_renew
        - post_crown
        - post_crown_renew
        - implant_bridge
        - implant_bridge_renew
        - implant_denture_tooth
        - implant_denture_tooth_renew
        - implant_crown
        - implant_crown_renew
        - implant_connector
        - implant_connector_renew
        - implant_telescope
        - implant_telescope_renew
        - telescope
        - telescope_secondary_renew
        - telescope_renew
        - retention_insufficient
        - severe_damage
        - non_restorable
        - gap_closed
        - caries
        - filling
        - inlay
        - vital
        - dead
      title: BefundToken
    PublicAppointment:
      properties:
        date:
          type: string
          format: date
          title: Date
          description: Behandlungsdatum (ISO 8601, z. B. "2026-04-03").
        documentation:
          type: string
          title: Documentation
          description: >-
            Freitext-Dokumentation des Termins aus dem PVS. Die Regelerkennung
            wertet diesen Text aus – je vollständiger, desto zuverlässiger das
            Ergebnis.
          default: ''
          examples:
            - eingehende Untersuchung, ZST o.B.
        codings:
          items:
            $ref: '#/components/schemas/PublicCoding'
          type: array
          title: Codings
          description: Zum Termin bereits erfasste Gebührenziffern.
      type: object
      required:
        - date
      title: PublicAppointment
    PublicAppointmentFindingItem:
      properties:
        code:
          type: string
          title: Code
          description: Betroffene Gebührenziffer.
        tooth:
          anyOf:
            - type: string
            - type: 'null'
          title: Tooth
          description: Zahnangabe, falls zahnbezogen.
        label:
          type: string
          title: Label
          description: Kurzbezeichnung der auslösenden Regel.
        explanation:
          type: string
          title: Explanation
          description: Fachliche Begründung.
      type: object
      required:
        - code
        - label
        - explanation
      title: PublicAppointmentFindingItem
    PublicAppointmentLimitationItem:
      properties:
        code:
          type: string
          title: Code
          description: Begrenzte Gebührenziffer.
        label:
          type: string
          title: Label
          description: Kurzbezeichnung der Abrechnungsbestimmung.
        explanation:
          type: string
          title: Explanation
          description: Fachliche Begründung.
      type: object
      required:
        - code
        - label
        - explanation
      title: PublicAppointmentLimitationItem
    PublicCoding:
      properties:
        code:
          type: string
          minLength: 1
          title: Code
          description: Gebührenziffer, wie im PVS erfasst (z. B. "01", "Ä1", "ZST").
          examples:
            - '01'
        schema_type:
          type: string
          enum:
            - BEMA
            - GOZ
          title: Schema Type
          description: 'Abrechnungsschema der Ziffer: BEMA (GKV) oder GOZ (privat).'
          examples:
            - BEMA
        amount:
          type: integer
          minimum: 1
          title: Amount
          description: Anzahl der erbrachten Leistungen.
          default: 1
        factor:
          type: number
          minimum: 0
          title: Factor
          description: >-
            Steigerungsfaktor. Nur für GOZ-Ziffern relevant; für BEMA 1.0
            belassen.
          default: 1
        tooth:
          anyOf:
            - type: string
            - type: 'null'
          title: Tooth
          description: Zahnangabe im FDI-Schema (z. B. "16"), falls vorhanden.
        provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider
          description: Behandlerkürzel, falls im PVS erfasst.
      type: object
      required:
        - code
        - schema_type
      title: PublicCoding
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: API-Key aus dem Clinero Entwickler-Bereich.
      in: header
      name: X-Api-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.