MV sistemas Gestão de Eventos API

The Gestão de Eventos API from MV sistemas — 5 operation(s) for gestão de eventos.

OpenAPI Specification

mv-sistemas-gest-o-de-eventos-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Clinic Agenda Agendamento Gestão de Eventos API
  version: 1.0.0
  description: Esta API permite consultar as agendas disponíveis no sistema Clinic, retornando informações sobre dias e horários que possuem disponibilidade para agendamento.
servers:
- url: https://api.globalhealth.mv/available-appointments/api
  description: Ambiente de PRODUÇÃO
- url: https://api.globalhealth.mv/hml/available-appointments/api
  description: Ambiente de HOMOLOGAÇÃO
- url: https://api.globalhealth.mv/qa/available-appointments/api
  description: Ambiente de QA
security:
- x-api-key: []
tags:
- name: Gestão de Eventos
  description: ''
paths:
  /api/v1/event:
    post:
      tags:
      - Gestão de Eventos
      description: Esta operação cria um evento de agendamento para check-in no sistema Global Health, registrando as informações necessárias para o controle do atendimento.
      operationId: createEvent
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEventV1Request'
            example:
              person: Iury
              professional: Médito teste
              documentNumber: '12345678910'
              documentType: CPF
              healthPlanAnsCode: '1231312312312312312312312'
              healthPlanName: PARTICULAR
              healthPlanCode: '40'
              healthPlanTypeName: PARTICULAR
              healthPlanTypeCode: '1'
              healthPlanCardName: Iury
              dependent: false
              cnes: '6635148'
              serviceName: Check-in de Exame
              scheduleTime: 1694808987000
              timeZone: America/Cuiaba
              birthDate: 01-01-2000
              cardNumber: 0123912312321
              checkin:
                requestedDate: '2023-09-15 09:10:01'
                requestingPhysician:
                  name: Otavio
                  state: PE
                  council: CRM
                  code: '123456789101213'
                items:
                - tussCode: '40304361'
                  exaLabId: 1547
                  clinicalIndication: Indicação
                  observation: Observação
                - tussCode: '40316360'
                  exaLabId: 294
                - tussCode: '40301630'
                  exaLabId: 1360
              appointment:
                guiaTissInsuranceFormNumber: '123456789123'
                guiaTissPassword: '123456'
      responses:
        '201':
          description: Check-in criado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedCheckinV1Response'
              example:
                hashKey: 4479747b-bf62-4316-896d-63565bc2843c
        '400':
          description: Não foi possivel realizar a criacão de um check-in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidFieldsResponse'
              example:
                message: 'Sem loinc cadastro no painel de controle para esse exame(exaLabId: 123).'
  /events:
    get:
      tags:
      - Gestão de Eventos
      description: Esta operação lista eventos de agendamento com base nos filtros informados, permitindo localizar registros conforme os critérios definidos.
      operationId: getEvents
      parameters:
      - name: unitCnes
        in: query
        required: true
        schema:
          type: string
          example: '434'
        description: CNES da Unidade
      - name: startScheduleTime
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2025-02-24'
        description: Data no formato YYYY-MM-DD
      - name: endScheduleTime
        in: query
        required: true
        schema:
          type: string
          format: date
          example: '2025-02-25'
        description: Data no formato YYYY-MM-DD
      - name: documentNumber
        in: query
        schema:
          type: string
        description: Número do Documento de um Paciente
      - name: patientName
        in: query
        schema:
          type: string
        description: Nome de um Paciente
      - name: eventType
        in: query
        schema:
          type: string
          enum:
          - CONSULT_EVENT
          - EXAM_CHECKIN
          - IMAGE_EVENT
        description: Tipos relacionados a Agendamentos de Consultas, Eventos para Check-in e agendamentos de exames de imagem.
      responses:
        '200':
          description: Listagem de Eventos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventDTO'
  /minimal:
    post:
      tags:
      - Gestão de Eventos
      description: Esta operação cria um evento de agendamento com o conjunto mínimo de informações, ideal para cenários em que apenas os dados essenciais estão disponíveis no momento da criação.
      operationId: createEventWithMinimalInfo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventPatientMinimalDTO'
            example:
              person: John Doe
              login: janedoe@example.com
              documentNumber: '123456789'
              documentType: CPF
              professional: Dr. Smith
              status: REQUESTED
              statusMessage: Agendado
              type: CONSULT_EVENT
              healthPlanName: Premium Plan
              healthPlanTypeName: Gold
              healthPlanTypeCode: '123'
              cnes: '123456'
              serviceName: Consulta
              clientKey: ''
              source: PUBLIC_EVENT_CHECKIN
              scheduleTime: 1700000000000
              timeZone: America/Sao_Paulo
              birthDate: 27-01-1992
              dependent: false
              address: Main Street
              unitName: Health Care Center
              latitude: '-23.48697'
              longitude: '-43.41941'
              payment: COMPLETE
              price: 100.5
              appointment:
                phoneMobile: '5511999999999'
                email: healthpro@example.com
                healthProfessionalAccreditationNumber: '123'
                healthProfessionalAccreditationType: CRM
              patient:
                birthDate: 27-01-1992
                name: Jane Doe
                socialName: J. Doe
                motherName: Mary Doe
                email: janedoe@example.com
                phoneMobile: '5511988888888'
                zipCode: '12345678'
                address: Main Street
                addressNumber: '123'
      responses:
        '200':
          description: Evento criado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventPatientMinimalDTO'
              example:
                person: John Doe
                documentNumber: '123456789'
                documentType: CPF
                professional: Dr. Smith
                status: REQUESTED
                statusMessage: Agendado
                type: CONSULT_EVENT
                healthPlanName: Premium Plan
                healthPlanTypeName: Gold
                healthPlanTypeCode: G123
                cnes: '123456'
                serviceName: Consulta
                clientKey: ''
                source: PUBLIC_EVENT_CHECKIN
                scheduleTime: 1700000000000
                timeZone: America/Sao_Paulo
                birthDate: 27-01-1992
                dependent: false
                address: Main Street
                unitName: Health Care Center
                latitude: '-23.48697'
                longitude: '-43.41941'
                payment: COMPLETE
                price: 100.5
                appointment:
                  phoneMobile: '+5511999999999'
                  email: healthpro@example.com
                  healthProfessionalAccreditationNumber: PRO123
                  healthProfessionalAccreditationType: CRM
                patient:
                  birthDate: 27-01-1992
                  name: Jane Doe
                  socialName: J. Doe
                  motherName: Mary Doe
                  email: janedoe@example.com
                  phoneMobile: '+5511988888888'
                  zipCode: '12345678'
                  address: Main Street
                  addressNumber: '123'
        '400':
          description: Não foi possivel realizar a criacão de um check-in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidFieldsResponse'
  /minimal/{hashKey}:
    put:
      tags:
      - Gestão de Eventos
      description: Esta operação atualiza um evento de agendamento existente, mantendo as informações mínimas necessárias para garantir a consistência dos dados.
      operationId: updateEventWithMinimalInfo
      parameters:
      - name: hashKey
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventPatientMinimalDTO'
            example:
              person: John Doe
              login: janedoe@example.com
              documentNumber: '123456789'
              documentType: CPF
              professional: Dr. Smith
              status: ATTENDED
              statusMessage: Evento Concluído
              type: CONSULT_EVENT
              healthPlanName: Premium Plan
              healthPlanTypeName: Gold
              healthPlanTypeCode: G123
              cnes: '123456'
              serviceName: Consulta
              clientKey: ''
              source: PUBLIC_EVENT_CHECKIN
              scheduleTime: 1700000000000
              timeZone: America/Sao_Paulo
              birthDate: 27-01-1992
              dependent: false
              address: Main Street
              unitName: Health Care Center
              latitude: '-23.48697'
              longitude: '-43.41941'
              payment: COMPLETE
              price: 100.5
              appointment:
                phoneMobile: '+5511999999999'
                email: healthpro@example.com
                healthProfessionalAccreditationNumber: PRO123
                healthProfessionalAccreditationType: CRM
              patient:
                birthDate: 27-01-1992
                name: Jane Doe
                socialName: J. Doe
                motherName: Mary Doe
                email: janedoe@example.com
                phoneMobile: '+5511988888888'
                zipCode: '12345678'
                address: Main Street
                addressNumber: '123'
      responses:
        '200':
          description: Evento criado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventPatientMinimalDTO'
              example:
                person: John Doe
                documentNumber: '123456789'
                documentType: CPF
                professional: Dr. Smith
                status: active
                statusMessage: Agendado
                type: CONSULT_EVENT
                healthPlanName: Premium Plan
                healthPlanTypeName: Gold
                healthPlanTypeCode: G123
                cnes: '123456'
                serviceName: Consulta
                clientKey: ''
                source: PUBLIC_EVENT_CHECKIN
                scheduleTime: 1700000000000
                timeZone: America/Sao_Paulo
                birthDate: 27-01-1992
                dependent: false
                address: Main Street
                unitName: Health Care Center
                latitude: '-23.48697'
                longitude: '-43.41941'
                payment: COMPLETE
                price: 100.5
                appointment:
                  phoneMobile: '+5511999999999'
                  email: healthpro@example.com
                  healthProfessionalAccreditationNumber: PRO123
                  healthProfessionalAccreditationType: CRM
                patient:
                  birthDate: 27-01-1992
                  name: Jane Doe
                  socialName: J. Doe
                  motherName: Mary Doe
                  email: janedoe@example.com
                  phoneMobile: '+5511988888888'
                  zipCode: '12345678'
                  address: Main Street
                  addressNumber: '123'
        '400':
          description: Não foi possivel realizar a criacão de um check-in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidFieldsResponse'
  /api/v1/event-appointment:
    post:
      tags:
      - Gestão de Eventos
      description: Esta operação cria um novo evento de agendamento no sistema Global Health, registrando todas as informações exigidas pelo fluxo de agendamento.
      operationId: createEventAppointment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEventV1Request'
            example:
              person: Iury
              professional: Médico teste
              documentNumber: '12345678910'
              documentType: CPF
              healthPlanAnsCode: '1231312312312312312312312'
              healthPlanName: PARTICULAR
              healthPlanCode: '40'
              healthPlanTypeName: PARTICULAR
              healthPlanTypeCode: '1'
              healthPlanCardName: Iury
              dependent: false
              cnes: '6635148'
              serviceName: Agendamento
              scheduleTime: 1694808987000
              timeZone: America/Cuiaba
              birthDate: 01-01-2000
              cardNumber: 0123912312321
              checkin:
                requestedDate: '2023-09-15 09:10:01'
                requestingPhysician:
                  name: Otavio
                  state: PE
                  council: CRM
                  code: '123456789101213'
                items:
                - tussCode: '40304361'
                  exaLabId: 1547
                  clinicalIndication: Indicação
                  observation: Observação
                - tussCode: '40316360'
                  exaLabId: 294
                - tussCode: '40301630'
                  exaLabId: 1360
              appointment:
                guiaTissInsuranceFormNumber: '123456789123'
                guiaTissPassword: '123456'
              eventType: IMAGE_EVENT
      responses:
        '201':
          description: Check-in criado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedCheckinV1Response'
              example:
                hashKey: 4479747b-bf62-4316-896d-63565bc2843c
        '400':
          description: Não foi possivel realizar a criacão de um check-in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidFieldsResponse'
              example:
                message: 'Sem loinc cadastro no painel de controle para esse exame(exaLabId: 123).'
components:
  schemas:
    InvalidFieldDTO:
      type: object
      properties:
        message:
          type: string
    CreatedCheckinV1Response:
      type: object
      properties:
        hashKey:
          type: string
    CreateEventV1Request:
      type: object
      properties:
        person:
          type: string
        professional:
          type: string
        documentNumber:
          type: string
        documentType:
          type: string
        healthPlanAnsCode:
          type: string
        healthPlanName:
          type: string
        healthPlanCode:
          type: string
        healthPlanTypeAnsCode:
          type: string
        healthPlanTypeName:
          type: string
        healthPlanTypeCode:
          type: string
        healthPlanCardName:
          type: string
        dependent:
          type: boolean
        cnes:
          type: string
        serviceName:
          type: string
        scheduleTime:
          type: number
          description: Timestamp em milisegundos.
        timeZone:
          type: string
        birthDate:
          type: string
          format: date
          pattern: ^\d{2}-\d{2}-\d{4}$
        cardNumber:
          type: number
        checkin:
          $ref: '#/components/schemas/CreateEventV1Checkin'
    EventDTO:
      type: object
      properties:
        id:
          type: integer
        hashKey:
          type: string
        login:
          type: string
          nullable: true
        person:
          type: string
        documentNumber:
          type: string
        documentType:
          type: string
        professional:
          type: string
        status:
          type: string
        statusMessage:
          type: string
        type:
          type: string
        qrCodeContent:
          type: string
        locator:
          type: string
          nullable: true
        healthPlanName:
          type: string
        healthPlanCode:
          type: string
        healthPlanAnsCode:
          type: string
          nullable: true
        healthPlanTypeName:
          type: string
        healthPlanTypeCode:
          type: string
        healthPlanTypeAnsCode:
          type: string
          nullable: true
        birthDate:
          type: string
          format: date
        isFutureEvent:
          type: boolean
          nullable: true
        hasPendencies:
          type: boolean
        scheduleTime:
          type: integer
          format: int64
        timeZone:
          type: string
        appointment:
          $ref: '#/components/schemas/Appointment'
        patient:
          $ref: '#/components/schemas/Patient'
    Appointment:
      type: object
      properties:
        id:
          type: integer
        phoneMobile:
          type: string
        email:
          type: string
          format: email
        healthProfessionalAccreditationNumber:
          type: string
        healthProfessionalAccreditationType:
          type: string
    CreateEventV1Checkin:
      type: object
      properties:
        requestedDate:
          type: string
          format: date
          pattern: ^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$
        requestingPhysician:
          $ref: '#/components/schemas/CreateEventV1RequestingPhysician'
        items:
          type: array
          items:
            $ref: '#/components/schemas/CreateEventV1CheckinItem'
    Patient:
      type: object
      properties:
        id:
          type: integer
        birthDate:
          type: string
          format: date
        name:
          type: string
        socialName:
          type: string
          nullable: true
        motherName:
          type: string
        email:
          type: string
          format: email
        phoneMobile:
          type: string
        zipCode:
          type: string
        address:
          type: string
        addressNumber:
          type: string
    CreateEventV1RequestingPhysician:
      type: object
      properties:
        name:
          type: string
        state:
          type: string
        council:
          type: string
        code:
          type: string
    InvalidFieldsResponse:
      type: object
      properties:
        message:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/InvalidFieldDTO'
    EventPatientMinimalDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
        birthDate:
          type: string
          format: date
        name:
          type: string
        login:
          type: string
        socialName:
          type: string
        motherName:
          type: string
        email:
          type: string
          format: email
        phoneMobile:
          type: string
        zipCode:
          type: string
        address:
          type: string
        addressNumber:
          type: string
    CreateEventV1CheckinItem:
      type: object
      properties:
        loincMvId:
          type: integer
        tussCode:
          type: string
        exaRxId:
          type: integer
        exaLabId:
          type: integer
        clinicalIndication:
          type: string
          description: Indicação clínica
        observation:
          type: string
          description: Observação
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header