{
  "$schema": "https://json-schema.org/draft/2020-12/schema#",
  "$vocabulary": {
    "https://json-schema.org/draft/2020-12/vocab/core": true,
    "https://json-schema.org/draft/2020-12/vocab/applicator": true,
    "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
    "https://json-schema.org/draft/2020-12/vocab/validation": true,
    "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
    "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
    "https://json-schema.org/draft/2020-12/vocab/content": true
  },
  "$id": "https://www.medbiq.org/standards/healthcare-learning-object-metadata",
  "title": "Healthcare Learning Object for custom elements",
  "type": "object",
  "annotations": {
    "license": "This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, see the file license.txt, visit http://creativecommons.org/licenses/by-sa/2.0 or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.",
    "schemaDescription": [
      "This component schema definition provides global type declarations for those LOM data elements whose values are taken from a Vocabulary data type."
    ],
    "changeHistory": [
      "NOTE: This change history is used to document changes to the XML Schema definition during the balloting process. This change history will be removed once the final version of the standard is published. A new change history will be included to indicate the initial release that maps to the final standard.",
      "CHANGE HISTORY",
      "08/24/2004: Updated the Creative Commons Licensing agreement to reference the Attribution-ShareAlike 2.0",
      "Updated annotation describing file to include language updates found in Draft 2 Working Draft 2",
      "09/16/2004: Added an attributeGroup reference to all vocabulary types to support attribute extensions",
      "09/27/2004: Updated file documentation to correspond with working draft 3."
    ]
  },
  "$defs": {
    "sourceValue": {
      "type": "object",
      "description": "Source",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/source"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/source"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "structureVocab": {
      "type": "object",
      "description": "1.7 Structure",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/structureValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "structureValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/structure"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "aggregationLevelVocab": {
      "type": "object",
      "description": "1.8 Aggregation Level",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/aggregationLevelValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "aggregationLevelValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/aggregationLevel"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "statusVocab": {
      "type": "object",
      "description": "1.8 Aggregation Level",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/statusValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "statusValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/status"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "roleVocab": {
      "type": "object",
      "description": "2.3.1 Role",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/roleValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "roleValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/role"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "roleMetaVocab": {
      "type": "object",
      "description": "3.2.1 Role",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/roleMetaValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "roleMetaValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/roleMeta"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "typeVocab": {
      "type": "object",
      "description": "4.4.1.1 Type",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/typeValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "typeValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/type"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "nameVocab": {
      "type": "object",
      "description": "4.4.1.2 Name",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/nameValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "nameValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/name"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "interactivityTypeVocab": {
      "type": "object",
      "description": "5.1 Interactivity Type",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/interactivityTypeValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "interactivityTypeValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/interactivityType"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "learningResourceTypeVocab": {
      "type": "object",
      "description": "5.2 Learning Resource Type",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/learningResourceTypeValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "learningResourceTypeValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/learningResourceType"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "interactivityLevelVocab": {
      "type": "object",
      "description": "5.3 Interactivity Level",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/interactivityLevelValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "interactivityLevelValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/interactivityLevel"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "semanticDensityVocab": {
      "type": "object",
      "description": "5.4 Semantic Density",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/semanticDensityValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "semanticDensityValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/semanticDensity"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "intendedEndUserRoleVocab": {
      "type": "object",
      "description": "5.5 Intended End User Role",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/intendedEndUserRoleValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "intendedEndUserRoleValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/intendedEndUserRole"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "contextVocab": {
      "type": "object",
      "description": "5.6 Context",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/contextValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "contextValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/context"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "difficultyVocab": {
      "type": "object",
      "description": "5.8 Difficulty",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/difficultyValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "difficultyValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/difficulty"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "costVocab": {
      "type": "object",
      "description": "6.1 Cost",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/costValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "costValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/cost"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "copyrightAndOtherRestrictionsVocab": {
      "type": "object",
      "description": "6.2 Copyright and Other Restrictions",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/copyrightAndOtherRestrictionsValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "copyrightAndOtherRestrictionsValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/copyrightAndOtherRestrictions"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "kindVocab": {
      "type": "object",
      "description": "7.1 Kind",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/kindValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "kindValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/kind"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "purposeVocab": {
      "type": "object",
      "description": "7.1 Kind",
      "oneOf": [
        {
          "$ref": "#/$defs/sourceValue"
        },
        {
          "$ref": "#/$defs/purposeValue"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customElements"
        }
      ],
      "allOf": [
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    },
    "purposeValue": {
      "type": "object",
      "allOf": [
        {
          "$ref": "vocabValues.schema.json#/$defs/purpose"
        },
        {
          "$ref": "../unique/strict.schema.json#/$defs/value"
        },
        {
          "$ref": "../extend/custom.schema.json#/$defs/customAttributes"
        }
      ]
    }
  }
}
