ABCDEF
1
OrigenCampoObligatorioJSONSQLNotas
2
CircularNúmero correlativo de matrículaSi_Personas; PersonIdentifier; Identifier == [Número correlativo de matrícula] AND _Personas; PersonIdentifier; RefPersonIdentificationSystemId == 55
select a.personId,b.Identifier NumeroMatricula from Person a
inner join PersonIdentifier b on a.personId=b.personId and b.RefPersonIdentificationSystemId=55

#listado de estudiantes por colegio

select * from PersonIdentifier where refpersonidentificationsystemid=55
3
CircularRUNSi_Personas; PersonIdentifier; Identifier == [RUN] AND _Personas; PersonIdentifier; RefPersonIdentificationSystemId == 51
select a.personId,b.Identifier from Person a
inner join PersonIdentifier b on a.personId=b.personId and b.RefPersonIdentificationSystemId=51
4
CircularIPESi_Personas; PersonIdentifier; Identifier == [IPE] AND _Personas; PersonIdentifier; RefPersonIdentificationSystemId == 52
select a.personId,b.Identifier from Person a inner join PersonIdentifier b on a.personId=b.personId and b.RefPersonIdentificationSystemId=52
5
CircularPrimer Nombre estudianteSi_Personas; Person; FirstName == [Primer Nombre estudiante]
SELECT FirstName FROM Person join OrganizationPersonRole using(PersonId) where OrganizationPersonRole.RoleId = 6
6
CircularSegundo Nombre estudianteSi_Personas; Person; MiddleName == [Segundo Nombre estudiante]
SELECT MiddleName FROM Person join OrganizationPersonRole using(PersonId) where OrganizationPersonRole.RoleId = 6
7
CircularApellido Paterno estudianteSi_Personas; Person; LastName == [Apellido Paterno estudiante]
SELECT LastName FROM Person join OrganizationPersonRole using(PersonId) where OrganizationPersonRole.RoleId = 6
8
CircularApellido Materno estudianteSi_Personas; Person; SecondLastName == [Apellido Materno estudiante]
9
CircularSexoSi_Personas; Person; RefSexId == 1 (M) OR _Personas; Person; RefSexId == 2 (F), según corresponda
SELECT RefSex.Description FROM Person join RefSex using(RefSexId)
10
CircularFecha NacimientoSi_Personas; Person; Birthdate == [Fecha Nacimiento]SELECT Birthdate FROM PersonFormato permitdo: yyyy-mm-dd
11
CircularNivelSi_Organizaciones; Organization; Name == [nivelList]

nivelList
01:Educación Parvularia
02:Enseñanza Básica Niños
03:Educación Básica Adultos
04:Educación Especial
05:Enseñanza Media Humanístico Científica Jóvenes
06:Educación Media Humanístico Científica Adultos
07:Enseñanza Media Técnico Profesional y Artística, Jóvenes
08:Educación Media Técnico Profesional y Artística, Adultos

AND
_Organizaciones; Organization; RefOrganizationTypeId == 40
Como en _Personas; Person; personId se encuentra el identificador del estudiante, asumiré que personId es un dato conocido. Por lo tanto para obtener el nivel del curso de un estudiante desde Organization.Name se debe aplicar el siguiente filtro:

OrganizationPersonRole;personId == [Person.personId] AND OrganizationPersonRole;RoleID == 6 (Estudiante) AND OrganizationPersonRole;OrganizationId == Organization.OrganizationId AND Organization.RefOrganizationTypeId == 40

#listado de niveles por establecimiento#
select distinct name NIvel from organization
where reforganizationtypeid=40

#grado por nivel por establecimiento#
select distinct name Grado from organization
where reforganizationtypeid=46

#cursos por nivel y grado, por establecimiento#
SELECT DISTINCT
codEnse.Name as codigoEnseñanza
, grado.Name as grado
, curso.Name as letraCurso
FROM Organization as curso
INNER JOIN OrganizationRelationship as rsCurso on curso.OrganizationId=rsCurso.OrganizationId

INNER JOIN Organization as grado
ON grado.OrganizationId=rsCurso.Parent_OrganizationId AND grado.RefOrganizationTypeId = 46
INNER JOIN OrganizationRelationship as rsGrado on grado.OrganizationId=rsGrado.OrganizationId

INNER JOIN Organization as codEnse
ON codEnse.OrganizationId=rsGrado.Parent_OrganizationId AND codEnse.RefOrganizationTypeId = 45
INNER JOIN OrganizationRelationship as rsCodEnse on codEnse.OrganizationId=rsCodEnse.OrganizationId

INNER JOIN Organization as tipoCurso
ON tipoCurso.OrganizationId=rsCodEnse.Parent_OrganizationId AND tipoCurso.RefOrganizationTypeId = 44
INNER JOIN OrganizationRelationship as rsTipoCurso on tipoCurso.OrganizationId=rsTipoCurso.OrganizationId

INNER JOIN Organization as especialidad
ON especialidad.OrganizationId=rsTipoCurso.Parent_OrganizationId AND especialidad.RefOrganizationTypeId = 43
INNER JOIN OrganizationRelationship as rsEspecialidad on especialidad.OrganizationId=rsEspecialidad.OrganizationId

INNER JOIN Organization as sector
ON sector.OrganizationId=rsEspecialidad.Parent_OrganizationId AND sector.RefOrganizationTypeId = 42
INNER JOIN OrganizationRelationship as rsSector on sector.OrganizationId=rsSector.OrganizationId

INNER JOIN Organization as rama
ON rama.OrganizationId=rsSector.Parent_OrganizationId AND rama.RefOrganizationTypeId = 41
INNER JOIN OrganizationRelationship as rsRama on rama.OrganizationId=rsRama.OrganizationId

INNER JOIN Organization as nivel
ON nivel.OrganizationId=rsRama.Parent_OrganizationId AND nivel.RefOrganizationTypeId = 40
INNER JOIN OrganizationRelationship as rsNivel on nivel.OrganizationId=rsNivel.OrganizationId
El siguiente link contiene un ejemplo de la estructura jerarquica que se encuentra cargada en la BD.

https://docs.google.com/spreadsheets/d/1ZNqqzeMBbniWJ57Ye6RhELlPKperzRNV9AVbaQD3ahY/edit#gid=491532186

Por lo tanto, se recomienda mirar el ejemplo para comprender de mejor forma cómo almacenar correctamente las organizaciones, respetando su estructura jerarquica.
12
CircularCursoSi_Organizaciones; Organization; Name == [letraCurso]

letraCurso: Correspone a la letra asignada al curso.
Ejemplo: A, B, C, D... etc.

AND
_Organizaciones; Organization; RefOrganizationTypeId == 21
Como en _Personas; Person; personId se encuentra el identificador del estudiante, asumiré que personId es un dato conocido. Por lo tanto para obtener el nivel del curso de un estudiante desde Organization.Name se debe aplicar el siguiente filtro:

OrganizationPersonRole;personId == [Person.personId] AND OrganizationPersonRole;RoleID == 6 (Estudiante) AND OrganizationPersonRole;OrganizationId == Organization.OrganizationId AND Organization.RefOrganizationTypeId == 21

#cursos por nivel y grado, por establecimiento#
SELECT DISTINCT
codEnse.Name as codigoEnseñanza
, grado.Name as grado
, curso.Name as letraCurso
FROM Organization as curso
INNER JOIN OrganizationRelationship as rsCurso on curso.OrganizationId=rsCurso.OrganizationId

INNER JOIN Organization as grado
ON grado.OrganizationId=rsCurso.Parent_OrganizationId AND grado.RefOrganizationTypeId = 46
INNER JOIN OrganizationRelationship as rsGrado on grado.OrganizationId=rsGrado.OrganizationId

INNER JOIN Organization as codEnse
ON codEnse.OrganizationId=rsGrado.Parent_OrganizationId AND codEnse.RefOrganizationTypeId = 45
INNER JOIN OrganizationRelationship as rsCodEnse on codEnse.OrganizationId=rsCodEnse.OrganizationId

INNER JOIN Organization as tipoCurso
ON tipoCurso.OrganizationId=rsCodEnse.Parent_OrganizationId AND tipoCurso.RefOrganizationTypeId = 44
INNER JOIN OrganizationRelationship as rsTipoCurso on tipoCurso.OrganizationId=rsTipoCurso.OrganizationId

INNER JOIN Organization as especialidad
ON especialidad.OrganizationId=rsTipoCurso.Parent_OrganizationId AND especialidad.RefOrganizationTypeId = 43
INNER JOIN OrganizationRelationship as rsEspecialidad on especialidad.OrganizationId=rsEspecialidad.OrganizationId

INNER JOIN Organization as sector



ON sector.OrganizationId=rsEspecialidad.Parent_OrganizationId AND sector.RefOrganizationTypeId = 42
INNER JOIN OrganizationRelationship as rsSector on sector.OrganizationId=rsSector.OrganizationId

INNER JOIN Organization as rama
ON rama.OrganizationId=rsSector.Parent_OrganizationId AND rama.RefOrganizationTypeId = 41
INNER JOIN OrganizationRelationship as rsRama on rama.OrganizationId=rsRama.OrganizationId

INNER JOIN Organization as nivel
ON nivel.OrganizationId=rsRama.Parent_OrganizationId AND nivel.RefOrganizationTypeId = 40
INNER JOIN OrganizationRelationship as rsNivel on nivel.OrganizationId=rsNivel.OrganizationId

#listado de datos del curso

SELECT DISTINCT
ee.RBD
, modalidad.Name as modalidad
, jornada.Name as jornada
, nivel.Name as nivel
, rama.Name as rama
, sector.Name as sector
, especialidad.Name as especialidad
, tipoCurso.Name as tipoCurso
, codEnse.Name as codigoEnseñanza
, grado.Name as grado
, curso.Name as letraCurso
, curso.OrganizationId as OrganizationIdDelCurso

FROM Organization as curso
INNER JOIN OrganizationRelationship as rsCurso on curso.OrganizationId=rsCurso.OrganizationId

INNER JOIN Organization as grado
ON grado.OrganizationId=rsCurso.Parent_OrganizationId AND grado.RefOrganizationTypeId = 46
INNER JOIN OrganizationRelationship as rsGrado on grado.OrganizationId=rsGrado.OrganizationId

INNER JOIN Organization as codEnse
ON codEnse.OrganizationId=rsGrado.Parent_OrganizationId AND codEnse.RefOrganizationTypeId = 45
INNER JOIN OrganizationRelationship as rsCodEnse on codEnse.OrganizationId=rsCodEnse.OrganizationId

INNER JOIN Organization as tipoCurso
ON tipoCurso.OrganizationId=rsCodEnse.Parent_OrganizationId AND tipoCurso.RefOrganizationTypeId = 44
INNER JOIN OrganizationRelationship as rsTipoCurso on tipoCurso.OrganizationId=rsTipoCurso.OrganizationId

INNER JOIN Organization as especialidad
ON especialidad.OrganizationId=rsTipoCurso.Parent_OrganizationId AND especialidad.RefOrganizationTypeId = 43
INNER JOIN OrganizationRelationship as rsEspecialidad on especialidad.OrganizationId=rsEspecialidad.OrganizationId

INNER JOIN Organization as sector
ON sector.OrganizationId=rsEspecialidad.Parent_OrganizationId AND sector.RefOrganizationTypeId = 42
INNER JOIN OrganizationRelationship as rsSector on sector.OrganizationId=rsSector.OrganizationId

INNER JOIN Organization as rama
ON rama.OrganizationId=rsSector.Parent_OrganizationId AND rama.RefOrganizationTypeId = 41
INNER JOIN OrganizationRelationship as rsRama on rama.OrganizationId=rsRama.OrganizationId

INNER JOIN Organization as nivel
ON nivel.OrganizationId=rsRama.Parent_OrganizationId AND nivel.RefOrganizationTypeId = 40
INNER JOIN OrganizationRelationship as rsNivel on nivel.OrganizationId=rsNivel.OrganizationId

INNER JOIN Organization as jornada
ON jornada.OrganizationId=rsNivel.Parent_OrganizationId AND jornada.RefOrganizationTypeId = 39
INNER JOIN OrganizationRelationship as rsJornada on jornada.OrganizationId=rsJornada.OrganizationId

INNER JOIN Organization as modalidad
ON modalidad.OrganizationId=rsJornada.Parent_OrganizationId AND modalidad.RefOrganizationTypeId = 38
INNER JOIN OrganizationRelationship as rsModalidad on modalidad.OrganizationId=rsModalidad.OrganizationId

INNER JOIN (
SELECT
i.Identifier as RBD
,Organization.Name as 'nombreEstablecimiento'
,i.OrganizationId as OrganizationId
FROM OrganizationIdentifier i
INNER JOIN Organization USING(OrganizationId)
INNER JOIN RefOrganizationIdentificationSystem rbd
ON i.RefOrganizationIdentificationSystemId = rbd.RefOrganizationIdentificationSystemId
AND i.RefOrganizationIdentificationSystemId = (
SELECT RefOrganizationIdentificationSystemId
FROM RefOrganizationIdentificationSystem
WHERE Code = 'RBD' )
INNER JOIN RefOrganizationIdentifierType Mineduc
ON i.RefOrganizationIdentifierTypeId = Mineduc.RefOrganizationIdentifierTypeId
AND i.RefOrganizationIdentifierTypeId = (
SELECT RefOrganizationIdentifierTypeId
FROM RefOrganizationIdentifierType
WHERE Code = 'Mineduc' )) as ee on ee.OrganizationId=rsModalidad.Parent_OrganizationId

WHERE curso.RefOrganizationTypeId = 21
La vista jerarquiasList contiene todas las organizaciones ordenadas según si jerarquía.

Por ejemplo: Al unir jerarquiasList.grado + jerarquiasList.letraCurso, se debería obtener 110.02:2º Básico B
13
CircularLocal EscolarSiLocationAddress
select distinct StreetNumberAndName,city Ciudad,CountyName Comuna from LocationAddress
Se linkea a través del OrganizationPersonRole. Los organization se crean siguiendo esta estructura https://docs.google.com/spreadsheets/d/1ZNqqzeMBbniWJ57Ye6RhELlPKperzRNV9AVbaQD3ahY/edit#gid=2027552746
14
CircularFecha de MatrículaSiPersonStatus.StatusStartDateselect b.personid,a.StatusStartDate from PersonStatus a
inner join person b on a.personId=b.PersonId
15
CircularFecha Retiro estudianteSiPersonStatus.StatusEndDateselect b.personid,a.StatusEndDate from PersonStatus a
inner join person b on a.personId=b.PersonId
16
CircularMotivo Retiro estudianteSiPersonStatus.RefPersonStatusTypeId == 30 + PersonStatus.Description
select persona.personId,
numeroMatricula.Identifier NumMatricula,
fechaMatricula.StatusStartDate FechaMatricula ,
persona.FirstName PrimerNombre,
persona.MiddleName SegundoNombre,
persona.LastName ApellidoPaterno,
persona.SecondLastName ApellidoMaterno,
fechaMatricula.recordEndDateTime FechaRetiro,
fechaMatricula.Description MotivoRetiro
from Person persona
inner join PersonIdentifier numeroMatricula on persona.personId=numeroMatricula.personId and numeroMatricula.RefPersonIdentificationSystemId=55
inner join personstatus fechaMatricula on persona.personid=fechamatricula.personid
17
CircularDomicilio estudianteSi_Personas; PersonAddressselect a.personId,b.StreetNumberAndName from person a
inner join PersonAddress b on a.personId=b.personId
18
CircularObservacionesSiPersonStatus.Description
19
CircularDomicilio PadreSi_Personas; PersonAddress + personRelationShip.refPersonRelationShipId == 8(Father)

select relacion.firstname,
relacion.MiddleName,
relacion.LastName,
relacion.SecondLastName,
direccion.StreetNumberAndName,
comuna.Description,
telefono.TelephoneNumber,
email.emailAddress,
NivelEducacionalMAE.Description EducacionNivel
from person a
inner join PersonRelationship b on a.personid=b.personid and b.refpersonrelationshipid=8
inner join refpersonrelationship c on b.refpersonrelationshipid=c.refpersonrelationshipid
inner join person relacion on b.relatedpersonid=relacion.personid
left join PersonAddress direccion on relacion.personid=direccion.personId
left join refcounty comuna on direccion.RefCountyId=comuna.RefCountyId
left join PersonTelephone telefono on relacion.personid=telefono.personid
left join PersonEmailAddress email on relacion.personid=email.personid
left join PersonDegreeOrCertificate NivelEducacional on relacion.personid=Niveleducacional.personid
left join RefDegreeOrCertificateType NivelEducacionalMAE on Niveleducacional.RefDegreeOrCertificateTypeid=NivelEducacionalMAE.RefDegreeOrCertificateTypeid
a) Por un lado, todos los estudiantes tienen número de matrícula y desde ahí se puede obtener su personID:
_Personas; PersonIdentifier; Identifier + _Personas; PersonIdentifier; RefPersonIdentificationSystemId==55(School)

b) Además la tabla PersonRelationship.RefPersonRelationshipId (tipo de relación) contiene el tipo de relación que tienen otras personas con el estudiante.

con ambos criterios se puede obtener diferenciar los datos de las demás tablas de personas.

Otra forma sería a través de la tabla organizationPersonRole la cual contiene el role que cada persona cumple dentro de los diferentes tipos de organización que estan cargados en la BD. Esta sería otra forma de obtener la lista de estudiantes, docentes, etc.
20
CircularTeléfono PadreSi_Personas; PersonTelephoneE19
21
CircularEmail PadreSi_Personas; PersonEmailAddress; EmailAddressE19
22
CircularDomicilio MadreSi_Personas; PersonAddress

select relacion.firstname,
relacion.MiddleName,
relacion.LastName,
relacion.SecondLastName,
direccion.StreetNumberAndName,
comuna.Description,
telefono.TelephoneNumber,
email.emailAddress,
NivelEducacionalMAE.Description EducacionNivel
from person a
inner join PersonRelationship b on a.personid=b.personid and b.refpersonrelationshipid=19
inner join refpersonrelationship c on b.refpersonrelationshipid=c.refpersonrelationshipid
inner join person relacion on b.relatedpersonid=relacion.personid
left join PersonAddress direccion on relacion.personid=direccion.personId
left join refcounty comuna on direccion.RefCountyId=comuna.RefCountyId
left join PersonTelephone telefono on relacion.personid=telefono.personid
left join PersonEmailAddress email on relacion.personid=email.personid
left join PersonDegreeOrCertificate NivelEducacional on relacion.personid=Niveleducacional.personid
left join RefDegreeOrCertificateType NivelEducacionalMAE on Niveleducacional.RefDegreeOrCertificateTypeid=NivelEducacionalMAE.RefDegreeOrCertificateTypeid
23
CircularTeléfono MadreSi_Personas; PersonTelephoneE22
24
CircularEmail MadreSi_Personas; PersonEmailAddress; EmailAddressE22
25
Libro FísicoPresedenciaSiPersonStatus.RefPersonStatusTypeId == 27(estudiante nuevo con matrícula definitiva), 28(estudiante promovido)
26
Libro FísicoNivel educacional de padreSiPersonDegreeOrCertificateE19
27
Libro FísicoNivel educacional de madreSiPersonDegreeOrCertificateE22
28
Libro FísicoPersona con quien vive (vínculo)SiPersonRelationship.RefPersonRelationshipId (tipo de relación)
select a.PersonId,c.Description from person a
inner join PersonRelationship b on a.personId=b.personId
inner join RefPersonRelationship c on b.RefPersonRelationshipId=c.RefPersonRelationshipId
29
CircularTipo EstudianteSiPersonStatus.RefPersonStatusTypeId == 24 y 31 (Excedente), 25(Intercambio), 26(En práctica), 5(Migrant)
30
CircularDoc Identidad país origen (Pasaporte, Cédula, Otro)Si_Personas; PersonIdentifier; Identifier + _Personas; PersonIdentifier; RefPersonIdentificationSystemId==53
31
CircularTipo Matrícula (Provisoria-Definitiva)SiPersonStatus.RefPersonStatusTypeId == 27(estudiante nuevo con matrícula definitiva), 29(estudiante nuevo con matricula provisoria)
32
CircularNúmero y fecha de la resolución respectivaSiPersonStatus.RefPersonStatusTypeId == (24 OR 31 OR 25) + PersonStatus.fileScanBase64 + PersonStatus.docNumber + PersonStatus.StatusStartDate
33
CircularRBDSi_Organizaciones; organization; shortName == [RBD] AND _Organizaciones; organization; refOrganizationTypeId == 10 (k12School)select SUBSTR(ShortName, 4, 8) RBD from organization
where reforganizationtypeid=10 /* el formato ej es RBD09599*/
el formato del RBD debe cumplir con la siguiente expresión regular: ^RBD\d{5}$
34
CircularNombre establecimientoSi_Organizaciones; organization; name == [Nombre del establecimiento] AND _Organizaciones; organization; refOrganizationTypeId == 10 (k12School) select name NombreEstablecimiento from organization
where reforganizationtypeid=10
35
CircularModalidadSiEste filtro entrega el curso en el cuál está inscrito el estudiante. OrganizationPersonRole;RoleID == 6 (Estudiante) AND OrganizationPersonRole;OrganizationId == Organization.OrganizationId AND Organization.RefOrganizationTypeId == 21 (Course) Luego de obtednido el organizationID del curso, se puede recorrer la estructura jerarquica de la tabla OrganizationRelationShip para obtener la siguiente información relacionada con el curso. 38 (Modalidad de Enseñanza) 39 (Jornada Escolar) 40 (Nivel Educacional) 41 (Rama de especialidad) 42 (Sector Económico) 43 (Especialidad) 44 (Tipo de curso (Simple/Combinado)) 45 (Código de enseñanza) 46 (Grado de enseñanza) 21 (Course)
select name Modalidad /*deben ser solo 3 regular, especial, adulto*/ from organization
where reforganizationtypeid=38
"El siguiente link contiene un ejemplo de la estructura jerarquica que se encuentra cargada en la BD.

https://docs.google.com/spreadsheets/d/1ZNqqzeMBbniWJ57Ye6RhELlPKperzRNV9AVbaQD3ahY/edit#gid=491532186

Por lo tanto, para obtener el nivel, el curso, el código de enseñanza, etc. se deben uilizar las tablas Organization y OrganizationRelationShip."
36
CircularAño EscolarSi_calendarios; OrganizationCalendar; CalendarYear == [Año Escolar]
select CalendarYear from organizationcalendar limit 1 /*solo un año por archivo*/
37
CircularPrimer Nombre Profesor JefeSi_Personas; Person; FirstName
select DISTINCT
curso.OrganizationId as OrganizationIdDelCurso
, profesorJefe.apellidoPaternoDocenteLiderCurso
, profesorJefe.apellidoMaternoDocenteLiderCurso
, profesorJefe.primerNombreDocenteLiderCurso
, profesorJefe.otrosNombresDocenteLiderCurso
, profesorJefe.runDocenteLiderCurso

FROM Organization as curso
INNER JOIN OrganizationRelationship as rsCurso on curso.OrganizationId=rsCurso.OrganizationId
OUTER LEFT JOIN (
SELECT
OrganizationPersonRoleId
, OrganizationId
, PersonId
, LastName as 'apellidoPaternoDocenteLiderCurso'
, SecondLastName as 'apellidoMaternoDocenteLiderCurso'
, FirstName as 'primerNombreDocenteLiderCurso'
, MiddleName as 'otrosNombresDocenteLiderCurso'
, runDocenteLiderCurso
FROM K12StaffAssignment
INNER JOIN OrganizationPersonRole USING(OrganizationPersonRoleId)
INNER JOIN (
SELECT DISTINCT
Person.PersonId
,Person.LastName
,Person.SecondLastName
,Person.FirstName
,Person.MiddleName
,rut.Identifier as RunDocenteLiderCurso
FROM Person
INNER JOIN PersonIdentifier rut ON rut.PersonId = Person.PersonId AND rut.RefPersonIdentificationSystemId = 51
) USING(PersonId)
WHERE RefTeachingAssignmentRoleId = 1
) profesorJefe ON OrganizationIdDelCurso = profesorJefe.OrganizationId

WHERE curso.RefOrganizationTypeId = 21
38
CircularSegundo Nombre Profesor JefeSi_Personas; Person; MiddleNameE37
39
CircularApellido Paterno Profesor JefeSi_Personas; Person; LastNameE37
40
CircularApellido Materno Profesor JefeSi_Personas; Person; SecondLastNameE37
41
CircularDomicilio estudiante (Comuna)Si_Personas; PersonAddress
42
CircularPrimer Nombre Apoderado o TutorSi_Personas; Person; FirstName
select relacion.firstname,
relacion.MiddleName,
relacion.LastName,
relacion.SecondLastName,
direccion.StreetNumberAndName,
comuna.Description,
telefono.TelephoneNumber,
email.emailAddress,
NivelEducacionalMAE.Description EducacionNivel
from person a
inner join PersonRelationship b on a.personid=b.personid and b.refpersonrelationshipid=31
inner join refpersonrelationship c on b.refpersonrelationshipid=c.refpersonrelationshipid
inner join person relacion on b.relatedpersonid=relacion.personid
left join PersonAddress direccion on relacion.personid=direccion.personId
left join refcounty comuna on direccion.RefCountyId=comuna.RefCountyId
left join PersonTelephone telefono on relacion.personid=telefono.personid
left join PersonEmailAddress email on relacion.personid=email.personid
left join PersonDegreeOrCertificate NivelEducacional on relacion.personid=Niveleducacional.personid
left join RefDegreeOrCertificateType NivelEducacionalMAE on Niveleducacional.RefDegreeOrCertificateTypeid=NivelEducacionalMAE.RefDegreeOrCertificateTypeid
43
CircularSegundo Nombre Apoderado o TutorSi_Personas; Person; MiddleNameE42
44
CircularApellido Paterno Apoderado o TutorSi_Personas; Person; LastNameE42
45
CircularApellido Materno Apoderado o TutorSi_Personas; Person; SecondLastNameE42
46
CircularTeléfono Apoderado o TutorSi_Personas; PersonTelephoneE42
47
CircularEmail Apoderado o TutorSi_Personas; PersonEmailAddress; EmailAddressE42
48
CircularDatos Biológicos y de Salud - estudianteSi_Personas; PersonHealth; descriptionselect * from Person persona
left join PersonHealth salud on persona.personid=salud.personid
left join PersonAllergy alergia on persona.personid=alergia.personid
49
CircularN° Resolución y Fecha estudiante ExcedenteSi
50
CircularIntercambio - estudianteSi
--excedente sin pago subvencion
select b.personid,c.Description,b.docnumber numeroResolucion,b.filescanbase64 archivo,b.StatusStartDate fechadocumento from PersonStatus a
inner join person b on a.personId=b.PersonId and a.RefPersonStatusTypeId in (24)
inner join RefPersonStatusType c on a.RefPersonStatusTypeid=c.RefPersonStatusTypeId
where a.recordenddatetime is null


--excedente con pago subvencion
select b.personid,c.Description,b.docnumber numeroResolucion,b.filescanbase64 archivo,b.StatusStartDate fechadocumento from PersonStatus a
inner join person b on a.personId=b.PersonId and a.RefPersonStatusTypeId in (31)
inner join RefPersonStatusType c on a.RefPersonStatusTypeid=c.RefPersonStatusTypeId
where a.recordenddatetime is null



#Intercambio
select b.personid,c.Description,b.docnumber numeroResolucion,b.filescanbase64 archivo,b.StatusStartDate fechadocumento
from PersonStatus a
inner join person b on a.personId=b.PersonId and a.RefPersonStatusTypeId in (25)
inner join RefPersonStatusType c on a.RefPersonStatusTypeid=c.RefPersonStatusTypeId
where a.recordenddatetime is null
51
CircularOtro Dato Interés - estudianteSi
select b.personid,c.Description from PersonStatus a
inner join person b on a.personId=b.PersonId and a.RefPersonStatusTypeId in (26,5)
inner join RefPersonStatusType c on a.RefPersonStatusTypeid=c.RefPersonStatusTypeId
52
CircularModalidad DUALSi
53
Circular--Nombre EmpresaSiOrganization.Name AND Organization.RefOrganizationTypeId == 26 (ServiceProvider)
select empresa.name NombreEmpresa,
fonoempresa.TelephoneNumber telefonoempresa,
emailempresa.ElectronicMailAddress correoempresa,
direccionempresa.StreetNumberAndName dirempresa
from organization empresa
left join OrganizationTelephone fonoempresa on empresa.organizationid=fonoempresa.organizationid
left join OrganizationEmail emailempresa on empresa.organizationid=emailempresa.organizationid
left join OrganizationLocation orgloca on empresa.organizationid=orgloca.OrganizationId
left join LocationAddress direccionempresa on orgloca.locationid=direccionempresa.locationid
where empresa.reforganizationtypeid=26
54
Circular--Dirección EmpresaSiLocationAddress.StreetNumberAndNameE53
55
Circular--Teléfono EmpresaSiOrganizationTelephone.TelephoneNumberE53
56
Circular--Comuna EmpresaSiLocationAddress.RefCountyIdE53
57
CircularE Mail Empresa - Modalidad DualSiE53
58
Circular--Primer nombre TutorSi_Personas; Person; FirstName AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesional
select * from organization a
inner join OrganizationPersonRole rolesupervisor on a.organizationid=rolesupervisor.organizationid and rolesupervisor.roleid=17
left join RefOrganizationType ramopractica on a.reforganizationtypeid=ramopractica.reforganizationtypeid and ramopractica.RefOrganizationTypeId=47
left join person profesorsupervisor on rolesupervisor.personid=profesorsupervisor.personid
left join PersonTelephone telefonosupervisor on profesorsupervisor.personid=telefonosupervisor.personId
left join PersonEmailAddress emailsupervisor on profesorsupervisor.personid=emailsupervisor.personid
59
Circular--Segundo nombre TutorSi_Personas; Person; MiddleName AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesional
select relacion.firstname,
relacion.MiddleName,
relacion.LastName,
relacion.SecondLastName,
direccion.StreetNumberAndName,
comuna.Description,
telefono.TelephoneNumber,
email.emailAddress,
NivelEducacionalMAE.Description EducacionNivel
from person a
inner join PersonRelationship b on a.personid=b.personid and b.refpersonrelationshipid=31
inner join refpersonrelationship c on b.refpersonrelationshipid=c.refpersonrelationshipid
inner join person relacion on b.relatedpersonid=relacion.personid
left join PersonAddress direccion on relacion.personid=direccion.personId
left join refcounty comuna on direccion.RefCountyId=comuna.RefCountyId
left join PersonTelephone telefono on relacion.personid=telefono.personid
left join PersonEmailAddress email on relacion.personid=email.personid
left join PersonDegreeOrCertificate NivelEducacional on relacion.personid=Niveleducacional.personid
left join RefDegreeOrCertificateType NivelEducacionalMAE on Niveleducacional.RefDegreeOrCertificateTypeid=NivelEducacionalMAE.RefDegreeOrCertificateTypeid
60
Circular--Apellido Paterno TutorSi_Personas; Person; LastName AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesionalE59
61
Circular--Apellido Materno TutorSi_Personas; Person; SecondLastName AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesionalE59
62
Circular--Teléfono TutorSi_Personas; PersonTelephone; TelephoneNumber AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesionalE59
63
Circular--Correo TutorSi_Personas; PersonEmailAddress; EmailAddress AND OrganizationPersonRole.RoleId == 17 Tutor(a) práctica profesionalE59
64
CircularRut - DV Tutor- Modalidad DualSi
65
CircularNacionalidadSi_Personas; PersonBirthplace ; refcountryidselect a.personid,c.Description Nacionalidad from Person a
left join PersonBirthplace b on a.personid=b.personid
left join RefCountry c on b.refcountryid=c.refcountryid
66
CircularETNIASi_Personas; RefTribalAffiliation ; RefTribalAffiliationid
select a.personid,b.Description ETNIA from person a
left join RefTribalAffiliation b on a.RefTribalAffiliationid=b.RefTribalAffiliationid
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100