see also: Swagger/OpenAPI definition

ORSCF-IdentityManagement Schema Specification

Info
author: ORSCF ("Open Research Study Communication Formats") / T.Korn
license: Apache-2
version: 1.5.0
timestamp: 2021-09-11 12:40

Contents

Model:

chart

StudyScope

Fields

Name Type Required Fix
StudyWorkflowName (PK) string (100) YES YES
StudyWorkflowVersion (PK) string (20) YES YES
ParticipantIdentifierSemantic string YES no

Unique Keys

  • StudyWorkflowName + StudyWorkflowVersion (primary)

StudyScope.StudyWorkflowName (Field)

the official invariant name of the study as given by the sponsor

  • this field represents the identity (PK) of the record
  • the maximum length of the content within this field is 100 characters.
  • after the record has been created, the value of this field must not be changed any more!

StudyScope.StudyWorkflowVersion (Field)

version of the workflow

  • this field represents the identity (PK) of the record
  • the maximum length of the content within this field is 20 characters.
  • 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"

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
ExecutingInstituteIdentifier string YES no
StudyWorkflowName (FK) string (100) YES no
StudyWorkflowVersion (FK) string (20) 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.ExecutingInstituteIdentifier (Field)

the institute which is executing the study (this should be an invariant technical representation of the company name or a guid)

StudyExecutionScope.StudyWorkflowName (Field)

  • this field is used as foreign key to address the related 'StudyScope'
  • the maximum length of the content within this field is 100 characters.

StudyExecutionScope.StudyWorkflowVersion (Field)

  • this field is used as foreign key to address the related 'StudyScope'
  • the maximum length of the content within this field is 20 characters.

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: StudyWorkflowName + StudyWorkflowVersion.

CreatedParticipations (refering to this StudyExecutionScope)

Target: SubjectParticipation

SubjectParticipation

Fields

Name Type Required Fix
ParticipantIdentifier (PK) string (50) YES no
StudyWorkflowName (FK) string (100) YES no
StudyWorkflowVersion (FK) string (20) YES no
CreationDateUtc datetime YES no
CreatedForStudyExecutionIdentifier (FK) guid YES no
SubjectIdentityRecordId (FK) guid no no

Unique Keys

  • ParticipantIdentifier (primary)

SubjectParticipation.ParticipantIdentifier (Field)

identity 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.StudyWorkflowName (Field)

  • this field is used as foreign key to address the related 'StudyScope'
  • the maximum length of the content within this field is 100 characters.

SubjectParticipation.StudyWorkflowVersion (Field)

  • this field is used as foreign key to address the related 'StudyScope'
  • the maximum length of the content within this field is 20 characters.

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: StudyWorkflowName + StudyWorkflowVersion.

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

Unique Keys

  • ParticipantIdentifier + IdentifierName (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!

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.

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
Email 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