{"id":42044117,"url":"https://github.com/lsgs/redcap-record-autonumbering","last_synced_at":"2026-02-12T03:28:50.143Z","repository":{"id":41808540,"uuid":"174427143","full_name":"lsgs/redcap-record-autonumbering","owner":"lsgs","description":"REDCap External Module enabling different record auto-numbering options","archived":false,"fork":false,"pushed_at":"2025-05-23T02:49:09.000Z","size":71,"stargazers_count":10,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-23T03:59:22.339Z","etag":null,"topics":["mcri","murdoch-childrens","redcap","redcap-external-module","redcap-repo"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsgs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-07T22:04:59.000Z","updated_at":"2025-05-23T02:43:54.000Z","dependencies_parsed_at":"2025-05-23T03:56:49.245Z","dependency_job_id":"4cff14a4-58c4-4817-bf1e-27918e8bd9e9","html_url":"https://github.com/lsgs/redcap-record-autonumbering","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/lsgs/redcap-record-autonumbering","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgs%2Fredcap-record-autonumbering","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgs%2Fredcap-record-autonumbering/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgs%2Fredcap-record-autonumbering/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgs%2Fredcap-record-autonumbering/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsgs","download_url":"https://codeload.github.com/lsgs/redcap-record-autonumbering/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgs%2Fredcap-record-autonumbering/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28768052,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:54:34.369Z","status":"ssl_error","status_checked_at":"2026-01-26T03:54:33.031Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mcri","murdoch-childrens","redcap","redcap-external-module","redcap-repo"],"created_at":"2026-01-26T06:05:33.095Z","updated_at":"2026-02-12T03:28:50.136Z","avatar_url":"https://github.com/lsgs.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom Record Auto-Numbering\n\nLuke Stevens, Murdoch Children's Research Institute https://www.mcri.edu.au\n\n[https://github.com/lsgs/redcap-record-autonumbering/](https://github.com/lsgs/redcap-record-autonumbering/)\n\nThis module provides various alternative record auto-numbering schemas for REDCap project records, e.g. date/time-stamp, or padding/incrementing within a site/DAG utilising part of the DAG name rather than the built-in DAG ID. Note: custom auto-numbering works only during data entry; not for public surveys or with API/CSV data imports.\n\n## Motivation\n\nNormal REDCap behavior dictates that having auto-numbering enabled in a project makes the first record created have a record ID of 1, the second record created have an ID of 2, the third record created have a record ID of 3, and so on. If the project is using DAGs (Data Entry Groups), having auto-numbering enabled will automatically have its record name prepended with the Group ID (DAG ID) number and a dash/hyphen. For example, the first three records IDs created for DAG ID 98 will get automatically named 98-1, 98-2, and 98-3.\n\nThis module introduces a range of additional options, such as having the first record ID created start at 1000 or 001 instead of 1, prepend all record IDs with a prefix (ABC-1, ABC-2, ABC-3, etc.), or having the DAG name appear in the record ID (UF-1, UF-2, UF-3) instead of the DAG ID (98-1, 98-2, 98-3, etc.) when utilizing DAGs in a project.\n\n## Limitations\n\n-   The custom record auto-numbering system only applies to records *created* by a logged-in user, i.e. not via a public survey or API/CSV data import.\n\n-   The module works best when enabled and configured *before* the first record has been created in the project, especially when using options 1, 2 or 3 listed below.\n\n-   This module will *not* automatically convert existing records to the project's newly defined record ID schema; it only applies to *new* records that are created, by a logged-in user, once the module is enabled.\n\n-   If the project is utilising randomisation then the \"Randomize\" button is hidden until the record is saved and the appropriate auto-numbered record id is generated.\n\n## Project Configuration\n\n1. **Integer increment from a specified start value**: This option allows users to specify the first numerical record ID. Subsequent record IDs will increment from this project-wide (even for users in a DAG).\n    - This is useful when you want your first record ID to start with any integer besides 1, including padding the 1 to become 001.\n\n1. **Padded integer increment with prefix**: This option allows users to specify a prefix to the project's record IDs and configure the padding length, prepending the ID with zeros to achieve the desired length. Subsequent record IDs will increment from this project-wide (even for users in a DAG).\n  - This is useful when you want you need to create study-specific record IDs, such as ABC-001, ABC-002, ABC-003, etc.\n\n1. **Increment within DAG using part of the DAG name**: This option lets users create a DAG-specific prefix to the record IDs in the project, when DAGs are used in a project. This option gives users the ability to use 1-5 characters from the beginning or the end of the DAG as part of the record ID.\n  - This is useful when you need to create DAG-specific record IDs, such as UFL-1, UFL-2, UW-1, UW-2, USF-1, USF-2, etc.\n  - _Useful tip_: if you want the prefixed DAG ID to be \"UFL\" you can name the DAG \"University of Florida UFL\" and specify you want the last 3 letters of the DAG name to be used in the prefix.\n\n1. **Date/time in selected format**: This option will create a record ID based upon the date and time a record was created.\n    - _Note_: Since dates are PHI, do not use this option if all data is supposed to be de-identified.\n\n1. **Unix timestamp (16 digits)**: This option will create a record ID based upon a Unix timestamp. A Unix timestamp is the number of seconds since January 1st, 1970 (UTC).\n  - See: \u003chttps://www.unixtimestamp.com/\u003e for more information about Unix timestamps.\n\n1. **Random 6-character alphanumeric ID**: This option generates a random 6-character alphanumeric string for each new record ID. The character set excludes ambiguous characters (I, O, 0, 1) to improve readability.\n  - Example IDs: `A7K2M9`, `X3PB5N`, `H8QR4T`\n  - This is useful when you need non-sequential, non-guessable record IDs for privacy or blinding purposes.\n  - _Note_: While collisions are statistically unlikely (over 700 million possible combinations), the module will generate a new ID if a collision is detected.\n\n1. **A project-specific custom auto-numbering schema**: The module design supports the addition of novel auto-numbering schemes via custom code. This is an advanced feature for module developers.\n\nFor a more detailed explanation, see the [Custom Record Auto-numbering User Guide](https://www.ctsi.ufl.edu/wordpress/files/2021/04/Custom-Record-Auto-numbering-External-Module-User-Guide.pdf) created by Taryn Stoffs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsgs%2Fredcap-record-autonumbering","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsgs%2Fredcap-record-autonumbering","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsgs%2Fredcap-record-autonumbering/lists"}