IMPORTANT: ORSCF V2 was not jet relased – THIS IS AN ALPHA STATE!
V1 can be found here
see also: Swagger/OpenAPI definition
ORSCF-IdentityManagement Schema Specification
| Info | |
|---|---|
| author: | ORSCF ("Open Research Study Communication Formats") / T.Korn |
| license: | Apache-2 |
| version: | 2.0.0 |
| timestamp: | 2024-11-03 00:00 |
Contents
- . StudyScope
- ........\ StudyExecutionScope
- ........\ SubjectParticipation
- ................\ AdditionalSubjectParticipationIdentifier
- . SubjectAddress
- . SubjectIdentity
Model:

StudyScope
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| ResearchStudyUid (PK) | guid | YES | YES |
| ParticipantIdentifierSemantic | string | YES | no |
| StudyWorkflowName | string (100) | YES | no |
| StudyWorkflowVersion | string (20) | YES | no |
Unique Keys
- ResearchStudyUid (primary)
StudyScope.ResearchStudyUid (Field)
the official invariant name of the study as given by the sponsor
- this field represents the identity (PK) of the record
- after the record has been created, the value of this field must not be changed any more!
StudyScope.ParticipantIdentifierSemantic (Field)
for example "Screening-Number" or "Randomization-Number"
StudyScope.StudyWorkflowName (Field)
- the maximum length of the content within this field is 100 characters.
StudyScope.StudyWorkflowVersion (Field)
- the maximum length of the content within this field is 20 characters.
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| ExecutionScopes | Childs | StudyExecutionScope | * (multiple) |
| Participations | Childs | SubjectParticipation | * (multiple) |
ExecutionScopes (childs of this StudyScope)
Target: StudyExecutionScope
Participations (childs of this StudyScope)
Target: SubjectParticipation
StudyExecutionScope
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| StudyExecutionIdentifier (PK) | guid | YES | no |
| SiteUid | guid | YES | no |
| ResearchStudyUid (FK) | guid | YES | no |
Unique Keys
- StudyExecutionIdentifier (primary)
StudyExecutionScope.StudyExecutionIdentifier (Field)
a global unique id of a concrete study execution (dedicated to a concrete institute) which is usually originated at the primary CRF or study management system ('SMS')
- this field represents the identity (PK) of the record
StudyExecutionScope.SiteUid (Field)
the institute which is executing the study (this should be an invariant technical representation of the company name or a guid)
StudyExecutionScope.ResearchStudyUid (Field)
- this field is used as foreign key to address the related 'StudyScope'
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| StudyScope | Parent | StudyScope | 0/1 (optional) |
| CreatedParticipations | Referers | SubjectParticipation | * (multiple) |
StudyScope (parent of this StudyExecutionScope)
Target Type: StudyScope Addressed by: ResearchStudyUid.
CreatedParticipations (refering to this StudyExecutionScope)
Target: SubjectParticipation
SubjectParticipation
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| ParticipantIdentifier (PK) | string (50) | YES | no |
| ResearchStudyUid (PK) (FK) | guid | YES | no |
| CreationDateUtc | datetime | YES | no |
| CreatedForStudyExecutionIdentifier (FK) | guid | YES | no |
| SubjectIdentityRecordId (FK) | guid | no | no |
Unique Keys
- ParticipantIdentifier + ResearchStudyUid (primary)
SubjectParticipation.ParticipantIdentifier (Field)
pseudonym of the patient which can be a randomization or screening number (the exact semantic is defined per study)
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 50 characters.
SubjectParticipation.ResearchStudyUid (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'StudyScope'
SubjectParticipation.CreatedForStudyExecutionIdentifier (Field)
- this field is used as foreign key to address the related 'StudyExecutionScope'
SubjectParticipation.SubjectIdentityRecordId (Field)
- this field is optional, so that 'null' values are supported
- this field is used as foreign key to address the related 'Identity'
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| AdditionalIdentifiers | Childs | AdditionalSubjectParticipationIdentifier | * (multiple) |
| StudyExecutionScope | Lookup | StudyExecutionScope | 0/1 (optional) |
| StudyScope | Parent | StudyScope | 0/1 (optional) |
| Identity | Lookup | SubjectIdentity | 1 (required) |
AdditionalIdentifiers (childs of this SubjectParticipation)
Target: AdditionalSubjectParticipationIdentifier
StudyExecutionScope (lookup from this SubjectParticipation)
Target Type: StudyExecutionScope Addressed by: CreatedForStudyExecutionIdentifier.
StudyScope (parent of this SubjectParticipation)
Target Type: StudyScope Addressed by: ResearchStudyUid.
Identity (lookup from this SubjectParticipation)
Target Type: SubjectIdentity Addressed by: SubjectIdentityRecordId.
AdditionalSubjectParticipationIdentifier
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| ParticipantIdentifier (PK) (FK) | string (50) | YES | YES |
| IdentifierName (PK) | string (30) | YES | YES |
| IdentifierValue | string | YES | no |
| ResearchStudyUid (PK) (FK) | guid | YES | no |
Unique Keys
- ParticipantIdentifier + IdentifierName + ResearchStudyUid (primary)
AdditionalSubjectParticipationIdentifier.ParticipantIdentifier (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'Participation'
- the maximum length of the content within this field is 50 characters.
- after the record has been created, the value of this field must not be changed any more!
AdditionalSubjectParticipationIdentifier.IdentifierName (Field)
- this field represents the identity (PK) of the record
- the maximum length of the content within this field is 30 characters.
- after the record has been created, the value of this field must not be changed any more!
AdditionalSubjectParticipationIdentifier.ResearchStudyUid (Field)
- this field represents the identity (PK) of the record
- this field is used as foreign key to address the related 'Participation'
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| Participation | Parent | SubjectParticipation | 0/1 (optional) |
Participation (parent of this AdditionalSubjectParticipationIdentifier)
Target Type: SubjectParticipation Addressed by: ParticipantIdentifier + ResearchStudyUid.
SubjectAddress
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| InternalRecordId (PK) | guid | YES | no |
| Street | string | YES | no |
| HouseNumber | string | YES | no |
| PostCode | string | YES | no |
| City | string | YES | no |
| State | string | YES | no |
| Country | string | YES | no |
| PhoneNumber | string | no | no |
Unique Keys
- InternalRecordId (primary)
- Street + HouseNumber + PostCode + City + State + Country
SubjectAddress.InternalRecordId (Field)
- this field represents the identity (PK) of the record
SubjectAddress.PhoneNumber (Field)
- this field is optional, so that 'null' values are supported
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| SubjectIdentities | Referers | SubjectIdentity | * (multiple) |
SubjectIdentities (refering to this SubjectAddress)
Target: SubjectIdentity
SubjectIdentity
Fields
| Name | Type | Required | Fix |
|---|---|---|---|
| RecordId (PK) | guid | YES | no |
| FirstName | string | no | no |
| LastName | string | no | no |
| Gender | int32 | no | no |
| DateOfBirth | datetime | no | no |
| DateOfDeath | datetime | no | no |
| FullNamePattern | string | no | no |
| Language | string | no | no |
| Notes | string | no | no |
| string | no | no | |
| MobileNumber | string | no | no |
| ResidentAddressId (FK) | guid | no | no |
Unique Keys
- RecordId (primary)
SubjectIdentity.RecordId (Field)
- this field represents the identity (PK) of the record
SubjectIdentity.FirstName (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.LastName (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.Gender (Field)
0=Male / 1=Female / 2=Other
- this field is optional, so that 'null' values are supported
SubjectIdentity.DateOfBirth (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.DateOfDeath (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.FullNamePattern (Field)
can be used to specify the full salutation including all academic grades by a string containing the placeholders: "{G}"=Gender {F}="FirstName" {L}="LastName". If not specified, a generic fallback can be used
- this field is optional, so that 'null' values are supported
SubjectIdentity.Language (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.Notes (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.Email (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.MobileNumber (Field)
- this field is optional, so that 'null' values are supported
SubjectIdentity.ResidentAddressId (Field)
- this field is optional, so that 'null' values are supported
- this field is used as foreign key to address the related 'ResidentAddress'
Relations
| Navigation-Name | Role | Target-Type | Target-Multiplicity |
|---|---|---|---|
| ResidentAddress | Lookup | SubjectAddress | 1 (required) |
| Participations | Referers | SubjectParticipation | * (multiple) |
ResidentAddress (lookup from this SubjectIdentity)
Target Type: SubjectAddress Addressed by: ResidentAddressId.
Participations (refering to this SubjectIdentity)
Target: SubjectParticipation