IMPORTANT: ORSCF V2 was not relased – THIS IS AN ALPHA STATE!

V1 can be found here

see also: Swagger/OpenAPI definition

ORSCF-BillingData 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

Model:

chart

BillingItem

Respresents a Snapshot, containig al the values, which are required to be fixed in relation to a concrete invoice or demand

Fields

Name Type Required Fix
BillingItemId (PK) int64 YES no
CreationDateUtc datetime YES no
SponsorValidationDateUtc datetime no no
ExecutorValidationDateUtc datetime no no
BillingDemandId (FK) guid no no
InvoiceId (FK) guid no no
FixedExecutionState int32 YES no
FixedPriceOfItem decimal YES no
FixedPriceOfTasks decimal YES no
FixedTaxPercentage decimal YES no
TasksRelatedInfo string YES no
BillableItemUid (FK) guid no no
Description string YES no

Unique Keys

  • BillingItemId (primary)

BillingItem.BillingItemId (Field)

  • this field represents the identity (PK) of the record
  • this identity is a internal record id, so that it must not be exposed to other systems or displayed to end-users!

BillingItem.SponsorValidationDateUtc (Field)

  • this field is optional, so that 'null' values are supported

BillingItem.ExecutorValidationDateUtc (Field)

  • this field is optional, so that 'null' values are supported

BillingItem.BillingDemandId (Field)

  • this field is optional, so that 'null' values are supported
  • this field is used as foreign key to address the related 'AssignedDemand'

BillingItem.InvoiceId (Field)

  • this field is optional, so that 'null' values are supported
  • this field is used as foreign key to address the related 'AssignedInvoice'

BillingItem.FixedPriceOfItem (Field)

Including 'FixedPriceOfTasks' but excluding Taxes

BillingItem.FixedPriceOfTasks (Field)

An additional info which is only relevant when declaing Subtasks

BillingItem.BillableItemUid (Field)

  • this field is optional, so that 'null' values are supported
  • this field is used as foreign key to address the related 'BillableItem'

Relations

Navigation-Name Role Target-Type Target-Multiplicity
AssignedDemand Lookup BillingDemand 1 (required)
AssignedInvoice Lookup Invoice 1 (required)
BillableItem Lookup BillableItem 1 (required)
AssignedDemand (lookup from this BillingItem)

Target Type: BillingDemand Addressed by: BillingDemandId.

AssignedInvoice (lookup from this BillingItem)

Target Type: Invoice Addressed by: InvoiceId.

BillableItem (lookup from this BillingItem)

Target Type: BillableItem Addressed by: BillableItemUid.

StudyExecutionScope

Fields

Name Type Required Fix
StudyExecutionIdentifier (PK) guid YES YES
ExecutingInstituteIdentifier string YES YES
StudyWorkflowName string (100) YES YES
StudyWorkflowVersion string (20) YES YES
ExtendedMetaData string no no
SiteRelatedTaxPercentage decimal YES no
SiteRelatedCurrency string 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
  • after the record has been created, the value of this field must not be changed any more!

StudyExecutionScope.ExecutingInstituteIdentifier (Field)

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

  • after the record has been created, the value of this field must not be changed any more!

StudyExecutionScope.StudyWorkflowName (Field)

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

  • 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!

StudyExecutionScope.StudyWorkflowVersion (Field)

version of the workflow

  • 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!

StudyExecutionScope.ExtendedMetaData (Field)

optional structure (in JSON-format) containing additional metadata regarding this record, which can be used by 'StudyExecutionSystems' to extend the schema

  • this field is optional, so that 'null' values are supported

StudyExecutionScope.SiteRelatedCurrency (Field)

ISO 3-Letter Code (USD, EUR, ...)

Relations

Navigation-Name Role Target-Type Target-Multiplicity
BillingDemands Childs BillingDemand * (multiple)
Invoices Childs Invoice * (multiple)
BillingDemands (childs of this StudyExecutionScope)

Target: BillingDemand

Invoices (childs of this StudyExecutionScope)

Target: Invoice

BillableItem

Fields

Name Type Required Fix
BillableItemUid (PK) guid YES no
StudyExecutionIdentifier (FK) guid YES no
ParticipantIdentifier string (50) YES no
VisitProcedureName string YES no
UniqueExecutionName string YES no
ExecutionEndDateUtc datetime no no
Description string no no
RelatedTo string YES no

Unique Keys

  • BillableItemUid (primary)

BillableItem.BillableItemUid (Field)

a global unique id of a concrete study-visit execution which is usually originated at the primary CRF or study management system ('SMS')

  • this field represents the identity (PK) of the record

BillableItem.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 is used as foreign key to address the related 'StudyExecution'

BillableItem.ParticipantIdentifier (Field)

identity of the patient which can be a randomization or screening number (the exact semantic is defined per study)

  • the maximum length of the content within this field is 50 characters.

BillableItem.VisitProcedureName (Field)

unique invariant name of the visit-procedure as defined in the 'StudyWorkflowDefinition' (originated from the sponsor)

BillableItem.UniqueExecutionName (Field)

title of the visit execution as defined in the 'StudyWorkflowDefinition' (originated from the sponsor)

BillableItem.ExecutionEndDateUtc (Field)

  • this field is optional, so that 'null' values are supported

BillableItem.Description (Field)

  • this field is optional, so that 'null' values are supported

BillableItem.RelatedTo (Field)

One of the following values: 'General' / 'Site' / 'Paticipant' (Requires a ParticipantIdentifier) / 'Visit' (Requires a ParticipantIdentifier and UniqueExecutionName)

Relations

Navigation-Name Role Target-Type Target-Multiplicity
StudyExecution Parent StudyExecutionScope 0/1 (optional)
StudyExecution (parent of this BillableItem)

Target Type: StudyExecutionScope Addressed by: StudyExecutionIdentifier.

BillingDemand

created by the sponsor

Fields

Name Type Required Fix
Id (PK) guid YES no
OfficialNumber string YES no
StudyExecutionIdentifier (FK) guid YES no
TransmissionDateUtc datetime no no
CreationDateUtc datetime YES no
CreatedByPerson string YES no

Unique Keys

  • Id (primary)

BillingDemand.Id (Field)

  • this field represents the identity (PK) of the record

BillingDemand.StudyExecutionIdentifier (Field)

  • this field is used as foreign key to address the related 'StudyExecution'

BillingDemand.TransmissionDateUtc (Field)

  • this field is optional, so that 'null' values are supported

Relations

Navigation-Name Role Target-Type Target-Multiplicity
StudyExecution Parent StudyExecutionScope 0/1 (optional)
BillingItems Referers BillingItem * (multiple)
StudyExecution (parent of this BillingDemand)

Target Type: StudyExecutionScope Addressed by: StudyExecutionIdentifier.

BillingItems (refering to this BillingDemand)

Target: BillingItem

Invoice

created by the executor-company

Fields

Name Type Required Fix
Id (PK) guid YES YES
OfficialNumber string YES YES
StudyExecutionIdentifier (FK) guid YES YES
OffcialInvoiceDate datetime YES YES
TransmissionDateUtc datetime no no
CreationDateUtc datetime YES no
CreatedByPerson string YES no
PaymentSubmittedDateUtc datetime no no
PaymentReceivedDateUtc datetime no no
CorrectionOfInvoiceId (FK) guid no no

Unique Keys

  • Id (primary)

Invoice.Id (Field)

  • 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!

Invoice.OfficialNumber (Field)

the invoice number

  • after the record has been created, the value of this field must not be changed any more!

Invoice.StudyExecutionIdentifier (Field)

  • this field is used as foreign key to address the related 'StudyExecution'
  • after the record has been created, the value of this field must not be changed any more!

Invoice.OffcialInvoiceDate (Field)

  • after the record has been created, the value of this field must not be changed any more!

Invoice.TransmissionDateUtc (Field)

  • this field is optional, so that 'null' values are supported

Invoice.PaymentSubmittedDateUtc (Field)

  • this field is optional, so that 'null' values are supported

Invoice.PaymentReceivedDateUtc (Field)

  • this field is optional, so that 'null' values are supported

Invoice.CorrectionOfInvoiceId (Field)

  • this field is optional, so that 'null' values are supported
  • this field is used as foreign key to address the related 'CorrectionOf'

Relations

Navigation-Name Role Target-Type Target-Multiplicity
BillingItems Referers BillingItem * (multiple)
StudyExecution Parent StudyExecutionScope 0/1 (optional)
Corrections Referers Invoice * (multiple)
CorrectionOf Lookup Invoice 1 (required)
BillingItems (refering to this Invoice)

Target: BillingItem

StudyExecution (parent of this Invoice)

Target Type: StudyExecutionScope Addressed by: StudyExecutionIdentifier.

Corrections (refering to this Invoice)

Target: Invoice

CorrectionOf (lookup from this Invoice)

Target Type: Invoice Addressed by: CorrectionOfInvoiceId.