From 9d0d5166f455999a7d52286cabad8b5385f5e64c Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 09:40:00 -0700 Subject: [PATCH 01/14] Updated code.json Signed-off-by: Natalia Luzuriaga --- code.json | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/code.json b/code.json index 54fbaea..1866d81 100644 --- a/code.json +++ b/code.json @@ -1,22 +1,29 @@ { "name": "gov-codejson", "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on the agency's software projects in compliance with M-16-21 and the SHARE IT Act.", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", "status": "Production", "permissions": { - "license": [ + "licenses": [ { - "name": "CC0 1.0 Universal", + "name": "CC0-1.0", "URL": "https://github.com/DSACMS/gov-codejson/blob/main/LICENSE" } ], - "usageType": "openSource", + "usageType": [ + "openSource" + ], "exemptionText": "" }, "organization": "Centers for Medicare & Medicaid Services", "repositoryURL": "https://github.com/DSACMS/gov-codejson", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", "vcs": "git", "laborHours": 3479, + "reuseFrequency": { + "forks": 2 + }, "platforms": [ "web" ], @@ -26,37 +33,48 @@ ], "softwareType": "standalone/web", "languages": [ - "Markdown" + "javascript" ], - "maintenance": "internal", + "maintenance": "community", + "contractNumber": [], "date": { "created": "2025-02-04T21:59:53Z", - "lastModified": "2025-02-11T18:45:30Z", - "metaDataLastUpdated": "2025-02-11T18:47:02.924Z" + "lastModified": "2025-08-13T22:27:54Z", + "metaDataLastUpdated": "2025-08-15T16:41:02.063Z" }, "tags": [ + "dsacms-tier3", + "government", + "json", + "metadata-standard", "guide", "codejson", "OSPO", "metadata", - "SHAREIT", + "SHARE-IT-Act", "M-16-21" ], "contact": { "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, + "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", "localisation": false, "repositoryType": "standards", "userInput": false, - "fismaLevel": "Low", + "fismaLevel": "low", "group": "CMS/OA/DSAC", + "projects": [ + "SHARE IT Act" + ], + "systems": [], + "upstream": "https://github.com/DSACMS/gov-codejson/network/dependencies", "subsetInHealthcare": [ - "Operational" + "operational" ], "userType": [ - "Government" + "government" ], - "repositoryHost": "github.com/DSACMS", - "maturityModelTier": 3 + "maturityModelTier": 3, + "AIUseCaseInventory": false } \ No newline at end of file From 898c763713001b3592b617ab0b87ed2b177925d1 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 09:40:49 -0700 Subject: [PATCH 02/14] Added missing languages to gov schema Signed-off-by: Natalia Luzuriaga --- schemas/schema-2.0.0.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/schemas/schema-2.0.0.json b/schemas/schema-2.0.0.json index 4bb7729..b555111 100644 --- a/schemas/schema-2.0.0.json +++ b/schemas/schema-2.0.0.json @@ -151,6 +151,13 @@ }, "additionalProperties": true }, + "languages": { + "type": "array", + "description": "Programming languages that make up the codebase", + "items": { + "type": "string" + } + }, "maintenance": { "type": "string", "description": "The dedicated staff that keeps the software up-to-date, if any", From 0ab3a6d8fad2a9a78ccd7b68f0be547e05eb890a Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 09:43:48 -0700 Subject: [PATCH 03/14] Updated enum values in CMS schema Signed-off-by: Natalia Luzuriaga --- schemas/cms/schema-0.2.0.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/schemas/cms/schema-0.2.0.json b/schemas/cms/schema-0.2.0.json index e58de93..60a2050 100644 --- a/schemas/cms/schema-0.2.0.json +++ b/schemas/cms/schema-0.2.0.json @@ -317,9 +317,9 @@ "type": "string", "description": "Level of security categorization assigned to an information system under the Federal Information Security Modernization Act (FISMA): https://security.cms.gov/learn/federal-information-security-modernization-act-fisma", "enum": [ - "Low", - "Moderate", - "High" + "low", + "moderate", + "high" ] }, "group": { @@ -349,10 +349,10 @@ "items": { "type": "string", "enum": [ - "Policy", - "Operational", - "Medicare", - "Medicaid" + "policy", + "operational", + "medicare", + "medicaid" ] }, "description": "Healthcare-related subset" @@ -362,9 +362,9 @@ "items": { "type": "string", "enum": [ - "Providers", - "Patients", - "Government" + "providers", + "patients", + "government" ] }, "description": "Types of users who interact with the software" From 9b7fa8def1836a99af0659236ca87c5bf86a87cb Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 14:29:35 -0700 Subject: [PATCH 04/14] Add tests to repository to validate schemas Signed-off-by: Natalia Luzuriaga --- docs/examples.md | 33 +++-- schemas/schema-2.0.0.json | 2 +- schemas/test/cms-schema.json | 259 +++++++++++++++++++++++++++++++++++ schemas/test/gov-schema.json | 259 +++++++++++++++++++++++++++++++++++ 4 files changed, 537 insertions(+), 16 deletions(-) create mode 100644 schemas/test/cms-schema.json create mode 100644 schemas/test/gov-schema.json diff --git a/docs/examples.md b/docs/examples.md index 32e8fa8..8d668f7 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -1,6 +1,10 @@ # Examples of code.json -Below are good examples of metadata in CMS code.json files. We hope it helps when creating your repository-level code.json file. +Below are examples of well-structured and comprehensive metadata in CMS code.json files. These examples demonstrate best practices for repository-level metadata documentation. + +For additional reference, the [test directory](../schemas/test) contains unit tests of code.json files from various DSACMS repositories. These tests help ensure consistency and compliance as we make future updates to the schemas. + +We encourage you to review these examples and tests when creating or updating your repository-level code.json file to maintain consistency with federal standards. ## Example 1: [DedupliFHIR](https://github.com/DSACMS/dedupliFHIR) @@ -10,21 +14,20 @@ DedupliFHIR is a desktop app tool that uses AI deduplication to identify duplica { "name": "dedupliFHIR", "description": "Prototype for basic deduplication and aggregation of eCQM data", - "longDescription": "A CLI bundled with an electron front-end that provides data-linkage and AI deduplication for reported ACO data at scale.", + "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", "status": "Production", "permissions": { "license": [ { - "name": "CC0 1.0 Universal", + "name": "CC0 1.0", "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" } ], - "usageType": "openSource", + "usageType": ["openSource"], "exemptionText": "" }, "organization": "Centers for Medicare & Medicaid Services", "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", - "projectURL": "", "repositoryHost": "github.com/DSACMS", "repositoryVisibility": "public", "vcs": "git", @@ -75,17 +78,17 @@ DedupliFHIR is a desktop app tool that uses AI deduplication to identify duplica "AIUseCaseInventory": true, "localisation": false, "repositoryType": "application", - "userInput": "true", - "fismaLevel": "Moderate", + "userInput": true, + "fismaLevel": "moderate", "group": "CMS/OA/DSAC", "projects": [], "systems": [], "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", "subsetInHealthcare": [ - "Operational" + "operational" ], "userType": [ - "Providers" + "providers" ], "maturityModelTier": "3" } @@ -104,11 +107,11 @@ The CMS Metrics Website is a [tier 3](https://github.com/DSACMS/repo-scaffolder/ "permissions": { "license": [ { - "name": "CC0 1.0 Universal", + "name": "CC0 1.0", "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" } ], - "usageType": "openSource", + "usageType": ["openSource"], "exemptionText": "" }, "organization": "Centers for Medicare & Medicaid Services", @@ -158,17 +161,17 @@ The CMS Metrics Website is a [tier 3](https://github.com/DSACMS/repo-scaffolder/ "AIUseCaseInventory": true, "localisation": false, "repositoryType": "website", - "userInput": "No", - "fismaLevel": "Low", + "userInput": false, + "fismaLevel": "low", "group": "CMS/OA/DSAC", "projects": [], "systems": [], "upstream": "https://github.com/DSACMS/metrics/network/dependencies", "subsetInHealthcare": [ - "Operational" + "operational" ], "userType": [ - "Government" + "government" ], "maturityModelTier": 3 } diff --git a/schemas/schema-2.0.0.json b/schemas/schema-2.0.0.json index b555111..47c400c 100644 --- a/schemas/schema-2.0.0.json +++ b/schemas/schema-2.0.0.json @@ -248,5 +248,5 @@ "feedbackMechanisms", "AIUseCaseInventory" ], - "additionalProperties": false + "additionalProperties": true } \ No newline at end of file diff --git a/schemas/test/cms-schema.json b/schemas/test/cms-schema.json new file mode 100644 index 0000000..d789da2 --- /dev/null +++ b/schemas/test/cms-schema.json @@ -0,0 +1,259 @@ +{ + "target": "../cms/schema-0.2.0.json", + "$comment": "This test suite validates code.json files for compliance with the CMS schema requirements.", + "tests": [ + { + "description": "Example 1: DedupliFHIR", + "valid": true, + "data": { + "name": "dedupliFHIR", + "description": "Prototype for basic deduplication and aggregation of eCQM data", + "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 4271, + "reuseFrequency": { + "forks": 3, + "clones": 0 + }, + "platforms": [ + "windows", + "mac", + "linux" + ], + "categories": [ + "data-analytics", + "application-development", + "data-collection" + ], + "softwareType": "standalone/desktop", + "languages": [ + "Python", + "JavaScript", + "HTML", + "CSS", + "Shell", + "Makefile" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-06-22T17:08:19Z", + "lastModified": "2025-02-13T18:44:26Z", + "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" + }, + "tags": [ + "AI", + "deduplication", + "data", + "ACA", + "FHIR", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS Open Source Team" + }, + "feedbackMechanisms": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseInventory": true, + "localisation": false, + "repositoryType": "application", + "userInput": true, + "fismaLevel": "moderate", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "providers" + ], + "maturityModelTier": 3 + } + }, + { + "description": "Example 2: metrics", + "valid": true, + "data": { + "name": "metrics", + "description": "CMS Open Source Repository Metrics Website", + "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/metrics", + "projectURL": "https://dsacms.github.io/metrics/", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 20722, + "reuseFrequency": { + "forks": 4, + "clones": 0 + }, + "platforms": [ + "web" + ], + "categories": [ + "data-visualization", + "data-analytics" + ], + "softwareType": "standalone/web", + "languages": [ + "Liquid", + "JavaScript", + "CSS", + "Python", + "Shell" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-07-18T14:10:58Z", + "lastModified": "2025-06-01T11:36:12Z", + "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" + }, + "tags": [ + "metrics", + "ospo", + "repository", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS/OA/DSAC/OSPO" + }, + "feedbackMechanisms": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseInventory": false, + "localisation": false, + "repositoryType": "website", + "userInput": false, + "fismaLevel": "low", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/metrics/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "government" + ], + "maturityModelTier": 3 + } + }, + { + "description": "Example 3: gov-codejson", + "valid": true, + "data": { + "name": "gov-codejson", + "description": "code.json: An agency-wide metadata standard for software projects", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/gov-codejson/blob/main/LICENSE" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/gov-codejson", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 3479, + "reuseFrequency": { + "forks": 2 + }, + "platforms": [ + "web" + ], + "categories": [ + "knowledge-management", + "help-desk" + ], + "softwareType": "standalone/web", + "languages": [ + "javascript" + ], + "maintenance": "community", + "contractNumber": [], + "date": { + "created": "2025-02-04T21:59:53Z", + "lastModified": "2025-08-13T22:27:54Z", + "metaDataLastUpdated": "2025-08-15T16:41:02.063Z" + }, + "tags": [ + "dsacms-tier3", + "government", + "json", + "metadata-standard", + "guide", + "codejson", + "OSPO", + "metadata", + "SHARE-IT-Act", + "M-16-21" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS Open Source Team" + }, + "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", + "AIUseCaseInventory": false, + "localisation": false, + "repositoryType": "standards", + "userInput": false, + "fismaLevel": "low", + "group": "CMS/OA/DSAC", + "projects": [ + "SHARE IT Act" + ], + "systems": [], + "upstream": "https://github.com/DSACMS/gov-codejson/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "government" + ], + "maturityModelTier": 3 + } + } + ] +} \ No newline at end of file diff --git a/schemas/test/gov-schema.json b/schemas/test/gov-schema.json new file mode 100644 index 0000000..beadfb8 --- /dev/null +++ b/schemas/test/gov-schema.json @@ -0,0 +1,259 @@ +{ + "target": "../schema-2.0.0.json", + "$comment": "This test suite validates CMS code.json files for compliance with the generic schema, ensuring alignment with federal government metadata standards.", + "tests": [ + { + "description": "Example 1: DedupliFHIR", + "valid": true, + "data": { + "name": "dedupliFHIR", + "description": "Prototype for basic deduplication and aggregation of eCQM data", + "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 4271, + "reuseFrequency": { + "forks": 3, + "clones": 0 + }, + "platforms": [ + "windows", + "mac", + "linux" + ], + "categories": [ + "data-analytics", + "application-development", + "data-collection" + ], + "softwareType": "standalone/desktop", + "languages": [ + "Python", + "JavaScript", + "HTML", + "CSS", + "Shell", + "Makefile" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-06-22T17:08:19Z", + "lastModified": "2025-02-13T18:44:26Z", + "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" + }, + "tags": [ + "AI", + "deduplication", + "data", + "ACA", + "FHIR", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS Open Source Team" + }, + "feedbackMechanisms": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseInventory": true, + "localisation": false, + "repositoryType": "application", + "userInput": true, + "fismaLevel": "moderate", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "providers" + ], + "maturityModelTier": 3 + } + }, + { + "description": "Example 2: metrics", + "valid": true, + "data": { + "name": "metrics", + "description": "CMS Open Source Repository Metrics Website", + "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/metrics", + "projectURL": "https://dsacms.github.io/metrics/", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 20722, + "reuseFrequency": { + "forks": 4, + "clones": 0 + }, + "platforms": [ + "web" + ], + "categories": [ + "data-visualization", + "data-analytics" + ], + "softwareType": "standalone/web", + "languages": [ + "Liquid", + "JavaScript", + "CSS", + "Python", + "Shell" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-07-18T14:10:58Z", + "lastModified": "2025-06-01T11:36:12Z", + "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" + }, + "tags": [ + "metrics", + "ospo", + "repository", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS/OA/DSAC/OSPO" + }, + "feedbackMechanisms": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseInventory": false, + "localisation": false, + "repositoryType": "website", + "userInput": false, + "fismaLevel": "low", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/metrics/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "government" + ], + "maturityModelTier": 3 + } + }, + { + "description": "Example 3: gov-codejson", + "valid": true, + "data": { + "name": "gov-codejson", + "description": "code.json: An agency-wide metadata standard for software projects", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/gov-codejson/blob/main/LICENSE" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/gov-codejson", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 3479, + "reuseFrequency": { + "forks": 2 + }, + "platforms": [ + "web" + ], + "categories": [ + "knowledge-management", + "help-desk" + ], + "softwareType": "standalone/web", + "languages": [ + "javascript" + ], + "maintenance": "community", + "contractNumber": [], + "date": { + "created": "2025-02-04T21:59:53Z", + "lastModified": "2025-08-13T22:27:54Z", + "metaDataLastUpdated": "2025-08-15T16:41:02.063Z" + }, + "tags": [ + "dsacms-tier3", + "government", + "json", + "metadata-standard", + "guide", + "codejson", + "OSPO", + "metadata", + "SHARE-IT-Act", + "M-16-21" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS Open Source Team" + }, + "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", + "AIUseCaseInventory": false, + "localisation": false, + "repositoryType": "standards", + "userInput": false, + "fismaLevel": "low", + "group": "CMS/OA/DSAC", + "projects": [ + "SHARE IT Act" + ], + "systems": [], + "upstream": "https://github.com/DSACMS/gov-codejson/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "government" + ], + "maturityModelTier": 3 + } + } + ] +} \ No newline at end of file From 81ad36c75e6309b67fd8cbe69f4dfe966c757cdf Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 14:35:20 -0700 Subject: [PATCH 05/14] Add new json-schema-test.yml workflow to PR checks Signed-off-by: Natalia Luzuriaga --- ...json-validate.yml => json-schema-tests.yml} | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) rename .github/workflows/{json-validate.yml => json-schema-tests.yml} (53%) diff --git a/.github/workflows/json-validate.yml b/.github/workflows/json-schema-tests.yml similarity index 53% rename from .github/workflows/json-validate.yml rename to .github/workflows/json-schema-tests.yml index f8acd11..9eae191 100644 --- a/.github/workflows/json-validate.yml +++ b/.github/workflows/json-schema-tests.yml @@ -1,4 +1,4 @@ -name: json-validate +name: json-schema-tests on: pull_request: types: [opened, synchronize] @@ -11,7 +11,7 @@ permissions: pull-requests: write # enable write permissions for pull request comments jobs: - json-yaml-validate: + json-validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -22,3 +22,17 @@ jobs: with: comment: "true" json_schema_version: "draft-04" + + schema-tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install the JSON Schema CLI + uses: sourcemeta/jsonschema@v11.1.1 + + - name: Run generic schema unit tests + run: jsonschema test schemas/test/gov-schema.json --resolve schemas/schema-2.0.0.json + + - name: Run CMS schema unit tests + run: jsonschema test schemas/test/cms-schema.json --resolve schemas/cms/schema-0.2.0.json \ No newline at end of file From e769e6701a9df66ef612cf916e792c5cdf6bfbf6 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 15:01:37 -0700 Subject: [PATCH 06/14] Update code.json --- code.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code.json b/code.json index 1866d81..1de7e83 100644 --- a/code.json +++ b/code.json @@ -58,7 +58,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", + "feedbackMechanism": "https://github.com/DSACMS/gov-codejson/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "standards", "userInput": false, @@ -75,6 +76,5 @@ "userType": [ "government" ], - "maturityModelTier": 3, - "AIUseCaseInventory": false -} \ No newline at end of file + "maturityModelTier": 3 +} From 0a63d12d3ac58e30099656d452ee7579939739a8 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 15:02:17 -0700 Subject: [PATCH 07/14] Update examples.md --- docs/examples.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/examples.md b/docs/examples.md index 8d668f7..bc0b9fb 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -74,8 +74,8 @@ DedupliFHIR is a desktop app tool that uses AI deduplication to identify duplica "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseInventory": true, + "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "application", "userInput": true, @@ -157,8 +157,8 @@ The CMS Metrics Website is a [tier 3](https://github.com/DSACMS/repo-scaffolder/ "email": "opensource@cms.hhs.gov", "name": "CMS/OA/DSAC/OSPO" }, - "feedbackMechanisms": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseInventory": true, + "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "website", "userInput": false, From d544c037e7d278feea98b85dfd49f303038796cf Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 15:02:59 -0700 Subject: [PATCH 08/14] Update cms-schema.json --- schemas/test/cms-schema.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/schemas/test/cms-schema.json b/schemas/test/cms-schema.json index d789da2..d06391d 100644 --- a/schemas/test/cms-schema.json +++ b/schemas/test/cms-schema.json @@ -70,8 +70,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseInventory": true, + "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "application", "userInput": true, @@ -152,8 +152,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS/OA/DSAC/OSPO" }, - "feedbackMechanisms": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseInventory": false, + "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "website", "userInput": false, @@ -234,8 +234,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", - "AIUseCaseInventory": false, + "feedbackMechanism": "https://github.com/DSACMS/gov-codejson/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "standards", "userInput": false, @@ -256,4 +256,4 @@ } } ] -} \ No newline at end of file +} From f208535bfd6aee79ce3c1cc1a5c66c030351cd69 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Tue, 19 Aug 2025 15:03:36 -0700 Subject: [PATCH 09/14] Update gov-schema.json --- schemas/test/gov-schema.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/schemas/test/gov-schema.json b/schemas/test/gov-schema.json index beadfb8..b60e8ec 100644 --- a/schemas/test/gov-schema.json +++ b/schemas/test/gov-schema.json @@ -70,8 +70,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseInventory": true, + "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "application", "userInput": true, @@ -152,8 +152,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS/OA/DSAC/OSPO" }, - "feedbackMechanisms": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseInventory": false, + "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "website", "userInput": false, @@ -234,8 +234,8 @@ "email": "opensource@cms.hhs.gov", "name": "CMS Open Source Team" }, - "feedbackMechanisms": "https://github.com/DSACMS/gov-codejson/issues", - "AIUseCaseInventory": false, + "feedbackMechanism": "https://github.com/DSACMS/gov-codejson/issues", + "AIUseCaseID": "0", "localisation": false, "repositoryType": "standards", "userInput": false, @@ -256,4 +256,4 @@ } } ] -} \ No newline at end of file +} From 68f809e9cc787188287fa4b0f2963488c71e2ba2 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Wed, 20 Aug 2025 10:21:50 -0700 Subject: [PATCH 10/14] Update code.json content across tests Signed-off-by: Natalia Luzuriaga --- code.json | 6 +++--- schemas/test/cms-schema.json | 6 +++--- schemas/test/gov-schema.json | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code.json b/code.json index 1de7e83..ebd855c 100644 --- a/code.json +++ b/code.json @@ -1,7 +1,7 @@ { "name": "gov-codejson", "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act.", "status": "Production", "permissions": { "licenses": [ @@ -51,7 +51,7 @@ "codejson", "OSPO", "metadata", - "SHARE-IT-Act", + "SHAREIT", "M-16-21" ], "contact": { @@ -77,4 +77,4 @@ "government" ], "maturityModelTier": 3 -} +} \ No newline at end of file diff --git a/schemas/test/cms-schema.json b/schemas/test/cms-schema.json index d06391d..703a163 100644 --- a/schemas/test/cms-schema.json +++ b/schemas/test/cms-schema.json @@ -177,7 +177,7 @@ "data": { "name": "gov-codejson", "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act.", "status": "Production", "permissions": { "licenses": [ @@ -227,7 +227,7 @@ "codejson", "OSPO", "metadata", - "SHARE-IT-Act", + "SHAREIT", "M-16-21" ], "contact": { @@ -256,4 +256,4 @@ } } ] -} +} \ No newline at end of file diff --git a/schemas/test/gov-schema.json b/schemas/test/gov-schema.json index b60e8ec..27f4aa4 100644 --- a/schemas/test/gov-schema.json +++ b/schemas/test/gov-schema.json @@ -177,7 +177,7 @@ "data": { "name": "gov-codejson", "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act", + "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act.", "status": "Production", "permissions": { "licenses": [ @@ -227,7 +227,7 @@ "codejson", "OSPO", "metadata", - "SHARE-IT-Act", + "SHAREIT", "M-16-21" ], "contact": { @@ -256,4 +256,4 @@ } } ] -} +} \ No newline at end of file From 58b0b45feb8407e2dd605c7f898adb9acbd15d5f Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Wed, 20 Aug 2025 16:39:22 -0700 Subject: [PATCH 11/14] Create new tests directory separate from schemas containing all testing Signed-off-by: Natalia Luzuriaga --- schemas/test/cms-schema.json | 259 ------------------------ schemas/test/gov-schema.json | 259 ------------------------ tests/cms-schema.json | 21 ++ tests/examples/example-dedupliFHIR.json | 83 ++++++++ tests/examples/example-metrics.json | 78 +++++++ tests/gov-schema.json | 21 ++ 6 files changed, 203 insertions(+), 518 deletions(-) delete mode 100644 schemas/test/cms-schema.json delete mode 100644 schemas/test/gov-schema.json create mode 100644 tests/cms-schema.json create mode 100644 tests/examples/example-dedupliFHIR.json create mode 100644 tests/examples/example-metrics.json create mode 100644 tests/gov-schema.json diff --git a/schemas/test/cms-schema.json b/schemas/test/cms-schema.json deleted file mode 100644 index 703a163..0000000 --- a/schemas/test/cms-schema.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "target": "../cms/schema-0.2.0.json", - "$comment": "This test suite validates code.json files for compliance with the CMS schema requirements.", - "tests": [ - { - "description": "Example 1: DedupliFHIR", - "valid": true, - "data": { - "name": "dedupliFHIR", - "description": "Prototype for basic deduplication and aggregation of eCQM data", - "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 4271, - "reuseFrequency": { - "forks": 3, - "clones": 0 - }, - "platforms": [ - "windows", - "mac", - "linux" - ], - "categories": [ - "data-analytics", - "application-development", - "data-collection" - ], - "softwareType": "standalone/desktop", - "languages": [ - "Python", - "JavaScript", - "HTML", - "CSS", - "Shell", - "Makefile" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-06-22T17:08:19Z", - "lastModified": "2025-02-13T18:44:26Z", - "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" - }, - "tags": [ - "AI", - "deduplication", - "data", - "ACA", - "FHIR", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS Open Source Team" - }, - "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "application", - "userInput": true, - "fismaLevel": "moderate", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "providers" - ], - "maturityModelTier": 3 - } - }, - { - "description": "Example 2: metrics", - "valid": true, - "data": { - "name": "metrics", - "description": "CMS Open Source Repository Metrics Website", - "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/metrics", - "projectURL": "https://dsacms.github.io/metrics/", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 20722, - "reuseFrequency": { - "forks": 4, - "clones": 0 - }, - "platforms": [ - "web" - ], - "categories": [ - "data-visualization", - "data-analytics" - ], - "softwareType": "standalone/web", - "languages": [ - "Liquid", - "JavaScript", - "CSS", - "Python", - "Shell" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-07-18T14:10:58Z", - "lastModified": "2025-06-01T11:36:12Z", - "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" - }, - "tags": [ - "metrics", - "ospo", - "repository", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS/OA/DSAC/OSPO" - }, - "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "website", - "userInput": false, - "fismaLevel": "low", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/metrics/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "government" - ], - "maturityModelTier": 3 - } - }, - { - "description": "Example 3: gov-codejson", - "valid": true, - "data": { - "name": "gov-codejson", - "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/gov-codejson/blob/main/LICENSE" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/gov-codejson", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 3479, - "reuseFrequency": { - "forks": 2 - }, - "platforms": [ - "web" - ], - "categories": [ - "knowledge-management", - "help-desk" - ], - "softwareType": "standalone/web", - "languages": [ - "javascript" - ], - "maintenance": "community", - "contractNumber": [], - "date": { - "created": "2025-02-04T21:59:53Z", - "lastModified": "2025-08-13T22:27:54Z", - "metaDataLastUpdated": "2025-08-15T16:41:02.063Z" - }, - "tags": [ - "dsacms-tier3", - "government", - "json", - "metadata-standard", - "guide", - "codejson", - "OSPO", - "metadata", - "SHAREIT", - "M-16-21" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS Open Source Team" - }, - "feedbackMechanism": "https://github.com/DSACMS/gov-codejson/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "standards", - "userInput": false, - "fismaLevel": "low", - "group": "CMS/OA/DSAC", - "projects": [ - "SHARE IT Act" - ], - "systems": [], - "upstream": "https://github.com/DSACMS/gov-codejson/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "government" - ], - "maturityModelTier": 3 - } - } - ] -} \ No newline at end of file diff --git a/schemas/test/gov-schema.json b/schemas/test/gov-schema.json deleted file mode 100644 index 27f4aa4..0000000 --- a/schemas/test/gov-schema.json +++ /dev/null @@ -1,259 +0,0 @@ -{ - "target": "../schema-2.0.0.json", - "$comment": "This test suite validates CMS code.json files for compliance with the generic schema, ensuring alignment with federal government metadata standards.", - "tests": [ - { - "description": "Example 1: DedupliFHIR", - "valid": true, - "data": { - "name": "dedupliFHIR", - "description": "Prototype for basic deduplication and aggregation of eCQM data", - "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 4271, - "reuseFrequency": { - "forks": 3, - "clones": 0 - }, - "platforms": [ - "windows", - "mac", - "linux" - ], - "categories": [ - "data-analytics", - "application-development", - "data-collection" - ], - "softwareType": "standalone/desktop", - "languages": [ - "Python", - "JavaScript", - "HTML", - "CSS", - "Shell", - "Makefile" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-06-22T17:08:19Z", - "lastModified": "2025-02-13T18:44:26Z", - "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" - }, - "tags": [ - "AI", - "deduplication", - "data", - "ACA", - "FHIR", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS Open Source Team" - }, - "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "application", - "userInput": true, - "fismaLevel": "moderate", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "providers" - ], - "maturityModelTier": 3 - } - }, - { - "description": "Example 2: metrics", - "valid": true, - "data": { - "name": "metrics", - "description": "CMS Open Source Repository Metrics Website", - "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/metrics", - "projectURL": "https://dsacms.github.io/metrics/", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 20722, - "reuseFrequency": { - "forks": 4, - "clones": 0 - }, - "platforms": [ - "web" - ], - "categories": [ - "data-visualization", - "data-analytics" - ], - "softwareType": "standalone/web", - "languages": [ - "Liquid", - "JavaScript", - "CSS", - "Python", - "Shell" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-07-18T14:10:58Z", - "lastModified": "2025-06-01T11:36:12Z", - "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" - }, - "tags": [ - "metrics", - "ospo", - "repository", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS/OA/DSAC/OSPO" - }, - "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "website", - "userInput": false, - "fismaLevel": "low", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/metrics/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "government" - ], - "maturityModelTier": 3 - } - }, - { - "description": "Example 3: gov-codejson", - "valid": true, - "data": { - "name": "gov-codejson", - "description": "code.json: An agency-wide metadata standard for software projects", - "longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on agency software projects in compliance with M-16-21 and the SHARE IT Act.", - "status": "Production", - "permissions": { - "licenses": [ - { - "name": "CC0-1.0", - "URL": "https://github.com/DSACMS/gov-codejson/blob/main/LICENSE" - } - ], - "usageType": [ - "openSource" - ], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/gov-codejson", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 3479, - "reuseFrequency": { - "forks": 2 - }, - "platforms": [ - "web" - ], - "categories": [ - "knowledge-management", - "help-desk" - ], - "softwareType": "standalone/web", - "languages": [ - "javascript" - ], - "maintenance": "community", - "contractNumber": [], - "date": { - "created": "2025-02-04T21:59:53Z", - "lastModified": "2025-08-13T22:27:54Z", - "metaDataLastUpdated": "2025-08-15T16:41:02.063Z" - }, - "tags": [ - "dsacms-tier3", - "government", - "json", - "metadata-standard", - "guide", - "codejson", - "OSPO", - "metadata", - "SHAREIT", - "M-16-21" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS Open Source Team" - }, - "feedbackMechanism": "https://github.com/DSACMS/gov-codejson/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "standards", - "userInput": false, - "fismaLevel": "low", - "group": "CMS/OA/DSAC", - "projects": [ - "SHARE IT Act" - ], - "systems": [], - "upstream": "https://github.com/DSACMS/gov-codejson/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "government" - ], - "maturityModelTier": 3 - } - } - ] -} \ No newline at end of file diff --git a/tests/cms-schema.json b/tests/cms-schema.json new file mode 100644 index 0000000..63ce233 --- /dev/null +++ b/tests/cms-schema.json @@ -0,0 +1,21 @@ +{ + "target": "../schemas/cms/schema-0.2.0.json", + "$comment": "This test suite validates code.json files for compliance with the CMS schema requirements.", + "tests": [ + { + "description": "Example 1: DedupliFHIR", + "valid": true, + "dataPath": "./examples/example-dedupliFHIR.json" + }, + { + "description": "Example 2: metrics", + "valid": true, + "dataPath": "./examples/example-metrics.json" + }, + { + "description": "Example 3: gov-codejson", + "valid": true, + "dataPath": "../code.json" + } + ] +} \ No newline at end of file diff --git a/tests/examples/example-dedupliFHIR.json b/tests/examples/example-dedupliFHIR.json new file mode 100644 index 0000000..f7af54b --- /dev/null +++ b/tests/examples/example-dedupliFHIR.json @@ -0,0 +1,83 @@ +{ + "name": "dedupliFHIR", + "description": "Prototype for basic deduplication and aggregation of eCQM data", + "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 4271, + "reuseFrequency": { + "forks": 3, + "clones": 0 + }, + "platforms": [ + "windows", + "mac", + "linux" + ], + "categories": [ + "data-analytics", + "application-development", + "data-collection" + ], + "softwareType": "standalone/desktop", + "languages": [ + "Python", + "JavaScript", + "HTML", + "CSS", + "Shell", + "Makefile" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-06-22T17:08:19Z", + "lastModified": "2025-02-13T18:44:26Z", + "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" + }, + "tags": [ + "AI", + "deduplication", + "data", + "ACA", + "FHIR", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS Open Source Team" + }, + "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", + "AIUseCaseID": "0", + "localisation": false, + "repositoryType": "application", + "userInput": true, + "fismaLevel": "moderate", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "providers" + ], + "maturityModelTier": 3 +} \ No newline at end of file diff --git a/tests/examples/example-metrics.json b/tests/examples/example-metrics.json new file mode 100644 index 0000000..5a448e7 --- /dev/null +++ b/tests/examples/example-metrics.json @@ -0,0 +1,78 @@ +{ + "name": "metrics", + "description": "CMS Open Source Repository Metrics Website", + "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", + "status": "Production", + "permissions": { + "licenses": [ + { + "name": "CC0-1.0", + "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" + } + ], + "usageType": [ + "openSource" + ], + "exemptionText": "" + }, + "organization": "Centers for Medicare & Medicaid Services", + "repositoryURL": "https://github.com/DSACMS/metrics", + "projectURL": "https://dsacms.github.io/metrics/", + "repositoryHost": "github.com/DSACMS", + "repositoryVisibility": "public", + "vcs": "git", + "laborHours": 20722, + "reuseFrequency": { + "forks": 4, + "clones": 0 + }, + "platforms": [ + "web" + ], + "categories": [ + "data-visualization", + "data-analytics" + ], + "softwareType": "standalone/web", + "languages": [ + "Liquid", + "JavaScript", + "CSS", + "Python", + "Shell" + ], + "maintenance": "internal", + "contractNumber": [], + "date": { + "created": "2023-07-18T14:10:58Z", + "lastModified": "2025-06-01T11:36:12Z", + "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" + }, + "tags": [ + "metrics", + "ospo", + "repository", + "featured" + ], + "contact": { + "email": "opensource@cms.hhs.gov", + "name": "CMS/OA/DSAC/OSPO" + }, + "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", + "AIUseCaseID": "0", + "localisation": false, + "repositoryType": "website", + "userInput": false, + "fismaLevel": "low", + "group": "CMS/OA/DSAC", + "projects": [], + "systems": [], + "upstream": "https://github.com/DSACMS/metrics/network/dependencies", + "subsetInHealthcare": [ + "operational" + ], + "userType": [ + "government" + ], + "maturityModelTier": 3 +} \ No newline at end of file diff --git a/tests/gov-schema.json b/tests/gov-schema.json new file mode 100644 index 0000000..41bcc9c --- /dev/null +++ b/tests/gov-schema.json @@ -0,0 +1,21 @@ +{ + "target": "../schemas/schema-2.0.0.json", + "$comment": "This test suite validates CMS code.json files for compliance with the generic schema, ensuring alignment with federal government metadata standards.", + "tests": [ + { + "description": "Example 1: DedupliFHIR", + "valid": true, + "dataPath": "./examples/example-dedupliFHIR.json" + }, + { + "description": "Example 2: metrics", + "valid": true, + "dataPath": "./examples/example-metrics.json" + }, + { + "description": "Example 3: gov-codejson", + "valid": true, + "dataPath": "../code.json" + } + ] +} \ No newline at end of file From 93bb05026442450663621fd1b571bacdc69fb9be Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Wed, 20 Aug 2025 16:40:09 -0700 Subject: [PATCH 12/14] Changed workflow file to include updated file paths Signed-off-by: Natalia Luzuriaga --- .github/workflows/json-schema-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/json-schema-tests.yml b/.github/workflows/json-schema-tests.yml index 9eae191..6d65910 100644 --- a/.github/workflows/json-schema-tests.yml +++ b/.github/workflows/json-schema-tests.yml @@ -32,7 +32,7 @@ jobs: uses: sourcemeta/jsonschema@v11.1.1 - name: Run generic schema unit tests - run: jsonschema test schemas/test/gov-schema.json --resolve schemas/schema-2.0.0.json + run: jsonschema test tests/gov-schema.json --resolve schemas/schema-2.0.0.json - name: Run CMS schema unit tests - run: jsonschema test schemas/test/cms-schema.json --resolve schemas/cms/schema-0.2.0.json \ No newline at end of file + run: jsonschema test tests/cms-schema.json --resolve schemas/cms/schema-0.2.0.json \ No newline at end of file From 22016f09406940d39185be203ed62c517128688d Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Wed, 20 Aug 2025 16:40:36 -0700 Subject: [PATCH 13/14] Changed examples.md to point to example code.json files Signed-off-by: Natalia Luzuriaga --- docs/examples.md | 171 +++-------------------------------------------- 1 file changed, 9 insertions(+), 162 deletions(-) diff --git a/docs/examples.md b/docs/examples.md index bc0b9fb..6dbec5e 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -2,7 +2,7 @@ Below are examples of well-structured and comprehensive metadata in CMS code.json files. These examples demonstrate best practices for repository-level metadata documentation. -For additional reference, the [test directory](../schemas/test) contains unit tests of code.json files from various DSACMS repositories. These tests help ensure consistency and compliance as we make future updates to the schemas. +For additional reference, the [tests directory](../schemas/tests) contain unit tests of code.json files from various DSACMS repositories. These tests help ensure consistency and compliance as we make future updates to the schemas. We encourage you to review these examples and tests when creating or updating your repository-level code.json file to maintain consistency with federal standards. @@ -10,169 +10,16 @@ We encourage you to review these examples and tests when creating or updating yo DedupliFHIR is a desktop app tool that uses AI deduplication to identify duplicates in patient records. It is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project launched in production that receives user input. -``` -{ - "name": "dedupliFHIR", - "description": "Prototype for basic deduplication and aggregation of eCQM data", - "longDescription": "A CLI bundled with an Electron.js front-end that provides data-linkage and AI deduplication for reported Accountable Care Organization (ACO) data at scale.", - "status": "Production", - "permissions": { - "license": [ - { - "name": "CC0 1.0", - "URL": "https://github.com/DSACMS/dedupliFHIR/blob/main/LICENSE" - } - ], - "usageType": ["openSource"], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/dedupliFHIR", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 4271, - "reuseFrequency": { - "forks": 3, - "clones": 0 - }, - "platforms": [ - "windows", - "mac", - "linux" - ], - "categories": [ - "data-analytics", - "application-development", - "data-collection" - ], - "softwareType": "standalone/desktop", - "languages": [ - "Python", - "JavaScript", - "HTML", - "CSS", - "Shell", - "Makefile" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-06-22T17:08:19Z", - "lastModified": "2025-02-13T18:44:26Z", - "metaDataLastUpdated": "2025-06-10T14:55:32.836Z" - }, - "tags": [ - "AI", - "deduplication", - "data", - "ACA", - "FHIR", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS Open Source Team" - }, - "feedbackMechanism": "https://github.com/DSACMS/dedupliFHIR/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "application", - "userInput": true, - "fismaLevel": "moderate", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/dedupliFHIR/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "providers" - ], - "maturityModelTier": "3" -} -``` +Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/example-dedupliFHIR.json ## Example 2: [CMS Metrics Website](https://github.com/DSACMS/metrics) The CMS Metrics Website is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project where government employees can view repository metrics on CMS open source projects, currently maintained by the CMS OSPO. -``` -{ - "name": "metrics", - "description": "CMS Open Source Repository Metrics Website", - "longDescription": "The CMS Repository Metrics Website shows an overview of software development activity across open source projects within a specified organization. It is designed for developers and program managers interested in monitoring health and activity of CMS open source repositories.", - "status": "Production", - "permissions": { - "license": [ - { - "name": "CC0 1.0", - "URL": "https://github.com/DSACMS/metrics/blob/main/LICENSE.md" - } - ], - "usageType": ["openSource"], - "exemptionText": "" - }, - "organization": "Centers for Medicare & Medicaid Services", - "repositoryURL": "https://github.com/DSACMS/metrics", - "projectURL": "https://dsacms.github.io/metrics/", - "repositoryHost": "github.com/DSACMS", - "repositoryVisibility": "public", - "vcs": "git", - "laborHours": 20722, - "reuseFrequency": { - "forks": 4, - "clones": 0 - }, - "platforms": [ - "web" - ], - "categories": [ - "data-visualization", - "data-analytics" - ], - "softwareType": "standalone/web", - "languages": [ - "Liquid", - "JavaScript", - "CSS", - "Python", - "Shell" - ], - "maintenance": "internal", - "contractNumber": [], - "date": { - "created": "2023-07-18T14:10:58Z", - "lastModified": "2025-06-01T11:36:12Z", - "metaDataLastUpdated": "2025-06-06T16:36:38.949Z" - }, - "tags": [ - "metrics", - "ospo", - "repository", - "featured" - ], - "contact": { - "email": "opensource@cms.hhs.gov", - "name": "CMS/OA/DSAC/OSPO" - }, - "feedbackMechanism": "https://github.com/DSACMS/metrics/issues", - "AIUseCaseID": "0", - "localisation": false, - "repositoryType": "website", - "userInput": false, - "fismaLevel": "low", - "group": "CMS/OA/DSAC", - "projects": [], - "systems": [], - "upstream": "https://github.com/DSACMS/metrics/network/dependencies", - "subsetInHealthcare": [ - "operational" - ], - "userType": [ - "government" - ], - "maturityModelTier": 3 -} -``` +Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/example-metrics.json + +## Example 3: [gov-codejson](https://github.com/DSACMS/gov-codejson) + +gov-codejson (this repository!) is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project containing documentation on the code.json metadata standard, currently maintained by the federal government community. + +Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/code.json \ No newline at end of file From cb5990f9fa30eb02198f8664ce7ad0d3d2f8e870 Mon Sep 17 00:00:00 2001 From: Natalia Luzuriaga Date: Wed, 20 Aug 2025 16:48:37 -0700 Subject: [PATCH 14/14] Change example file names and updated example file paths Signed-off-by: Natalia Luzuriaga --- docs/examples.md | 6 +++--- tests/cms-schema.json | 4 ++-- ...e-dedupliFHIR.json => codejson-example-dedupliFHIR.json} | 0 .../{example-metrics.json => codejson-example-metrics.json} | 0 tests/gov-schema.json | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) rename tests/examples/{example-dedupliFHIR.json => codejson-example-dedupliFHIR.json} (100%) rename tests/examples/{example-metrics.json => codejson-example-metrics.json} (100%) diff --git a/docs/examples.md b/docs/examples.md index 6dbec5e..8e6f0e9 100644 --- a/docs/examples.md +++ b/docs/examples.md @@ -10,16 +10,16 @@ We encourage you to review these examples and tests when creating or updating yo DedupliFHIR is a desktop app tool that uses AI deduplication to identify duplicates in patient records. It is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project launched in production that receives user input. -Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/example-dedupliFHIR.json +Link to code.json file: [codejson-example-dedupliFHIR.json](https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/codejson-example-dedupliFHIR.json) ## Example 2: [CMS Metrics Website](https://github.com/DSACMS/metrics) The CMS Metrics Website is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project where government employees can view repository metrics on CMS open source projects, currently maintained by the CMS OSPO. -Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/example-metrics.json +Link to code.json file: [codejson-example-metrics.json](https://github.com/DSACMS/gov-codejson/blob/main/tests/examples/codejson-example-metrics.json) ## Example 3: [gov-codejson](https://github.com/DSACMS/gov-codejson) gov-codejson (this repository!) is a [tier 3](https://github.com/DSACMS/repo-scaffolder/blob/dev/maturity-model-tiers.md#tier-information) project containing documentation on the code.json metadata standard, currently maintained by the federal government community. -Link to code.json file: https://github.com/DSACMS/gov-codejson/blob/main/code.json \ No newline at end of file +Link to code.json file: [code.json](https://github.com/DSACMS/gov-codejson/blob/main/code.json) \ No newline at end of file diff --git a/tests/cms-schema.json b/tests/cms-schema.json index 63ce233..25ae01e 100644 --- a/tests/cms-schema.json +++ b/tests/cms-schema.json @@ -5,12 +5,12 @@ { "description": "Example 1: DedupliFHIR", "valid": true, - "dataPath": "./examples/example-dedupliFHIR.json" + "dataPath": "./examples/codejson-example-dedupliFHIR.json" }, { "description": "Example 2: metrics", "valid": true, - "dataPath": "./examples/example-metrics.json" + "dataPath": "./examples/codejson-example-metrics.json" }, { "description": "Example 3: gov-codejson", diff --git a/tests/examples/example-dedupliFHIR.json b/tests/examples/codejson-example-dedupliFHIR.json similarity index 100% rename from tests/examples/example-dedupliFHIR.json rename to tests/examples/codejson-example-dedupliFHIR.json diff --git a/tests/examples/example-metrics.json b/tests/examples/codejson-example-metrics.json similarity index 100% rename from tests/examples/example-metrics.json rename to tests/examples/codejson-example-metrics.json diff --git a/tests/gov-schema.json b/tests/gov-schema.json index 41bcc9c..9fc981c 100644 --- a/tests/gov-schema.json +++ b/tests/gov-schema.json @@ -5,12 +5,12 @@ { "description": "Example 1: DedupliFHIR", "valid": true, - "dataPath": "./examples/example-dedupliFHIR.json" + "dataPath": "./examples/codejson-example-dedupliFHIR.json" }, { "description": "Example 2: metrics", "valid": true, - "dataPath": "./examples/example-metrics.json" + "dataPath": "./examples/codejson-example-metrics.json" }, { "description": "Example 3: gov-codejson",