This document describes a track and trace information system for pharmaceuticals from manufacturer to customer. It includes sections on basic principles, GS1 standards, core business processes, system architecture, and identification of transport units. The system uses GS1 DataMatrix barcodes and unique identifiers to track pharmaceutical packages through the supply chain and verify transactions like production, receipt, and purchase. Users interact with the system via XML messages to monitor package status and ensure compliance with business rules.
2. TABLE OF CONTENTS
Basic Principles
GS1 Company
General Scheme
Main Objects
Business Processes
Functional Diagram
System Architecture
The mechanism of interaction with the System
Identification and barcoding of transport units
Public Portal
Roadmap
2
3. BASIC PRINCIPLES
Tracking system to deliver pharmaceuticals from the manufacturer to the customer via labeling
(codification) and identification.
Users of the system: manufacturers, Retailers, distributers
Encoding: we are using a two-dimensional matrix barcode Data Matrix GS1 standard
Identification: we are using a unique key for each pharmaceutical package. Each key contains the following
codes:
GTIN
Serial number
Batch number
Expiration date
Control: User sends information to the system about the movement of the pharmaceutical package
between delivery locations. The system then either allows or denies further movement based on specified
business rules.
Security: Each client uses a unique digital signature when communicating with the system
3
DataMatrix
4. GS1 COMPANY
GS1 ( formerly EAN International and UCC) - a voluntary international non-profit organization consisting of
a central office in Brussels and 108 national organizations.
30+ years of experience developing barcodes for various countries and undertaking implementation
of global standards and solutions for improving the efficiency and transparency of the supply chain in
all sectors of the economy, both local markets and worldwide.
Standards GS1 - the most common system of standards for the product numbering and bar coding
for supply chains worldwide.
More than one million companies use GS1 standards in everyday practice.
On an average day, more than 5 billion GS1 barcodes are scanned worldwide
4
6. THE MAIN OBJECTS
System processes messages from the following users:
Manufacturer
Distributor
Pharmacy
Processed transactions:
Production
Receive
Receive return
Purchase
Deactivation
Verification
Statuses of pharmaceutical package :
Available
Purchased
Deactivated
6
7. CORE BUSINESS PROCESS
7
Core business process
ManufacturerDistributorPharmacySystem
Add information about
pharmaceuticals to
System
Dispatch
pharmaceuticals to
distributor
Dispatch
pharmaceuticals to
pharmacy
Purchase
Deactivate
Produce
pharmaceuticals
Need to recycle
Recycle
pharmaceuticals
Return
pharmaceuticals
Return, deny, expired
Process message
Receive
pharmaceuticals
Receive return
Deactivate
pharmaceuticals
Receive
pharmaceuticals
Purchase
pharmaceuticals
Deactivate
pharmaceuticals
Action Subprocess
Choice
Obtain an order
for shipment
EventStart process End process
8. PRODUCTION
1. Manufacturer produces a batch of pharmaceuticals
2. According to the standard GS1 the manufacturer generates a DataMatrix code (based on codes GTIN, batch number, serial
number and expiration date) and sticks it directly on the packaging next to the existing marking EAN-13.
3. Manufacturer generates XML-message "Production," which should contain information about each package produced.
4. The generated message is sent to the system.
5. The system processes the message according to the business rules for this operation and reports the status of each package
to the sender.
8
Subprocess “Production”
ManufacturerSystem
Generate XML-
message
“PRODUCTION”
Process responce
Process message
Action
Send message
Start process End process
Notify the System about production
9. RECEIVE
1. Upon receipt of the package the distributor or pharmacy scans the DataMatrix code and generates XML-message "Receive,"
which contains information about the received package.
2. Generated message is sent to System.
3. The system processes the message according to the business rules for this operation and reports the status of each package
to the sender.
9
Subprocess “Receive”
DistributororpharmacySystem
Receive
pharmaceuticals
Scan DataMatrix
codes of each
package
Generate XML-
message “RECIEVE”
Process responce
Move
pharmaceuticals to
the stockroom
Process message
Send message
Action
Start process End process
Notify the System about recieving
10. RECEIVE RETURN
1. Manufacturer or distributor when receiving pharmaceuticals scans DataMatrix codes and generates XML-message "Return",
which contains information about each received package.
2. Generated message is sent to System.
3. System processes the message according to the business rules for this operation and reports the status of each package to
the sender.
10
Subprocess “Receive return”
Manufacturer,distributoror
pharmacy
System
Receive return
pharmaceuticals
Scan DataMatrix
codes of each
package
Generate XML-
message “RETURN”
Process responce
Move
pharmaceuticals to
the stockroom
Process message
Action
Send message
Start process End process
Notify the System about return receiving
11. PURCHASE 1
11
Subprocess “Purchase”
PharmacySystem
From order
Scan DataMatrix
codes of each
package
Generate XML-
message
“PURCHASE”
Process responce
Give pharmaceutical
to consumer
Process messageProcess message
Generate XML-
message
“VERIFICATION”
Process responce Confirm form order
Action
Send message
Send message
Start process End process
Notify the System about purchasing
Check the possibility of purchasing
12. PURCHASE 2
The purchasing process is divided into two steps.
1. The first step is to check each verify the purchase history each package. The pharmacy then scans the DataMatrix
code and generates XML-message “Verification". Generated message is sent to System. System processes the
message according to the business rules for this operation and reports the status of each package to the sender.
1. The second step is to notify the system about purchasing. Pharmacy generates XML-messages "Purchase", which
contains information about each verified package. Generated message is sent to System. System processes the
message according to the business rules for this operation and reports the status of each package to the sender. The
status of the package changes to "Purchased.“
12
13. DEACTIVATION
1. The manufacturer, distributor or pharmacy prepares a list of pharmaceuticals for deactivation and generates XML-message
"Deactivation", which contains information about each package from list.
2. Generated message is sent to System.
3. System processes the message according to the business rules for this operation and reports the status of each package to the
sender.
4. The status of the packages changes to “Deactivated".
13
Subprocess “Deactivation”
DistributororpharmacySystem
Prepare a list of
pharmaceuticals for
deactivation
Generate XML-
message
“DEACTIVATION”
Process responce
Process message
Deactivate
pharmaceuticals
Action
Send message
Start process End process
Notify the System about deactivation
14. FUNCTIONAL DIAGRAM
14
Security subsystem
Data input sysbsystem
Control subsystem
Reporting subsystem
Messaging subsystem
Monitoring subsystem
Public portal
SYSTEM
Mobile application
General information about system and services for consumers
Workplaces to maintain background information and
XML-services
Control the processing the set business rules
Generating reports
Notify participants about system events
Monitoring system health
User authentication and authorization, digital signature
verification
Current status of pharmaceutical package
15. SYSTEM ARCHITECTURE 1
15
Data sources
Datainput
Control
System partcipants
Reporting
Crosscuttingconcerns
Security
Workspaces XML-servises
Public
portal
Users
Messaging
Monitoring
Mobile
application
17. TECHNOLOGIES
Oracle Database
Oracle WebLogic Server
Oracle SOA Suite (Enterprise service bus)
JasperReports Server (Reporting)
WordPress (Public portal)
Java (SOAP Services, Control, Security, Messaging, Monitoring)
.Net Framework (WebApp Workspaces)
PhoneGap (Mobile application on Android and iOs platforms)
17
18. SYSTEM INTERACTION
1. Participants interact with the system via XML-message via SOAP protocol
2. Participant generates an XML-message type required, signs a digital signature and sends to the system
3. The system accepts the XML-message, verifies the digital signature and allows or denies operation based on business rules,
and reports data to the sender
4. Participant receives and processes the XML-response
18
19. EXAMPLE XML-MESSAGE “PRODUCTION”
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<Signature> <!-- Digital signature -->
...
</Signature>
</soap:Header>
<soap:Body>
<pts:ProductionRequest xmlns:pts="http://system/notification/production/v1/">
<DT>M</DT>
<FR>1</FR> <!– Participant ID-->
<MD>2014-01-01</MD> <!– Date of manufacture -->
<GTIN>00000000000000</GTIN> <!– GTIN code -->
<XD>2015-01-01</XD> <!– Expiration date-->
<BN>BN0001</BN> <!–Batch number -->
<DOC> <!– Regulatory document date and number-->
<DD>2014-01-01</DD>
<DN>P001</DN>
</DOC>
<PRODUCTS> <!– List of pharmaceuticals -->
<SN>SN0000001</SN> <!– Serial number of package -->
<SN>SN0000002</SN>
...
<SN>SN0001000</SN>
</PRODUCTS>
</pts:ProductionRequest>
</soap:Body>
</soap:Envelope>
19
20. IDENTIFICATION AND BARCODING
OF TRANSPORT UNITS 1
Transport units: Tools in use to carry and store pharmaceuticals in the supply chain. (boxes, chassis , pallets , barrels , sacks,
bags etc).
There may be one or several pharmaceuticals in one transport unit. According to the system, transport units are defined and
numerated by using SSCC numbers. It eases logistical operations and increases in accuracy
SSCC barcode number is printed using GS1 -128 barcode symbols (18 digit fixed length)
SSCC must be visible on the GS1 Logistic Label of the transport units.
20
SSCC
21. IDENTIFICATION AND BARCODING
OF TRANSPORT UNITS 2
21
Manufacturer 1
ProductionGTIN1
GTIN1,
Batch
number 1
GTIN1,
Batch
number 2
GTIN2
GTIN2
GTIN2
GTIN2
GTIN2
GTIN2
SSCC1
SSCC2
SSCC3
production packaging
storage and
preparation for
shipment
production
line
batch
pharmaceuticals
grouping of
units
SET relations
between
pharmaceuticals
packages and
transport units
SSCC4Manufacturer 2
SSCC1 Distributor 1
SSCC2
SSCC3
SSCC4
Distributor 2
receive and
storage
SSCC2
packaging
SSCC2
storage and
preparation for
shipment
SSCC5 SSCC5
SSCC6 SSCC6
SSCC2 Pharmacy 1
Pharmacy 2
transport
units are
stored
transport units
are stored for
shipment
SSCC6
SET relations
between
pharmaceuticals
packages and
transport units
GET relations between transport
units and pharmaceuticals packages
GET relations between transport
units and pharmaceuticals packages
GET relations between transport
units and pharmaceuticals packages
System
22. EXAMPLE TRANSPORT XML-MESSAGE
<?xml version="1.0" encoding="utf-8"?>
<transfer>
<sourceGLN>00000000000001</sourceGLN> <!-- Code of the source shareholder making the transfer -->
<destinationGLN>00000000000002</destinationGLN> <!-- Target code of the transfer -->
<actionType>M</actionType> <!-- Type of the transfer -->
<billTo></billTo> <!-- -->
<documentNumber>1</documentNumber> <!-- -->
<documentDate>2014-01-01</documentDate> <!-- Date information on the document -->
<note>Production</note> <!-- Note field which is 50 characters long -->
<carrier carrierLabel="SSCC1"> <!-- Transporter label -->
<productList GTIN="00000000000001" lotNumber="BN001" expirationDate="2015-01-01"> <!– Pharmaceuticals list -->
<serialNumber>SN0000001</serialNumber> <!– Package serial number-->
<serialNumber>SN0000002</serialNumber>
<serialNumber>SN0000003</serialNumber>
</productList>
<carrier carrierLabel="SSCC2">
<productList GTIN="00000000000002" lotNumber="BN001" expirationDate="2015-01-01">
<serialNumber>SN0000004</serialNumber>
<serialNumber>SN0000005</serialNumber>
</productList>
</carrier>
<productList GTIN="00000000000002" lotNumber="BN010" expirationDate="2015-01-01">
<serialNumber>SN0000011</serialNumber>
<serialNumber>SN0000012</serialNumber>
<serialNumber>SN0000013</serialNumber>
<serialNumber>SN0000014</serialNumber>
</productList>
</carrier>
<transfer>
22