Skip to content
Assyro AI
EDMS Integration Requirements: An Acceptance Checklist
Compliance Systems

EDMS Integration Requirements: An Acceptance Checklist

Guide

Specify EDMS interfaces by record authority, version identity, permissions, retries and reconciliation. Includes a usable contract worksheet and failure examples.

Assyro Team
10 min read

An EDMS integration requirement should state what crosses the boundary, which system owns it and how the receiver proves it handled the right record correctly. “Has an API” or “connects to our QMS” does not establish those behaviors. Specify the expected outcome and failure response before evaluating a connector.

Use this checklist for interfaces between an EDMS and authoring tools, quality systems, source repositories, publishing services or archives. It is a proposed acceptance framework, not a universal regulatory specification or a tested implementation. Apply it to the exact products, configurations and record populations in your project.

The deliverable is a reviewed interface contract, an acceptance record and an owned exception path. An interface contract here means the agreed behavior and responsibilities; it does not have to be a separate commercial document.

Record the interface identity and permitted purpose

Complete one record for each direction of exchange. A two-way connector may need different rules in each direction. Identify the source and destination versions, environments, business owners, technical operators and document families.

Comparison table with columns Contract field, Decision to record
Contract fieldDecision to record
PurposeExact user or process outcome the exchange supports
Direction and authorityWhich system may create or change each authoritative record
PopulationOrganizations, programs, sites and document types in scope
TriggerEvent, schedule or authorized request that starts the exchange
IdentitySource record/revision, target identity and stable exchange reference
PayloadFiles, metadata, relationships and supporting evidence required
State mappingMeaning of each source state and allowed target result
SecurityPermitted identity, actions, object scope and credential ownership
CompletionEvidence distinguishing received, processed and accepted
Failure handlingRetry, duplicate, stale-event, partial-transfer and escalation rules
ReconciliationHow omissions or mismatches are detected and resolved
Change and exitVersion compatibility, change assessment and shutdown responsibilities

Resolve the word “sync.” Does it mean copy a file, keep selected metadata aligned, register a reference or make the target authoritative? If the parties mean different things, the requirement is not ready for implementation. A connector should not silently acquire permission to approve or delete records because its service account can technically do so.

For computerized systems used in relevant EU GMP activities, Annex 11 section 5 addresses checks for correct and secure electronic data exchange. Section 4.8 separately addresses preservation of value and meaning during migration. These provisions support specifying the business meaning of the transfer; they do not establish an identical interface checklist for every EDMS. EU GMP Annex 11, revision 1.

Checklist A: preserve record identity and meaning

Use Pass, Fail, Unknown and Not applicable with a documented rationale. A required Unknown is an open gate. Record the tested configuration, evidence location and responsible reviewer beside each result.

Comparison table with columns Check, Observable acceptance criterion
CheckObservable acceptance criterion
Record identityTwo files with the same name remain distinguishable by their controlled identities
Exact revisionReceiver identifies the source revision actually transferred, not a moving latest-version link
ContextProduct, study, site or other required applicability remains correct
StateA source draft cannot become approved or effective through an unsupported mapping
Required contentMissing attachments or evidence produce an explicit incomplete result
RelationshipsReferences connect to the intended record and revision, or a defined exception
ProvenanceSource actions remain distinguishable from the connector's import actions
TransformationAny rendition or value conversion has its own acceptance evidence

Keep controlled values tied to their canonical registries. If the source sends a value the destination does not recognize, resolve the mapping instead of selecting a convenient default. A field called “approved” may represent different authority or timing in the two systems.

For a file transformation, check the result appropriate to the intended use. For unchanged content, an integrity comparison can help establish byte preservation. Neither check alone establishes that the selected file was the right approved record.

Checklist B: constrain identities and actions

Comparison table with columns Check, Observable acceptance criterion
CheckObservable acceptance criterion
AuthenticationOnly the intended user or service identity can invoke the interface
Object authorizationAuthorized connector access does not permit an unrelated program's record
Action authorizationRead/export permission does not imply approve, modify or delete permission
Credential changeExpiry, revocation and rotation produce controlled behavior and visible failures
Retained outputLogs, staging areas and error reports follow the required access policy
Role changeA removed permission affects the relevant interface paths and subsequent use

OWASP's API Security Top 10, 2023, distinguishes authorization to a function from authorization to the particular object involved. It calls for checks on the requested record and action. Knowing a document ID, or authenticating successfully to an endpoint, is not sufficient authority to use that document. OWASP API1:2023.

Exercise denied cases through the actual integration identity and downstream reader roles. An administrator's successful demonstration does not establish the intended security boundary. Where the connector legitimately handles several programs, verify how each received record is assigned and restricted in the target.

Avoid recording secrets or unnecessary document content in diagnostic logs. Retain the identifiers and evidence needed to investigate without turning the exception queue into an ungoverned second repository. Define who can inspect the affected material when content-level investigation is necessary.

Checklist C: make failure visible and recoverable

Comparison table with columns Check, Observable acceptance criterion
CheckObservable acceptance criterion
Lost responseSender can establish whether the receiver committed the operation before repeating it
Duplicate deliveryRepeated delivery does not create an unintended second business record or action
Out-of-order eventA late older event cannot silently overwrite a later accepted state
Partial transferFiles and required context are not presented as complete when only part arrived
Invalid inputMissing identity or ambiguous state is rejected or held with an owned exception
ReconciliationExpected exchanges can be compared with accepted destination results
RecoveryRetrying or correcting preserves the history and avoids hidden data loss
MonitoringRequired failures reach an accountable operator within the agreed response process

HTTP method semantics do not automatically settle business-level duplicate handling. RFC 9110 describes idempotent methods by their intended repeated-request effect and limits automatic retries of non-idempotent requests without the needed knowledge. Ask how the actual API and connector establish whether repeating an operation is safe. Do not assume that repeating a document-creation request creates only one record. RFC 9110, section 9.2.2.

Define the scope and lifetime of any exchange or idempotency identifier the implementation uses. It must distinguish a retry of the same intended operation from a genuinely new revision or destination. These are design requirements to verify, not a claim that every product supports an identical header or protocol.

Worked example: a lost response and a late revision

Consider a fictional interface that copies an approved regulatory source into a publisher's intake area. It does not approve a submission or transmit to an agency. The agreed source is DOC-210 revision 3; the exchange reference is EX-210-3-PUB-A.

The receiver creates intake record IN-88, then the network connection fails before the sender receives the completion response. The sender now knows it attempted delivery, but it does not yet know the receiver's final result. A timeout must not automatically mean “nothing was written.”

The accepted recovery path queries or otherwise reconciles the result using the agreed exchange reference. If the receiver confirms IN-88 with the correct source identity, the sender records that result. If a retry is necessary, the documented duplicate-handling mechanism must avoid creating an unintended second accepted intake record.

Now assume revision 4 is transferred through a separate authorized exchange and becomes the selected baseline for the next preparation task. A delayed revision 3 message arrives afterward. The receiving contract must distinguish historical intake from selection of the current task baseline. It may retain the old event as history or route it for review; it must not silently reset that baseline to revision 3.

Comparison table with columns Variation, Required result for this example
VariationRequired result for this example
First valid revision 3 exchangeOne identifiable intake result linked to the source and exchange
Same exchange resent after lost responseExisting result reconciled or safe retry demonstrated; no unintended duplicate
Same reference carries different contentConflict held for investigation; no silent overwrite
Delayed revision 3 after selected revision 4History preserved without unsupported baseline reversal
Source revision omittedIntake acceptance Unknown or rejected under the contract; sender resolves identity
Unrelated program substitutedAuthorization check prevents the prohibited access or action

The test passes only for the conditions actually demonstrated. A simple sequential retry does not establish safe handling of simultaneous duplicate requests. Add concurrency or failure injection to the authorized test plan where it matters to the intended service.

Here is a filled acceptance record using fictional evidence labels, not results from an executed connector test:

Comparison table with columns Condition, Evidence location in the example, Result and next owner
ConditionEvidence location in the exampleResult and next owner
Retry resolves to the original intakeReconciliation record EX-210-3-PUB-A identifies only IN-88Pass for this sequential retry case
Different content arrives under that reference and replaces IN-88Conflict fixture C-02 shows the overwriteFail; connector owner corrects conflict handling and repeats affected checks
Simultaneous duplicate requests have not been exercisedConcurrency evidence absentUnknown; test owner supplies evidence if concurrency is required for release
Connector changes source approval stateContract defines a read-only source interface with no approval operationNot applicable to this interface; verify denied write actions separately

The last row does not make approval controls irrelevant to the source system. It records that this connector has no authority to perform them. Keep that scope statement when someone later proposes a two-way connection.

Distinguish transport receipt from business acceptance

Define what each returned status proves. A request accepted for processing, a stored file and a reviewer-accepted package are different outcomes. A connector dashboard should not label all three “complete” without explaining the underlying state.

The receiving side should expose the resulting record identity and any unresolved condition through the agreed mechanism. If processing continues asynchronously, define how the sender discovers final success, failure or timeout and who handles an overdue result.

For publishing interfaces, keep the selected source, intake acceptance, technical preparation and transmission outcomes separate. A file arriving at a publisher does not establish that the package meets the selected authority's requirements or that an agency accepted it. Our quality-to-regulatory traceability guide explains the broader chain of decisions.

Close the acceptance record and operating handover

Use a final record containing the interface ID and version, environment, source/target configurations, required checklist rows, evidence references, unresolved issues, accepted limitations, owners and release decision. A critical failed or unknown row prevents approval of the proposed scope until corrected or legitimately removed through a reassessed scope.

Reconcile after supplier/API changes, mapping changes, credential changes and other events that can affect the demonstrated behavior. Retain the interface contract and the tests that expose its important failures. An earlier demonstration on another API version should not automatically remain proof for a changed integration.

Agree who operates the queue, investigates discrepancies, approves mapping changes and manages shutdown. At exit, preserve required records and unresolved work, then remove credentials and connections under the authorized plan. Stopping a connector does not itself settle the disposition of material already transferred.

For a wider assurance plan, see the computerized system validation guide. Assyro publishes this checklist. Bring the completed interface contract to a workflow discussion when evaluating a regulatory-document handoff, and require evidence for the exact offered connection and responsibilities.

About the author

Assyro Team

Expert regulatory operations consultants helping pharmaceutical companies navigate complex compliance challenges.

Related articles

Demos available this week