Independent and not affiliated with the FDA, MHRA, ISPE, PDA, or any agency. Get the appgoutham@madhadi.com
madhadi.comData Integrity & GxP Quality
Browse all topics -> Articles Templates & Procedures Learning paths GlossaryScenariosToolsRegulatory ReferencesLearning PathsTopics About Start here
Form Plug-and-play starting point CSV / CSA

Form: Interface Fault Isolation and Vendor Dispute Record

A plug-and-play form for isolating which side of a two-system interface failed during validation, capturing boundary-level evidence from each side, documenting a vendor's position when it conflicts with yours, and carrying the interface to disposition regardless of which side is at fault.

Document type: Form

Read and copy the template below into your own quality system. It is a generic starting point for your own internal use, provided as is, with no warranty; see the Terms and License. Adopting it does not by itself create compliance.

This is a ready-to-use form. Replace every <<FILL: ...>> placeholder with your own specifics, set your document numbers and dates, and route it through your normal document control, review, and approval. A worked filled specimen follows the template so you can see how a completed version reads. Verify each cited regulation against the current source before you rely on it.

Complete this form when an interface or integration test fails and it is not immediately clear which system, or which vendor’s component, caused the failure. One form covers one interface failure. It is a companion to Test Script: Interface and Integration, which executes the test, and to Test Failure Scope and Impact Assessment, which this form feeds once fault is isolated or the dispute is documented. See Managing test failures during validation for the full disposition logic this form supports.

Why this form exists

An interface connects two systems, so an interface failure always has at least two plausible owners, and sometimes a third if a vendor-supplied middleware component sits between them. The instinct on each side of that boundary is to check its own logic, confirm it looks correct, and conclude the problem is on the other side. Both sides can honestly believe that and both cannot be right, and sometimes neither is: the fault sits in the transport or the mapping between them.

This form forces the isolation question to be answered from boundary-level evidence, pulled from each side independently, before anyone’s explanation is accepted. Where a vendor is involved and disagrees with the finding, it records both positions and the evidence behind each, so the record does not quietly adopt whichever explanation arrived first. It also keeps the one fact that survives any fault argument in view: the interface failed its acceptance criterion during validation, and that has to be dispositioned no matter who is ultimately responsible.

Field table

#FieldFormatRequiredWho completesWhen
1Fault isolation numberTextYesValidation leadOn raising
2Test incident / deviation numberTextYesValidation leadOn raising
3Interface description (section 2)Free textYesValidation lead with SMEOn raising
4Boundary-level evidence, each side (section 3)TableYesSME for each systemBefore isolation conclusion
5Fault isolation finding (section 4)Free text plus tableYesSME, both sides where possibleOn conclusion
6Vendor position and dispute record (section 5)TableConditional, where a vendor disputesVendor liaisonWhen raised
7Classification (section 6)Per the article’s classification logicYesValidation lead, QA confirmsOn conclusion
8Interim control / risk acceptance (section 7)TableConditional, if going live before resolutionSystem owner, QABefore go-live if applicable
9Required actions and retest (section 8)TableYesValidation leadOn conclusion
10Approvals (section 10)Names, signatures, datesYesPer section 10Before closure

1. Header

FieldEntry
Fault isolation number<<FILL: FI-ID, e.g. FI-LIMS-MID-004>>
Test incident / deviation number<<FILL>>
System A (name, owner)<<FILL>>
System B (name, owner)<<FILL>>
Middleware / transport layer, if any (name, owner)<<FILL: or "none, direct interface">>
Vendor(s) involved<<FILL: name each vendor and which component they supply>>
Interface specification reference<<FILL: document number and version>>
Protocol and test case/step<<FILL>>
Date raised<<FILL>>
Assessment owner (name, role)<<FILL>>

2. The interface and the failure

FieldEntry
What the interface is supposed to do<<FILL: the data moved, the direction, the trigger, the expected transformation>>
What was observed<<FILL: the factual description of the failure, same observation captured in the original test incident>>
Which side first noticed the discrepancy<<FILL>>
Initial, unverified explanation offered by each side (if any)<<FILL: record even an informal "probably a mapping issue on your end" remark, with who said it and when>>

Record the initial explanations here specifically because they are not yet evidence. The point of the next section is to replace them with something checked.

3. Boundary-level evidence (both sides independently)

Pull the transaction as it existed at each side of the boundary, before either system’s business logic has touched it. A finished screen or report in System B tells you what System B did with the data, not what it received.

FieldSystem A (sending/upstream)System B (receiving/downstream)
Evidence source<<FILL: outbound log, message queue entry, export file>><<FILL: inbound log, staging table, raw transaction record>>
Timestamp of the transaction in question<<FILL>><<FILL>>
Record/value as captured at the boundary<<FILL: exact field values, not a summary>><<FILL: exact field values, not a summary>>
Does the boundary record match the interface specification’s expected format?Yes / No, detail <<FILL>>Yes / No, detail <<FILL>>
Who pulled this evidence, and how<<FILL>><<FILL>>
FieldEntry
Does the value that left System A match the value that arrived at System B?Yes / No
If No, where in the path does the value change (confirmed by the boundary evidence above)?<<FILL: at the sending system before transmission / in transit or in a middleware transform / at the receiving system after arrival but before processing>>
Re-test with simplified, single-field test data performed?Yes / No. Result: <<FILL>>
Does the failure disappear with simplified data (points to a specific field mapping or transformation rather than a connection fault)?Yes / No / Not tested

4. Fault isolation finding

FieldEntry
Fault located atSending system (System A) / Transport or middleware / Receiving system (System B) / Cannot be isolated from available evidence
Technical mechanism<<FILL: the specific field mapping, encoding, truncation, timing, or transformation that produced the failure>>
Evidence supporting this location<<FILL: reference the specific boundary evidence from section 3>>
Is this mechanism unique to this interface pairing, or does the same component feed other interfaces?<<FILL>>
If fault cannot be isolated from available evidence<<FILL: state what further evidence would resolve it, and from whom>>

5. Vendor position and dispute record

Complete this section whenever a vendor’s stated position differs from the finding in section 4. Document both positions. Do not resolve a dispute by adopting either position without the evidence behind it.

FieldEntry
Vendor’s stated position<<FILL: quote or closely paraphrase, with date and who provided it>>
Evidence the vendor provided in support<<FILL: logs, transaction IDs, timestamps from their side of the boundary, or "assurance only, no supporting evidence provided">>
Your team’s position (from section 4)<<FILL>>
Specific point of divergence<<FILL: the exact fact or log entry the two accounts disagree about>>
Independent verification attempted<<FILL: a joint test session, a third-party log review, a repeat test with both parties observing>>
Resolution statusResolved, one position confirmed by independent evidence / Resolved, shared cause found / Unresolved, documented disagreement stands
Escalation route and owner<<FILL: vendor management contact, contract or quality agreement reference, assigned internal owner>>
Target resolution date<<FILL>>

Where the dispute remains unresolved at the time this form is closed, say so plainly in the conclusion (section 9). An honestly documented disagreement is a stronger record than one that quietly picks a side.

6. Classification and escalation

Apply the same classification logic used for any test failure, independent of fault attribution. Fault location affects who fixes it, not whether it escalates.

FieldEntry
Is the interface GxP-relevant (moves a record feeding a decision, a release, or a regulated submission)?Yes / No
Does the failure touch data integrity (could a dropped, altered, or duplicated record go undetected)?Yes / No
ClassificationSystem defect, high GxP impact / System defect, low GxP impact / Test-artifact or specification error / Undetermined, defaulted to system defect pending resolution
QA concurrence with classification<<FILL: name, date>>

Where fault is disputed or cannot be isolated, classify as a system defect for tracking purposes rather than leaving the item unclassified. An unclassified interface failure is the one most likely to be forgotten between quality systems.

7. Interim control / risk acceptance (if the system must go live before resolution)

FieldEntry
Is go-live required before the fault is resolved?Yes / No
Interim control defined<<FILL: manual reconciliation step, parallel check, restriction on the affected transaction type>>
Residual risk statement<<FILL>>
Control owner<<FILL>>
Review date for the interim control<<FILL>>
Approved by (system owner and QA)<<FILL>>

8. Required actions and retest

#ActionOwner (internal or vendor)Target dateRetest requiredRetest reference
1<<FILL>><<FILL>><<FILL>>Yes / No<<FILL>>
2<<FILL>><<FILL>><<FILL>><<FILL>><<FILL>>

9. Conclusion

<<FILL: three to six sentences. State where the fault was isolated to and on what evidence, whether the vendor agreed or disputed it, how the interface test case is dispositioned regardless of fault attribution, and what retest or interim control follows.>>

FieldEntry
Interface test case dispositionRemains FAIL pending correction and retest / Corrected and retest passed, reference <<FILL>>
Dispute status at closureNo dispute / Resolved / Unresolved, documented and tracked under <<FILL>>
Escalation required beyond validation?No / Yes, to <<FILL: vendor management, contract dispute process, product impact assessment>>

10. Approvals

RoleNameSignatureDate
Prepared by (validation lead)<<FILL>>
System A SME<<FILL>>
System B SME<<FILL>>
Vendor liaison (where applicable)<<FILL>>
Quality Assurance<<FILL>>

11. References

21 CFR 211.192, investigation of unexplained discrepancies, extended here to a discrepancy spanning two systems rather than one. 21 CFR Part 11, where the interface carries electronic records or signatures. EU GMP Annex 11, Computerised Systems (2011), on interfaces between computerized systems and the assessment of deviations found during validation. EU GMP Annex 15, Qualification and Validation (2015), on documenting and justifying deviations from the validation protocol. ICH Q9, Quality Risk Management, for the risk basis of an interim control or risk-acceptance decision.

Confirm the current version and clause numbers of each reference before issue.


Filled specimen

The following shows the form completed for an example interface failure found during OQ between a LIMS and a vendor-supplied automated microbial identification system. The company, system, and numbers are illustrative.

Header and interface

FieldEntry
Fault isolation numberFI-LIMS-MID-004
Test incident / deviation numberTI-0077
System AAutomated microbial identification system, instance MID-QUAL, vendor-supplied
System BLIMS, instance LIMS-QUAL, in-house configured
MiddlewareNone, direct serial-to-network interface module supplied by the MID vendor
Vendor(s) involvedMID Vendor (identification system and interface module)
Interface specificationIFS-MID-LIMS-02 v2.1
Protocol and test caseOQ-MID-009 step 5, result transmission verification
Date raised18 Aug 2026
Assessment ownerT. Nakamura, Validation Lead
FieldEntry
What the interface doesOn completion of an identification run, the MID system transmits the organism identification result and confidence score to LIMS, which files it against the pending sample.
ObservedOf 50 identification results transmitted during OQ, 2 arrived in LIMS with a truncated organism name, missing the final 3 to 5 characters, with the confidence score intact.
First noticed byLIMS reviewer, during result verification
Initial explanation offeredMID vendor support stated by phone on 19 Aug that “our system logs show all 50 results sent correctly, this looks like a LIMS field length issue.”

Boundary-level evidence

FieldSystem A (MID, sending)System B (LIMS, receiving)
Evidence sourceMID system’s internal transmission log (vendor-proprietary format, exported by vendor support)LIMS interface staging table, raw inbound record before LIMS applies any display formatting
Timestamp18 Aug 2026, 11:14:22 and 11:52:0718 Aug 2026, 11:14:23 and 11:52:08
Record/value at boundaryOrganism field value: “Staphylococcus epiderm” (truncated at source, per the vendor’s own transmission log)Organism field value received: “Staphylococcus epiderm”, stored exactly as received, LIMS field length confirmed to allow 60 characters, value received used only 23
Matches interface specification format?No. IFS-MID-LIMS-02 specifies UTF-8 encoding; the two affected records were generated by the MID system in Latin-1 encoding with a multi-byte character in the organism name, which the transmission module mis-truncates when the vendor’s export routine switches encodings mid-stringYes, LIMS received and stored exactly what arrived, with no further alteration
Who pulled this evidenceT. Nakamura, from the vendor-supplied export, cross-checked by A. Reyes (LIMS admin) against the LIMS staging tableA. Reyes, LIMS administrator
FieldEntry
Does the value that left System A match the value that arrived at System B?Yes, the truncated value left System A already truncated; System B received and stored it faithfully
Where does the value change?At the sending system (MID), before transmission, during the vendor’s internal export-encoding step
Simplified re-test performed?Yes. Ten identification runs on organisms with no multi-byte characters in the name: zero truncations. Two runs repeated specifically with organism names containing a multi-byte character: both truncated identically
Does the failure disappear with simplified data?Yes, confirming the mechanism is specific to multi-byte characters in the organism name field, not a general connection or mapping fault

Fault isolation finding

FieldEntry
Fault located atSending system (System A), MID vendor’s export-encoding routine
Technical mechanismThe MID system’s result export switches from UTF-8 to Latin-1 encoding when the organism name contains certain multi-byte characters, and the vendor’s truncation logic counts bytes rather than characters in that mode, cutting the string short
Evidence supporting this locationBoundary comparison in section 3: the truncated value existed at the point of transmission, before LIMS ever touched it, and the defect reproduced only with multi-byte-character organism names
Unique to this interface, or shared?Shared. The same export routine feeds this vendor’s optional data-warehouse export, which was not in scope for this validation but is flagged for the system owner to check separately
Cannot be isolated?N/A, isolated

Vendor position and dispute record

FieldEntry
Vendor’s stated positionInitially, “our system logs show all 50 results sent correctly, this looks like a LIMS field length issue” (phone call, 19 Aug, MID Vendor support tier 1)
Evidence vendor provided initiallyNone; assurance only, no log extract provided at that stage
Our team’s positionFault isolated to the MID system’s export-encoding routine, per boundary evidence above
Specific point of divergenceVendor’s initial claim rested on their own application log, which records the result as generated, not as transmitted; our evidence came from the transmission log itself, which the vendor’s tier 1 support had not reviewed
Independent verificationEscalated to MID Vendor tier 2 engineering with the transmission log and the simplified re-test results attached. Tier 2 engineering reproduced the defect in their own lab using an organism name with the same character class and confirmed the encoding switch as a known issue in the current firmware version, not previously disclosed in release notes
Resolution statusResolved. Vendor confirmed the mechanism after reviewing the transmission-level evidence
Escalation route and ownerMID Vendor support case VMID-22841, owned by T. Nakamura internally
Target resolution dateVendor firmware patch committed for 15 Sep 2026; interim control effective immediately

Classification and escalation

FieldEntry
GxP-relevant?Yes, the organism identification result feeds the microbiology release decision
Data integrity concern?Yes, a silently truncated organism name could be misread as a different, similarly named organism without triggering any error
ClassificationSystem defect, high GxP impact
QA concurrenceR. Oduya, QA, 21 Aug 2026

Interim control

FieldEntry
Go-live required before resolution?No, system remains in qualification; production go-live held pending the vendor patch and re-verification
Interim controlFor any organism identification confirmed in OQ to contain a multi-byte character in its name, the LIMS reviewer manually confirms the stored name against the MID system’s local display before use. Documented in interim procedure <<FILL>>
Residual riskLow during the qualification-only period; no GxP release decision made against an affected record
Control ownerA. Reyes, LIMS Administrator
Review date15 Sep 2026, on receipt of the vendor patch

Required actions and retest

#ActionOwnerTarget dateRetest requiredRetest reference
1Vendor firmware patch correcting the export-encoding truncationMID Vendor15 Sep 2026YesOQ-MID-009 addendum, multi-byte character organism panel
2LIMS interim manual confirmation procedure for affected records during qualificationA. Reyes21 Aug 2026 (complete)NoN/A, interim control only
3Check whether the vendor’s data-warehouse export shares the same encoding routineSystem owner30 Sep 2026To be determined<<FILL>>

Conclusion

The intermittent truncation of organism names during MID-to-LIMS result transmission was isolated to the MID vendor’s result-export routine, which switches to byte-counted truncation under a Latin-1 encoding fallback triggered by certain multi-byte characters, confirmed by transmission-log evidence captured at the sending boundary before LIMS received anything. The vendor initially attributed the issue to LIMS based on an application log that did not reflect the transmitted value; providing the vendor with transmission-level evidence and a simplified reproduction resolved the disagreement, and vendor engineering confirmed the mechanism as a known, previously undisclosed firmware behavior. The interface test case remains FAIL pending the vendor’s firmware patch and a targeted re-test against organism names carrying the same character class, with an interim manual-confirmation control in place for the remainder of qualification.

FieldEntry
Interface test case dispositionRemains FAIL pending correction and retest, reference OQ-MID-009 addendum
Dispute status at closureResolved
Escalation beyond validation?Yes, flagged to the system owner to check the vendor’s data-warehouse export for the same defect

Notice what the boundary-level evidence did here. The vendor’s first explanation was not dishonest, it was simply drawn from a log that could not see the problem. Pulling the transmission record rather than the application record is what turned “our logs show it was fine” into a confirmed, specific, fixable defect, and the interface stayed FAIL on the record the entire time that was being sorted out.

Common inspection findings this form prevents

  • A vendor’s self-report accepted as root cause with no independent evidence pulled from the actual interface transaction.
  • An interface failure left unclassified and untracked while two parties argue informally about whose system is at fault.
  • A test case quietly marked PASS, or simply left without a clear FAIL disposition, because the root cause investigation was still unresolved.
  • “Waiting on the vendor” as a permanent status with no assigned owner, no target date, and no interim control.
  • A disagreement with a vendor resolved by adopting their explanation without checking it, with no record of what the internal team’s own evidence showed.
  • Evidence pulled only from a finished screen or report on one side, rather than from the boundary itself, so the fault is attributed to the wrong system.

How to adapt this form

  1. Name your actual boundary evidence sources in section 3 for each interface type you use: a message queue, a file drop with a processing log, an API gateway log, a database staging table. The principle (pull it before either system’s business logic touches it) stays the same across all of them.
  2. Set your vendor escalation path and the support tier that can actually produce transmission-level evidence, not just an application-level status. Tier 1 phone support rarely has access to what section 3 needs.
  3. Point section 6’s classification questions at your own GxP-relevance and data-integrity criteria so this form’s classification stays consistent with the main test incident classification table.
  4. If your quality agreement or vendor contract specifies a defect-notification or dispute-resolution timeline, reference it directly in section 5 so the target date is contractual, not just aspirational.
  5. Where an interface is shared across more than two systems, or by more than one vendor, duplicate section 3 for each additional boundary rather than forcing a three-way comparison into a two-column table.
Use madhadi.com as an app Full screen, works offline, one tap from your home screen.