Skip to content

Instantly share code, notes, and snippets.

@science
Created June 24, 2016 14:55
Show Gist options
  • Save science/c63fd854f9849c147768b3a3f73007bd to your computer and use it in GitHub Desktop.
Save science/c63fd854f9849c147768b3a3f73007bd to your computer and use it in GitHub Desktop.
CTI Credential json-schema definition - DRAFT/IN PROGRESS
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "CredentialRegistry Organization metadata",
"type": "object",
"definitions": {
"organization_cti": {
"properties": {
"@type": { "enum": ["cti:Organization"] },
"cti:agentCategory": {
"enum": [
"Accrediting Organization",
"Adult Education Provider",
"Affiliated Institution",
"Certification Exam Provider",
"Certification Organization",
"Consortium",
"Credentialing Organization",
"Elementary Education Entity",
"Government Agency",
"Industry Trade Association",
"Labor or Trade Union",
"Local Education Agency",
"Middle School Education Organization",
"Military Branch/Department of Defense",
"Postsecondary Educational Institution (Private)",
"Postsecondary Educational Institution (Public)",
"Private Sector Employer",
"Product or Service Vendor",
"Professional Member Organization",
"Public Not For Profit Organization",
"Secondary (High School) Education Organization",
"Other (enter type)"
]
},
"cti:authenticationService": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": { "type": "string" }
},
"cti:trainingOffered": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"item": {
"type": "object",
"properties": {
"@type": { "enum": [ "schema:AlignmentObject" ] }
}
},
"description": "The organization offers guidance, education, or training services for a given competency, to a given audience"
},
"cti:versioning": {
"type": "string",
"description": "How the systems manage changes in all major features over time and keep records on credentialing system versions"
},
"cti:opeid": { "type": "string" }
},
"required": [ "@type" ]
},
"organization_schemaorg": {
"properties": {
"schema:name": {
"type": "string",
"description": "The name of the resource"
},
"schema:description": {
"type": "string",
"description": "A description of the resource"
},
"schema:url": {
"type": "string",
"format": "uri",
"description": "URL of the resource"
},
"schema:email": {
"type": "string",
"pattern": ".+\\@.+\\..+",
"description": "E-mail address."
},
"schema:duns": {
"type": "string",
"pattern": "\\d+",
"description": "The Dun & Bradstreet DUNS number for identifying an organization or business person."
},
"schema:address": { "$ref": "#defintions/schemaorg_address" },
"schema:image": {
"type": "string",
"format": "uri",
"description": "Url of an image of the item."
},
"schema:sameAs": {
"type": [ "string", "array" ],
"format": "uri",
"items": {
"type": "string",
"format": "uri"
},
"description": "URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Freebase page, or official website."
},
"schema:employee": {
"type": [ "array" ],
"items": { "$ref": "#definitions/schemaorg_person" },
"description": "Someone working for this organization"
},
"schema:fein": {
"type": "string",
"description": "Federal Employer Identification Number"
},
"schema:foundingDate": {
"type": "text",
"format": "date",
"description": "The date that this organization was founded"
},
"schema:serviceType": {
"type": "array",
"items": {
"type": "string",
"enum": [
"Accreditation (QA)",
"Approval of Credentials (QA)",
"Confers Credentials (QA)",
"Creates standards ",
"Creator of Credentials",
"Determine Program/Course or Activity for Credentials",
"Determine Qualifications for Credentials",
"Determine Requirements for Credentials (QA)",
"Endorsement of Credentials (QA)",
"Licensure (QA)",
"Monitors Credentials",
"Offer Assessment or Exam for Credentials",
"Offer Credentials",
"Offer Education and/or Training and/or Professional Development Opportunities for Credential",
"Recognize (QA)",
"Regulate (QA)",
"Renews Credentials (QA)",
"Revokes Credentials (QA)",
"Statutory Authority (QA)",
"Validates Credentials (QA)",
"Verifies Credentials",
"Versioning of Credentials",
"Other (enter type)"
]
}
},
"schema:purpose": { "type": "string" }
}
},
"schemaorg_address": {
"type": "object",
"properties": {
"@type": { "enum": "schema:PostalAddress" },
"schema:addressCountry": {
"type": "string",
"description": "The country. For example, USA. You can also provide the two-letter ISO 3166-1 alpha-2 country code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
},
"schema:addressLocality": {
"type": "string",
"description": "The locality. For example, Mountain View."
},
"schema:addressRegion": {
"type": "string",
"description": "The region. For example, CA."
},
"schema:postalCode": {
"type": "string",
"description": "The postal code. For example, 94043."
},
"schema:streetAddress": {
"type": "string",
"description": "The street address. For example, 1600 Amphitheatre Pkwy."
}
}
},
"schemaorg_person": {
"type": "object",
"properties": {
"@type": { "enum": [ "schema:Person" ] },
"name": { "type": "name" }
}
}
},
"allOf": [
{ "$ref": "json_ld.json" },
{ "$ref": "#/definitions/organization_cti" },
{ "$ref": "#/definitions/organization_schemaorg" }
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment