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

# Listar documentos de prontuário médico

> Lista os documentos de prontuário médico produzidos para uma sessão de scribe.

Um laudo ditado (`purpose` 'report') também traz `reportState`, que indica se o radiologista o assinou. Os demais registros não têm fluxo de trabalho, então seu `reportState` é null. Verifique `reportState.lifecycleStatus` antes de usar um laudo: um `draft` não está completo e o radiologista ainda pode alterá-lo.



## OpenAPI

````yaml /pt-BR/scribe-api/openapi-institutional.json get /v1/scribe-sessions/{id}/medical-record-documents
openapi: 3.1.0
info:
  title: Scribe Public API
  description: >-
    API REST externa para integração com a plataforma Telepatia. Autentique-se
    com chaves de API, defina o contexto da consulta e busque sessões de scribe.
  version: 0.1.0
servers:
  - url: https://scribe-api.telepatia.ai
    description: Production
security:
  - BearerAuth: []
paths:
  /v1/scribe-sessions/{id}/medical-record-documents:
    get:
      tags:
        - Medical Record Documents
      summary: Listar documentos de prontuário médico
      description: >-
        Lista os documentos de prontuário médico produzidos para uma sessão de
        scribe.


        Um laudo ditado (`purpose` 'report') também traz `reportState`, que
        indica se o radiologista o assinou. Os demais registros não têm fluxo de
        trabalho, então seu `reportState` é null. Verifique
        `reportState.lifecycleStatus` antes de usar um laudo: um `draft` não
        está completo e o radiologista ainda pode alterá-lo.
      operationId: >-
        api_medical_record_documents_listed_v1_scribe_sessions__id__medical_record_documents_get
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 128
            pattern: ^[a-zA-Z0-9_-]+$
            description: >-
              A sessão a buscar — seu consultationInternalId, ou o id da sessão
              (ss_...) que a API retorna.
            examples:
              - CONSULT-12345
              - ss_sa98vgqyra91q5b8
            title: Id
          description: >-
            A sessão a buscar — seu consultationInternalId, ou o id da sessão
            (ss_...) que a API retorna.
        - name: purpose
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                minLength: 1
                maxLength: 255
              - type: 'null'
            description: >-
              Optional filter — return only documents with this purpose. Use
              'report' to get only the dictated reports.
            examples:
              - primary
            title: Purpose
          description: >-
            Optional filter — return only documents with this purpose. Use
            'report' to get only the dictated reports.
      responses:
        '200':
          description: Resposta bem-sucedida
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicalRecordDocumentListResponse'
              example:
                items:
                  - cdssAlerts:
                      - action: Suspend ibuprofen; consider paracetamol.
                        actionCategory: replace
                        element: Ibuprofen 600mg q8h
                        elementId: IBUPROFEN
                        id: cfa_bXJkLWFiYy0xMjMfSUJVUFJPRkVO
                        issue: not_pertinent
                        newPlanElement:
                          content: Paracetamol 1g q8h PO
                          element: Paracetamol
                          id: PARACETAMOL
                          type: medication
                        reason: NSAID contraindicated with documented CKD.
                        severity: red
                        source:
                          - KDIGO 2024 CKD guideline
                        status: pending
                        type: medication
                    createdAt: '2026-02-20T10:30:00Z'
                    diagnosisCodes:
                      - code: I10
                        description: Essential (primary) hypertension
                        type: primary
                    id: mrd-abc-123
                    language: en
                    medicalRecord:
                      assessmentPlan:
                        assessment: Likely stable angina.
                        plan:
                          - content: Reduce saturated fat intake.
                            element: Dietary counseling
                            id: DIETARY_COUNSELING
                            laboratory: ''
                            type: non_pharmacological
                      chiefComplaint: Chest pain for two days.
                      vitalSigns:
                        bloodPressure: 120/80
                        heartRate: '78'
                        temperature: ''
                    medicalRecordSummary: Patient presents with chest pain.
                    medicalRecordSummaryStructured:
                      pastMedicalConditions:
                        - Hypertension
                      pastMedicalConditionsCoded:
                        - code:
                            code: I10
                            options:
                              - code: I10
                                score: 0.98
                          content: Hypertension
                      vitalSigns:
                        bloodPressure: 120/80
                    purpose: primary
                    specialty: Cardiology
                    updatedAt: '2026-02-20T10:35:00Z'
                total: 1
        '400':
          description: >-
            Requisição inválida — parâmetros inválidos, falhas de validação ou
            campos ausentes.
          content:
            application/json:
              examples:
                parameter_missing:
                  summary: Missing required field
                  value:
                    error:
                      type: invalid_request_error
                      code: parameter_missing
                      message: name is required.
                      param: name
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
                parameter_invalid:
                  summary: Invalid field value
                  value:
                    error:
                      type: invalid_request_error
                      code: parameter_invalid
                      message: >-
                        idCountry must be a valid country name, ISO alpha-2, or
                        ISO alpha-3 code.
                      param: idCountry
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
                account_invalid:
                  summary: Invalid account
                  value:
                    error:
                      type: invalid_request_error
                      code: account_invalid
                      message: Account has no valid authId.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Não autorizado — chave de API ausente ou inválida.
          content:
            application/json:
              examples:
                authentication_required:
                  summary: Invalid or missing API key
                  value:
                    error:
                      type: authentication_error
                      code: authentication_required
                      message: Invalid API key.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Proibido — a chave de API não pode executar esta operação.
          content:
            application/json:
              examples:
                permission_denied:
                  summary: Caller lacks permission for this resource
                  value:
                    error:
                      type: permission_error
                      code: permission_denied
                      message: You do not have permission to access this resource.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
                permission_denied_role:
                  summary: API key's account role is not allowed this operation
                  value:
                    error:
                      type: permission_error
                      code: permission_denied
                      message: >-
                        Your API key is not allowed to create accounts. Account
                        creation requires an institutional API key; this key is
                        scoped to a doctor account.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Não encontrado — o recurso solicitado não existe.
          content:
            application/json:
              examples:
                resource_not_found:
                  summary: Resource not found
                  value:
                    error:
                      type: invalid_request_error
                      code: resource_not_found
                      message: No session scribe found for the given consultation ID.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Serviço indisponível — uma dependência externa está indisponível.
          content:
            application/json:
              examples:
                service_unavailable:
                  summary: External service unavailable
                  value:
                    error:
                      type: api_error
                      code: service_unavailable
                      message: >-
                        The service is temporarily unavailable. Please try again
                        later.
                      requestId: 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    MedicalRecordDocumentListResponse:
      properties:
        items:
          items:
            $ref: '#/components/schemas/MedicalRecordDocumentItem'
          type: array
          title: Items
          description: Medical record documents for the session, one per purpose.
        total:
          type: integer
          title: Total
          description: Total number of medical record documents.
      type: object
      required:
        - items
        - total
      title: MedicalRecordDocumentListResponse
      description: Response body for listing a scribe session's medical record documents.
      examples:
        - items:
            - cdssAlerts:
                - action: Suspend ibuprofen; consider paracetamol.
                  actionCategory: replace
                  element: Ibuprofen 600mg q8h
                  elementId: IBUPROFEN
                  id: cfa_bXJkLWFiYy0xMjMfSUJVUFJPRkVO
                  issue: not_pertinent
                  newPlanElement:
                    content: Paracetamol 1g q8h PO
                    element: Paracetamol
                    id: PARACETAMOL
                    type: medication
                  reason: NSAID contraindicated with documented CKD.
                  severity: red
                  source:
                    - KDIGO 2024 CKD guideline
                  status: pending
                  type: medication
              createdAt: '2026-02-20T10:30:00Z'
              diagnosisCodes:
                - code: I10
                  description: Essential (primary) hypertension
                  type: primary
              id: mrd-abc-123
              language: en
              medicalRecord:
                assessmentPlan:
                  assessment: Likely stable angina.
                  plan:
                    - content: Reduce saturated fat intake.
                      element: Dietary counseling
                      id: DIETARY_COUNSELING
                      laboratory: ''
                      type: non_pharmacological
                chiefComplaint: Chest pain for two days.
                vitalSigns:
                  bloodPressure: 120/80
                  heartRate: '78'
                  temperature: ''
              medicalRecordSummary: Patient presents with chest pain.
              medicalRecordSummaryStructured:
                pastMedicalConditions:
                  - Hypertension
                pastMedicalConditionsCoded:
                  - code:
                      code: I10
                      options:
                        - code: I10
                          score: 0.98
                    content: Hypertension
                vitalSigns:
                  bloodPressure: 120/80
              purpose: primary
              specialty: Cardiology
              updatedAt: '2026-02-20T10:35:00Z'
          total: 1
    ErrorResponse:
      description: Envelope padronizado de resposta de erro.
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetailWithRequestId'
      required:
        - error
      title: ErrorResponse
      type: object
    MedicalRecordDocumentItem:
      properties:
        id:
          type: string
          maxLength: 255
          title: Id
          examples:
            - mrd-abc-123
        purpose:
          type: string
          maxLength: 255
          title: Purpose
          description: >-
            Identifies the record when a session produced several (e.g.
            'primary', 'rpa', 'emr'). A dictated report has the purpose
            'report'.
          examples:
            - primary
        reportState:
          anyOf:
            - $ref: '#/components/schemas/ReportState'
            - type: 'null'
          description: >-
            Workflow state of a dictated report. It is set only when `purpose`
            is 'report'. Null has one meaning: this record is not a dictated
            report, because only a dictated report has a workflow. Null never
            means that the state of a report is unknown. Read
            `reportState.lifecycleStatus` before you use a report: a draft is
            not complete, and the radiologist can still change it.
        specialty:
          anyOf:
            - type: string
            - type: 'null'
          title: Specialty
          description: Medical specialty associated with the record.
          examples:
            - Cardiology
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: Language of the record content.
          examples:
            - en
        medicalRecordSummary:
          anyOf:
            - type: string
            - type: 'null'
          title: Medicalrecordsummary
          description: Plain-text summary of the medical record.
        createdAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createdat
          examples:
            - '2026-02-20T10:30:00Z'
        updatedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updatedat
          examples:
            - '2026-02-20T10:35:00Z'
        medicalRecord:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Medicalrecord
          description: >-
            The medical record as a JSON object keyed by section name (e.g.
            `chiefComplaint`, `vitalSigns`, `assessmentPlan`). Each section
            value is a plain string or a nested object, depending on the
            section. Iterate the keys that are present; the section set depends
            on the template.
        medicalRecordSummaryStructured:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Medicalrecordsummarystructured
          description: >-
            Structured summary: vital signs, medication, past conditions, recent
            labs/imaging, and last consultation. Includes
            `pastMedicalConditionsCoded` — the past conditions with resolved
            ICD-10 codes (`content` plus a `code` object with the best `code`
            and scored `options`) — which is `null` until code resolution has
            run for the record.
        diagnosisCodes:
          items:
            $ref: '#/components/schemas/DiagnosisCode'
          type: array
          title: Diagnosiscodes
          description: >-
            Diagnosis ICD-10 (CIE-10 / CID-10) codes for the record — the
            doctor-curated set (model suggestions plus doctor additions, minus
            deletions). Empty when the session has no diagnosis codes.
        cdssAlerts:
          anyOf:
            - items:
                $ref: '#/components/schemas/CdssAlert'
              type: array
            - type: 'null'
          title: Cdssalerts
          description: >-
            Corrective CDSS ('conducta feedback') alerts for this record. `null`
            when clinical decision support is disabled for the session or no
            alerts were generated; `[]` when it ran and produced none.
      type: object
      required:
        - id
        - purpose
      title: MedicalRecordDocumentItem
      description: A medical record document produced for a scribe session.
    ErrorDetailWithRequestId:
      description: >-
        Top-level error object: :class:`ErrorDetail` plus the request
        correlation id.


        Kept as a subclass rather than a field on ``ErrorDetail`` because
        ``ErrorDetail`` is

        also the per-item error shape inside the batch account-creation response

        (``BatchAccountResult.error``), which is serialized with nulls included.
        Adding the

        field there would publish ``"requestId": null`` on an HTTP 200, and
        there is only

        ever one request id per batch anyway -- batch callers read the
        ``X-Request-ID``

        response header.
      properties:
        type:
          description: Broad error category for high-level handling.
          examples:
            - invalid_request_error
          title: Type
          type: string
        code:
          description: Machine-readable error code. Clients should switch on this value.
          examples:
            - parameter_invalid
          title: Code
          type: string
        message:
          description: Human-readable error message ending with a period.
          examples:
            - >-
              idCountry must be a valid country name, ISO alpha-2, or ISO
              alpha-3 code.
          title: Message
          type: string
        param:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The request field that caused the error, if applicable.
          examples:
            - idCountry
          title: Param
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          default: null
          description: Optional structured, machine-readable context for the error.
          examples:
            - pendingConsultations:
                - sessionId: abc123
                  url: https://...
          title: Details
        requestId:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Unique id for this request, identical to the X-Request-ID response
            header. Quote it when contacting support.
          examples:
            - 3f9a1c2e-5b7d-4a21-9f0c-8e6d4b2a1c30
          title: Requestid
      required:
        - type
        - code
        - message
      title: ErrorDetailWithRequestId
      type: object
    ReportState:
      properties:
        lifecycleStatus:
          type: string
          title: Lifecyclestatus
          description: >-
            `draft` while the radiologist still works on the report. `final`
            once they sign it. `amended` after they change a report they already
            signed. Read a report as clinically complete only when the status is
            `final` or `amended`. Treat any other value the same way you treat
            `draft`: this field can take a new value in the future, and a value
            you do not know never means that the report is ready.
          examples:
            - final
        revision:
          type: integer
          title: Revision
          description: >-
            Counter of the changes applied to this report. It only increases.
            Use it to tell two versions of the same report apart, for example to
            know that an amendment is newer than the copy you hold.
          examples:
            - 7
      type: object
      required:
        - lifecycleStatus
        - revision
      title: ReportState
      description: >-
        Workflow state of a dictated report.


        Only a dictated report carries this state. Every other record — the
        record

        of an ordinary Scribe consultation, for example — has no workflow, and

        `reportState` is null for it.
    DiagnosisCode:
      properties:
        code:
          type: string
          title: Code
          examples:
            - I10
        description:
          type: string
          title: Description
          description: Localized description of the code (may be empty for legacy records).
          examples:
            - Essential (primary) hypertension
        type:
          type: string
          enum:
            - primary
            - secondary
          title: Type
          description: Whether the code is the primary diagnosis or a secondary one.
          examples:
            - primary
      type: object
      required:
        - code
        - description
        - type
      title: DiagnosisCode
      description: A single diagnosis ICD-10 (CIE-10 / CID-10) code the record documents.
    CdssAlert:
      properties:
        id:
          type: string
          title: Id
          description: >-
            Stable opaque identifier for the alert. Use it as-is; do not parse
            it.
        elementId:
          type: string
          title: Elementid
          description: >-
            Clinical element key (e.g. 'IBUPROFEN'). Human-meaningful but not
            unique across documents — never use it as an identifier.
        reason:
          type: string
          title: Reason
        action:
          type: string
          title: Action
        actionCategory:
          type: string
          title: Actioncategory
        type:
          type: string
          title: Type
        issue:
          type: string
          title: Issue
        element:
          type: string
          title: Element
        severity:
          type: string
          title: Severity
        source:
          items:
            type: string
          type: array
          title: Source
        newPlanElement:
          anyOf:
            - $ref: '#/components/schemas/CdssAlertNewPlanElement'
            - type: 'null'
        previousTestDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Previoustestdate
        guidelineIntervalDays:
          anyOf:
            - type: integer
            - type: 'null'
          title: Guidelineintervaldays
        status:
          type: string
          title: Status
          description: >-
            Doctor's decision on the alert: 'pending', 'accepted', or
            'rejected'.
          default: pending
      type: object
      required:
        - id
        - elementId
        - reason
        - action
        - actionCategory
        - type
        - issue
        - element
        - severity
      title: CdssAlert
      description: A single corrective CDSS alert as exposed on the public API.
    CdssAlertNewPlanElement:
      properties:
        type:
          type: string
          title: Type
        element:
          type: string
          title: Element
        id:
          type: string
          title: Id
        content:
          type: string
          title: Content
        laboratory:
          anyOf:
            - type: string
            - type: 'null'
          title: Laboratory
      type: object
      required:
        - type
        - element
        - id
        - content
      title: CdssAlertNewPlanElement
      description: The plan element a CDSS alert proposes (present on add/replace/modify).
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Chave de API enviada como token Bearer

````