diff --git a/.gitattributes b/.gitattributes index 19ab79c..767228f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,14 +1,10 @@ ############################ # Common settings that generally should always be used with your language specific settings -############################ # Auto detect text files and perform LF normalization * text=auto - # # The above will handle all files NOT found below -# - # Documents *.bibtex text diff=bibtex *.doc diff=astextplain @@ -33,7 +29,6 @@ *.txt text *.sql text *.epub diff=astextplain - # Graphics *.png binary *.jpg binary @@ -48,7 +43,6 @@ # use the following line instead. # *.svg binary *.eps binary - # Scripts *.bash text eol=lf *.fish text eol=lf @@ -58,35 +52,25 @@ *.bat text eol=crlf *.cmd text eol=crlf *.ps1 text eol=crlf - # Serialisation *.json text *.toml text *.xml text *.yaml text *.yml text - # Archives *.7z binary *.gz binary *.tar binary *.tgz binary *.zip binary - # Text files where line endings should be preserved *.patch -text - -# # Exclude files from exporting -# .gitattributes export-ignore .gitignore export-ignore .gitkeep export-ignore - -############################ # Web -############################ - # These files are text and should be normalized (Convert crlf => lf) *.css text diff=css *.scss text diff=css @@ -103,22 +87,16 @@ *.tag text *.tagx text *.xml text - - # Common build-tool wrapper scripts ('.cmd' versions are handled by 'Common.gitattributes') mvnw text eol=lf gradlew text eol=lf - -############################ # Java sources -############################ *.java text diff=java *.kt text diff=kotlin *.groovy text diff=java *.scala text diff=java *.gradle text diff=java *.gradle.kts text diff=kotlin - # These files are binary and should be left untouched (and ideally not checked in) # (binary is a macro for -text -diff) *.class binary @@ -128,10 +106,3 @@ gradlew text eol=lf *.so binary *.war binary *.jks binary - - -############################ -# Custom Binaries -############################ -**/*.zip filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..367d1d4 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,54 @@ +name: Build Workflow + +run-name: 'Build Workflow -- ${{ github.head_ref || github.ref_name }}' + +# Pipeline/Workflow Triggers +on: + push: + pull_request: + workflow_dispatch: + + +jobs: + pr-verification: + name: Pull Request Validation + runs-on: ubuntu-24.04 + if: github.event_name == 'pull_request' + steps: + - name: Pull Request Version Validation + uses: ikmdev/maven-pull-request-version-validation-action@v2.1.0 + + build-job: + name: Build Job + runs-on: ubuntu-24.04 + steps: + - name: Maven Settings File + uses: whelk-io/maven-settings-xml-action@v22 + with: + servers: '[{"id": "tinkar-nexus", "username": "${{secrets.NEXUS_USER}}", "password": "${{secrets.NEXUS_PASSWORD}}"}]' + mirrors: '[{"id": "tinkar-nexus", "mirrorOf": "*", "url": "${{secrets.NEXUS_URL}}/repository/maven-public/"}]' + repositories: ' + [ + { + "id": "tinkar-nexus", + "name": "tinkar-nexus", + "url": "${{secrets.NEXUS_URL}}/repository/maven-public/", + "releases": { + "enabled": "true", + "updatePolicy": "always", + "checksumPolicy": "fail" + }, + "snapshots": { + "enabled": "true", + "updatePolicy": "always", + "checksumPolicy": "fail" + } + } + ]' + output_file: ../.m2/tinkar-settings.xml + + - name: Build Data Pipeline + uses: ikmdev/maven-clean-install-build-action@v3.5.0 + with: + branch_name: ${{github.ref_name}} + mvn_additional_args: " -s '/home/runner/work/${{github.event.repository.name}}/.m2/tinkar-settings.xml'" diff --git a/.github/workflows/post_build.yaml b/.github/workflows/post_build.yaml new file mode 100644 index 0000000..69692fd --- /dev/null +++ b/.github/workflows/post_build.yaml @@ -0,0 +1,58 @@ +name: Post Build Action + +run-name: 'Post Build Action -- ${{github.event.workflow_run.head_branch}}' + +on: + workflow_run: + workflows: + - Build Workflow + types: + - completed + +permissions: + contents: write + +jobs: + post-build: + name: Post Build Actions + runs-on: ubuntu-24.04 + if: github.event.workflow_run.conclusion == 'success' && github.repository_owner == 'ikmdev' + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + repository: ${{github.event.workflow_run.head_repository.full_name}} + ref: ${{github.event.workflow_run.head_branch}} + fetch-depth: 0 + + - name: Maven Settings File + uses: whelk-io/maven-settings-xml-action@v22 + with: + servers: ' + [ + {"id": "tinkar-nexus-private", "username": "admin", "password": "${{secrets.EC2_NEXUS_PASSWORD}}"}, + {"id": "maven-snapshots", "username": "admin", "password": "${{secrets.EC2_NEXUS_PASSWORD}}"} + ]' + mirrors: '[{"id": "tinkar-nexus-private", "mirrorOf": "*", "url": "https://nexus.tinkarbuild.com/repository/maven-private/"}]' + output_file: ../.m2/tinkar-settings.xml + + - name: Build Plugins + uses: ikmdev/maven-clean-install-build-action@v3.5.0 + with: + branch_name: ${{github.ref_name}} + mvn_additional_args: " -f plugin" + + - name: Deploy To Nexus + shell: bash + run: | + ./mvnw clean deploy \ + --batch-mode \ + -U \ + -e \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -DskipTests \ + -DskipITs \ + -s '/home/runner/work/${{github.event.repository.name}}/.m2/tinkar-settings.xml'\ + -DaltDeploymentRepository='maven-snapshots::https://nexus.tinkarbuild.com/repository/maven-snapshots/' \ + -Dmaven.build.cache.enabled=false \ + -PgenerateData diff --git a/.mvn/jvm.config b/.mvn/jvm.config index 2e112fe..b4388b0 100644 --- a/.mvn/jvm.config +++ b/.mvn/jvm.config @@ -1,4 +1,3 @@ ---enable-preview --enable-native-access=ALL-UNNAMED --add-modules jdk.incubator.vector -Xmx12g diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 1a60da7..12fbe1e 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,5 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/README.md b/README.md index e435371..97e5d85 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,64 @@ -# rxnorm-data +# RxNorm Pipeline -### Team Ownership - Product Owner -Data Team +**Prerequisites** -## Getting Started - -Follow these instructions to generate a rxnorm dataset: +* JDK 24+ +* Maven 3.9.9+ +* Nexus Repository (optional) +* SnomedCt Pipeline Artifact (see [snomed-ct-data repository](https://github.com/ikmdev/snomed-ct-data)) + +**Clone Project and Configure Maven Settings** 1. Clone the [rxnorm-data repository](https://github.com/ikmdev/rxnorm-data) -```bash -git clone [Rep URL] -``` + ``` + git clone https://github.com/ikmdev/rxnorm-data.git + ``` + +2. Configure Maven settings.xml based on the [provided sample](https://ikmdev.atlassian.net/wiki/spaces/IKDT/pages/1036648449/Centralized+Documentation+for+Maven+Settings+File+Configuration). + +3. Change local directory to `rxnorm-data` + +**Run Origin Packaging** + +The following source data is required for this pipeline: -2. Change local directory to `rxnorm-data` +* Pilot-Defined-RxNorm-with-SNCT-classes-2024-04-10-with-custom-annotations.owl -3. Download RxNorm File from National Library of Medicine (RxNorm-in-OWL/RxNorm Files): https://www.nlm.nih.gov/research/umls/rxnorm/index.html +More information can be found on National Library of Medicine (RxNorm-in-OWL/RxNorm Files): https://www.nlm.nih.gov/research/umls/rxnorm/index.html -4. Place the downloaded Pilot-Defined-RxNorm_*_.owl in your local Downloads directory. +1. Place the downloaded file in your ~/Downloads directory. -5. Ensure the rxnorm-data/pom.xml contains the proper tags containing source filename for the downloaded files such as: - , , , , etc. +2. Ensure the properties defined in rxnorm-data/pom.xml are set to the correct file names: + - + - -6. Create a ~/Solor directory and ensure ~/Solor/generated-data does not exist or is empty. +3. Run origin packaging and deployment. -7. You can create a reasoned or unreasoned dataset by either including or commenting out the rxnorm-data/pom.xml rxnorm-reasoner + To deploy origin artifact to a shared Nexus repository, run the following command, specifying the repository ID and URL in `-DaltDeploymentRepository` + ``` + mvn clean deploy --projects rxnorm-origin --also-make -Ptinkarbuild -DaltDeploymentRepository=tinkar-snapshot::https://nexus.tinkar.org/repository/maven-snapshots/ -Dmaven.build.cache.enabled=false + ``` -8. Enter the following command to build the dataset: + To install origin artifact to a local M2 repository, run the following command: + ``` + mvn clean install --projects rxnorm-origin --also-make -Ptinkarbuild,generateDataLocal -Dmaven.build.cache.enabled=false + ``` -```bash -mvn clean install -U "-DMaven.build.cache.enable=false" -``` +**Run Transformation Pipeline** -9. Enter the following command to deploy the dataset: +The transformation pipeline can be built after origin data is available in Nexus or a local M2 repository. -```bash -mvn deploy -f rxnorm-export "-DdeployToNexus=true" "-Dmaven.deploy.skip=true" "-Dmaven.build.cache.enabled=false" -``` +1. Ensure the rxnorm-data/pom.xml contains the proper tags containing source filename for the downloaded files such as: + , , , , etc. -- NOTE. This repo is built on top of an unreasoned spined array DB from snomed-ct-data. Therefore, make sure you have it built before running step #8. +2. Build the pipeline with the following command: + ``` + mvn clean install -U -Ptinkarbuild -Dmaven.build.cache.enabled=false + ``` +3. Deploy transformed data artifacts to Nexus, run the following command: + ``` + mvn deploy --projects rxnorm-export --also-make -Ptinkarbuild -DaltDeploymentRepository=tinkar-snapshot::https://nexus.tinkar.org/repository/maven-snapshots/ -Dmaven.build.cache.enabled=false + ``` + \ No newline at end of file diff --git a/plugin/rxnorm-transformation-maven-plugin/pom.xml b/plugin/rxnorm-transformation-maven-plugin/pom.xml index a230dd4..5b0fe4c 100644 --- a/plugin/rxnorm-transformation-maven-plugin/pom.xml +++ b/plugin/rxnorm-transformation-maven-plugin/pom.xml @@ -18,7 +18,6 @@ org.apache.maven.plugins maven-plugin-plugin - ${maven-plugin-plugin.version} mojo-descriptor diff --git a/pom.xml b/pom.xml index 9aaf977..0a18aa1 100644 --- a/pom.xml +++ b/pom.xml @@ -4,6 +4,12 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 + + dev.ikm.build + java-parent + 1.64.0 + + dev.ikm.rxnorm rxnorm-data 1.0.0-SNAPSHOT @@ -27,14 +33,13 @@ 1.35.0 3.7.1 3.4.1 - 3.8.0 1.121.0 3.9.7 2.0.17 1.8.0 3.13.0 11.1.0-r11 - 3.13.0 + 3.15.1 3.3.1 3.1.0 3.6.0 @@ -45,20 +50,26 @@ 2024-04-10 Pilot-Defined-RxNorm-with-SNCT-classes-${source.version}-with-custom-annotations.owl ${user.home}/Downloads/${rxnormOwl} - ${user.home}/Downloads RxNorm Starter Export 07072025.zip - ${project.basedir}/../../snomed-ct-data/target + ${project.parent.basedir}/target snomedct-international ElkSnomedReasoner + rxnorm-${source.version}+1.0.0-SNAPSHOT + 20250801T120000Z+1.0.0-SNAPSHOT IKM Dev https://www.nlm.nih.gov/research/umls/rxnorm/docs/rxnormfiles.html 3094dbd1-60cf-44a6-92e3-0bb32ca4d3de - + + + dev.ikm.rxnorm + rxnorm-transformation-maven-plugin + ${project.version} + dev.ikm.tinkar entity-provider @@ -185,17 +196,45 @@ ${exec-maven-plugin.version} - org.apache.maven.plugins - maven-dependency-plugin - ${maven-dependency-plugin.version} + dev.ikm.rxnorm + rxnorm-transformation-maven-plugin + ${project.version} + + + org.codehaus.mojo + flatten-maven-plugin + 1.7.2 org.sonatype.central central-publishing-maven-plugin - false + + false + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + + + enforce-no-bad-sections + + enforce + + + + requireProperty + false + + + + + diff --git a/rxnorm-export/pom.xml b/rxnorm-export/pom.xml index 847ea91..46e1a57 100644 --- a/rxnorm-export/pom.xml +++ b/rxnorm-export/pom.xml @@ -7,7 +7,9 @@ 1.0.0-SNAPSHOT - rxnorm-export + dev.ikm.tinkar.data + rxnorm + ${revision} pom rxnorm-export @@ -16,167 +18,99 @@ - dev.ikm.tinkar.data - rxnorm - ${data-artifact.path-prefix} - ${source.version}-1.0.6 - ${project.artifactId}-${project.version} - ${project.build.directory}/${data-artifact.prefix} - https://nexus.tinkarbuild.com/repository/private-assets/ - false + ${source.version}+1.0.0-SNAPSHOT - - - - nexus - private-assets-nexus - ${deployNexusURL} - - - - - - - dev.ikm.maven.tinkar - tinkar-maven-plugin - - - - ${project.artifactId}-reasoned-export - - export-tinkar-data - - - ${project.build.directory} - ${dataStoreLocation}/${dataStore} - ${data-artifact.filename}-reasoned-pb.zip - false - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - assemble-origin-artifact - package - - single - - - - - reasoned-sa - - zip - - - - rxnorm - ${dataStoreLocation}/${dataStore} - - ** - - - MANIFEST.MF - - - - false - - - - - - - - - - generateData + generateDataLocal - deployToNexus - true + altDeploymentRepository - org.codehaus.mojo - templating-maven-plugin + dev.ikm.maven.tinkar + tinkar-maven-plugin + - inject-maven-properties + ${project.artifactId}-reasoned-export - filter-sources + export-tinkar-data - rxnorm-export-pom-template - ${project.build.directory} - false + ${project.build.directory} + ${dataStoreLocation}/${dataStore} + ${project.artifactId}-${project.version}-reasoned-pb.zip + false - - - - - - - deployZipArtifacts - - - deployToNexus - true - - - - org.apache.maven.plugins - maven-deploy-plugin + maven-assembly-plugin - deploy-reasoned-sa - deploy + assemble-origin-artifact + package - deploy-file + single - nexus - ${deployNexusURL} - ${data-artifact.groupId} - ${data-artifact.artifactId} - ${data-artifact.version} - ${project.build.directory}/rxnorm-export-pom.xml - ${data-artifact.filename}-reasoned-sa.zip - zip - reasoned-sa + + + reasoned-sa + + zip + + + + . + ${dataStoreLocation}/${dataStore} + + ** + + + MANIFEST.MF + + + + false + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + - deploy-reasoned-pb - deploy + attach-artifacts + install - deploy-file + attach-artifact - nexus - ${deployNexusURL} - ${data-artifact.groupId} - ${data-artifact.artifactId} - ${data-artifact.version} - ${project.build.directory}/rxnorm-export-pom.xml - ${data-artifact.filename}-reasoned-pb.zip - zip - reasoned-pb + + + ${project.build.directory}/${project.artifactId}-${project.version}-reasoned-sa.zip + reasoned-sa + zip + + + ${project.build.directory}/${project.artifactId}-${project.version}-reasoned-pb.zip + reasoned-pb + zip + + diff --git a/rxnorm-export/rxnorm-export-pom-template/rxnorm-export-pom.xml b/rxnorm-export/rxnorm-export-pom-template/rxnorm-export-pom.xml deleted file mode 100644 index 5f12ec6..0000000 --- a/rxnorm-export/rxnorm-export-pom-template/rxnorm-export-pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - 4.0.0 - - ${data-artifact.groupId} - ${data-artifact.artifactId} - ${data-artifact.version} - pom - - ${data-artifact.artifactId} generated from ${project.artifactId} - ${data-artifact.artifactId} generated from ${project.artifactId} - ${project.url} - - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - - - - - ikmdev - IKM Development Team - support@ikm.dev - - - - - - ${project.scm.url} - - - \ No newline at end of file diff --git a/rxnorm-integration/pom.xml b/rxnorm-integration/pom.xml index 48ddab7..a505d03 100644 --- a/rxnorm-integration/pom.xml +++ b/rxnorm-integration/pom.xml @@ -61,7 +61,6 @@ dev.ikm.rxnorm rxnorm-transformation-maven-plugin - 1.0.0-SNAPSHOT test @@ -71,9 +70,9 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.5.2 false + 1 ${dataStoreLocation}/${dataStore} ${source.zip} diff --git a/rxnorm-origin/pom.xml b/rxnorm-origin/pom.xml index 573a893..b14f772 100644 --- a/rxnorm-origin/pom.xml +++ b/rxnorm-origin/pom.xml @@ -9,194 +9,135 @@ ../pom.xml + dev.ikm.data.rxnorm rxnorm-origin + ${revision} pom rxnorm-origin - dev.ikm.data.rxnorm - rxnorm-origin - ${data-artifact.path-prefix} - Pilot-Defined-RxNorm_${source.version}+1.0.0-SNAPSHOT - ${project.artifactId}-${project.version} - ${project.build.directory}/${data-artifact.prefix} - https://nexus.tinkarbuild.com/repository/maven-snapshots/ - false + ${rxnorm-origin.version} - - - - nexus - private-assets-nexus - ${deployNexusURL} - - - - - - - - dev.ikm.maven.tinkar - tinkar-maven-plugin - - - create-origin-manifest - - generate-manifest-resource - - - ${packager.name} - ${project.version} - ${origin.url} - ${origin.namespace} - ${origin.working.directory} - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - assemble-origin-artifact - package - - single - - - - - data - - zip - - - - src - ${origin.working.directory} - - ** - - - MANIFEST.MF - - - - META-INF - ${origin.working.directory} - - MANIFEST.MF - - - - - - src - ${source.zip} - - - false - - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - attach-artifacts - install - - attach-artifact - - - - - ${project.build.directory}/${project.artifactId}-${project.version}-data.zip - - zip - - - - - - - - - - - generateData + generateDataLocal - deployToNexus - true + altDeploymentRepository - + + + dev.ikm.maven.tinkar + tinkar-maven-plugin + + + create-origin-manifest + + generate-manifest-resource + + + ${packager.name} + ${project.version} + ${origin.url} + ${origin.namespace} + ${origin.working.directory} + + + + org.codehaus.mojo - templating-maven-plugin + flatten-maven-plugin - inject-maven-properties + flatten-test + initialize - filter-sources + flatten - rxnorm-origin-pom-template + resolveCiFriendliesOnly + true + true ${project.build.directory} - false - - - - - - - deployZipArtifacts - - - deployToNexus - true - - - - + org.apache.maven.plugins - maven-deploy-plugin + maven-assembly-plugin + + + assemble-origin-artifact + package + + single + + + + + data + + zip + + + + src + ${origin.working.directory} + + ** + + + MANIFEST.MF + + + + META-INF + ${origin.working.directory} + + MANIFEST.MF + + + + + + src + ${source.zip} + + + false + + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin - deploy-origin-data - deploy + attach-artifacts + install - deploy-file + attach-artifact - nexus - ${deployNexusURL} - ${data-artifact.groupId} - ${data-artifact.artifactId} - ${data-artifact.version} - ${project.build.directory}/rxnorm-origin-pom.xml - ${data-artifact.filename}-data.zip - zip + + + ${project.build.directory}/${project.artifactId}-${project.version}-data.zip + zip + + diff --git a/rxnorm-origin/rxnorm-origin-pom-template/rxnorm-origin-pom.xml b/rxnorm-origin/rxnorm-origin-pom-template/rxnorm-origin-pom.xml deleted file mode 100644 index 5f12ec6..0000000 --- a/rxnorm-origin/rxnorm-origin-pom-template/rxnorm-origin-pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - 4.0.0 - - ${data-artifact.groupId} - ${data-artifact.artifactId} - ${data-artifact.version} - pom - - ${data-artifact.artifactId} generated from ${project.artifactId} - ${data-artifact.artifactId} generated from ${project.artifactId} - ${project.url} - - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - A business-friendly OSS license - - - - - - - ikmdev - IKM Development Team - support@ikm.dev - - - - - - ${project.scm.url} - - - \ No newline at end of file diff --git a/rxnorm-pipeline/pom.xml b/rxnorm-pipeline/pom.xml index b97b283..1a9e46c 100644 --- a/rxnorm-pipeline/pom.xml +++ b/rxnorm-pipeline/pom.xml @@ -16,22 +16,45 @@ http://maven.apache.org - 23 - 23 - UTF-8 + ${project.build.directory}/origin-data + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-origin-data + generate-sources + + copy + + + true + + + dev.ikm.data.rxnorm + rxnorm-origin + ${rxnorm-origin.version} + zip + true + ${origin.directory} + + + + + + dev.ikm.rxnorm rxnorm-transformation-maven-plugin - 1.0.0-SNAPSHOT ${origin.namespace} ${project.build.directory}/src/${rxnormOwl} ${dataStoreLocation}/${dataStore} - ${user.home}/.m2/repository/dev/ikm/rxnorm/rxnorm-origin/${project.version}/rxnorm-origin-${project.version}-data.zip + ${origin.directory}/rxnorm-origin.zip ${project.build.directory} @@ -46,5 +69,4 @@ - - \ No newline at end of file + diff --git a/rxnorm-starterdata/pom.xml b/rxnorm-starterdata/pom.xml index 2d7b372..281e6c2 100644 --- a/rxnorm-starterdata/pom.xml +++ b/rxnorm-starterdata/pom.xml @@ -16,16 +16,41 @@ + + org.apache.maven.plugins + maven-dependency-plugin + + + unpack-datastore-dependency + generate-sources + + unpack + + + + + dev.ikm.tinkar.data + snomedct-international + ${snomedct.version} + reasoned-sa + zip + true + ${dataStoreLocation} + + + + + + dev.ikm.maven.tinkar tinkar-maven-plugin - ${maven-artifacts.version} ${dataStoreLocation}/${dataStore} - ${starterSetLocation} + ${project.basedir}/src/main/resources **/${starterSet} diff --git a/rxnorm-starterdata/src/main/resources/RxNorm Starter Export 07072025.zip b/rxnorm-starterdata/src/main/resources/RxNorm Starter Export 07072025.zip new file mode 100644 index 0000000..e844b87 Binary files /dev/null and b/rxnorm-starterdata/src/main/resources/RxNorm Starter Export 07072025.zip differ