Skip to content

Latest commit

 

History

History
436 lines (427 loc) · 12.8 KB

metadata.md

File metadata and controls

436 lines (427 loc) · 12.8 KB

Code.json

CMS code.json is a metadata standard created to collect information on the agency's software projects. This is composed of:

  • federal code.json standard, created as part of M-16-21
  • metadata CMS would like to collect (e.g. FISMA level, repository host, group)
  • required metadata outlined in the SHARE IT ACT (e.g. repository visibility, contract number)
  • publiccode.yml metadata, an international metadata standard

By harmonizing various standards, this opens up the opportunity to share our work not just on an agency level but also on a national and international level.

Fields

Legend

Metadata Standard Origin Icon
code.json Federal 🇺🇸
publiccode.yml International 🌎
CMS fields Agency CMS Logo
SHARE IT Act Federal 📜
Field Presence Source Type Description Options/Examples
name required 🇺🇸🌎 str Name of the project or software
description required 🇺🇸 str A short description of the project. It should be a single line containing a single sentence. Maximum 150 characters are allowed.
longDescription required 🌎 str Provide longer description of the software, between 150 and 10000 chars. It is meant to provide an overview of the capabilities of the software for a potential user.
status required 🇺🇸📜 str Development status of the project - Ideation
- Development
- Alpha
- Beta
- Release Candidate
- Production
- Archival
permissions/license/url
permissions/license/name
required 🇺🇸🌎 obj An object containing description of the usage/restrictions regarding the release.

An abbreviation for the name of the license. The URL of the release license.
permissions/usageType required 🇺🇸📜 str A list of enumerated values which describes the usage permissions for the release: (1) openSource: Open source; (2) governmentWideReuse: Government-wide reuse; (3) exemptByLaw: The sharing of the source code is restricted by law or regulation, including—but not limited to—patent or intellectual property law, the Export Asset Regulations, the International Traffic in Arms Regulation, and the Federal laws and regulations governing classified information; (4) exemptByNationalSecurity: The sharing of the source code would create an identifiable risk to the detriment of national security, confidentiality of Government information, or individual privacy; (5) exemptByAgencySystem: The sharing of the source code would create an identifiable risk to the stability, security, or integrity of the agency’s systems or personnel, (6) exemptByAgencyMission: The sharing of the source code would create an identifiable risk to agency mission, programs, or operations; (7) exemptByCIO: The CIO believes it is in the national interest to exempt sharing the source code; (8) exemptByPolicyDate: The release was created prior to the M-16-21 policy (August 8, 2016) - openSource
- governmentWideReuse
- exemptByLaw
- exemptByNationalSecurity
- exemptByAgencySystem
- exemptByAgencyMission
- exemptByCIO
- exemptByPolicyDate
permissions/exemptionText optional 🇺🇸📜 str If an exemption is listed in the 'usageType' field, this field should include a one- or two- sentence justification for the exemption used.
organization required 🇺🇸 str Organization responsible for the project Centers for Medicare & Medicaid Services
repositoryURL required 🇺🇸📜 str The URL of the public release repository for open source repositories. This field is not required for repositories that are only available as government-wide reuse or are closed (pursuant to one of the exemptions).
vcs (version control system) required 🇺🇸 str Version control system used - git
- hg
- svn
- rcs
- bzr
laborHours required 🇺🇸 int Labor hours invested in the project. Calculated through COCOMO & SCC tool
platform required 🌎 arr Platforms supported by the project - web
- windows
- mac
- linux
- ios
- android
- other
categories required 🌎 arr Categories the project belongs to. Select from: categories list
softwareType required 🌎 str Type of software - standalone/mobile
- standalone/iot
- standalone/desktop
- standalone/web
- standalone/backend
- standalone/other
- addon
- library
- configurationFiles
languages required 🇺🇸 str Programming languages that make up the codebase
maintenance required 🌎📜 str Maintenance status - internal
- contract
- community
- none
date/created
date/lastModified date/metadataLastUpdated
required 🇺🇸 obj A date object describing the release
tags required 🇺🇸 arr Tags associated with the project
contact/email
contact/name
required 🇺🇸🌎 obj Point of contact for the release
Email of point of contact
Name of point of contact
localisation required 🌎 bool Indicates if the project supports multiple languages - true
- false
repositoryType required CMS Logo str Purpose and functionality of the repository - package
- website
- standards
- libraries
- data
- application
- tools
- APIs
userInput required CMS Logo bool Does the software accept user input? - true
- false
fismaLevel required CMS Logo str FISMA security level link - low
- moderate
- high
group required CMS Logo str Home Department / Org / Group associated with the project
subsetInHealthcare required CMS Logo arr Healthcare-related subset - policy
- operational
- medicare
- medicaid
userType required CMS Logo arr Types of users who interact with the software - providers
- patients
- government
repositoryHost required CMS Logo str Location where source code is hosted - github.com/CMSgov
- github.com/CMS-Enterprise
- github.com/DSACMS
- github.cms.gov
- CCSQ GitHub
maturityModelTier required CMS Logo int Maturity model tier 1, 2, 3, 4
contractNumber required 📜 int Contract number
repositoryVisibility required 📜 str Visibility of repository - public
- private
reuseFrequency/forks
reuseFrequency/downloads
required 📜 obj Measures frequency of code reuse in various forms
feedbackMechanisms required 📜 arr Array of methods repositories receive feedback. Default value is the URL to GitHub repository issues - Submitting issues to repo
- Submitting PRs to repo
- Project website
- Email
project required CMS Logo arr Maps repositories to projects bluebutton, codejson
systems optional CMS Logo arr Maps repositories to CMS systems idr
upstream optional CMS Logo arr List of upstream repos used, link to SBOM. augur, uswds

Adding new metadata fields

We are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue here.