Karekod
Karekod, matris olarak da bilinen kare veya dikdörtgen şeklinde düzenlenmiş siyah ve beyaz "hücrelerden" veya noktalardan oluşan iki boyutlu bir koddur. Kodlanacak bilgi metin veya sayısal veri olabilir. Olağan veri boyutu birkaç bayttan 1556 bayta kadardır. Kodlanan verinin uzunluğu matristeki hücre sayısına bağlıdır. Hata düzeltme kodları genellikle güvenilirliği artırmak için kullanılır: bir veya daha fazla hücre hasar görse ve okunamaz hale gelse bile mesaj yine de okunabilir. Bir Veri Matrisi sembolü en fazla 2.335 alfanümerik karakter saklayabilir. ⓘ
Veri Matrisi sembolleri dikdörtgen şeklindedir, genellikle kare şeklindedir ve bitleri temsil eden kare "hücrelerden" oluşur. Kullanılan kodlamaya bağlı olarak, "açık" bir hücre bir 0'ı ve "koyu" bir hücre bir 1'i temsil eder veya bunun tersi de geçerlidir. Her Veri Matrisi, "L" şeklinde iki katı bitişik sınırdan ("bulucu desen" olarak adlandırılır) ve değişen koyu ve açık "hücrelerden" veya modüllerden ("zamanlama deseni" olarak adlandırılır) oluşan diğer iki sınırdan oluşur. Bu sınırların içinde bilgi kodlayan hücre satırları ve sütunları bulunur. Bulucu desen sembolün yerini ve yönünü belirlemek için kullanılırken, zamanlama deseni semboldeki satır ve sütun sayısının sayılmasını sağlar. Sembolde daha fazla veri kodlandıkça, hücre (satır ve sütun) sayısı da artar. Her kod benzersizdir. Sembol boyutları yeni sürüm ECC 200'de 10×10 ila 144×144 arasında ve eski sürüm ECC 000 - 140'da 9×9 ila 49×49 arasında değişir. ⓘ
Karekod, Data Matrix adlı kare veya dikdörtgen biçimlerde basılabilen 2 boyutlu barkodun Türkiye'de kullanılan karşılığıdır. ⓘ
Karekod kelimesi ilk defa Beşeri Tıbbi Ürünler Barkod Uygulama Kılavuzu'nda yer almıştır. Data Matrix'in Türkçe karşılığı olarak kullanılmaktadır. Türkiye'de ilk defa ilaç ambalajlarında uygulanmasına karar verilmiştir. Karekod, 2 boyutlu ve GS1 uyumlu bir Datamatrix karekodudur. ⓘ
Türkiye'deki uygulamayı, birçok ülkenin ilaçlarda Datamatrix uygulamasının izleyeceği beklenmektedir. Halen birçok ülkede üretilen ilaçlarda karekod uygulanmakta ve dünyada karekod ve Türkiye'de kullanılan içerik bilgileri standart olarak kabul edilmiştir. ⓘ
Uygulamalar
Kodun 2 veya 3 mm2'de (0,003 veya 0,005 inç kare) okunabilen bir sembolde elli karakter kodlayabilmesi ve kodun yalnızca %20 kontrast oranıyla okunabilmesi nedeniyle Veri Matrisi için en popüler uygulama küçük öğeleri işaretlemektir. Veri Matrisi ölçeklendirilebilir; 300 mikrometre (0,012 inç) kadar küçük (600 mikrometre (0,024 inç) silikon cihaz üzerine lazerle kazınmış) ve 1 metre (3 ft) kare (bir yük vagonunun çatısına boyanmış) kadar büyük görüntülere sahip ticari uygulamalar mevcuttur. İşaretleme ve okuma sistemlerinin doğruluğu tek sınırlamadır. ABD Elektronik Endüstrileri Birliği (EIA) küçük elektronik bileşenlerin etiketlenmesi için Veri Matrisi kullanılmasını önermektedir. ⓘ
Data Matrix kodları etiketler ve mektuplar gibi basılı ortamlarda yaygınlaşmaktadır. Kod, bir barkod okuyucu tarafından hızlı bir şekilde okunabilir ve bu da örneğin bir paket alıcıya gönderildiğinde medyanın izlenmesini sağlar. ⓘ
Endüstriyel mühendislik amaçları için, Veri Matrisi kodları doğrudan bileşenlerin üzerine işaretlenebilir ve böylece yalnızca amaçlanan bileşenin veri matrisi kodlu verilerle tanımlanması sağlanır. Kodlar bileşenlere çeşitli yöntemlerle işaretlenebilir, ancak havacılık ve uzay endüstrisinde bunlar genellikle endüstriyel mürekkep püskürtme, nokta vuruşlu işaretleme, lazer işaretleme ve elektrolitik kimyasal aşındırmadır (ECE). Bu yöntemler, bileşenin kullanım ömrüne kadar dayanabilen kalıcı bir işaret verir. ⓘ
Veri Matrisi kodları genellikle uzman kamera ekipmanı ve yazılımı kullanılarak doğrulanır. Bu doğrulama, kodun ilgili standartlara uygunluğunu ve bileşenin kullanım ömrü boyunca okunabilirliğini sağlar. Bileşen hizmete girdikten sonra Karekod bir okuyucu kamera tarafından okunabilir ve bu kamera Karekod verilerinin kodunu çözerek hareket takibi veya envanter stok kontrolleri gibi çeşitli amaçlarla kullanılabilir. ⓘ
Karekodlar, 1 boyutlu barkodlar gibi diğer açık kaynak kodlarıyla birlikte, koda özel mobil uygulamalar indirilerek cep telefonlarıyla da okunabilir. Birçok mobil cihaz Karekod da dahil olmak üzere 2D kodları okuyabilse de, çok azı kod çözme işlemini mobil erişim ve etkileşimi mümkün kılacak şekilde genişletmektedir; bu sayede kodlar güvenli bir şekilde ve farklı ortamlarda kullanılabilmektedir; örneğin takip ve izleme, sahtecilikle mücadele, e.govt ve bankacılık çözümlerinde. ⓘ
Gıda endüstrisi
Veri Matrisi kodları gıda endüstrisinde, gıda ürünlerinin yanlış paketlenmesini ve tarihlendirilmesini önlemek için otomatik kodlama sistemlerinde kullanılır. Kodlar gıda üreticilerinin veritabanında dahili olarak tutulur ve içerik varyasyonları gibi her bir benzersiz ürünle ilişkilendirilir. Her ürün çalışması için benzersiz kod yazıcıya verilir. Etiket resmi, 2D Veri Matrisinin optimum tarama için konumlandırılmasına izin vermek için gereklidir. Baskı kalitesinde bir sorun olmadığı sürece siyah beyaz kodlar için test gerekmez, ancak okunabilir olduklarından emin olmak için tüm renk varyasyonlarının üretimden önce test edilmesi gerekir. ⓘ
Sanat
Mayıs 2006'da Alman bilgisayar programcısı Bernd Hopfengärtner, bir buğday tarlasında (ekin çemberlerine benzer bir şekilde) büyük bir Karekod oluşturdu. Mesajda "Merhaba, Dünya!" yazıyordu. Haziran 2011'de Parisli dövme sanatçısı K.A.R.L., Ballantine's Scotch viskisinin promosyonunun bir parçası olarak, Facebook'ta canlı yayınlanan ortak bir süreçte bir Karekod kullanarak dünyanın ilk animasyonlu dövmesini yarattı. ⓘ
Teknik özellikler
Veri Matrisi sembolleri, bir çevre bulucu ve zamanlama deseni içinde düzenlenmiş modüllerden oluşur. Tüm ASCII karakter setinden (uzantılarla birlikte) 3.116 karaktere kadar kodlayabilir. Sembol, düzenli bir dizi halinde yerleştirilmiş modüller içeren veri bölgelerinden oluşur. Büyük semboller birkaç bölge içerir. Her veri bölgesi bir bulucu desenle sınırlandırılır ve bu desen dört taraftan sessiz bölge sınırıyla (marj) çevrelenir. (Not: Modüller yuvarlak veya kare olabilir - standartta belirli bir şekil tanımlanmamıştır. Örneğin, nokta çizgili hücreler genellikle yuvarlaktır). ⓘ
Veri Matrisi ECC 200
Data Matrix'in daha yeni versiyonu olan ECC 200, hata ve silme geri kazanımı için Reed-Solomon kodlarını kullanır. ECC 200, matrisin hala doğru bir şekilde yerleştirilebildiği varsayıldığında, sembol %30 hasar gördüğünde kodlanmış veri dizisinin tamamının rutin olarak yeniden oluşturulmasına olanak tanır. Data Matrix, taranan 10 milyon karakterde 1'den daha az bir hata oranına sahiptir. ⓘ
Sembollerin çift sayıda satırı ve çift sayıda sütunu vardır. Sembollerin çoğu 10 × 10 ila 144 × 144 boyutlarında kare şeklindedir. Ancak bazı semboller 8×18 ila 16×48 boyutlarında dikdörtgen şeklindedir (yalnızca çift değerler). ECC 200 hata düzeltmesini kullanan tüm semboller, sağ üst köşe modülünün arka plan rengiyle aynı olmasıyla tanınabilir (ikili 0). ⓘ
ECC 200 sembollerini daha önceki standartlardan ayıran ek özellikler şunlardır:
- Ters okuma sembolleri (koyu arka plan üzerinde açık renkli görüntüler)
- Karakter setinin belirtilmesi (Genişletilmiş Kanal Yorumlamaları aracılığıyla)
- Dikdörtgen semboller
- Yapılandırılmış ekleme (daha büyük miktarda veriyi kodlamak için 16 sembole kadar bağlantı) ⓘ
Veri Matrisi ECC 000-140
Data Matrix'in eski sürümleri arasında ECC 000, ECC 050, ECC 080, ECC 100, ECC 140 bulunmaktadır. ECC 200 gibi Reed-Solomon kodları kullanmak yerine, ECC 000-140 konvolüsyon tabanlı bir hata düzeltme kullanır. Her biri sunduğu hata düzeltme miktarına göre değişir; ECC 000 hiç hata düzeltme sunmazken ECC 140 en fazla hata düzeltme sunar. Kod çözme zamanında hata tespiti için, ECC 000 durumunda bile, bu sürümlerin her biri ayrıca bit modelinde bir döngüsel artıklık kontrolü (CRC) kodlar. Ek bir önlem olarak, koddaki her bir bitin yerleşimi, spesifikasyonda yer alan bit yerleştirme tabloları ile belirlenir. Bu eski versiyonlar her zaman tek sayıda modüle sahiptir ve 9 × 9 ila 49 × 49 arasında değişen boyutlarda yapılabilir. ECC 000 ila 140 hata düzeltme kullanan tüm semboller, sağ üst köşe modülünün arka plan renginin tersi olmasıyla tanınabilir (ikili 1). ⓘ
ISO/IEC 16022'ye göre, "ECC 000-140 yalnızca tek bir tarafın sembollerin hem üretimini hem de okunmasını kontrol ettiği ve genel sistem performansından sorumlu olduğu kapalı uygulamalarda kullanılmalıdır." ⓘ
Standartlar
Data Matrix, Ekim 2005'te Siemens AG ve Eylül 2008'de Microscan Systems tarafından satın alınan RVSI/Acuity CiMatrix ile birleştirilen International Data Matrix, Inc. (ID Matrix) tarafından icat edilmiştir. Veri Matrisi bugün birçok ISO/IEC standardı kapsamındadır ve birçok uygulama için kamu malıdır; bu da herhangi bir lisans veya telif ücreti olmaksızın kullanılabileceği anlamına gelir. ⓘ
- ISO/IEC 16022:2006-Data Matrix barkod semboloji spesifikasyonu
- ISO/IEC 15415-2-D Baskı kalitesi standardı
- ISO/IEC 15418:2016-Sembol veri formatı semantiği (GS1 uygulama tanımlayıcıları ve ASC MH10 veri tanımlayıcıları ve bakımı)
- ISO/IEC 15424:2008-Veri Taşıyıcı Tanımlayıcıları (Semboloji Tanımlayıcıları dahil) [Farklı barkod türlerini ayırt etmek için kimlikler]
- ISO/IEC 15434:2006-Yüksek kapasiteli ADC ortamı için sözdizimi (tarayıcıdan yazılıma aktarılan veri biçimi, vb.)
- ISO/IEC 15459-Benzersiz tanımlayıcılar ⓘ
Kodlama
Kodlama işlemi ISO/IEC standardı 16022:2006'da açıklanmıştır. Veri Matrisinin ECC-200 varyantının kodlanması ve kodunun çözülmesi için açık kaynaklı yazılım yayınlanmıştır. ⓘ
Aşağıdaki diyagramlar, mesaj verilerinin bir Veri Matrisi sembolü içindeki yerleşimini göstermektedir. Mesaj "Wikipedia "dır ve sol üst köşeye yakın bir yerden başlayarak biraz karmaşık bir diyagonal şekilde düzenlenmiştir. Baş harf W gibi bazı karakterler iki parçaya bölünmüştür ve üçüncü 'i' normal L şeklindeki düzenleme yerine "köşe deseni 2 "dedir. Ayrıca mesaj sonu kodu (End olarak işaretlenmiştir), dolgu (P) ve hata düzeltme (E) baytları ve dört modül kullanılmayan alan (X) gösterilmiştir. ⓘ
Farklı mesaj türlerini saklamak için birden fazla kodlama modu kullanılır. Varsayılan mod 8 bitlik kod sözcüğü başına bir ASCII karakteri saklar. Aşağıda gösterildiği gibi modlar arasında geçiş yapmak için kontrol kodları sağlanmıştır. ⓘ
Kod sözcüğü | Yorumlama ⓘ |
---|---|
0 | Kullanılmadı |
1–128 | ASCII verileri (ASCII değeri + 1) |
129 | Mesajın sonu |
130–229 | Rakam çiftleri 00 - 99 |
230 | C40 kodlamasına başlayın |
231 | Taban 256 kodlamasını başlat |
232 | FNC1 |
233 | Yapılandırılmış ekleme. Bir mesajın birden fazla sembole bölünmesine izin verir. |
234 | Okuyucu programlama |
235 | Aşağıdaki karakterin yüksek bitini ayarlayın |
236 | 05 Makro |
237 | 06 Makro |
238 | ANSI X12 kodlamasına başlayın |
239 | Metin kodlamasını başlat |
240 | EDIFACT kodlamasına başlayın |
241 | Genişletilmiş Kanal Yorumlama kodu |
242–255 | Kullanılmadı |
Metin modları
C40, Text ve X12 modları metin mesajlarını saklamak için potansiyel olarak daha kompakttır. DEC Radix-50'ye benzerler, 0-39 aralığında karakter kodları kullanırlar ve bu kodlardan üçü birleştirilerek 403=64000'e kadar bir sayı elde edilir ve bu sayı aşağıdaki gibi iki bayta (maksimum değer 65536) paketlenir:
- V = C1×1600 + C2×40 + C3 + 1
- B1 = floor(V/256)
- B2 = V mod 256 ⓘ
Elde edilen B1 değeri 0-250 aralığındadır. ASCII kodlama moduna dönmek için 254 özel değeri kullanılır. ⓘ
Karakter kodu yorumları aşağıdaki tabloda gösterilmiştir. C40 ve Metin modlarının dört ayrı seti vardır. Set 0 varsayılandır ve bir sonraki karakter için geçici olarak farklı bir set seçen kodlar içerir. Tek fark, büyük ve küçük harfleri ters çevirmeleridir. C40 öncelikle büyük harftir, küçük harfler set 3'te yer alır; Metin ise tam tersidir. ASCII kontrol kodlarını içeren set 1 ve noktalama sembollerini içeren set 2, C40 ve Metin modunda aynıdır. ⓘ
Kod | set 0 | Set 1 | set 2 | Set 3 | X12 ⓘ | ||
---|---|---|---|---|---|---|---|
C40 | Metin | C40 | Metin | ||||
0 | Set 1 | NUL | ! | ` | CR | ||
1 | set 2 | SOH | " | a | A | * | |
2 | Set 3 | STX | # | b | B | > | |
3 | uzay | ETX | $ | c | C | uzay | |
4 | 0 | EOT | % | d | D | 0 | |
5 | 1 | ENQ | & | e | E | 1 | |
6 | 2 | ACK | ' | f | F | 2 | |
7 | 3 | BEL | ( | g | G | 3 | |
8 | 4 | BS | ) | h | H | 4 | |
9 | 5 | HT | * | i | I | 5 | |
10 | 6 | LF | + | j | J | 6 | |
11 | 7 | VT | , | k | K | 7 | |
12 | 8 | FF | – | l | L | 8 | |
13 | 9 | CR | . | m | M | 9 | |
14 | A | a | SO | / | n | N | A |
15 | B | b | SI | : | o | O | B |
16 | C | c | DLE | ; | p | P | C |
17 | D | d | DC1 | < | q | Q | D |
18 | E | e | DC2 | = | r | R | E |
19 | F | f | DC3 | > | s | S | F |
20 | G | g | DC4 | ? | t | T | G |
21 | H | h | NAK | @ | u | U | H |
22 | I | i | SYN | [ | v | V | I |
23 | J | j | ETB | \ | w | W | J |
24 | K | k | CAN | ] | x | X | K |
25 | L | l | EM | ^ | y | Y | L |
26 | M | m | SUB | _ | z | Z | M |
27 | N | n | ESC | FNC1 | { | N | |
28 | O | o | FS | | | O | ||
29 | P | p | GS | } | P | ||
30 | Q | q | RS | hibit | ~ | Q | |
31 | R | r | ABD | DEL | R | ||
32 | S | s | S | ||||
33 | T | t | T | ||||
34 | U | u | U | ||||
35 | V | v | V | ||||
36 | W | w | W | ||||
37 | X | x | X | ||||
38 | Y | y | Y | ||||
39 | Z | z | Z |
EDIFACT modu
EDIFACT modu karakter başına altı bit kullanır ve dört karakter üç bayta paketlenir. Rakamları, büyük harfleri ve birçok noktalama işaretini saklayabilir, ancak küçük harf desteği yoktur. ⓘ
Kod | Anlamı ⓘ |
---|---|
0–30 | ASCII kodları 64-94 |
31 | ASCII moduna dönün |
32–63 | ASCII kodları 32-63 |
Baz 256 modu
Taban 256 modu verileri bir uzunluk göstergesi ile başlar ve ardından veri baytlarının sayısı gelir. 1 ila 249 arasındaki bir uzunluk tek bir bayt olarak kodlanır, ve daha uzun uzunluklar iki bayt olarak saklanır. ⓘ
- L1 = floor(uzunluk / 250) + 249, L2 = uzunluk mod 250 ⓘ
Kodlanmış mesajda uzun sıfır dizilerinden kaçınılması arzu edilir, çünkü bunlar Veri Matrisi sembolünde büyük boş alanlar haline gelir ve bir tarayıcının senkronizasyonu kaybetmesine neden olabilir. (Varsayılan ASCII kodlaması bu nedenle sıfır kullanmaz.) Bunu daha az olası hale getirmek için uzunluk ve veri baytları, n'nin bayt akışındaki konum olduğu bir sözde rastgele değer R(n) eklenerek gizlenir. ⓘ
- R(n) = (149 × n) mod 255 + 1 ⓘ
Patent sorunları
ABD Patenti 5,612,524'ün Kasım 2007'de sona ermesinden önce, fikri mülkiyet şirketi Acacia Technologies, Data Matrix'in içeriğinin kısmen kapsandığını iddia etti. Patent sahibi olarak Acacia'nın Data Matrix kullanıcılarıyla temasa geçerek patentle ilgili lisans ücreti talep ettiği iddia edildi. ⓘ
Büyük bir 2D barkod cihazı üreticisi olan Cognex Corporation, Acacia'nın müşterileriyle irtibata geçerek lisans ücreti talep ettiği bilgisini aldıktan sonra 13 Mart 2006 tarihinde bir beyan edici karar şikayetinde bulundu. 19 Mayıs 2008 tarihinde Minnesota'daki ABD Bölge Mahkemesi Yargıcı Joan N. Ericksen Cognex lehine karar verdi. Kararda, 2D semboloji kodlarını yakalamak ve okumak için bir sistemi kapsadığı iddia edilen '524 patentinin, patentin alınması sırasında davalıların adil olmayan davranışları nedeniyle hem geçersiz hem de uygulanamaz olduğuna hükmedildi. ⓘ
Karar patentin süresi dolduktan sonra verilmiş olsa da, Data Matrix'in Kasım 2007'den önceki kullanımına dayanan ihlal iddialarını engellemiştir. ⓘ
DE 4107020 numaralı Alman patent başvurusu 1991 yılında yapılmış ve 1992 yılında yayınlanmıştır. Bu patente yukarıdaki ABD patent başvurularında atıfta bulunulmamıştır ve bu patentleri geçersiz kılabilir. ⓘ
İçerik
GTIN: 14 rakamlı Barkod Numarası. EAN barkodunun başına "0" konularak elde edilir. ⓘ
Sıra Numarası: Her birim ilaç için benzersiz şekilde üreticiler tarafından tespit edilir. Serialize ve benzersiz bir numaradır. ⓘ
Son Kullanma Tarihi: Yıl, ay, gün formatında 6 rakamla anlatılan son kullanma tarihi. ⓘ
Parti Numarası: İlacın üretimindeki parti, lot, batch veya eski ifade ile seriyi ifade eden bir rakam. ⓘ
Bu bilgilerle her ürün izlenebilir hale gelmektedir. GTIN+sıra numarası birlikte o üründe benzersizliği oluştururlar. ⓘ
Türkiye'de karekod
Türkiye'de ilaç ambalajlarına karekod basılması 1 Ekim 2009 tarihinden itibaren mecburi hale getirilmiştir. Karekod Türkiye'de aynı zamanda ilaçların izlenmesi için kullanılmaktadır. İlaçları izleyen İlaç Takip Sistemi (İTS) adındaki altyapı 16 Mayıs 2010 tarihi itibarıyla gerçek zamanlı hizmet vermeye başlamış ve halen hizmete 7 gün 24 saat hizmet vermektedir. ⓘ
Eczanelerin İlaç Takip Sistemi'ne erişimleri halen SGK'nın Medula isimli uygulaması üzerinden yapılmaktadır. Medula dışından karekodlar sorgulanabilmekte ve bu yöntemle ilaçların gerçekliği anlaşılabilmektedir. ⓘ
Karekod uygulaması ve İTS ile Türkiye'de ilaç sahteciliği büyük oranda engellenmiştir. ⓘ