Skip to content

Publishing a Project

The following page will outline how to publish your project to the data platform.

Committing Changes

The g3t commit command saves your changes to the local repository. Here's a brief explanation of what happens when you use g3t commit:

  • Like git, this command bundles the staged files into a single set of changes.
  • The -m flag provides a commit message detailing the changes
  • If the commit is successful, you will see a summary of the changes logged
  • As a reminder, the files committed to git are the FHIR metadata in META/ and the file metadata entries in MANIFEST/, not the data files themselves.
  • See g3t commit --help for more info

You can confirm all your changes have been staged and committed using g3t status. This will ensure that your manifest data and FHIR metadata is up to date.

Pushing Changes

How to Push Changes

The g3t push command uploads your changes to the data platform. Here's a brief explanation of what happens when you use g3t push:

  1. Checks that all files are committed before pushing
  2. Checks that the FHIR metadata in META/ is valid
  3. Indexes the data files using the file metadata in the MANIFEST/ directory
  4. Uploads the FHIR metadata to our databases
  5. Once the job is complete:
    • Changes are available on the platform
    • Changes are available for other users to download
    • Job logs are available in the logs directory

Updating Files

When pushing data, g3t checks the manifest (MANIFEST/ directory) to see if there are any new files to index. If no new files have been added, then the push will not go through. To update the metadata for a file that has already been pushed or update the FHIR metadata, use the --overwrite flag:

$ g3t push --overwrite

Logging

Make sure to check the logs generated by the command.

  • If a job is successful, you will get a green success message.
  • If a job fails, you will get a red error message: look for more information in the specified logs directory.
  • The logs directory stores rolling logs, where each line is a JSON representing a single submission attempt.