{
  "$schema" : "https://json-schema.org/draft/2019-09/schema#",
  "$id" : "https://purl.imsglobal.org/spec/case/v1p1/schema/json/case_v1p1_cfitemtypeset-jsonschema1.json",
  "title" : "JSON Schema for the CFItemTypeSet class.",
  "description" : "The container for the set of CFItemTypes supplied in the response payload. The relationship between the CFItemTypes is determined by the 'hierarchyCode'. The first CFItemType is that which has been specified in the call. The other CFItemTypes are the set of children as determined by their place in the 'hierarchyCode' of the CFItemType.",
  "type" : "object",
  "properties" : {
    "CFItemTypes" : {
      "type" : "array",
      "minItems" : 1,
      "items" : {
        "$ref" : "#/$defs/CFItemType"
      }
    }
  },
  "required" : [ "CFItemTypes" ],
  "additionalProperties" : false,
  "$defs" : {
    "CFItemType" : {
      "description" : "The container for the ItemType information use within the competency framework.",
      "type" : "object",
      "properties" : {
        "identifier" : {
          "description" : "An unambiguous, synthetic, globally unique identifier for the CFItemType. 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 CFItemType using a network-resolvable URI. ",
          "$comment" : "Origin: AnyURI (PrimitiveType)",
          "type" : "string"
        },
        "title" : {
          "description" : "The title of the CFItemType.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "description" : {
          "description" : "A human readable description of the CFItemType.",
          "$comment" : "Origin: String (PrimitiveType)",
          "type" : "string"
        },
        "hierarchyCode" : {
          "description" : "A human-referenceable code designated by the publisher to identify the item in the hierarchy of ItemTypes.",
          "$comment" : "Origin: NormalizedString (PrimitiveType)",
          "type" : "string"
        },
        "typeCode" : {
          "description" : "Text code used for type identification.",
          "$comment" : "Origin: NormalizedString (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/CFItemTypeExtension"
        }
      },
      "required" : [ "identifier", "uri", "title", "description", "hierarchyCode", "lastChangeDateTime" ],
      "additionalProperties" : false
    },
    "CFItemTypeExtension" : {
      "description" : "The container for the proprietary extensions to the CFItemType class.",
      "type" : "object",
      "properties" : { },
      "required" : [ ],
      "additionalProperties" : true
    }
  }
}