Skip to content

Instantly share code, notes, and snippets.

@khazelton
Created January 29, 2020 15:22
Show Gist options
  • Save khazelton/ddf39131a7719b01e3a3f78330ef9957 to your computer and use it in GitHub Desktop.
Save khazelton/ddf39131a7719b01e3a3f78330ef9957 to your computer and use it in GitHub Desktop.

ethos.adoc


2019-11-19 11:42 subset of ethos data model https://resources.elluciancloud.com/ethos-data-model

constituent-addresses

Description

The Constituent Addresses entity defines the places where a constituent (person or organization) is located or may be reached. It includes an array of free form address lines and country specific place object that identifies the country name, region (e.g. state), sub-region (e.g. county), locality (e.g. city, town), postal codes and any other property that is required/useful for identifying a mailing address in that country. It optionally may include latitude and longitude and any custom defined geographic regions to which the addressed is assigned.

metadata : Metadata about the JSON payload
    createdBy : The name of the originator (user or system) of the data. This is informational only, do not use in business logic!
    createdOn : The date and time when the entity instance was created
    modifiedBy : The name of the modifier (user or system) of the data. This is informational only, do not use in business logic!
    modifiedOn : The date and time when the entity instance was last modified
id* : The global identifier of the Constituent Address.
addressLines* : The address lines of the address, such as a street address, post office box number, or city, region, and postal code.
place : A country specific postal region. Postal regions are expressed as a hierarchy of country, region, and sub-region, and as a locality with postal automation codes
    country* : The country where the mailing address is located.
    latitude : The latitude of the address location.
    longitude : The longitude of the address location.
    geographicAreas : The geographic areas assigned to this address. Links to constituent-geographic-areas model.
id* : The global identifier for the Geographic Areas.
comment : A comment about the address.

Example

{
  "id": "8a37d17b-f373-4bd6-8a28-311c42b70c04",
  "addressLines": [
    "10241 Stratford Avenue"
  ],
  "place": {
    "country": {
      "code": "USA",
      "region": {
        "code": "US-VA"
      },
      "subRegion": {
        "title": "Fairfax County"
      },
      "locality": "Fairfax",
      "postalCode": "22030",
      "deliveryPoint": "01",
      "carrierRoute": "C039",
      "correctionDigit": "1"
    }
  },
  "latitude": 38.857911,
  "longitude": -77.301369,
  "geographicAreas": [
    {
      "id": "94605801-0427-4b9a-8611-f3d3006f170c"
    }
  ],
  "comment": "Good address"
}

Description

Constituent Persons is used to structure the basic demographic information of people of interest to advancement systems. A constituent person may or may not be included in the standard Ellucian Ethos Data Model Persons entity. If the person exists in both entities, an optional link is provided to link the constituent persons instance to the persons instance. This entity contains the properties of a person that are of interest to advancement systems.

The constituent persons entity includes the following properties associated with the person:

a list of names - personal names by type ('legal', 'birth'), surnames, formatted names and suffixes used by the institution
the status of the person
the date of birth (and death, if applicable) along with the location
the affiliation of the person to the institution including preferred class year and affiliated school/college.
gender
religion
vocation
ethnic category (hispanic/non-hispanic)
races
preferred language
a list of nationalities/citizenships of the person
a list of credentials (i.e. system IDs) associate with the person
a list of addresses
a list of phone numbers
a list of email addresses
a list of social media addresses.

constituent-persons

metadata : Metadata about the JSON payload
id* : A global identifier of a constituent person.
person : An optional reference to link a constituent person to the common persons entity. Links to persons model.
names* : The names associated with a person, specified by type (for example, "legal" or "birth").
status : The status of the person. Links to advancement-statuses model.
birth : Information about the constituent's birth
death : Information about the constituent's death.
affiliation* : The constituents relationship to the institution.
gender : The biological or social cultural masculinity or femininity of the person.
religion : The religion of the constituent. Links to religions model.
vocation : The vocation of the constituent. Links to vocations model.
ethnicCategory : The category of ethnic origin to which the person belongs.
races : The racial groups to which a person belongs. Links to races model.
preferredLanguage : The preferred language of the person. Links to constituent-languages model.
nationalities : The citizenships of the person.
credentials : Information that identifies a user to a system such as a network or computer.
addresses : The physical locations where a person resides or may be contacted by mail.
phones : The phones and phone-connected devices at which a person can be contacted.
emails : The email addresses at which a person can be contacted.
socialMedia : The social media account at which a person can be contacted.

Example:

{
  "id": "df2af118-e0dc-4d2e-a2f8-2b882fe9c9ea",
  "person": {
    "id": "5674f28b-b216-4055-b236-81a922d93b4c"
  },
  "names": {
    "personalNames": [
      {
        "type": {
          "id": "bfbfdadc-e6cd-492d-9a21-53f82d3c1318"
        },
        "preference": "primary",
        "fullName": "Marie Aguste von Trapp",
        "title": "Mrs.",
        "firstName": "Marie",
        "middleName": "Aguste",
        "lastNamePrefix": "von",
        "lastName": "Trapp",
        "pedigree": "I",
        "professionalAbbreviations": [
          "J.D."
        ]
      }
    ],
    "surnames": [
      {
        "type": {
          "id": "208f57bb-2729-43ec-9f28-3b95e80975ed"
        },
        "surname": "Kutschera"
      }
    ],
    "formattedNames": [
      {
        "type": {
          "id": "317bedd3-36bd-4cb0-b9b2-47c8a7f6fec1"
        },
        "forUseBy": {
          "id": "5674f28b-b216-4055-b236-81a922d93b4c"
        },
        "name": "Mrs. von Trapp"
      }
    ],
    "institutionalSuffixes": [
      {
        "type": {
          "id": "18dfbd81-464b-4afa-af6e-4736cc953a01"
        },
        "suffix": "Class of 2001"
      }
    ]
  },
  "status": {
    "id": "1d11ed9a-23a6-4b1b-88ea-a0449744b54c"
  },
  "birth": {
    "bornOn": {
      "year": "1975",
      "month": "01",
      "day": "26"
    },
    "location": "Vienna, Austria"
  },
  "death": {
    "diedOn": {
      "year": "2015",
      "month": "10",
      "day": "22"
    },
    "location": "Morrisville, Vermont"
  },
  "affiliation": [
    {
      "type": {
        "id": "3b4425ff-c16d-45f9-8e2d-94788b41a075"
      },
      "preference": "primary",
      "classYear": "2001",
      "institutionUnit": {
        "id": "fb37bd81-31a9-4498-acd8-bf9c4b222f44"
      },
      "startOn": "1956-10-16T12:00:00-05:00",
      "endOn": "1956-10-16T12:00:00-05:00"
    }
  ],
  "gender": "female",
  "religion": {
    "id": "bf3f11c6-0cc9-493b-95e3-d6670574ef19"
  },
  "vocation": {
    "id": "c1f5c63c-cb68-4abf-a170-3609479ced93"
  },
  "ethnicCategory": "nonHispanic",
  "races": [
    {
      "id": "e1c3ef88-38fd-485b-9bc3-e71a83f72a94"
    }
  ],
  "preferredLanguage": {
    "id": "c9a37760-ee2a-4e00-b16c-d908dcc74e00"
  },
  "nationalities": [
    "GBR",
    "USA",
    "DEU"
  ],
  "credentials": [
    {
      "type": {
        "id": "1d339c34-f389-42a2-afe4-c2a1075a76f4"
      },
      "value": "000-00-0000"
    }
  ],
  "addresses": [
    {
      "address": {
        "id": "8a37d17b-f373-4bd6-8a28-311c42b70c04"
      },
      "type": {
        "addressType": "home"
      },
      "status": "active",
      "startOn": "2015-06-01T00:00:00+00:00",
      "endOn": "2015-07-31T00:00:00+00:00",
      "preference": "primary",
      "seasonalOccupancies": [
        {
          "recurrence": {
            "timePeriod": {
              "startOn": "2015-06-01T00:00:00+00:00",
              "endOn": "2015-07-31T00:00:00+00:00"
            },
            "repeatRule": {
              "type": "yearly"
            }
          }
        }
      ]
    }
  ],
  "phones": [
    {
      "type": {
        "phoneType": "home",
        "detail": {
          "id": "feee5fac-624a-4e73-986d-b9676d6652ec"
        }
      },
      "status": "active",
      "startOn": "1999-10-16T12:00:00-05:00",
      "endOn": "2002-10-16T12:00:00-05:00",
      "preference": "primary",
      "country": "USA",
      "number": "7032592885",
      "extension": "1103",
      "privacy": "listed",
      "comment": "No calls at dinner time."
    }
  ],
  "emails": [
    {
      "type": {
        "emailType": "personal",
        "detail": {
          "id": "9e70be81-38c6-47ef-8dfb-79c230ea5847"
        }
      },
      "status": "inactive",
      "startOn": "1999-10-16T12:00:00-05:00",
      "endOn": "2002-10-16T12:00:00-05:00",
      "preference": "primary",
      "address": "someone@example.com",
      "comment": "This address bounces."
    }
  ],
  "socialMedia": [
    {
      "type": {
        "socialMediaType": "twitter",
        "detail": {
          "id": "e60685f1-48d9-47e0-b710-b37dcb83b6ce"
        }
      },
      "status": "inactive",
      "preference": "primary",
      "address": "bsmith",
      "webSiteURL": "http://twitter.com/bsmith"
    }
  ]
}

Courses

Description

A course is a unit of teaching on an individual subject. A grade and academic credit can be awarded on successful completion of the course.

Each course can be offered at different levels of complexity, from introductory to advanced, or in-depth, study of a specialized topic, and at various academic levels.

Multiple instructional methods may be used in teaching each course, and different grade schemes and credit specifications can apply to it.

In the case of a multidisciplinary course, teaching responsibilities may be shared between two or more departments (organizations) within the academic institution.

courses

metadata : Metadata about the JSON payload
id* : A global identifier of a course to be used in all external references.
titles* : The course titles details.
description : A description of the substance and nature of a course as it appears in a course catalog.
subject* : The branch of knowledge such as 'Mathematics' or 'Biology' associated with a course. Links to subjects model.
topic : The topic associated with the course.(for example - Real Estate, Modern Literature, Travel and Leisure, etc.) Links to course-topics model.
categories : The categories to which the course may belong (for example - Vocational, Co-op Work Experience, Lab, Music, etc.) Links to course-categories model.
courseLevels : The levels of scholarship that apply to a course. Links to course-levels model.
instructionalMethodDetails : The methods, styles, or formats in which the course is taught (for example, 'Lecture', 'Lab').
hours : The hours that may be assigned to the course by instructional method.
owningInstitutionUnits : A list of units of the educational institution (optionally, hierarchical) that own or are responsible for a course
schedulingStartOn : The starting date on which a course is available to have sections scheduled. When combined with the Course Effective Ending Date, this defines the time period a course is available for scheduling.
schedulingEndOn : The ending date on which a course is no longer available to have sections scheduled. When combined with the Course Effective Starting Date, this defines the time period a course is available for scheduling.
number* : A numbering scheme that distinguishes courses within a subject. Typically, this is an integer.
academicLevels : The academic levels (for example, 'Under Graduate' or 'Graduate') associated with a course. Links to academic-levels model.
gradeSchemes : The grading schemes that may be used to award a grade to a student taking this course.
credits : The credit specifications that apply to a course (for example, 'Regular Credit').
billing : The number of units that may be used to calculate the charge for the course.
waitlistMultipleSections : An indication if a student is allowed to be on the waitlist for multiple sections of the same course simultaneously.
reportingDetail : Additional properties required for localized reporting.
administrativePeriod : The administrative period associated with a course. Links to administrative-periods model.
status* : The status associated with the course. Links to course-statuses model.

Example

{
  "id": "dcf79a45-b399-4ada-bfd4-bd797d3259b1",
  "titles": [
    {
      "type": {
        "id": "f40562c9-684e-42da-96ae-44316fed2aa3"
      },
      "value": "Math 101"
    },
    {
      "type": {
        "id": "5a1e2ac3-7f87-40c5-b435-39168b6e235d"
      },
      "value": "Engineering Mathematics 101"
    }
  ],
  "description": "Beginning mathematics",
  "subject": {
    "id": "25892e17-80f6-415f-9c65-7395632f0223"
  },
  "topic": {
    "id": "8599a236-958d-4710-97da-cafa9efd3b7e"
  },
  "categories": [
    {
      "id": "529493fa-c8f4-422f-a45e-4d5b26dd4c1b"
    },
    {
      "id": "be6ceea4-c2f8-4b41-a784-c8d7df8067ce"
    }
  ],
  "courseLevels": [
    {
      "id": "e33898de-6302-4756-8f0c-5f6c5218e02e"
    }
  ],
  "instructionalMethodDetails": [
    {
      "instructionalMethod": {
        "id": "3a768eea-cbda-4926-a82d-831cb89092aa"
      },
      "instructionalDeliveryMethod": {}
    }
  ],
  "hours": [
    {
      "administrativeInstructionalMethod": {
        "id": "d3680341-fd24-40f6-bdf0-76dca1316fb5"
      },
      "minimum": 3,
      "maximum": 9,
      "increment": 3,
      "interval": "day"
    }
  ],
  "owningInstitutionUnits": [
    {
      "institutionUnit": {
        "id": "61820135-a36b-4308-99f7-28697ab7a0b1"
      },
      "ownershipPercentage": 50
    },
    {
      "institutionUnit": {
        "id": "00cd9680-9090-4b38-92ce-7b72d50421ba"
      },
      "ownershipPercentage": 50
    }
  ],
  "schedulingStartOn": "2014-10-16",
  "schedulingEndOn": "2014-11-30",
  "number": "101",
  "academicLevels": [
    {
      "id": "11cdd494-de5b-460e-9ddf-4e84bad6f596"
    }
  ],
  "gradeSchemes": [
    {
      "gradeScheme": {
        "id": "fd3f06e5-84cd-4d2b-82df-406ae9c39650"
      },
      "usage": "default"
    },
    {
      "gradeScheme": {
        "id": "f14a648d-c757-4c7a-b283-1fa74e561d63"
      },
      "usage": ""
    }
  ],
  "credits": [
    {
      "creditCategory": {
        "creditType": "institution",
        "detail": {
          "id": "bd582974-7421-4502-8fd4-b3966e08923e"
        }
      },
      "measure": "credit",
      "minimum": 1,
      "maximum": 4,
      "increment": 1
    }
  ],
  "billing": {
    "minimum": 1,
    "maximum": 5,
    "increment": 1
  },
  "waitlistMultipleSections": "notAllowed",
  "reportingDetail": {
    "type": "nebraska",
    "courseWeight": 10
  },
  "administrativePeriod": {
    "id": "060d0dd1-75aa-4c43-989c-0015b6f01d6e"
  },
  "status": {
    "id": "ed348068-d0ff-4aa8-bb13-acf8c165b354"
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment