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