GS: Assessment: API: POST /quality-api/assessments/{id}/team-members
Üldkirjeldus
Teenus võimaldab salvestada meeskonnaliikme andmed hindamisele.
Seotud andmeobjektid:
NSIL-145 - Getting issue details... STATUS NSIL-834 - Getting issue details... STATUS NSIL-1211 - Getting issue details... STATUS NSIL-1246 - Getting issue details... STATUS
Eeltingimused ja kasutusõigused
- Kui tegemist on asutusepõhise hindamisega (assessmentScope = INSTITUTIONAL):
- Kasutajal peab olema hindamise valdkonnaga seotud hindamise meeskonna liikmete haldamise õigus ja kasutaja peab olema seotud asutusega, mis on seotud hindamisega.
- Classifier.classifierItemCode = Assessment.domain
- Classifier.classifierAttributeDefinitionCode =ASSESSMENT_TEAM_MEMBER_MANAGE_PRIVILEGE
- Classifier.attributeValue = Kasutaja poolt valitud rolli privileegide hulgas olev privileeg.
- Assessment.institution.id = Kasutaja poolt valitud rolliga seotud asutus.
- Kasutajal peab olema hindamise valdkonnaga seotud hindamise meeskonna liikmete haldamise õigus ja kasutaja peab olema seotud asutusega, mis on seotud hindamisega.
- Kui tegemist on isikupõhise hindamisega (assessmentScope =INDIVIDUAL) ja mittehierarhilise hindamisega või hierarhilise hindamise peamise hindamisega (assessmentHierarchyType = null või MAIN_ASSESSMENT (!= SUB_ASSESSMENT)):
- Päringu käivitanud kasutaja on isik, kelle suhtes hindamist läbi viiakse.
- Assessment.personalCode = Päringu käivitanud isiku isikukood.
- Päringu käivitanud kasutaja on seotud hindamisega seotud asutusega.
- Assessment.institution.id = Kasutaja poolt valitud rolliga seotud asutus.
- Päringu käivitanud kasutajal on hindamisega seotud asutuses hindamisega seotud ametikoht.
- Assessment.jobSite = Kasutaja poolt valitud rolliga seotud asutusega seotud ametikoht.
- Päringu käivitanud kasutaja on isik, kelle suhtes hindamist läbi viiakse.
- Kui kasutaja on hindamise meeskonna liige (Kehtib asutusepõhistel ja isikupõhistel hindamistel).
- Kasutajal peab olema hindamise valdkonnaga seotud hindamise meeskonna liikmete haldamise õigus töödeldava hindamisega seoses ja kasutaja peab olema seotud hindamisega.
- AssessmentTeamMember.personalCode = Päringu käivitanud isiku isikukood.
- AssessmentTeamMember.objectStatus = CURRENT
- Classifier.classifierItemCode = Assessment.domain
- Classifier.classifierAttributeDefinitionCode = ASSESSMENT_TEAM_MEMBER_MANAGE_PRIVILEGE
- Classifier.attributeValue = Kasutaja poolt valitud rolli privileegide hulgas olev privileeg.
- Kasutajal peab olema hindamise valdkonnaga seotud hindamise meeskonna liikmete haldamise õigus töödeldava hindamisega seoses ja kasutaja peab olema seotud hindamisega.
- Kui tegemist on isikupõhise hierarhilise hindamise alamhindamisega (assessmentHierarchyType = SUB_ASSESSMENT), siis meeskonna liikmeid lisada ei saa.
Sisendid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Vaikeväärtus, valideerimine | Kirjeldus, täiendav info |
|---|---|---|---|---|
| id | 1 | String |
| Hindamise id. |
| personalCode | 1 | String |
| Lisatava isiku isikukood |
| roleType | 1 | EHIS Classifier |
| Meeskonna liikme roll hindamisel. |
| 0..1 | String |
| Meeskonna liikme e-posti aadress. |
Väljundid
| Atribuut | Kohustuslikkus, mitmesus | Tüüp | Kirjeldus, täiendav info |
|---|---|---|---|
| id | 1 | String (PK) | Meeskonna liikme id (UUID). |
| personalCode | 1 | String | Meeskonna liikme isikukood |
| firstName | 1 | String | Meeskonna liikme eesnimi |
| lastName | 1 | String | Meeskonna liikme perenimi |
| roleType | 1 | Meeskonna liikme roll hindamisel. Väärtusena klassifikaatori ASSESSMENT_ROLE elemendi viide. | |
0..1 | String | Meeskonna liikme e-posti aadress | |
| phoneNumber | 0..1 | String | Meeskonna liikme telefoninumber |
| institution | 0..1 | String | Meeskonna liikme asutus |
| jobTitle | 0..1 | String | Meeskonna liikme ametinimetus |
| competences.competenceType | 0..* | EHIS Classifier list | Meeskonnaliikme tegevusvaldkonnad nimetus. Väärtusena klassifikaatori MEMBER_COMPETENCE elemendi viide. |
| vocations | 0..* | Array | Meeskonna liikme kehtivad kutsestandardi nimetused. |
| profileColor | 1 | String | Meeskonnaliikme profiili värvikood. |
| objectStatus | 1 | String | Objekti staatus.
|
Tegevused
- Süsteem kontrollib, kas kasutajal on õigust päringut teostada.
- Kui kasutajal ei ole õigust päringut teostada, siis lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem kontrollib, kas andmed vastavad nõuetele.
- Kui andmed ei vasta nõuetele, siis lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib päringus esitatud tingimustele vastava hindamise.
- Süsteem otsib Objektid#Assessment objekti, mille
- id = Sisendis esitatud id väärtus.
- objectStatus = CURRENT
- Kui tingimustele vastavat objekti ei leitud, siis lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#Assessment objekti, mille
- Süsteem kontrollib, kas samale isikul on leitud hindamise raames mõni sama rolli skoobiga roll lisatud.
- Süsteem otsib Objektid#Assessment.teamMembers.member objekti, mille:
- Assessment.id = Sisendis esitatud id väärtus.
- Assessment.teamMembers.member.personalCode = Sisendis esitatud personalCode väärtus.
- Assessment.teamMembers.member.objectStatus = CURRENT
- Süsteem kontrollib, kas sisendis esitatud roleType Klassifikaatorid#KlassifikaatorASSESSMENT_ROLE on sama ROLE_SCOPE (KL atribuut) väärtus (KL atribuut), mis leitud AssessmentTeamMember.roleType väärtusel
- Kui sama isik on juba hindamisega seotud sama rolli skoobi raames, siis lõpetatakse päringu töötlemine ja tagastatakse http veakood.
- Süsteem otsib Objektid#Assessment.teamMembers.member objekti, mille:
- Süsteem otsib isikut EHIS-e kasutajate hulgast.
- Süsteem käivitab otsitava isiku andmete saamiseks päringu KA Kasutajate päring. Sisend:
- idCode = Sisendis esitatud personalCode väärtust.
- Kui isikut ei leitud, siis jätkatakse käesoleva päringu töötlust ja meeskonna liige luuakse ilma nimeta.
- idCode = Sisendis esitatud personalCode väärtust.
- Süsteem käivitab otsitava isiku andmete saamiseks päringu KA Kasutajate päring. Sisend:
- Süsteem loob hindamise meeskonnaliikme andmed.
- Süsteem loob Objektid#Assessment.teamMembers.member objekti:
- id = UUID
- personalCode = Sisendis esitatud personalCode väärtus.
- firstName = KA Kasutajate päring.response.user.firstName või null
- lastName = KA Kasutajate päring.response.user.lastName või null
- roleType = Sisendis esitatud roleType väärtus.
- email = Sisendis esitatud email väärtus.
- phoneNumber = null
- institution = null
- jobTitle = null
- competences = null
- vocations = null
- profileColor = Värv valitakse HS visualiseerimise põhimõtete primaarse värvipaletti värvide hulgast. Värvid määratakse meeskonna liikmele selliselt, et esmalt valitakse meeskonna liikmele värv, mida ühelegi teisele kehtivale (objectStatus = CURRENT) meeskonna liikmele sama hindamise raames määratud ei ole. Kui kõik unikaalsed värvid on hindamise raames kasutusel, siis valitakse liikmele värv, mida on kõige vähem liikmetele sama hindamise raames määratud.
- Kasutatavad värvid:
- #14AAAD - teal
- #468CDF - sinine
- #9467BD - lilla
- #E377C2 - roosa
- #FF7F0E - oranž
- #E6BC05 - kollane
- #2CA02C - roheline
- #7F7F7F - hall
- #8C564B - pruun
- #D62728 - punane
- #B44FB0 - soe lilla
- #1F77B4 - soe sinine
- #BCBD22 - soe roheline
- #D17805 - ooker
- Kasutatavad värvid:
- subAssessmentId = null
- objectStatus = CURRENT
- audit = audit
- Süsteem loob Objektid#Assessment.teamMembers.member objekti:
- Kui tegemist on hierarhilise hindamise peamise hindamisega ja lisatud meeskonna liige ei ole vaikimisi roll, siis:
- Tingimused:
- Assessment.assessmentHierarchyType = MAIN_ASSESSMENT
- Sisendis roleType = Klassifikaatorid#KlassifikaatorASSESSMENT_ROLE väärtus, mille ROLE_SCOPE (klassifikaatori atribuut) = 360_ASSESSMENT_ROLE
- Süsteem otsib kaasatud rolli hindamismudeli.
- Kaasatud rolli kehtiva hindamismudeli otsing:
- AssessmentModel objektid, mille:
- domainType = Assessment.domainType
- assessmentType = Klassifikaatorid#KlassifikaatorASSESSMENT_TYPE, mille
- upperClassifierItemCode = Assessment.assessmentType
- ASSESSMENT_HIERARCHY (klassifikaatori atribuut) = SUB_ASSESSMENT
- ASSESSMENT_TYPE_ASSESSMENT_ROLE (klassifikaatori link) ASSESSMENT_ROLE (classifierItemCode2) = Sisendis esitatud roleType
- validFrom <= Päringu käivitamise kuupäev
- validUntil > Päringu käivitamise kuupäev
- confirmed = true
- AssessmentModel objektid, mille:
- Kaasatud rolli kehtiva hindamismudeli otsing:
- Süsteem loob kaasatud isikule hindamise.
- id = UUID
- assessmentModelId = Kaasatud rolli AssessmentModel.id
- assessmentHierarchyType = SUB_ASSESSMENT
- archivedAt = null
- parentAssessmentId = Sisendis esitatud id väärtus.
- domain = Kaasatud rolli AssessmentModel.domain
- assessmentType = Kaasatud rolli AssessmentModel.assessmentType
- assessmentScope = Kaasatud rolli AssessmentModel.assessmentScope
- personalCode = Sisendis esitatud personalCode väärtus.
- jobsite = null
- startDate = Päringu teostamise kuupäev.
- endDate = null
- phases (Lisatakse AssessmentModel.phases väärtused)
- phases.phase.id = UUID
- phases.phase.phaseType = Kaasatud rolli AssessmentModel.phases.phase.phaseType
- phases.phase.startDate = Päringu teostamise kuupäev.
- phases.phase.endDate = null
- phases.phase.confirmationDate = null
- institution = null.
- teamMembers
- teamMembers.member.id = UUID
- teamMembers.member.personalCode = Sisendis esitatud personalCode väärtus.
- teamMembers.member.firstName = KA Kasutajate päring.response.user.firstName või null
- teamMembers.member.lastName =KA Kasutajate päring.response.user.lastName või null
- teamMembers.member.roleType = TEAM_LEAD
- teamMembers.member.email = Sisendis esitatud email väärtus.
- teamMembers.member.phoneNumber = null
- teamMembers.member.institution = null
- teamMembers.member.jobTitle = null
- teamMembers.member.competences = null
- teamMembers.member.vocations = null
- teamMembers.member.profileColor = #9467BD
- teamMembers.member.objectStatus = CURRENT
- teamMembers.member.audit = audit (Hindamise looja andmed)
- assessmentComponent.reportTabs
- assessmentComponent.reportTabs.reportTab = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab
- assessmentComponent.reportTabs.reportTab.id = UUID
- assessmentComponent.reportTabs.reportTab.definitionId = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab.id
- assessmentComponent.reportTabs.reportTab.name = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab.name
- assessmentComponent.reportTabs.reportTab.pbiWorkspaceId = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab.pbiWorkspaceId
- assessmentComponent.reportTabs.reportTab.pbiReportId = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab.pbiReportId
- assessmentComponent.reportTabs.reportTab.seqNo = Kaasatud rolli AssessmentModel.assessmentComponent.reportTabs.reportTab.seqNo
- assessmentComponent.reportTabs.reportTab.audit = Objekti looja andmed
- assessmentComponent.reportTabs.reportTab.objectStatus = CURRENT
- Objektid#AssessmentComponentSection
- Lisatakse ainult kehtivad objektid (Kaasatud rolli AssessmentModelComponentSection.objectStatus = CURRENT).
- id = UUID
- assessmentId = Loodud hindamise id.
- allowedToAddAssessmentResultSection =
- Kui AssessmentComponentSection.definitionId = AssessmentModel.result.sections.section.assessmentComponents, siis AssessmentComponentSection.allowedToAddAssessmentResultSection = true
- Kui AssessmentComponentSection.definitionId != AssessmentModel.result.sections.section.assessmentComponents, siis AssessmentComponentSection.allowedToAddAssessmentResultSection = false
- definitionId = Kaasatud rolli AssessmentModelComponentSection.id
- name = Kaasatud rolli AssessmentModelComponentSection.name
- helpText = Kaasatud rolli AssessmentModelComponentSection.helpText
- shortName = Kaasatud rolli AssessmentModelComponentSection.shortName
- audit = audit (Hindamise looja andmed)
- objectStatus = CURRENT
- Lisatakse ainult kehtivad objektid (Kaasatud rolli AssessmentModelComponentSection.objectStatus = CURRENT).
- Objektid#AssessmentComponentElement
- Kui hindamismudelil on elemendil mitu etappi, siis loob süsteem iga etapi kohta eraldi elemendi väärtuse. Näiteks, kui hindamismudelis on element.phaseTypes = Enesehindamine ja Välishindamine, siis loob süsteem kummagi etapi kohta eraldi elemendi objekti.
- Kui hindamismudeli elemendiga on seotud faile, siis kopeerib süsteem failid failisüsteemis, loob uued Objektid#File objektid ja seob need Objektid#AssessmentComponentElement objektidega.
- Lisatakse ainult kehtivad objektid (Kaasatud rolli AssessmentModelComponentElement..objectStatus = CURRENT).
- id = UUID
- assessmentId = Loodud hindamise id.
- definitionId = Kaasatud rolli AssessmentModelComponentElement..id
- contentType = Kaasatud rolli AssessmentModelComponentElement..contentType
- label = Kaasatud rolli AssessmentModelComponentElement..label
- labelDisplayedOnAssessment = Kaasatud rolli AssessmentModelComponentElement..labelDisplayedOnAssessment
- helpText = Kaasatud rolli AssessmentModelComponentElement..helpText
- pbi = Kaasatud rolli AssessmentModelComponentElement..pbi
- pbi.workspaceId = Kaasatud rolli AssessmentModelComponentElement..pbi.workspaceId
- pbi.reportId = Kaasatud rolli AssessmentModelComponentElement..pbi.reportId
- phaseType = Kaasatud rolli AssessmentModelComponentElement..phaseTypes
- inputType = Kaasatud rolli AssessmentModelComponentElement..inputType
- mandatory = Kaasatud rolli AssessmentModelComponentElement..mandatory
- synchronizedToDwh = Kaasatud rolli AssessmentModelComponentElement..synchronizedToDwh
- textAreaValue =Kaasatud rolli AssessmentModelComponentElement..textAreaValue
- options.option.id = UUID
- options.option.seqNo = Järjekorranumber ühe vormielemendi piires. Esimene väärtus on 1. Valikud peavad olema samas järjekorras, mis Kaasatud rolli AssessmentModelComponentElement..optionTexts väärtused.
- options.option.text = Kaasatud rolli AssessmentModelComponentElement..optionTexts
- options.option.selected = false
- numberValue = null
- percentage.targetLevel = Kaasatud rolli AssessmentModelComponentElement..percentageTargetLevel
- percentage.partValue = null
- percentage.wholeValue = null
- hyperlinks =Kaasatud rolli AssessmentModelComponentElement..hyperlinks
- scale.values.id = UUID
- scale.values.value = Kaasatud rolli AssessmentModelComponentElement..scale.values.value
- scale.values.valueText = Kaasatud rolli AssessmentModelComponentElement..scale.values.valueText
- scale.values.selected = false
- files.fileId = Loodud Objektid#File.id väärtus.
- files.title = Kaasatud rolli AssessmentModelComponentElement..files.title
- source = ASSESSMENT_MODEL
- objectStatus = CURRENT
- audit = audit (Hindamise looja andmed)
Süsteem loob Objektid#Assessment objekti:
- Objektid#AssessmentComponentOrder
- Süsteem lisab iga loodud elemendi hindamise komponendi järjekorda.
- Süsteem loob Objektid#AssessmentComponentOrder objektid:
- id = UUID
- assessmentId = Loodud Assessment.id
- components = AssessmentModelComponentOrder
- components.id = AssessmentComponentSection.Id (sektsioon) või AssessmentComponentSectionElement.id (vormielement)
- components.definitionId = AssessmentComponentSection.definitionId (sektsioon) või AssessmentComponentSectionElement.definitionId
- components.type = AssessmentComponentSection.Id (SECTION) või AssessmentComponentSectionElement.id (ELEMENT)
- objectStatus = CURRENT
- audit = audit
- Teavituste saatmine
- Süsteem otsib hindamise alustamise teavituse seadistuse.
- Süsteem otsib hindamise valdkonnaga seotud hindamise alustamise teavituse definitsiooni.
- Süsteem otsib EHIS ClassifierAttributeValue.attributeValue väärtust (Klassifikaatorid#KlassifikaatorDOMAIN), mille:
- ClassifierAttributeValue.classifierAttributeDefinitionCode = NEW_ASSESSMENT_MESSAGE_DEFINITION
- ClassifierAttributeValue.classifierItemCode = Loodud Assessment.domainType
- Kui teavituse definitsiooni ei leitud, siis lõpetatakse teavituste saatmise töötlemine ja jätkatakse päringu töötlemisega.
- Süsteem otsib EHIS ClassifierAttributeValue.attributeValue väärtust (Klassifikaatorid#KlassifikaatorDOMAIN), mille:
- Süsteem otsib Objektid#AssessmentModelNotificationSetting objekti, mille:
- assessmentModelId = Loodud Assessment.assessmentModelId
- messageActionType = NEW_ASSESSMENT
- objectStatus = CURRENT
- Kui leitud teavituse seadistusel ei ole olemas vähemalt ühte hindamise rolli tüüpi (assessmentRoleTypes = null) või vähemalt ühte ehis privileegi (ehisPrivileges = null), siis lõpetatakse teavituste saatmise töötlemine ja jätkatakse päringu töötlemisega.
- Kui leitud teavituse seadistusel on olemas vähemalt üks hindamise rolli tüüp (assessmentRoleTypes != null) või üks ehis privileeg, siis saadab süsteem teavituse.
- Teavituse saatmiseks käivitab süsteem EHIS x-tee teenuse POST /xroad/v1/sendMessages. Sisend:
- institutionId = Assessment.institution.id, mille Assessment.id = Sisendis esitatud id väärtus.
- privilegeCodes = AssessmentModelNotificationSetting.ehisPrivileges
- emailAddresses = AssessmentTeamMember.email väärtused, mille roleType = AssessmentModelNotificationSetting.assessmentRoleTypes, email != null ja objectStatus = CURRENT
- messageTemplateCode = Leitud EHIS ClassifierAttributeValue.attributeValue väärtust (Klassifikaatorid#KlassifikaatorDOMAIN)
- messageTemplateParameterList
- [0]
- name = INSTITUTION_NAME
- value = Assessment.institution.name, mille Assessment.id = Sisendis esitatud id väärtus.
- [1]
- name = ASSESSMENT_START_DATE
- value = Loodud Assessment.startDate (DD.MM.YYYY vormingus)
- [0]
- Teavituse saatmiseks käivitab süsteem EHIS x-tee teenuse POST /xroad/v1/sendMessages. Sisend:
- Süsteem otsib hindamise valdkonnaga seotud hindamise alustamise teavituse definitsiooni.
- Süsteem otsib hindamise alustamise teavituse seadistuse.
- Kaasatud rolli ja loodud hindamise sidumine.
- Süsteem uuendab AssessmentTeamMember objekti (p6 loodud):
- subAssessmentId = p7 loodud Assessment.id
- Süsteem uuendab AssessmentTeamMember objekti (p6 loodud):
- Kaasatud rollile tööülesande loomine.
- AssessmentTask:
- id = UUID
- AssessmentId = Sisendis esitatud id väärtus.
- assessmentPhaseId = assessmentPhaseId, mille phaseType = Enesehindamine
- activityName = Hindamise täitmine
- activityDescription = Hindamise täitmine
- startDate = Päringu käivitamise kuupäev
- endDate = Päringu käivitamise kuupäev + AssessmentModel.includedSubRoles.questionnaireDeadlineDays, mille
- AssessmentModel.includedSubRoles.roleType = Sisendis esitatud roleType väärtus
- AssessmentModel.id = Assessment.assessmentModelId, mille
- Assessment.id = Sisendis esitatud id väärtus.
- status = IN_PROGRESS
- completionTime = null
- objectStatus = CURRENT
- subAssessmentId = p7 loodud Assessment.id
- audit (loomine) = audit (loomine)
- AssessmentTask:
- Loodud tööülesande ja selle täitja sidumine.
- AssessmentTaskAssignee:
- id = UUID
- assessmentTaskId = p7.e loodud assessmentTask.id väärtus.
- firstName = p6 loodud assessmentTeamMember.firstName väärtus.
- lastName = p6 loodud assessmentTeamMember.lastName väärtus.
- objectStatus = CURRENT
- audit (loomine) = audit (loomine)
- personalCode = Sisendis esitatud personalCode väärtus.
- profileColor = p6 loodud assessmentTeamMember.profileColor väärtus.
- teamMemberId = p6 loodud objekti id.
- AssessmentTaskAssignee:
- Süsteem otsib kaasatud rolli hindamismudeli.
- Tingimused:
- Süsteem tagastab loodud andmed.