Configuring Moderna Sistemas as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Moderna Sistemas option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
The connector authenticates with the username and password of an integration user that Moderna creates for you. The following configurations are available:-
API URL: the address of the integration API provided by Moderna, usually ending in
/api/Moderna(for examplehttps://<your-server>/api/Moderna). It is not the address of the ModernaNet login page. Required. - Username: the integration username provided by Moderna. Required.
- Password: the integration password provided by Moderna. Required.
- Start Date: the first day to extract on the first sync. Leave it empty to start one year back.
- Lookback Days: how many days before the last sync point are read again on every sync, so appointments whose status changed afterwards (confirmed, attended, cancelled) are updated. The default is 7.
- Future Days: how many days after today are read on every sync, so upcoming appointments are captured and kept up to date. The default is 60.
-
Appointments Query Name: the name of the Moderna query that returns the appointments of a day. The default,
DADOSAGENDAMENTO, is the name in Moderna’s documentation; change it only if Moderna enabled it under another name. -
Custom Queries: other queries Moderna enabled for your integration (for example billing or financial reports). Each one becomes its own table. For each query, fill in:
- Table name: lowercase letters, numbers, and underscores, starting with a letter (for example
billing). - Moderna query name: the name of the query as Moderna enabled it (for example
DADOSFATURAMENTO). - Date parameter (optional): the name of the query’s date filter (for example
DATAPARAM). When filled, the query is read one day at a time and synced incrementally; leave it empty to read the whole query on every sync. - Date format (optional): the layout of the date sent in the date parameter. The default is
YYYYMMDD(for example20251117). - Fixed filters (optional): other filters sent on every call, as a JSON object, such as
{"ID_UNIDADE": 1}. - Key columns (optional): the columns that identify a row, as Moderna names them (for example
ID_CONTA). Without them, rows are identified by their full content.
- Table name: lowercase letters, numbers, and underscores, starting with a letter (for example
-
Time Zone: the time zone of the clinic, used to decide which day is today and to build appointment timestamps. The default is
America/Sao_Paulo. - Requests Per Minute: the maximum number of calls per minute sent to Moderna. Every call runs a query on your ModernaNet database, so the default of 60 is deliberately gentle.
2. Select streams
Choose which data streams you want to sync. For faster extractions, select only the streams that are relevant to your analysis.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: Appointments, and custom queries with a date parameter, support INCREMENTAL. Custom queries without a date parameter are always read in full. Read more about Sync Types here.
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.
Moderna’s API returns a whole day in a single call, so the connector reads your agenda one day at a time. The first sync of a long history takes one call per day (about 6 minutes per year at the default pace).
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.Streams and Fields
Below you’ll find all available data streams from Moderna Sistemas and their corresponding fields. Columns keep the names Moderna uses in its queries, in lowercase, so they match Moderna’s documentation.Appointments
Appointments
Every appointment of each day, from the
DADOSAGENDAMENTO query. Each sync reads from the last sync point minus the lookback days up to the configured number of future days.Primary key: id_agendamento · Replication key: query_dateCustom queries
Custom queries
One table per entry of Custom Queries, named after its table name. The columns of a custom query are defined by Moderna, so each row is stored whole as JSON.Primary key:
row_key · Replication key: query_date (only when a date parameter is configured)