CredentialEngine / Schema-Development

Development of the vocabularies for the CTI models
14 stars 8 forks source link

Add ceterms:affiliation to Condition Profile #944

Open siuc-nate opened 1 month ago

siuc-nate commented 1 month ago

We have a use case where a partner has a series of career centers which offer pathways, but each career center only offers those pathways to students from a given set of high schools (a different set for each career center).

We don't have a great way to communicate this kind of requirement in CTDL. The closest we have right now would be something like: Credential -[requires]-> Condition Profile -[audience]-> audience:Member (and/or audience:CurrentStudent) But there's no way to indicate what the seeker must be a member/student of.

The same notion would apply to entry condition, recommends, advancedStandingFrom, etc. (especially when alternative conditions are considered), so I think it makes sense as a property (or two) of Condition Profile.

We have affiliation as a property of ceterms:CredentialPerson already. Since all of the properties of Condition Profile inherently apply (in the "requires/advanced standing/etc." context) to the person seeking the credential, I think we could extend the domain of the affiliation property to include Condition Profile, then add use the existing audienceType property to reference things like "CurrentStudent", "FullTime", etc.

As an example:

{
  "@type": "ceterms:Certificate",
  "ceterms:offeredBy": [ "uri-for-career-center" ],
  "ceterms:ownedBy": [ "uri-for-state-agency" ],
  "ceterms:requires": [
    {
      "@type": "ceterms:ConditionProfile",
      "ceterms:description": { "en": "Available to current full-time in-state students attending one of the following high schools: [list of high schools]" },
      "ceterms:audienceType": [
        "audience:CurrentStudent"
        "audience:FullTime"
      ],
      "ceterms:residencyType": [
        "residency:InState"
      ],
      "ceterms:affiliation": [
        "uri-for-high-school-1",
        "uri-for-high-school-2",
        "uri-for-high-school-3"
      ]
    }
  ]
}

More granularity could be expressed with the existing alternativeCondition structure:

{
  "@type": "ceterms:Certificate",
  "ceterms:offeredBy": [ "uri-for-career-center" ],
  "ceterms:ownedBy": [ "uri-for-state-agency" ],
  "ceterms:requires": [
    {
      "@type": "ceterms:ConditionProfile",
      "ceterms:description": { "en": "Available to current in-state students attending [list of high schools]" },
      "ceterms:audienceType": [
        "audience:CurrentStudent"
      ],
      "ceterms:residencyType": [
        "residency:InState"
      ],
      "ceterms:alternativeCondition": [
        {
          "@type": "ceterms:ConditionProfile",
          "ceterms:description": { "en": "Available to full-time students of [high school 1] with a fee." },
          "ceterms:affiliation": [
            "uri-for-high-school-1"
          ],
          "ceterms:audienceType": [
            "audience:FullTime"
          ],
          "ceterms:estimatedCost": [
            "(Cost profile(s) for this option)"
          ]
        },
        {
          "@type": "ceterms:ConditionProfile",
          "ceterms:description": { "en": "Available to part time students of [high school 2] who are 21 or older." },
          "ceterms:affiliation": [
            "uri-for-high-school-2"
          ],
          "ceterms:audienceType": [
            "audience:PartTime"
          ],
          "ceterms:minimumAge": 21,
        },
        {
          "@type": "ceterms:ConditionProfile",
          "ceterms:description": { "en": "Available to full- or part-time students of [high school 3] who live in [cities]" },
          "ceterms:affiliation": [
            "uri-for-high-school-3"
          ],
          "ceterms:audienceType": [
            "audience:FullTime",
            "audience:PartTime"
          ],
          "ceterms:residentOf": [
            "(Jurisdiction Profile for a given set of cities)"
          ]
        }
      ]
    }
  ]
}

Other usages would apply in different contexts, like Collection's membershipCondition property - one of the conditions might be that the course/credential/program/etc. in question has an affiliation with some particular organization (though that might call for a loosening of the definition).

For now though: Proposal:

URI: ceterms:affiliation Add Domain: ceterms:ConditionProfile

philbarker commented 1 month ago

I think that would work.

We would have to change the relationship for ceterms:affiliation that says it is an equivalentProperty to schema:affiliation (it would become a subPropertyOf it)

I wonder if it is worth adding to the comment of ConditionProfile something along the lines of "In certain circumstances the condition profile can be read as a description of a Person who meets the conditions."

Phil

On 05/08/2024 20:58, siuc-nate wrote:

We have a use case where a partner has a series of career centers which offer pathways, but each career center only offers those pathways to students from a given set of high schools (a different set for each career center).

We don't have a great way to communicate this kind of requirement in CTDL. The closest we have right now would be something like: Credential -[requires]-> Condition Profile -[audience]-> audience:Member (and/or audience:CurrentStudent) But there's no way to indicate what the seeker must be a member/student of.

The same notion would apply to entry condition, recommends, advancedStandingFrom, etc. (especially when alternative conditions are considered), so I think it makes sense as a property (or two) of Condition Profile.

We have affiliation as a property of ceterms:CredentialPerson already. Since all of the properties of Condition Profile inherently apply (in the "requires/advanced standing/etc." context) to the person seeking the credential, I think we could extend the domain of the affiliation property to include Condition Profile, then add use the existing audienceType property to reference things like "CurrentStudent", "FullTime", etc.

As an example:

{ @.": "ceterms:Certificate", "ceterms:offeredBy": [ "uri-for-career-center" ], "ceterms:ownedBy": [ "uri-for-state-agency" ], "ceterms:requires": [ { @.": "ceterms:ConditionProfile", "ceterms:description": { "en": "Available to current full-time in-state students attending one of the following high schools: [list of high schools]" }, "ceterms:audienceType": [ "audience:CurrentStudent" "audience:FullTime" ], "ceterms:residencyType": [ "residency:InState" ], "ceterms:affiliation": [ "uri-for-high-school-1", "uri-for-high-school-2", "uri-for-high-school-3" ] } ] }

More granularity could be expressed with the existing alternativeCondition structure:

{ @.": "ceterms:Certificate", "ceterms:offeredBy": [ "uri-for-career-center" ], "ceterms:ownedBy": [ "uri-for-state-agency" ], "ceterms:requires": [ { @.": "ceterms:ConditionProfile", "ceterms:description": { "en": "Available to current in-state students attending [list of high schools]" }, "ceterms:audienceType": [ "audience:CurrentStudent" ], "ceterms:residencyType": [ "residency:InState" ], "ceterms:alternativeCondition": [ { @.": "ceterms:ConditionProfile", "ceterms:description": { "en": "Available to full-time students of [high school 1] with a fee." }, "ceterms:affiliation": [ "uri-for-high-school-1" ], "ceterms:audienceType": [ "audience:FullTime" ], "ceterms:estimatedCost": [ "(Cost profile(s) for this option)" ] }, { @.": "ceterms:ConditionProfile", "ceterms:description": { "en": "Available to part time students of [high school 2] who are 21 or older." }, "ceterms:affiliation": [ "uri-for-high-school-2" ], "ceterms:audienceType": [ "audience:PartTime" ], "ceterms:minimumAge": 21, }, { @.***": "ceterms:ConditionProfile", "ceterms:description": { "en": "Available to full- or part-time students of [high school 3] who live in [cities]" }, "ceterms:affiliation": [ "uri-for-high-school-3" ], "ceterms:audienceType": [ "audience:FullTime", "audience:PartTime" ], "ceterms:residentOf": [ "(Jurisdiction Profile for a given set of cities)" ] } ] } ] }

Other usages would apply in different contexts, like Collection's membershipCondition property - one of the conditions might be that the course/credential/program/etc. in question has an affiliation with some particular organization (though that might call for a loosening of the definition).

For now though: Proposal:

URI: ceterms:affiliation Add Domain: ceterms:ConditionProfile

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

--

Phil Barker, http://people.pjjk.net/phil (he/him). Cetis LLP: a cooperative consultancy for innovation in education technology. PJJK Limited: technology to enhance learning; information systems for education.

CETIS is a co-operative limited liability partnership, registered in England number OC399090 PJJK Limited is registered in Scotland as a private limited company, number SC569282.