Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MCM proposals - Professional informations #3

Open
wants to merge 16 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ to ask some specific OAuth2 scopes. Exemples of CMS scopes:
- `urn:cms:personal-informations:read`: read access to the user's basic
personal informations
- `urn:cms:civil-status:read`: read access to the user's civil status
- `urn:cms:professional-informations:read`: read access to the user's basic
professional informations


Fetching data
Expand All @@ -33,7 +35,8 @@ needs.
Claims
------

| name | required scope | Schema
| ----------------------|--------------------------------------|-------
| personalInformations | `urn:cms:personal-informations:read` | [Personal informations](../conceptual_model/personal-informations.md)
| civilStatus | `urn:cms:civil-status:read` | [Civil status](../conceptual_model/civil-status.md)
| name | required scope | Schema
| --------------------------|-----------------------------------------|-------
| personalInformations | `urn:cms:personal-informations:read` | [Personal informations](../conceptual_model/personal-informations.md)
| civilStatus | `urn:cms:civil-status:read` | [Civil status](../conceptual_model/civil-status.md)
| professionalInformations | `urn:cms:professional-informations:read`| [Professional informations](../conceptual_model/professional-informations.md)
13 changes: 7 additions & 6 deletions conceptual_model/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@ if it has been certified.
We defined for this purpose special data types, each with the following
attributes :

| Name | Type | Description
| ------------------|------------|---------------------------------
| value | any | The claim value
| source | string | Source of the data
| certificationDate | datetime | If the data was certified, and when.
| Name | Type | Description
| ------------------------|------------|------------------------------------------------------------------------------------------
| value | any | The claim value
| source | string | Source of the data
| certificationDate | datetime | If the data was certified, and when.
| certificationExpiryDate | datetime | If the data was certified, and when the information will no longer valid (if applicable).

See [Field types](field-types.md)

Expand All @@ -28,5 +29,5 @@ Main Entities

- [Personal Informations](personal-informations.md)
- [Civil status](civil-status.md)

- [Professional Informations](professional-informations.md)

2 changes: 1 addition & 1 deletion conceptual_model/civil-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ Attributes
| birthDate | [date](field-types.md#date-field)
| birthPlace | [string](field-types.md#string-field)
| birthCountry | [country](field-types.md#country-field)

| status | [string](field-types.md#string-field)
87 changes: 52 additions & 35 deletions conceptual_model/field-types.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,79 @@

### String field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | any
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | any
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Date field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Email field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322#section-3.4)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Postal address field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | AFNOR NF Z 10-011
| source | string | any
| certificationDate | dstring | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | AFNOR NF Z 10-011
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Phone number field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | [E.164 Standard](https://www.itu.int/rec/T-REC-E.164/)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | [E.164 Standard](https://www.itu.int/rec/T-REC-E.164/)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Gender field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | number | [ISO/IEC 5218](https://en.wikipedia.org/wiki/ISO/IEC_5218)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | number | [ISO/IEC 5218](https://en.wikipedia.org/wiki/ISO/IEC_5218)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Country field

| Name | Type | Format
| ------------------|----------|---------------------------------
| value | string | [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)


### Status field

| Name | Type | Format
| ------------------------|----------|---------------------------------
| value | string | EMPLOYEE | STUDENT | SELF-EMPLOYED | RETIREE | UNEMPLOYED
| source | string | any
| certificationDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
| certificationExpiryDate | string | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
16 changes: 16 additions & 0 deletions conceptual_model/professional-informations.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Professional Informations
=========================

[JSON Schema](schemas/professional-information.schema.json)


Attributes
----------

| Name | Type
| -----------------------|----------
| workingEmail | [email](field-types.md#email-field)
| workingPostalAddress | [postal-address](field-types.md#postal-address-field)
| workingPhoneNumber | [phone number](field-types.md#phone-number-field)
| entrepriseName | [string](field-types.md#string-field)
| employeeId | [string](field-types.md#string-field)
78 changes: 64 additions & 14 deletions conceptual_model/schemas/civil-status.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@
"birthCountry": {
"description": "The person's birth country",
"$ref": "#/$defs/country_field"
},
"status": {
"description": "The person's global status",
"$ref": "#/$defs/status_field"
}
},
"required": [],
Expand All @@ -55,12 +59,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand All @@ -77,12 +84,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand All @@ -99,12 +109,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand Down Expand Up @@ -156,12 +169,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand All @@ -179,12 +195,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand All @@ -202,12 +221,15 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
},
Expand All @@ -226,12 +248,40 @@
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source"
],
"additionalProperties": false
},
"status_field": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": ["EMPLOYED", "STUDENT", "SELF-EMPLOYED", "RETIREE", "UNEMPLOYED"]
},
"source": {
"type": "string"
},
"certificationDate": {
"type": "string",
"format": "date-time"
},
"certificationExpiryDate": {
"type": "string",
"format": "date-time"
}
},
"required": [
"value",
"source",
"certificationDate"
"source"
],
"additionalProperties": false
}
Expand Down
Loading