Configuring Feegow as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Feegow option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
Feegow authenticates with a single API token sent on every request. Only the licence’s master user can issue it — no other role can, and there is no self-service developer portal. To get it, ask your master user to open Feegow Clinic, release API access for the licence in the settings area, and copy the token that is generated. Paste that value into Nekt. The following configurations are available:-
API token: the value Feegow generates for the licence, sent as the
x-access-tokenheader. -
Start date: (Default:
2020-01-01) how far back the first sync reads the date-filtered streams — appointments, invoices, sales, quotes and lab reports. Later syncs re-read a trailing window instead of the whole history. -
Lookback window (days): (Default:
90) how many days back each sync re-reads once history has been loaded. See How data is kept up to date below — this setting is what picks up a record edited after it was first read. -
Future window (days): (Default:
365) how far into the future the agenda and accounts streams read. Appointments, schedule blocks and payables are booked ahead of today, so a window that stopped at today would never see them. -
Request window (days): (Default:
30) how many days each request to a date-filtered endpoint covers. Smaller windows mean more requests but smaller, faster responses. -
Requests per minute: (Default:
120) the maximum number of requests the sync sends per minute. Feegow publishes no rate limit, so this is a safety belt — lower it if Feegow starts refusing requests.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis. You can select entire groups of streams or pick specific ones.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a folder to organize it inside the layer, a name for each table (which will effectively contain the fetched data) and the type of sync.- Layer: choose between the existing layers on your catalog. This is where you will find your new extracted tables as the extraction runs successfully.
- Folder: a folder can be created inside the selected layer to group all tables being created from this new data source.
- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix to all tables at once and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can define some additional settings:- Configure Delta Log Retention and determine for how long we should store old states of this table as it gets updated. Read more about this resource here.
- Determine when to execute an Additional Full Sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.
5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.How data is kept up to date
Feegow offers a “changed since” filter on exactly one endpoint — the patient register. Every other historical endpoint is filtered by the business date of the record (the day of the appointment, of the financial movement, of the quote), never by when that record was last edited. Nekt works with that as follows:- Patients resume exactly where the previous sync stopped, using Feegow’s own change filter.
- Every other date-filtered stream reads the full history on the first sync, from your Start date, and then re-reads a trailing window of Lookback window (days) on each later sync. Records are matched on their primary key, so re-reading updates rows instead of duplicating them.
- Agenda and accounts streams also read forward by Future window (days), because appointments, schedule blocks and payables exist ahead of today.
Things to know about Feegow data
- Nested data is stored as JSON text. Fields holding a list or an object — an appointment’s procedures, an insurer’s plans, an invoice’s payments — are stored as JSON strings so that the table’s columns stay stable when Feegow changes those structures. Use your warehouse’s JSON functions to read them.
- Amounts come in different units. Feegow reports procedure, package and stock values in cents, while quotes and appointments are reported in reais. The field descriptions below say which is which; Nekt stores the number Feegow reported without converting it.
- Staff tables include inactive people. Feegow requires the active flag on every staff request, so Nekt asks for both values. That keeps historical appointments joinable to the professional who took them, even after that professional leaves the clinic.
- Some modules are licensed separately. The two Benefit Card streams read a different Feegow product. If your licence does not contract it, those streams are skipped with a message in the run log and the rest of the sync carries on normally.
Streams and Fields
Available streams
The table below lists every stream, its slug (the exact identifier to pass when creating the source via API) and a short description.Fields by stream
Below you’ll find all available data streams from Feegow and their corresponding fields:Units
Units
Clinic units (the headquarters and its branches).Sync: Full table · primary key
unidade_id.Fields:unidade_id- Unique identifier of the unit, referenced across the API as unidade_idis_headquarters- True when Feegow returned this unit as the licence’s headquarters (matriz) rather than as a branchnome_fantasia- Trading name of the unitcnpj- Brazilian company registration number (CNPJ) of the unitendereco- Street name of the unit’s addressnumero- Street number of the unit’s addresscomplemento- Additional address line of the unit, e.g. floor or suitebairro- Neighbourhood of the unit’s addresscidade- City of the unit’s addressestado- Brazilian state (UF) of the unit’s addresscep- Postal code (CEP) of the unit’s addressregiao- Region the unit is grouped under in Feegow Cliniczona- Zone the unit is grouped under in Feegow Clinictelefone_1- Primary phone number of the unittelefone_2- Secondary phone number of the unitemail_1- Primary e-mail address of the unitemail_2- Secondary e-mail address of the unitfoto- URL of the unit’s photo, when one is registeredmapa- URL of the unit’s map location, when one is registeredexibir_agendamento_online- Whether the unit is offered for online self-scheduling
Locations
Locations
Rooms and other physical locations registered inside the units.Sync: Full table · primary key
id.Fields:id- Unique identifier of the location, referenced by appointments.local_idlocal- Name of the room or location, e.g. ‘Sala 01’unidade_id- Identifier of the unit this location belongs to
Specialties
Specialties
Medical specialties offered for scheduling.Sync: Full table · primary key
especialidade_id.Fields:especialidade_id- Unique identifier of the specialtynome- Name of the specialty, e.g. ‘Médico urologista’consulta_id- Identifier of the procedure used for an in-person consultation in this specialtyconsulta_online_id- Identifier of the procedure used for an online consultation in this specialtyexibir_agendamento_online- Whether the specialty is offered for online self-schedulingcodigo_tiss- TISS code of the specialty, used when billing health insurers
Insurances
Insurances
Health insurers (convênios) the clinic accepts, with their plans.Sync: Full table · primary key
convenio_id.Fields:convenio_id- Unique identifier of the health insurernome- Name of the health insurer, e.g. ‘Bradesco Saúde’exibir_agendamento_online- Whether the insurer is offered for online self-schedulingpermite_telemedicina- Whether the insurer allows telemedicine appointmentsregistro_ans- Registration number of the insurer with the Brazilian regulator (ANS)cnpj- Brazilian company registration number (CNPJ) of the insurerendereco- Street name of the insurer’s addressnumero- Street number of the insurer’s addresscomplemento- Additional address line of the insurerbairro- Neighbourhood of the insurer’s addresscidade- City of the insurer’s addressestado- Brazilian state (UF) of the insurer’s addresscep- Postal code (CEP) of the insurer’s addressplanos- Plans offered by this insurer, as a JSON array of objects with plano_id and plano
Appointment Statuses
Appointment Statuses
The status codes an appointment can hold, e.g. 3 = “Atendido”.Sync: Full table · primary key
id.Fields:id- Unique identifier of the appointment status, referenced by appointments.status_idstatus- Name of the status as shown in Feegow Clinic, e.g. ‘Marcado - confirmado’ or ‘Não compareceu’
Appointment Motives
Appointment Motives
The reasons a booking can be cancelled or rescheduled with.Sync: Full table · primary key
id.Fields:id- Unique identifier of the cancellation or rescheduling reasonmotivo- Reason as shown in Feegow Clinic, e.g. ‘Solicitado pelo paciente’
Appointment Channels
Appointment Channels
The channels a booking can come in through.Sync: Full table · primary key
id.Fields:id- Unique identifier of the booking channel, referenced by appointments.canal_idcanal- Name of the booking channel, e.g. ‘Agendamento Online’ or ‘Clínica’
Patient Sources
Patient Sources
How a patient came to know the clinic (origem).Sync: Full table · primary key
origem_id.Fields:origem_id- Unique identifier of the patient sourcenome_origem- Name of the source, e.g. ‘Eventos’ or ‘Indicação’
Private Price Tables
Private Price Tables
Private price tables the clinic bills self-paying patients with.Sync: Full table · primary key
tabela_id.Fields:tabela_id- Unique identifier of the private price tablenome_tabela- Name of the private price table
Credit Card Brands
Credit Card Brands
Credit-card brands accepted in the financial module.Sync: Full table · primary key
id.Fields:id- Unique identifier of the card brand, referenced by payments as bandeira_idbandeira- Name of the card brand, e.g. ‘Visa’ or ‘Elo’
Reports
Reports
Reports the licence can generate from Feegow Clinic.Sync: Full table · primary key
id.Fields:id- Unique identifier of the reportct- Category the report is filed under in Feegow Clinic, e.g. ‘Agenda’relatorio- Display name of the reportarquivo- Slug of the report, the value Feegow expects when generating itsys_active- Whether the report is active in the systempermissoes- Internal permission key required to run the reportstatus_relatorio_id- Identifier of the report’s availability statusnome_status- Name of the report’s availability status, e.g. ‘Disponível’cor_status- Colour Feegow Clinic uses for the status badgehabilitado- Whether the report is enabled for this licence
Employees
Employees
Staff members registered in the clinic.Sync: Full table · primary key
employee_id.Fields:employee_id- Unique identifier of the employeesys_user- Identifier of the Feegow Clinic system user linked to this employeenome- Full name of the employeeemail- E-mail address of the employeecpf- Brazilian individual taxpayer number (CPF) of the employeeativo- Whether the employee is currently active in the clinic
Professionals
Professionals
Healthcare professionals who take appointments.Sync: Full table · primary key
profissional_id.Fields:profissional_id- Unique identifier of the professional, referenced across the API as profissional_idsys_user- Identifier of the Feegow Clinic system user linked to this professionalnome- Full name of the professionaltratamento- Form of address used before the name, e.g. ‘Dr.’ or ‘Dra.’rqe- Specialist qualification registry number (RQE) of the professionalconselho- Professional council the practitioner is registered with, e.g. CRM or CROdocumento_conselho- Registration number with the professional counciluf_conselho- Brazilian state (UF) that issued the council registrationfoto- URL of the professional’s photo, when one is registeredsexo- Gender recorded for the professionalemail- E-mail address of the professionalcpf- Brazilian individual taxpayer number (CPF) of the professionalativo- Whether the professional is currently active in the clinicage_restriction- Patient age range the professional accepts, as a JSON array of objects with age_from and age_toespecialidades- Specialties the professional practises, as a JSON array of objects with especialidade_id, nome_especialidade and CBOS
Professional Insurances
Professional Insurances
Health insurers each professional accepts.Sync: Full table · primary key
profissional_id, convenio_id · read per record of professionals.Fields:profissional_id- Identifier of the professional who accepts this insurerconvenio_id- Identifier of the health insurer accepted by the professionalregistro_ans- Registration number of the insurer with the Brazilian regulator (ANS)nome- Name of the health insurer
Patients
Patients
Patients registered in the clinic.Sync: Incremental · replication key
alterado_em · primary key patient_id.Fields:patient_id- Unique identifier of the patient, referenced across the API as paciente_idnome- Full name of the patientnome_social- Social name of the patient, when one is registerednascimento- Date of birth of the patientbairro- Neighbourhood of the patient’s addresstabela_id- Identifier of the private price table the patient is billed withsexo_id- Identifier of the patient’s registered genderemail- E-mail address of the patientcelular- Mobile phone number of the patientcriado_em- When the patient record was created, converted to UTCalterado_em- When the patient record was last changed, converted to UTC; used as the incremental replication keyprograma_de_saude- Health programmes the patient is enrolled in, as a JSON array of objects (only populated because the tap requests programa_saude=1)
Patient Dependants
Patient Dependants
Dependants registered under a patient.Sync: Full table · primary key
id · read per record of patients.Fields:id- Unique identifier of the dependant linkpaciente_id_responsavel- Identifier of the patient the dependant is registered undernome- Full name of the dependantpaciente_id- Identifier of the dependant’s own patient recordresponsavel_financeiro- Marks the dependant as the financially responsible party (‘S’ when they are)
Appointments
Appointments
Appointments booked in the clinic.Sync: Incremental · replication key
agendado_em · primary key agendamento_id.Fields:agendamento_id- Unique identifier of the appointmentdata- Calendar day the appointment is scheduled forhorario- Time of day the appointment starts, as HH:MM:SS in the clinic’s local timepaciente_id- Identifier of the patient the appointment belongs toprocedimento_id- Identifier of the main procedure bookedstatus_id- Identifier of the appointment’s current status; see the appointment_statuses streamlocal_id- Identifier of the room the appointment takes place in; see the locations streamprofissional_id- Identifier of the professional who takes the appointmentagendado_por- Name of the person who created the bookingnotas- Free-text notes attached to the appointmentagendado_em- When the booking was created, converted to UTC; used as the incremental replication keyplano_id- Identifier of the insurance plan the appointment is booked undercanal_id- Identifier of the channel the booking came in through; see the appointment_channels streamconvenio_id- Identifier of the health insurer covering the appointment; empty for self-paying patientsunidade_id- Identifier of the unit the appointment takes place intabela_id- Identifier of the private price table applied to the appointmentnome_fantasia- Trading name of the unit the appointment takes place inretorno_id- Identifier of the appointment this one is a follow-up ofespecialidade_id- Identifier of the specialty the appointment belongs todias_limite_retorno- Number of days the patient has to book a free follow-uppermite_retorno- Whether the procedure entitles the patient to a follow-up appointmentretorno_existe- Whether a follow-up appointment has already been bookedretorno- Whether this appointment is itself a follow-upgrupo_procedimento_id- Identifier of the procedure group the booked procedure belongs toencaixe- Whether the appointment was squeezed into an already full agendatelemedicina- Whether the appointment is a telemedicine consultationprimeiro_agendamento- Whether this is the patient’s first ever appointment at the clinicvalor_total_agendamento- Total value of the appointment in Brazilian reais, converted from the formatted string Feegow returns (e.g. ‘R$ 300,00’)procedimentos- Every procedure booked in this appointment, as a JSON array of objects with procedimentoID and plano
Schedule Blocks
Schedule Blocks
Blocks that take slots off a professional’s agenda (holidays, absences).Sync: Full table · primary key
id.Fields:id- Unique identifier of the schedule blockdate_start- First day the block applies todate_end- Last day the block applies totime_start- Time of day the block starts, as HH:MM:SS in the clinic’s local timetime_end- Time of day the block ends, as HH:MM:SS in the clinic’s local timeholiday_id- Identifier of the holiday this block was generated from, when it wasprofessional_id- Identifier of the blocked professional; 0 when the block applies to the whole unitdescription- Free-text reason registered for the blockweek_day- Days of the week the block repeats on, as a JSON array of weekday numbersunits- Units the block applies to, as a JSON array of unit identifiers
Procedure Types
Procedure Types
The five kinds a procedure can be (consultation, exam, surgery…).Sync: Full table · primary key
id.Fields:id- Unique identifier of the procedure type, referenced by procedures.tipo_procedimentotipo- Name of the procedure type, e.g. ‘Consulta’, ‘Exame’ or ‘Cirurgia’
Procedures
Procedures
The procedure catalogue and its list prices.Sync: Full table · primary key
procedimento_id · read per record of procedure_types.Fields:procedimento_id- Unique identifier of the procedurenome- Name of the proceduretipo_procedimento- Identifier of the procedure type; see the procedure_types streamopcoes_agendamento- Scheduling options configured for the procedure in Feegow Clinicpermite_agendamento_online- Whether patients may book this procedure themselves onlinepreparo- Preparation instructions given to the patient before the proceduredias_retorno- Number of days the patient has to book a free follow-up after this procedurecodigo- Billing code of the procedure, typically the TUSS codegrupo_procedimento- Identifier of the procedure group this procedure belongs totempo- Expected duration of the procedure as registered in Feegow Clinicvalor- List price of the procedure, reported by Feegow in centsespecialidade_id- Specialties the procedure belongs to, as a JSON array of specialty identifiers
Procedure Groups
Procedure Groups
Groups procedures are organised into for billing and reporting.Sync: Full table · primary key
id.Fields:id- Unique identifier of the procedure groupnome_grupo- Name of the procedure groupdescricao_nfse- Description used for this group on electronic service invoices (NFS-e)procedimentos- Procedures in the group, as a JSON array of objects with id and procedimentomodalidade- Imaging modality of the group, as a JSON object with id and Modalidade
Procedure Packages
Procedure Packages
Packages that sell several procedures together at a bundled price.Sync: Full table · primary key
id.Fields:id- Unique identifier of the packagenome- Name of the packagedata_ultima_alteracao- When the package was last changed, converted to UTCprocedimentos- Procedures in the package with their bundled prices in cents, as a JSON array of objects with itemID, procedimentoID and valor
Health Programmes
Health Programmes
Health programmes (programas de saúde) patients can be enrolled in.Sync: Full table · primary key
programa_id.Fields:programa_id- Unique identifier of the health programmenome_programa- Name of the health programmetipo_programa_id- Identifier of the programme typeprograma_convenio_id- Identifier of the health insurer the programme runs withdata_inicio_programa- First day the programme is valid fordata_fim_programa- Last day the programme is valid for
Lab Reports
Lab Reports
Lab reports (laudos) issued for patients.Sync: Incremental · replication key
request_date · primary key lab_report_id.Fields:lab_report_id- Unique identifier of the lab reportrequest_date- Day the report was requested; used as the incremental replication keylab_report_date- Day the report was issuedpatient_name- Full name of the patient the report belongs tostatus_code- Status code of the report’s file, 0 meaning the file is availablestatus_message- Human-readable status of the report’s file, e.g. ‘Arquivo disponível’
Exam Requests
Exam Requests
Exam orders (pedidos de exames) raised for a patient.Sync: Full table · primary key
pedido_exame_id · read per record of patients.Fields:pedido_exame_id- Unique identifier of the exam ordertipo_pedido- Kind of order: 1 for a standard order, 2 for a TISS SADT orderpaciente_id- Identifier of the patient the order was raised foratendimento_id- Identifier of the encounter the order was raised inexecutante_id- Identifier of the professional or unit that carries the exam outexetutante_tipo- Whether the performer is a ‘Profissional’ or another kind of provider (Feegow’s own spelling of the field)observacao_pedido- Notes written on the order, as HTMLdata_pedido- When the order was raised, converted to UTCindicacao_clinica- Clinical indication justifying the examconvenio_id- Identifier of the health insurer covering the orderprofissional_solicitante_id- Identifier of the professional who requested the examdata_solicitacao- When the exam was requested, converted to UTCguia_id- Identifier of the insurance claim (guia) the order belongs toexame_id- Identifier of the exam, on orders that carry a single oneexame_codigo- Billing code of the exam, on orders that carry a single onedescricao_exame- Description of the exam, on orders that carry a single oneobservacao_exame- Notes on the exam, on orders that carry a single onequantidade_exame- Quantity requested, on orders that carry a single exampedido_exame- Every exam on the order, as a JSON array of objects with ExameID, ExameCodigo, DescricaoExame, ObservacaoExame and QuantidadeExame
Quotes
Quotes
Treatment quotes (propostas) presented to patients.Sync: Incremental · replication key
proposal_last_update · primary key proposal_id.Fields:proposal_id- Unique identifier of the quoteproposal_date- Day the quote was createdpaciente_id- Identifier of the patient the quote was presented tovalue- Total value of the quote in Brazilian reaisproposer_id- Identifier of the professional or employee who made the quoteproposer_name- Name of the professional or employee who made the quoteproposer_role- Whether the quote was made by a ‘Profissional’ or by another rolestatus- Current status of the quote, e.g. ‘Aguardando aprovação do cliente’ or ‘Rejeitada pelo cliente’private_table_name- Name of the private price table the quote was priced withproposal_last_update- When the quote was last changed, converted to UTC; used as the incremental replication keyprocedimentos- Procedures quoted, as a JSON object with a label and a data array of objects carrying procedimento_id, nome, valor and descontounidade- Unit the quote was issued by, as a JSON object with the unit’s identifier and address
Financial Invoices
Financial Invoices
Accounts payable and receivable, with their payments and line items.Sync: Incremental · replication key
data · primary key invoice_id.Fields:invoice_id- Identifier of the invoice, taken from the first entry of the detalhes listmovement_id- Identifier of the financial movement behind the invoicetipo_transacao- Side of the ledger this invoice was read from: ‘C’ for accounts receivable, ‘D’ for accounts payabledata- Date of the financial movement; used as the incremental replication keyvalor- Value of the financial movementtipo_conta- Identifier of the account type the movement belongs toconta_id- Identifier of the account the movement belongs toresponsavel- Party responsible for the invoicedescricao- Description registered for the movementnfe- Number of the fiscal invoice (nota fiscal) associated with the movementdata_nfe- Issue date of the associated fiscal invoicedetalhes- Every movement detail on the invoice, as a JSON array of objectspagamentos- Payments settling the invoice, as a JSON array of objects carrying the amount, method, card brand and transaction identifiersitens- Items billed on the invoice, as a JSON array of objects carrying the procedure, quantity, discount and execution data
Sales
Sales
Sales totals per invoice, as the financial module reports them.Sync: Incremental · replication key
timestamp · primary key invoice_id.Fields:invoice_id- Identifier of the invoice the sale belongs totimestamp- When the sale was transacted, converted to UTC; used as the incremental replication keyamount- Value of the sale, converted from the decimal string Feegow returnstype- Kind of amount reported, e.g. ‘gross’
Vouchers
Vouchers
Discount vouchers issued by the clinic.Sync: Full table · primary key
id.Fields:id- Unique identifier of the vouchercodigo- Code patients redeem the voucher withde- First moment the voucher is valid from, converted to UTCate- Last moment the voucher is valid until, converted to UTCvalor- Face value of the voucher: an amount or a percentage, depending on tipo_valortipo_valor- Whether valor is an amount (‘V’) or a percentageunidades- Units the voucher is valid in, as a JSON array of objects with id and nomeEmpresalimite- Maximum number of times the voucher may be redeemedexpirado- Whether the voucher’s validity period has passeddesativado- Whether the voucher was deactivated by the clinicqtd_utilizado- Number of times the voucher has been redeemedutilizado- Whether the voucher has been redeemed at least oncedisponivel- Whether the voucher can still be redeemed right now
Suppliers
Suppliers
Suppliers the clinic buys from.Sync: Full table · primary key
id.Fields:id- Unique identifier of the suppliernome_fornecedor- Name of the suppliercnpj- Brazilian company registration number (CNPJ) of the suppliercep- Postal code (CEP) of the supplier’s addressendereco- Street name of the supplier’s addressnumero- Street number of the supplier’s addresscomplemento- Additional address line of the suppliercidade- City of the supplier’s address
Cost Centres
Cost Centres
Cost centres the financial module books movements against.Sync: Full table · primary key
id.Fields:id- Unique identifier of the cost centrename- Name of the cost centre
Financial Categories
Financial Categories
The chart of accounts (plano de contas).Sync: Full table · primary key
id.Fields:id- Unique identifier of the financial categorytype- Whether the category books income or expensename- Name of the financial categoryposition- Position of the category in the chart of accounts, e.g. ‘2.1.4’parent_id- Identifier of the category this one sits under; 0 at the top leveldescription- Description registered for the category
Current Accounts
Current Accounts
Bank and cash accounts the clinic settles movements through.Sync: Full table · primary key
id.Fields:id- Unique identifier of the accountaccount_name- Name of the account, e.g. ‘Tesouraria (Caixinha)’account_type- Kind of account: 1, 2 or 3 as defined by Feegowapi_enabled- Whether the account is exposed to Feegow’s API integrationspercentage_deducted- Percentage deducted from movements settled through this accountempresa- Identifier of the company (unit) the account belongs tocategoriad_taxa_id- Identifier of the financial category fees on this account are booked to (Feegow’s own spelling of the field)
Products
Products
Products registered in the stock module (materials, medicines, vaccines).Sync: Full table · primary key
produto_id.Fields:produto_id- Unique identifier of the productnome_produto- Name of the productcodigo_produto- Code the clinic registered the product undertipo_produto- Kind of item, e.g. ‘Produto’categoria_id- Identifier of the product’s categorynome_categoria- Name of the product’s category, e.g. ‘Vacina’fabricante_id- Identifier of the product’s manufacturernome_fabricante- Name of the product’s manufacturerapresentacao_nome- Name of the presentation the product is sold inapresentacao_quantidade- Quantity contained in one presentationunidade_medida- Unit of measure of the product, e.g. ‘001 - Ampola’principio_ativo- Active ingredient, for medicinesnome_localizacao- Name of the storage location the product is kept intiss_cd- TISS classification of the product, e.g. ‘02 - Medicamentos’dias_aviso_validade- How many days before expiry Feegow warns about this productestoque_minimo- Minimum stock level configured for the productestoque_minimo_tipo- Unit the minimum stock level is expressed inestoque_maximo- Maximum stock level configured for the productestoque_maximo_tipo- Unit the maximum stock level is expressed inpreco_compra- Purchase price registered for the productpreco_venda- Sale price registered for the product
Stock Positions
Stock Positions
Where the stock sits right now: one row per batch, location and unit.Sync: Full table · primary key
posicao_id.Fields:posicao_id- Unique identifier of the stock positionproduto_id- Identifier of the product held in this positionnome_produto- Name of the product held in this positionlote- Batch number of the stock heldvalidade- Expiry date of the batchquantidade- Quantity held, expressed in the product’s presentationquantidade_itens- Quantity held, expressed in individual itemstipo_unidade- Unit the quantity is expressed inunidade_medida- Unit of measure of the productlocalizacao_id- Identifier of the storage location the stock sits innome_localizacao- Name of the storage locationunidade_id- Identifier of the clinic unit holding the stocknome_unidade- Name of the clinic unit holding the stockcategoria_id- Identifier of the product’s categorynome_categoria- Name of the product’s categoryfabricante_id- Identifier of the product’s manufacturernome_fabricante- Name of the product’s manufacturerapresentacao_nome- Name of the presentation the stock is counted incbid- Bar code registered for the batchresponsavel- Person registered as responsible for the positionpreco_medio_compra- Average purchase price of the stock heldvalor_posicao- Total value of the stock held in this position
Benefit Card Plans
Benefit Card Plans
Plans offered by the benefit-card programme.Sync: Full table · primary key
id.Fields:id- Unique identifier of the plan (a UUID)name- Name of the planmembership_value- Joining fee charged to the plan holderrecurrence_value- Recurring fee charged to the plan holderdependency_membership_value- Joining fee charged per dependantdependency_recurrence_value- Recurring fee charged per dependantcreation_date- When the plan was created, converted to UTCcount_contract- Number of contracts currently signed on this plan
Benefit Card Contracts
Benefit Card Contracts
Benefit-card contracts signed by beneficiaries.Sync: Full table · primary key
contract_id.Fields:contract_id- Unique identifier of the contractcontract_date- Day the contract was createdregistration_number- Registration number of the contractcontract_person_id- Unique identifier of the person the contract belongs toaccount_owner- Identifier of the owner of the account the contract is billed toname- Full name of the beneficiaryphone- Phone number of the beneficiarydocument- Identity document number of the beneficiarybirthdate- Date of birth of the beneficiaryplan_id- Identifier of the plan the contract is signed onplan- Name of the plan the contract is signed onstatus_contract- Current status of the contractstatus_contract_id- Identifier of the contract’s current statusamount_membership- Joining amount agreed on the contractamount_recurrence- Recurring amount agreed on the contractrecurrence_id- Identifier of the recurring charge behind the contractrecurrence_value- Value of the recurring chargemembership_value- Value of the joining chargecontract_parameters- Additional contract parameters, as a JSON objectstatus_recurrence_id- Identifier of the recurring charge’s statusstatus_recurrence_description- Description of the recurring charge’s statuseligible- Whether the contract is currently eligible (Feegow reports 1 for yes, 0 for no)final_status_description- Final status description of the contract