{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "https://purl.imsglobal.org/spec/case/v1p1/schema/json/case_v1p1_cfsubjectset-jsonschema1.json",
  "title" : "JSON Schema for the CFSubjectSet class.",
  "description" : "The container for the set of CFSubjects supplied in the response payload. The relationship between the CFSubjects is determined by the 'hierarchyCode'. The first CFSubject is that which has been specified in the call. The other CFSubjects are the set of children as determined by their place in the 'hierarchyCode' of the CFSubject.",
  "type" : "object",
  "properties" : {
    "CFSubjects" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFSubject"
      }
    }
  },
  "required" : [ "CFSubjects" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFSubject" : {
      "description" : "The container for the definition of a topic or academic subject which is addressed by the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFSubject. This is the primary way in which the exchange identification is achieved.",
          "$comment" : "Origin: UUID (DerivedType); The data-type for establishing a Globally Unique Identifier (GUID). The form of the GUID is a Universally Unique Identifier (UUID) of 16 hexadecimal characters (lower case) in the format 8-4-4-4-12. All permitted versions (1-5) and variants (1-2) are supported.",
          "type" : "string",
          "format" : "uuid"
        },
        "uri" : {
          "description" : "An unambiguous reference to the CFSubject using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFSubject.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of the subjects.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFSubject.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "lastChangeDateTime" : {
          "description" : "A system generated timestamp of the most recent change to this record. This conforms to ISO 8601 dateTime definition [ISO 8601].",
          "$comment" : "Origin: DateTime (PrimitiveType)",
          "type" : "string",
          "format" : "date-time"
        },
        "extensions" : {
          "$ref" : "#/$defs/CFSubjectExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFSubjectExtension" : {
      "description" : "The container for the proprietary extensions to the CFSubject class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}