diff --git a/scripts/export-ocr-fixtures.py b/scripts/export-ocr-fixtures.py new file mode 100644 index 0000000..c875c20 --- /dev/null +++ b/scripts/export-ocr-fixtures.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python3 +""" +ocr_result 50~53 행의 raw_response를 회귀 테스트 fixture로 내보낸다. +개인정보(이름·주민번호·전화·사업자번호·교부번호·의료기관·약사명)를 치환한다. + +사용법: + 1. 아래 DB 접속 정보를 로컬 환경에 맞게 수정 + 2. python3 export-ocr-fixtures.py + 3. 생성된 파일을 눈으로 검토 (개인정보 남았는지) + 4. git add src/test/resources/ocr/fixtures/*_real.json +""" +import json +import re +import subprocess + +# --- DB 접속 (.env의 LOCAL_DB_* 값 사용. 비번은 MYSQL_PWD 환경변수로 전달) --- +import os +DB_NAME = "callcare" +MYSQL = ["mysql", "-uroot", DB_NAME, "-N", "--raw", "-e"] +_ENV = dict(os.environ) +try: + for line in open(f"{os.path.dirname(__file__)}/../.env"): + if line.startswith("LOCAL_DB_PASSWORD="): + _ENV["MYSQL_PWD"] = line.split("=", 1)[1].strip() +except OSError: + pass + +REPO = "/Users/kangcheolung/cotato/callcare" +OUT = f"{REPO}/src/test/resources/ocr/fixtures" + +MAPPING = { + 50: "pharmacy_receipt_grid_real.json", + 51: "pharmacy_receipt_scattered_real.json", + 52: "drug_bag_starred_real.json", + 53: "drug_bag_compact_real.json", + 54: "table_prescription_real.json", +} + +# inferText 값에 적용할 치환 (개인정보 → 더미). 약 이름/용법은 건드리지 않음. +def anonymize(text: str) -> str: + t = text + # 주민번호(6-7 / 6-1 부분마스킹형), 만나이/생년 + t = re.sub(r"\d{6}\s*-\s*[1-8](\d{6})?", "******-*******", t) + t = re.sub(r"\d{4}년생", "0000년생", t) + t = re.sub(r"만\s*\d+세", "만 00세", t) + # 전화번호 + t = re.sub(r"0\d{1,2}-?\d{3,4}-?\d{4}", "000-0000-0000", t) + t = re.sub(r"\b01[016789]\d{7,8}\b", "01000000000", t) + # 사업자등록번호 + t = re.sub(r"\b\d{3}-\d{2}-\d{5}\b", "000-00-00000", t) + # 교부번호/영수증번호(숫자-숫자 또는 13자리) + t = re.sub(r"\b\d{8,10}-\d{4,5}\b", "20250101-00000", t) + t = re.sub(r"\b\d{13}\b", "2025010100000", t) + t = re.sub(r"\b\d{12}\b", "000000000000", t) + # 이름 (환자/약사/의사) — 실제 값으로 교체 + for name in ["신세인", "김필독", "방현조", "안인선"]: + t = t.replace(name, "홍길동") + # 의료기관/약국명 + for org, repl in [ + ("향촌 사랑 내과", "행복 내과"), ("향촌메디컬", "행복메디컬"), + ("향 촌 우리약국", "행복 약국"), ("향 촌", "행복"), ("향촌", "행복"), + ("우리약국", "행복약국"), + ("터울병원", "행복병원"), ("필독약국", "행복약국"), ("필독", "행복"), + ]: + t = t.replace(org, repl) + return t + + +def scrub_name_fields(fields): + """'성명' 등 이름 라벨 뒤에 오는 짧은 한글 필드(약사/의사 이름 조각)를 마스킹한다.""" + LABELS = {"성명", "성 명", "환자 성명", "환 자 성 명", "조제한", "조제약사"} + for i, f in enumerate(fields): + if f.get("inferText", "").strip() in LABELS: + for j in range(i + 1, min(i + 4, len(fields))): + nxt = fields[j].get("inferText", "").strip() + if 1 <= len(nxt) <= 3 and re.fullmatch(r"[가-힣]+", nxt): + fields[j]["inferText"] = "○" * len(nxt) + + +def process(row_id: int, filename: str): + raw = subprocess.run( + MYSQL + [f"SELECT raw_response FROM ocr_result WHERE ocr_result_id={row_id}"], + capture_output=True, text=True, check=True, env=_ENV, + ).stdout.strip() + if not raw: + print(f" #{row_id}: raw_response 비어있음 — 스킵") + return + doc = json.loads(raw) + for img in doc.get("images", []): + for f in img.get("fields", []): + if "inferText" in f: + f["inferText"] = anonymize(f["inferText"]) + scrub_name_fields(img.get("fields", [])) + + # 파서가 쓰는 필드만 남기고 축소 (inferConfidence, type 등 제거) + minify + slim = { + "version": doc.get("version", "V2"), + "images": [{ + "inferResult": img.get("inferResult", "SUCCESS"), + "fields": [{ + "inferText": f.get("inferText", ""), + "lineBreak": bool(f.get("lineBreak", False)), + "boundingPoly": {"vertices": [ + {"x": v.get("x"), "y": v.get("y")} + for v in (f.get("boundingPoly") or {}).get("vertices", []) + ]}, + } for f in img.get("fields", [])], + } for img in doc.get("images", [])], + } + out_path = f"{OUT}/{filename}" + with open(out_path, "w") as fp: + json.dump(slim, fp, ensure_ascii=False, separators=(",", ":")) + fp.write("\n") + n = sum(len(img["fields"]) for img in slim["images"]) + print(f" #{row_id} -> {filename} ({n} fields)") + + +if __name__ == "__main__": + for rid, fn in MAPPING.items(): + process(rid, fn) + print("\n검토: grep -E '신세인|김필독|향촌|필독|터울|방현조|안인선' src/test/resources/ocr/fixtures/*_real.json") diff --git a/src/main/java/com/piuda/callcare/domain/ocrresult/service/OcrParser.java b/src/main/java/com/piuda/callcare/domain/ocrresult/service/OcrParser.java index c690fd4..5c282d8 100644 --- a/src/main/java/com/piuda/callcare/domain/ocrresult/service/OcrParser.java +++ b/src/main/java/com/piuda/callcare/domain/ocrresult/service/OcrParser.java @@ -21,7 +21,7 @@ public class OcrParser { "\\*([가-힣a-zA-Z][가-힣a-zA-Z0-9]*(?:정|캡슐|캅셀|시럽|액|연고|크림|주사|산|패치))" ); private static final Pattern NON_STARRED_DRUG_NAME_PATTERN = Pattern.compile( - "^([가-힣a-zA-Z][가-힣a-zA-Z0-9]*(?:정|캡슐|캅셀|시럽|액|연고|크림|주사|산|패치))(?:\\(|_|\\d)", + "^([가-힣a-zA-Z][가-힣a-zA-Z0-9]*(?:정|캡슐|캅셀|시럽|액|연고|크림|주사|산|패치))(?:\\(|\\[|_|\\d)", Pattern.MULTILINE ); private static final Pattern DRUG_NAME_PATTERN = Pattern.compile( @@ -52,17 +52,22 @@ public class OcrParser { "총\\s*투약\\s*일수\\s*(\\d+)|총\\s*복용\\s*일수\\s*(\\d+)|(\\d+)\\s*일(?:분|치|간)" ); - // ⚡ 수정: "계산"/"계산서" 같은 우연히 '산' 접미사를 가진 비약품 토큰 추가 + // ⚡ 수정: 비약품 토큰 + 제형만 나타내는 단어(약봉투 설명줄 "코팅정" 등)를 약 이름으로 오인하지 않도록 private static final Set DRUG_NAME_BLACKLIST = Set.of( "약제비총액", "본인부담금", "보험자부담금", "총수납금액", "현금영수증", "비급여및전액본인부담금", - "계산", "계산서" + "계산", "계산서", + "코팅정", "필름코팅정", "서방정", "장용정", "당의정", "설하정", "나정", + "경질캡슐", "연질캡슐", "경질캅셀" ); private static final Pattern LINE_DRUG_NAME_PATTERN = Pattern.compile( - "^([가-힣a-zA-Z][가-힣a-zA-Z0-9]*(?:정|캡슐|캅셀|시럽|액|연고|크림|주사|산|패치))(?:\\(|_|\\d|\\s*$)", + "^([가-힣a-zA-Z][가-힣a-zA-Z0-9]*(?:정|캡슐|캅셀|시럽|액|연고|크림|주사|산|패치))(?:\\(|\\[|_|\\d|\\s*$)", Pattern.MULTILINE ); + // ⚡ 수정: 기존 \s* 는 줄바꿈·공백을 삼켜 표 헤더("1회 투약량" + 다음 칸 "1일...")를 + // 라벨로 오인함. 약봉투 라벨은 키워드가 붙어("1회투약량1") 나오고 표 헤더는 띄어써서 + // ("1회 투약량") 나뉘므로, 키워드는 글자를 붙이고 값 숫자 앞에만 공백/탭을 허용한다. private static final Pattern LABEL_DOSAGE_PATTERN = Pattern.compile( - "1회\\s*투약량\\s*\\d|1일\\s*투여\\s*횟수\\s*\\d|총\\s*투약\\s*일수\\s*\\d" + "1회투약량[ \\t]*\\d|1일투여횟수[ \\t]*\\d|총투약일수[ \\t]*\\d" ); // 처방일 우선, 없으면 조제일 fallback @@ -73,6 +78,11 @@ public class OcrParser { "(?:조제일|조제일자)\\s*[:\\-]?\\s*(\\d{4})\\s*[.년\\-]\\s*(\\d{1,2})\\s*[.월\\-]?\\s*(\\d{1,2})" ); + // 병원 처방전 약 줄: "보험코드(8~10자리) + 제품명 [+ (내복)]" + private static final Pattern PRESCRIPTION_CODE_LINE = Pattern.compile("\\d{8,10}\\s+[가-힣A-Za-z]"); + private static final Pattern DRUG_CODE = Pattern.compile("^\\d{8,10}$"); + private static final Pattern SINGLE_NUMBER = Pattern.compile("^[0-9lITl]$"); + private static final List DRUG_NAME_KEYWORDS = List.of("명칭", "약품명", "의약품"); private static final List DOSAGE_KEYWORDS = List.of("투약량", "복용량", "1회"); private static final List TIMES_KEYWORDS = List.of("투여횟수", "복용횟수", "횟수"); @@ -84,13 +94,18 @@ public OcrParseResult parse(List fields, OcrType ocrT boolean hasCoordinates = fields.stream() .anyMatch(f -> f.boundingPoly() != null && !f.boundingPoly().vertices().isEmpty()); + // 순서 주의: 약봉투(별표/라벨/압축형)를 표 처방전보다 먼저 판정한다. + // 라벨 약봉투도 "투약량/횟수/일수" 키워드를 가져 표로 오인될 수 있기 때문. List parsedDrugs; if (isPharmacyReceipt(rawText)) { parsedDrugs = parseByPharmacyReceipt(rawText); - } else if (hasCoordinates && isTablePrescription(rawText)) { - parsedDrugs = parseByCoordinates(fields); } else if (isTextSequentialMulti(rawText)) { parsedDrugs = parseByTextSequential(rawText); + } else if (hasCoordinates && hasPrescriptionCodeLines(rawText)) { + // 보험코드 줄이 있는 병원 처방전 — 헤더가 뭉개져도 코드+x좌표로 파싱 + parsedDrugs = parseByPrescriptionCode(fields); + } else if (hasCoordinates && isTablePrescription(rawText)) { + parsedDrugs = parseByCoordinates(fields); } else { parsedDrugs = List.of(parseByRegex(rawText)); } @@ -198,13 +213,17 @@ private List parseByPharmacyReceipt(String rawText) { result.add(new ParsedOcrData(names.get(i), dosage, times, days)); } - // ⚡ 신규: 전부 못 찾았으면 "이름들 나열 후 숫자만 그룹으로" 형태 시도 (위더스 약봉투) - if (result.stream().allMatch(d -> d.dosagePerTime() == null && d.timesPerDay() == null && d.totalDays() == null)) { + // ⚡ 수정: "이름들 나열 후 숫자만 그룹으로" 형태 시도 (위더스 약봉투). + // 마지막 약 블록이 뒤 숫자를 흡수해 값이 생기면 allMatch가 깨지므로, 절반 이상이 비면 시도한다. + long emptyCount = result.stream() + .filter(d -> d.dosagePerTime() == null && d.timesPerDay() == null && d.totalDays() == null) + .count(); + if (emptyCount * 2 >= result.size()) { List grouped = parseGroupedTrailingNumbers(rawText, names, starts); - if (grouped != null) return grouped; + if (grouped != null) return dedupeByName(grouped); } - return result; + return dedupeByName(result); } // ⚡ 신규: *약이름 *약이름 *약이름 \n 1 3 3 1 3 3 1 3 3 형태 파싱 @@ -255,12 +274,16 @@ private String inferDosageUnit(String drugName) { // ── 텍스트 순서형 다중 약 감지 + 파싱 ──────────────────────────────────── private boolean isTextSequentialMulti(String rawText) { - Matcher m = LABEL_DOSAGE_PATTERN.matcher(rawText); + return countMatches(LABEL_DOSAGE_PATTERN, rawText) >= 2 + // ⚡ 신규: 별표·라벨 없이 "이름 줄 + 1정씩1회5일분"이 반복되는 압축형 약봉투 + || countMatches(COMPACT_DOSAGE_PATTERN, rawText) >= 2; + } + + private int countMatches(Pattern pattern, String text) { + Matcher m = pattern.matcher(text); int count = 0; - while (m.find()) { - if (++count >= 2) return true; - } - return false; + while (m.find()) count++; + return count; } private List parseByTextSequential(String rawText) { @@ -299,13 +322,97 @@ private List parseByTextSequential(String rawText) { result.add(new ParsedOcrData(names.get(i), dosage, extractTimesPerDay(block), extractTotalDays(block))); } - return result.isEmpty() ? List.of(parseByRegex(rawText)) : result; + return result.isEmpty() ? List.of(parseByRegex(rawText)) : dedupeByName(result); + } + + // ── 보험코드 줄 기반 처방전 파싱 ───────────────────────────────────────── + // 헤더가 뭉개진 저화질 처방전도, "9자리 코드 + 이름" 줄과 같은 행의 숫자를 x순으로 잡는다. + + private boolean hasPrescriptionCodeLines(String rawText) { + return countMatches(PRESCRIPTION_CODE_LINE, rawText) >= 2; + } + + private List parseByPrescriptionCode(List fields) { + List positioned = fields.stream() + .filter(f -> f.boundingPoly() != null && !f.boundingPoly().vertices().isEmpty()) + .map(f -> new FieldWithCenter(f, centerX(f), centerY(f))) + .toList(); + + List codes = positioned.stream() + .filter(f -> DRUG_CODE.matcher(f.field().inferText().trim()).matches()) + .sorted(Comparator.comparingDouble(FieldWithCenter::y)) + .toList(); + if (codes.size() < 2) { + return List.of(parseByRegex(buildRawText(fields))); + } + + // 각 필드를 y가 가장 가까운 코드 행에 배정하되, 행 간격의 절반 이내만 인정한다 + double rowGap = codes.size() > 1 ? (codes.get(codes.size() - 1).y() - codes.get(0).y()) / (codes.size() - 1) : 15; + double yTol = Math.max(6, rowGap * 0.6); + + List result = new ArrayList<>(); + for (int r = 0; r < codes.size(); r++) { + FieldWithCenter code = codes.get(r); + int idx = r; + List row = positioned.stream() + .filter(f -> Math.abs(f.y() - code.y()) <= yTol && nearestCodeIndex(codes, f.y()) == idx) + .sorted(Comparator.comparingDouble(FieldWithCenter::x)) + .toList(); + + // 이름: 코드 오른쪽의 첫 한글 텍스트 (숫자·식후 등 제외) + String name = row.stream() + .filter(f -> f.x() > code.x()) + .map(f -> refineCodeLineName(f.field().inferText())) + .filter(Objects::nonNull) + .findFirst().orElse(null); + if (name == null) continue; + + // 숫자: 코드/이름 오른쪽의 한 자리 숫자들을 x순으로 (투약량·횟수·일수 = 앞 3개) + List nums = row.stream() + .filter(f -> f.x() > code.x()) + .filter(f -> SINGLE_NUMBER.matcher(f.field().inferText().trim()).matches()) + .map(f -> normalizeDigit(f.field().inferText().trim())) + .toList(); + + String dosage = nums.isEmpty() ? null : nums.get(0); + String unit = inferDosageUnit(name); + if (dosage != null && dosage.matches("\\d+") && unit != null) dosage = dosage + unit; + Integer times = nums.size() > 1 ? parseIntOrNull(nums.get(1)) : null; + Integer days = nums.size() > 2 ? parseIntOrNull(nums.get(2)) : null; + + result.add(new ParsedOcrData(name, dosage, times, days)); + } + return result.isEmpty() ? List.of(parseByRegex(buildRawText(fields))) : dedupeByName(result); + } + + private static final Pattern USAGE_WORD = Pattern.compile("^(식(후|전|주|간|추)|취침전?|아침|점심|저녁|공복|경구|내복|외용)$"); + + // "지스로먹스장250mg(내복)" → "지스로먹스장" (괄호·용량 표기 제거, 용법 단어는 제외) + private String refineCodeLineName(String raw) { + String s = raw.replaceAll("\\(.*?\\)", "") + .replaceAll("\\d+(?:\\.\\d+)?\\s*(?:mg|ml|g|밀리그람|밀리그램|그람|밀리리터|mcg|IU)$", "") + .trim(); + if (s.length() < 2 || !s.matches(".*[가-힣].*")) return null; + if (USAGE_WORD.matcher(s).matches()) return null; + return s; + } + + private String normalizeDigit(String s) { + return s.matches("[lITl]") ? "1" : s; + } + + private int nearestCodeIndex(List codes, double y) { + int best = 0; + for (int i = 1; i < codes.size(); i++) { + if (Math.abs(codes.get(i).y() - y) < Math.abs(codes.get(best).y() - y)) best = i; + } + return best; } // ── 표 처방전 감지 ──────────────────────────────────────────────────────── private boolean isTablePrescription(String rawText) { - if (LABEL_DOSAGE_PATTERN.matcher(rawText).find()) return false; + // 라벨/압축형 약봉투는 parse()에서 isTextSequentialMulti로 먼저 걸러진다. int matchCount = 0; if (rawText.contains("명칭") || rawText.contains("약품명")) matchCount++; if (rawText.contains("투약량") || rawText.contains("복용량")) matchCount++; @@ -326,36 +433,68 @@ private List parseByCoordinates(List f List> rows = clusterRows(positioned); rows.forEach(row -> row.sort(Comparator.comparingDouble(FieldWithCenter::x))); - ColumnIndex colIdx = detectColumnIndex(rows); - if (colIdx.drugNameCol() < 0) { + // ⚡ 수정: 헤더 셀의 순서 인덱스 대신 x중심 좌표를 앵커로 쓴다. + // 헤더가 "처방 의약품의"+"명칭" 처럼 쪼개지거나 셀이 누락돼도 데이터 셀을 x 최근접 컬럼에 배정한다. + List anchors = new ArrayList<>(); + int headerRowIdx = -1; + for (int i = 0; i < rows.size() && headerRowIdx < 0; i++) { + for (FieldWithCenter fw : rows.get(i)) { + ColumnKind kind = classifyHeader(fw.field().inferText()); + if (kind != null) anchors.add(new ColumnAnchor(fw.x(), kind)); + } + boolean hasName = anchors.stream().anyMatch(a -> a.kind() == ColumnKind.NAME); + if (hasName && anchors.size() >= 2) headerRowIdx = i; + else anchors.clear(); + } + if (headerRowIdx < 0) { return List.of(parseByRegex(buildRawText(fields))); } List result = new ArrayList<>(); - for (int i = colIdx.headerRowIdx() + 1; i < rows.size(); i++) { - List texts = rows.get(i).stream() - .map(fw -> fw.field().inferText()) - .toList(); + for (int i = headerRowIdx + 1; i < rows.size(); i++) { + EnumMap cells = new EnumMap<>(ColumnKind.class); + for (FieldWithCenter fw : rows.get(i)) { + ColumnKind kind = nearestColumn(anchors, fw.x()); + cells.putIfAbsent(kind, fw.field().inferText().trim()); + } - String drugName = getCol(texts, colIdx.drugNameCol()); - if (drugName == null) continue; - drugName = refineDrugName(drugName); + String rawName = cells.get(ColumnKind.NAME); + if (rawName == null) continue; + String drugName = refineDrugName(rawName); if (drugName == null) continue; - String dosageRaw = getCol(texts, colIdx.dosageCol()); + // ⚡ 수정: 숫자로 시작하지 않는 셀(주의사항 텍스트 등)은 값으로 인정하지 않음 + String dosageRaw = numericCell(cells.get(ColumnKind.DOSAGE)); String unit = inferDosageUnit(drugName); String dosage = dosageRaw != null ? (dosageRaw.matches("\\d+(?:\\.\\d+)?") && unit != null ? dosageRaw + unit : dosageRaw) : null; - Integer times = parseIntOrNull(getCol(texts, colIdx.timesCol())); - Integer days = parseIntOrNull(getCol(texts, colIdx.daysCol())); + Integer times = parseIntOrNull(numericCell(cells.get(ColumnKind.TIMES))); + Integer days = parseIntOrNull(numericCell(cells.get(ColumnKind.DAYS))); result.add(new ParsedOcrData(drugName, dosage, times, days)); } + result = dedupeByName(result); return result.isEmpty() ? List.of(parseByRegex(buildRawText(fields))) : result; } + private ColumnKind classifyHeader(String text) { + if (DRUG_NAME_KEYWORDS.stream().anyMatch(text::contains)) return ColumnKind.NAME; + if (DOSAGE_KEYWORDS.stream().anyMatch(text::contains)) return ColumnKind.DOSAGE; + if (TIMES_KEYWORDS.stream().anyMatch(text::contains)) return ColumnKind.TIMES; + if (DAYS_KEYWORDS.stream().anyMatch(text::contains)) return ColumnKind.DAYS; + return null; + } + + private ColumnKind nearestColumn(List anchors, double x) { + ColumnAnchor best = anchors.get(0); + for (ColumnAnchor a : anchors) { + if (Math.abs(a.x() - x) < Math.abs(best.x() - x)) best = a; + } + return best.kind(); + } + private List> clusterRows(List sorted) { List> rows = new ArrayList<>(); for (FieldWithCenter fw : sorted) { @@ -368,31 +507,6 @@ private List> clusterRows(List sorted) { return rows; } - private ColumnIndex detectColumnIndex(List> rows) { - for (int i = 0; i < rows.size(); i++) { - List texts = rows.get(i).stream() - .map(fw -> fw.field().inferText()) - .toList(); - String rowText = String.join("", texts); - - boolean isHeader = DRUG_NAME_KEYWORDS.stream().anyMatch(rowText::contains) - || DOSAGE_KEYWORDS.stream().anyMatch(rowText::contains); - - if (isHeader) { - int drugCol = -1, dosageCol = -1, timesCol = -1, daysCol = -1; - for (int j = 0; j < texts.size(); j++) { - String t = texts.get(j); - if (DRUG_NAME_KEYWORDS.stream().anyMatch(t::contains)) drugCol = j; - else if (DOSAGE_KEYWORDS.stream().anyMatch(t::contains)) dosageCol = j; - else if (TIMES_KEYWORDS.stream().anyMatch(t::contains)) timesCol = j; - else if (DAYS_KEYWORDS.stream().anyMatch(t::contains)) daysCol = j; - } - return new ColumnIndex(i, drugCol, dosageCol, timesCol, daysCol); - } - } - return new ColumnIndex(-1, -1, -1, -1, -1); - } - // ⚡ 수정: 좌표 기반 파싱에도 블랙리스트 적용 (첫 매치가 블랙리스트면 다음 매치 탐색) private String refineDrugName(String raw) { String cleaned = raw.replaceAll("\\[.*?\\]", "").trim(); @@ -510,16 +624,36 @@ private double lastY(List> rows) { return last.get(last.size() - 1).y(); } - private String getCol(List texts, int col) { - return (col >= 0 && col < texts.size()) ? texts.get(col).trim() : null; - } - private Integer parseIntOrNull(String s) { if (s == null) return null; try { return Integer.parseInt(s.trim()); } catch (NumberFormatException e) { return null; } } + // 숫자로 시작하는 셀만 값으로 통과 (표의 빈 칸에 주의사항/용법 텍스트가 들어오는 경우 방지) + private String numericCell(String s) { + return (s != null && s.matches("\\d.*")) ? s : null; + } + + // 같은 약 이름이 두 번 이상 나오면(영수증의 상세+요약 섹션) 하나로 합친다. + // 값이 있는 항목을 우선 유지한다. + private List dedupeByName(List drugs) { + LinkedHashMap byName = new LinkedHashMap<>(); + for (ParsedOcrData d : drugs) { + ParsedOcrData prev = byName.get(d.drugName()); + if (prev == null || (isEmpty(prev) && !isEmpty(d))) { + byName.put(d.drugName(), d); + } + } + return new ArrayList<>(byName.values()); + } + + private boolean isEmpty(ParsedOcrData d) { + return d.dosagePerTime() == null && d.timesPerDay() == null && d.totalDays() == null; + } + private record FieldWithCenter(NaverOcrApiResponse.Field field, double x, double y) {} - private record ColumnIndex(int headerRowIdx, int drugNameCol, int dosageCol, int timesCol, int daysCol) {} + private enum ColumnKind { NAME, DOSAGE, TIMES, DAYS } + + private record ColumnAnchor(double x, ColumnKind kind) {} } \ No newline at end of file diff --git a/src/test/java/com/piuda/callcare/domain/ocrresult/fixture/OcrFixtureLoader.java b/src/test/java/com/piuda/callcare/domain/ocrresult/fixture/OcrFixtureLoader.java index f457c53..37b204a 100644 --- a/src/test/java/com/piuda/callcare/domain/ocrresult/fixture/OcrFixtureLoader.java +++ b/src/test/java/com/piuda/callcare/domain/ocrresult/fixture/OcrFixtureLoader.java @@ -1,5 +1,6 @@ package com.piuda.callcare.domain.ocrresult.fixture; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.piuda.callcare.domain.ocrresult.dto.ParsedOcrData; import com.piuda.callcare.domain.ocrresult.dto.response.NaverOcrApiResponse; @@ -13,13 +14,20 @@ */ public final class OcrFixtureLoader { - private static final ObjectMapper MAPPER = new ObjectMapper(); + // 실제 Naver 응답 dump에는 우리 DTO에 없는 필드(inferConfidence, message 등)가 있어 무시한다 + private static final ObjectMapper MAPPER = new ObjectMapper() + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); private static final String FIXTURE_DIR = "/ocr/fixtures/"; private static final String MANIFEST_PATH = "/ocr/expected/manifest.json"; private OcrFixtureLoader() { } + /** fixture 파일이 클래스패스에 있는지 확인한다. */ + public static boolean exists(String fixtureFile) { + return OcrFixtureLoader.class.getResource(FIXTURE_DIR + fixtureFile) != null; + } + /** fixture JSON({@link NaverOcrApiResponse} 형태)을 읽어 파서 입력 필드 목록을 반환한다. */ public static List loadFields(String fixtureFile) { try (InputStream in = open(FIXTURE_DIR + fixtureFile)) { diff --git a/src/test/java/com/piuda/callcare/domain/ocrresult/service/OcrParserRegressionTest.java b/src/test/java/com/piuda/callcare/domain/ocrresult/service/OcrParserRegressionTest.java index ce2d89d..5612f03 100644 --- a/src/test/java/com/piuda/callcare/domain/ocrresult/service/OcrParserRegressionTest.java +++ b/src/test/java/com/piuda/callcare/domain/ocrresult/service/OcrParserRegressionTest.java @@ -15,6 +15,7 @@ import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assumptions.assumeTrue; /** * 저장된 실제/합성 OCR 응답을 {@link OcrParser}에 돌려 회귀를 잡는다. @@ -34,6 +35,8 @@ class OcrParserRegressionTest { Stream 회귀_리포트() { List cases = OcrFixtureLoader.loadManifest().fixtures(); return cases.stream().map(fc -> DynamicTest.dynamicTest(fc.file(), () -> { + // 실사진 fixture는 팀이 마스킹 후 추가 — 없으면 스킵(가드는 유지) + assumeTrue(OcrFixtureLoader.exists(fc.file()), "fixture 파일 없음: " + fc.file()); List fields = OcrFixtureLoader.loadFields(fc.file()); OcrParseResult result = ocrParser.parse(fields, OcrType.valueOf(fc.ocrType())); List actual = result.parsedDrugs(); diff --git a/src/test/resources/ocr/expected/manifest.json b/src/test/resources/ocr/expected/manifest.json index 96e8247..0ac93f0 100644 --- a/src/test/resources/ocr/expected/manifest.json +++ b/src/test/resources/ocr/expected/manifest.json @@ -15,8 +15,8 @@ { "file": "table_prescription_synth.json", "ocrType": "PRESCRIPTION", - "guard": false, - "note": "합성 표 처방전 (좌표 포함) - 이슈 B 대상, 현재 미달", + "guard": true, + "note": "합성 표 처방전 (좌표 포함, 헤더 분리 재현) - 좌표 파싱으로 5약 전부 추출", "expected": [ { "drugName": "아모잘탄정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 }, { "drugName": "크레스토정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 }, @@ -24,6 +24,88 @@ { "drugName": "노바스크정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 28 }, { "drugName": "아스피린프로텍트정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 } ] + }, + { + "file": "drug_bag_compact_synth.json", + "ocrType": "DRUG_BAG", + "guard": true, + "note": "합성 약봉투 압축형 (이름 줄 + '1정씩1회30일분' 반복, 좌표 없음) - 다중 약 분리", + "expected": [ + { "drugName": "아모잘탄정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 }, + { "drugName": "크레스토정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 }, + { "drugName": "리피토정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 30 }, + { "drugName": "아스피린프로텍트정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 30 } + ] + }, + { + "file": "drug_bag_starred_real.json", + "ocrType": "DRUG_BAG", + "guard": true, + "note": "실제 약봉투 (별표형) - 파일 없으면 스킵. 팀이 마스킹 후 추가", + "expected": [ + { "drugName": "타이레놀이알서방정", "dosagePerTime": "1정", "timesPerDay": 3, "totalDays": 3 }, + { "drugName": "뮤테란캅셀", "dosagePerTime": "1캡슐", "timesPerDay": 3, "totalDays": 3 }, + { "drugName": "종근당아목시실린캡슐", "dosagePerTime": "1캡슐", "timesPerDay": 3, "totalDays": 3 }, + { "drugName": "코푸시럽", "dosagePerTime": "1ml", "timesPerDay": 3, "totalDays": 3 } + ] + }, + { + "file": "drug_bag_compact_real.json", + "ocrType": "DRUG_BAG", + "guard": true, + "note": "실제 약봉투 (압축형, 위더스제약 9약) - 파일 없으면 스킵. 팀이 마스킹 후 추가", + "expected": [ + { "drugName": "위더스레보를록사신정", "dosagePerTime": "1정", "timesPerDay": 1, "totalDays": 5 }, + { "drugName": "클래민정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 5 }, + { "drugName": "프레나정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 5 }, + { "drugName": "데파스정", "dosagePerTime": "0.5정", "timesPerDay": 2, "totalDays": 5 }, + { "drugName": "덱시네정", "dosagePerTime": "1정", "timesPerDay": 3, "totalDays": 5 }, + { "drugName": "설포스캡슐", "dosagePerTime": "1캡슐", "timesPerDay": 2, "totalDays": 5 }, + { "drugName": "코대원에스시럽", "dosagePerTime": "1포", "timesPerDay": 3, "totalDays": 5 }, + { "drugName": "엘도신캡슐", "dosagePerTime": "1캡슐", "timesPerDay": 2, "totalDays": 5 }, + { "drugName": "베포캄정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 5 } + ] + }, + { + "file": "table_prescription_real.json", + "ocrType": "PRESCRIPTION", + "guard": true, + "note": "실제 병원 표 처방전 (저화질, 헤더 뭉개짐, 보험코드 줄 4약) - 코드+x좌표 파싱", + "expected": [ + { "drugName": "지스로먹스장", "dosagePerTime": "2", "timesPerDay": 1, "totalDays": 3 }, + { "drugName": "에리우스점", "dosagePerTime": "1", "timesPerDay": 1, "totalDays": 3 }, + { "drugName": "써스벤이열시방정", "dosagePerTime": "1정", "timesPerDay": 3, "totalDays": 3 }, + { "drugName": "폰탈한셀", "dosagePerTime": "1", "timesPerDay": 3, "totalDays": 3 } + ] + }, + { + "file": "pharmacy_receipt_grid_real.json", + "ocrType": "PRESCRIPTION", + "guard": false, + "note": "실제 약제비 영수증 (상세+요약표 2섹션, 중복 발생) - 리포트 전용. 팀이 마스킹 후 추가", + "expected": [ + { "drugName": "뉴부틴서방정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 7 }, + { "drugName": "액시티딘캅셀", "dosagePerTime": "1캡슐", "timesPerDay": 2, "totalDays": 7 }, + { "drugName": "티로파정", "dosagePerTime": "1정", "timesPerDay": 2, "totalDays": 7 }, + { "drugName": "비오플250캅셀", "dosagePerTime": "1캡슐", "timesPerDay": 2, "totalDays": 7 }, + { "drugName": "환인그란닥신정", "dosagePerTime": "0.5정", "timesPerDay": 2, "totalDays": 7 } + ] + }, + { + "file": "pharmacy_receipt_scattered_real.json", + "ocrType": "PRESCRIPTION", + "guard": false, + "note": "실제 약제비 영수증 (좌표만 표처럼 보임, 압축패턴 없음 - 최난도) - 리포트 전용. 팀이 마스킹 후 추가", + "expected": [ + { "drugName": "알마겔정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "슈가메트서방정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "듀비메트서방정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "경동아스피린장용정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "리피토정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "애니코프캡슐", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "다이크로짇정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null }, + { "drugName": "소론도정", "dosagePerTime": null, "timesPerDay": null, "totalDays": null } + ] } ] } diff --git a/src/test/resources/ocr/fixtures/drug_bag_compact_real.json b/src/test/resources/ocr/fixtures/drug_bag_compact_real.json new file mode 100644 index 0000000..842ff2b --- /dev/null +++ b/src/test/resources/ocr/fixtures/drug_bag_compact_real.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"기주","lineBreak":true,"boundingPoly":{"vertices":[{"x":606.0,"y":14.0},{"x":638.0,"y":18.0},{"x":637.0,"y":35.0},{"x":604.0,"y":31.0}]}},{"inferText":"약품사진","lineBreak":true,"boundingPoly":{"vertices":[{"x":26.0,"y":12.0},{"x":90.0,"y":13.0},{"x":89.0,"y":32.0},{"x":26.0,"y":31.0}]}},{"inferText":"약품명","lineBreak":true,"boundingPoly":{"vertices":[{"x":154.0,"y":15.0},{"x":203.0,"y":17.0},{"x":202.0,"y":36.0},{"x":154.0,"y":34.0}]}},{"inferText":"위더스레보를록사신정[퀴놀론계","lineBreak":false,"boundingPoly":{"vertices":[{"x":92.0,"y":30.0},{"x":291.0,"y":35.0},{"x":291.0,"y":53.0},{"x":92.0,"y":47.0}]}},{"inferText":"항생제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":298.0,"y":34.0},{"x":348.0,"y":35.0},{"x":347.0,"y":52.0},{"x":298.0,"y":50.0}]}},{"inferText":"복약안내","lineBreak":false,"boundingPoly":{"vertices":[{"x":336.0,"y":18.0},{"x":400.0,"y":18.0},{"x":400.0,"y":37.0},{"x":336.0,"y":37.0}]}},{"inferText":"(투약량","lineBreak":false,"boundingPoly":{"vertices":[{"x":396.0,"y":19.0},{"x":431.0,"y":19.0},{"x":431.0,"y":33.0},{"x":396.0,"y":33.0}]}},{"inferText":"/횟수/일수)","lineBreak":true,"boundingPoly":{"vertices":[{"x":431.0,"y":19.0},{"x":490.0,"y":19.0},{"x":490.0,"y":32.0},{"x":431.0,"y":32.0}]}},{"inferText":"1정씩1회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":442.0,"y":33.0},{"x":519.0,"y":33.0},{"x":519.0,"y":46.0},{"x":442.0,"y":46.0}]}},{"inferText":"코팅정","lineBreak":true,"boundingPoly":{"vertices":[{"x":93.0,"y":63.0},{"x":129.0,"y":64.0},{"x":129.0,"y":78.0},{"x":92.0,"y":78.0}]}},{"inferText":"노란","lineBreak":false,"boundingPoly":{"vertices":[{"x":93.0,"y":48.0},{"x":118.0,"y":49.0},{"x":117.0,"y":64.0},{"x":92.0,"y":63.0}]}},{"inferText":"분홍색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":118.0,"y":49.0},{"x":167.0,"y":50.0},{"x":167.0,"y":65.0},{"x":118.0,"y":64.0}]}},{"inferText":"장방형","lineBreak":false,"boundingPoly":{"vertices":[{"x":168.0,"y":52.0},{"x":203.0,"y":52.0},{"x":203.0,"y":66.0},{"x":167.0,"y":66.0}]}},{"inferText":"필름","lineBreak":false,"boundingPoly":{"vertices":[{"x":206.0,"y":52.0},{"x":229.0,"y":53.0},{"x":228.0,"y":66.0},{"x":205.0,"y":65.0}]}},{"inferText":"퀴놀론계","lineBreak":false,"boundingPoly":{"vertices":[{"x":230.0,"y":51.0},{"x":276.0,"y":52.0},{"x":275.0,"y":66.0},{"x":229.0,"y":65.0}]}},{"inferText":"항균제","lineBreak":false,"boundingPoly":{"vertices":[{"x":278.0,"y":52.0},{"x":314.0,"y":52.0},{"x":314.0,"y":67.0},{"x":278.0,"y":66.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":315.0,"y":57.0},{"x":321.0,"y":57.0},{"x":321.0,"y":65.0},{"x":315.0,"y":65.0}]}},{"inferText":"세균에","lineBreak":false,"boundingPoly":{"vertices":[{"x":321.0,"y":52.0},{"x":357.0,"y":52.0},{"x":356.0,"y":67.0},{"x":320.0,"y":67.0}]}},{"inferText":"의한","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":51.0},{"x":383.0,"y":52.0},{"x":382.0,"y":67.0},{"x":357.0,"y":66.0}]}},{"inferText":"각종","lineBreak":false,"boundingPoly":{"vertices":[{"x":385.0,"y":51.0},{"x":409.0,"y":52.0},{"x":408.0,"y":66.0},{"x":384.0,"y":65.0}]}},{"inferText":"감염","lineBreak":true,"boundingPoly":{"vertices":[{"x":411.0,"y":50.0},{"x":435.0,"y":51.0},{"x":434.0,"y":65.0},{"x":410.0,"y":64.0}]}},{"inferText":"중","lineBreak":false,"boundingPoly":{"vertices":[{"x":231.0,"y":66.0},{"x":243.0,"y":67.0},{"x":242.0,"y":80.0},{"x":230.0,"y":79.0}]}},{"inferText":"치료","lineBreak":true,"boundingPoly":{"vertices":[{"x":244.0,"y":65.0},{"x":269.0,"y":66.0},{"x":268.0,"y":80.0},{"x":243.0,"y":79.0}]}},{"inferText":"처방기간","lineBreak":false,"boundingPoly":{"vertices":[{"x":584.0,"y":56.0},{"x":608.0,"y":56.0},{"x":607.0,"y":69.0},{"x":584.0,"y":68.0}]}},{"inferText":"끝","lineBreak":false,"boundingPoly":{"vertices":[{"x":609.0,"y":56.0},{"x":622.0,"y":56.0},{"x":622.0,"y":68.0},{"x":609.0,"y":68.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":623.0,"y":57.0},{"x":637.0,"y":57.0},{"x":637.0,"y":68.0},{"x":623.0,"y":68.0}]}},{"inferText":"까지","lineBreak":false,"boundingPoly":{"vertices":[{"x":584.0,"y":66.0},{"x":609.0,"y":66.0},{"x":609.0,"y":78.0},{"x":584.0,"y":78.0}]}},{"inferText":"복용","lineBreak":true,"boundingPoly":{"vertices":[{"x":611.0,"y":66.0},{"x":637.0,"y":66.0},{"x":637.0,"y":78.0},{"x":611.0,"y":78.0}]}},{"inferText":"클래민정250mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":94.0,"y":85.0},{"x":197.0,"y":88.0},{"x":197.0,"y":105.0},{"x":93.0,"y":102.0}]}},{"inferText":"[마크로라이드계","lineBreak":false,"boundingPoly":{"vertices":[{"x":229.0,"y":87.0},{"x":331.0,"y":87.0},{"x":331.0,"y":103.0},{"x":229.0,"y":104.0}]}},{"inferText":"항생제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":335.0,"y":87.0},{"x":383.0,"y":87.0},{"x":383.0,"y":103.0},{"x":335.0,"y":104.0}]}},{"inferText":"노란색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":94.0,"y":104.0},{"x":142.0,"y":104.0},{"x":142.0,"y":119.0},{"x":94.0,"y":119.0}]}},{"inferText":"타원형","lineBreak":false,"boundingPoly":{"vertices":[{"x":143.0,"y":105.0},{"x":178.0,"y":105.0},{"x":178.0,"y":119.0},{"x":143.0,"y":119.0}]}},{"inferText":"필름코팅","lineBreak":true,"boundingPoly":{"vertices":[{"x":180.0,"y":105.0},{"x":226.0,"y":105.0},{"x":226.0,"y":119.0},{"x":180.0,"y":119.0}]}},{"inferText":"정","lineBreak":true,"boundingPoly":{"vertices":[{"x":96.0,"y":119.0},{"x":108.0,"y":119.0},{"x":108.0,"y":132.0},{"x":96.0,"y":132.0}]}},{"inferText":"마크로라이드계","lineBreak":false,"boundingPoly":{"vertices":[{"x":230.0,"y":105.0},{"x":310.0,"y":105.0},{"x":310.0,"y":118.0},{"x":230.0,"y":119.0}]}},{"inferText":"항생제:","lineBreak":false,"boundingPoly":{"vertices":[{"x":312.0,"y":106.0},{"x":354.0,"y":106.0},{"x":354.0,"y":119.0},{"x":312.0,"y":119.0}]}},{"inferText":"세균에","lineBreak":false,"boundingPoly":{"vertices":[{"x":355.0,"y":105.0},{"x":390.0,"y":105.0},{"x":390.0,"y":118.0},{"x":355.0,"y":119.0}]}},{"inferText":"의한","lineBreak":false,"boundingPoly":{"vertices":[{"x":390.0,"y":104.0},{"x":416.0,"y":103.0},{"x":417.0,"y":117.0},{"x":391.0,"y":118.0}]}},{"inferText":"각종","lineBreak":true,"boundingPoly":{"vertices":[{"x":417.0,"y":104.0},{"x":442.0,"y":103.0},{"x":443.0,"y":117.0},{"x":418.0,"y":118.0}]}},{"inferText":"감염증","lineBreak":false,"boundingPoly":{"vertices":[{"x":230.0,"y":119.0},{"x":265.0,"y":118.0},{"x":265.0,"y":133.0},{"x":230.0,"y":133.0}]}},{"inferText":"치료,","lineBreak":false,"boundingPoly":{"vertices":[{"x":267.0,"y":119.0},{"x":294.0,"y":119.0},{"x":294.0,"y":133.0},{"x":267.0,"y":133.0}]}},{"inferText":"헬리코박터","lineBreak":false,"boundingPoly":{"vertices":[{"x":295.0,"y":119.0},{"x":352.0,"y":118.0},{"x":352.0,"y":133.0},{"x":295.0,"y":133.0}]}},{"inferText":"파이로리","lineBreak":false,"boundingPoly":{"vertices":[{"x":354.0,"y":119.0},{"x":401.0,"y":118.0},{"x":401.0,"y":133.0},{"x":354.0,"y":133.0}]}},{"inferText":"감염에","lineBreak":true,"boundingPoly":{"vertices":[{"x":403.0,"y":119.0},{"x":439.0,"y":118.0},{"x":439.0,"y":133.0},{"x":403.0,"y":133.0}]}},{"inferText":"1정씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":441.0,"y":85.0},{"x":520.0,"y":85.0},{"x":520.0,"y":100.0},{"x":441.0,"y":100.0}]}},{"inferText":"처방기간","lineBreak":false,"boundingPoly":{"vertices":[{"x":584.0,"y":111.0},{"x":613.0,"y":111.0},{"x":613.0,"y":123.0},{"x":584.0,"y":123.0}]}},{"inferText":"끝","lineBreak":false,"boundingPoly":{"vertices":[{"x":615.0,"y":111.0},{"x":627.0,"y":111.0},{"x":627.0,"y":123.0},{"x":615.0,"y":123.0}]}},{"inferText":"우","lineBreak":true,"boundingPoly":{"vertices":[{"x":628.0,"y":111.0},{"x":638.0,"y":111.0},{"x":638.0,"y":123.0},{"x":628.0,"y":123.0}]}},{"inferText":"까지","lineBreak":false,"boundingPoly":{"vertices":[{"x":584.0,"y":121.0},{"x":604.0,"y":121.0},{"x":604.0,"y":133.0},{"x":584.0,"y":133.0}]}},{"inferText":"복용","lineBreak":false,"boundingPoly":{"vertices":[{"x":604.0,"y":122.0},{"x":624.0,"y":122.0},{"x":624.0,"y":133.0},{"x":604.0,"y":133.0}]}},{"inferText":"별","lineBreak":true,"boundingPoly":{"vertices":[{"x":634.0,"y":123.0},{"x":638.0,"y":123.0},{"x":638.0,"y":133.0},{"x":634.0,"y":133.0}]}},{"inferText":"프레나정","lineBreak":true,"boundingPoly":{"vertices":[{"x":94.0,"y":139.0},{"x":150.0,"y":140.0},{"x":150.0,"y":156.0},{"x":94.0,"y":155.0}]}},{"inferText":"백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":94.0,"y":157.0},{"x":129.0,"y":157.0},{"x":129.0,"y":172.0},{"x":94.0,"y":172.0}]}},{"inferText":"원형정제","lineBreak":true,"boundingPoly":{"vertices":[{"x":130.0,"y":158.0},{"x":177.0,"y":158.0},{"x":177.0,"y":172.0},{"x":130.0,"y":172.0}]}},{"inferText":"[부신피질호르몬]","lineBreak":true,"boundingPoly":{"vertices":[{"x":227.0,"y":140.0},{"x":336.0,"y":140.0},{"x":336.0,"y":157.0},{"x":227.0,"y":157.0}]}},{"inferText":"부신피질호르몬제;","lineBreak":false,"boundingPoly":{"vertices":[{"x":228.0,"y":158.0},{"x":324.0,"y":158.0},{"x":324.0,"y":172.0},{"x":228.0,"y":172.0}]}},{"inferText":"만성","lineBreak":false,"boundingPoly":{"vertices":[{"x":324.0,"y":158.0},{"x":348.0,"y":158.0},{"x":348.0,"y":172.0},{"x":324.0,"y":172.0}]}},{"inferText":"염증,","lineBreak":false,"boundingPoly":{"vertices":[{"x":351.0,"y":158.0},{"x":378.0,"y":158.0},{"x":378.0,"y":172.0},{"x":351.0,"y":172.0}]}},{"inferText":"피부질환,","lineBreak":false,"boundingPoly":{"vertices":[{"x":378.0,"y":158.0},{"x":430.0,"y":158.0},{"x":430.0,"y":172.0},{"x":378.0,"y":172.0}]}},{"inferText":"기","lineBreak":true,"boundingPoly":{"vertices":[{"x":430.0,"y":158.0},{"x":443.0,"y":158.0},{"x":443.0,"y":173.0},{"x":430.0,"y":173.0}]}},{"inferText":"침,","lineBreak":false,"boundingPoly":{"vertices":[{"x":229.0,"y":172.0},{"x":245.0,"y":172.0},{"x":245.0,"y":185.0},{"x":229.0,"y":185.0}]}},{"inferText":"알러지질환","lineBreak":false,"boundingPoly":{"vertices":[{"x":245.0,"y":171.0},{"x":304.0,"y":171.0},{"x":304.0,"y":185.0},{"x":245.0,"y":185.0}]}},{"inferText":"등","lineBreak":true,"boundingPoly":{"vertices":[{"x":306.0,"y":172.0},{"x":318.0,"y":172.0},{"x":318.0,"y":185.0},{"x":306.0,"y":185.0}]}},{"inferText":"1정씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":440.0,"y":138.0},{"x":519.0,"y":138.0},{"x":519.0,"y":153.0},{"x":440.0,"y":153.0}]}},{"inferText":"처방","lineBreak":false,"boundingPoly":{"vertices":[{"x":583.0,"y":165.0},{"x":602.0,"y":165.0},{"x":602.0,"y":176.0},{"x":583.0,"y":176.0}]}},{"inferText":"용량","lineBreak":false,"boundingPoly":{"vertices":[{"x":604.0,"y":166.0},{"x":622.0,"y":166.0},{"x":622.0,"y":177.0},{"x":604.0,"y":177.0}]}},{"inferText":"정투","lineBreak":true,"boundingPoly":{"vertices":[{"x":623.0,"y":167.0},{"x":638.0,"y":167.0},{"x":638.0,"y":177.0},{"x":623.0,"y":177.0}]}},{"inferText":"확히","lineBreak":false,"boundingPoly":{"vertices":[{"x":583.0,"y":174.0},{"x":602.0,"y":174.0},{"x":602.0,"y":185.0},{"x":583.0,"y":185.0}]}},{"inferText":"투약","lineBreak":true,"boundingPoly":{"vertices":[{"x":603.0,"y":175.0},{"x":622.0,"y":175.0},{"x":622.0,"y":186.0},{"x":603.0,"y":186.0}]}},{"inferText":"물","lineBreak":true,"boundingPoly":{"vertices":[{"x":632.0,"y":176.0},{"x":638.0,"y":176.0},{"x":638.0,"y":185.0},{"x":632.0,"y":185.0}]}},{"inferText":"데파스정0.25mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":93.0,"y":192.0},{"x":199.0,"y":192.0},{"x":198.0,"y":209.0},{"x":93.0,"y":208.0}]}},{"inferText":"[수면진정제","lineBreak":false,"boundingPoly":{"vertices":[{"x":228.0,"y":192.0},{"x":303.0,"y":193.0},{"x":303.0,"y":209.0},{"x":227.0,"y":209.0}]}},{"inferText":"및","lineBreak":false,"boundingPoly":{"vertices":[{"x":307.0,"y":192.0},{"x":321.0,"y":193.0},{"x":320.0,"y":208.0},{"x":306.0,"y":207.0}]}},{"inferText":"신경안정제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":325.0,"y":192.0},{"x":401.0,"y":193.0},{"x":400.0,"y":209.0},{"x":324.0,"y":208.0}]}},{"inferText":"연한","lineBreak":false,"boundingPoly":{"vertices":[{"x":94.0,"y":208.0},{"x":118.0,"y":209.0},{"x":117.0,"y":224.0},{"x":93.0,"y":223.0}]}},{"inferText":"황색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":118.0,"y":208.0},{"x":154.0,"y":209.0},{"x":154.0,"y":224.0},{"x":118.0,"y":223.0}]}},{"inferText":"원형","lineBreak":false,"boundingPoly":{"vertices":[{"x":156.0,"y":209.0},{"x":180.0,"y":210.0},{"x":179.0,"y":224.0},{"x":155.0,"y":223.0}]}},{"inferText":"필름코팅","lineBreak":false,"boundingPoly":{"vertices":[{"x":182.0,"y":209.0},{"x":228.0,"y":210.0},{"x":227.0,"y":224.0},{"x":181.0,"y":223.0}]}},{"inferText":"불안,","lineBreak":false,"boundingPoly":{"vertices":[{"x":229.0,"y":209.0},{"x":257.0,"y":210.0},{"x":256.0,"y":224.0},{"x":228.0,"y":223.0}]}},{"inferText":"우울,","lineBreak":false,"boundingPoly":{"vertices":[{"x":257.0,"y":210.0},{"x":285.0,"y":211.0},{"x":284.0,"y":224.0},{"x":256.0,"y":223.0}]}},{"inferText":"긴장,","lineBreak":false,"boundingPoly":{"vertices":[{"x":286.0,"y":209.0},{"x":313.0,"y":210.0},{"x":312.0,"y":225.0},{"x":285.0,"y":224.0}]}},{"inferText":"근긴장,","lineBreak":false,"boundingPoly":{"vertices":[{"x":314.0,"y":209.0},{"x":353.0,"y":210.0},{"x":352.0,"y":225.0},{"x":313.0,"y":224.0}]}},{"inferText":"수면장애","lineBreak":false,"boundingPoly":{"vertices":[{"x":353.0,"y":211.0},{"x":401.0,"y":211.0},{"x":400.0,"y":225.0},{"x":353.0,"y":225.0}]}},{"inferText":"등의","lineBreak":false,"boundingPoly":{"vertices":[{"x":402.0,"y":210.0},{"x":426.0,"y":211.0},{"x":425.0,"y":225.0},{"x":401.0,"y":224.0}]}},{"inferText":"중","lineBreak":true,"boundingPoly":{"vertices":[{"x":430.0,"y":211.0},{"x":442.0,"y":212.0},{"x":441.0,"y":225.0},{"x":429.0,"y":224.0}]}},{"inferText":"정","lineBreak":true,"boundingPoly":{"vertices":[{"x":94.0,"y":224.0},{"x":106.0,"y":224.0},{"x":106.0,"y":237.0},{"x":94.0,"y":237.0}]}},{"inferText":"상","lineBreak":false,"boundingPoly":{"vertices":[{"x":229.0,"y":224.0},{"x":242.0,"y":225.0},{"x":241.0,"y":237.0},{"x":228.0,"y":236.0}]}},{"inferText":"완화.","lineBreak":false,"boundingPoly":{"vertices":[{"x":243.0,"y":223.0},{"x":272.0,"y":224.0},{"x":271.0,"y":238.0},{"x":242.0,"y":237.0}]}},{"inferText":"기타","lineBreak":false,"boundingPoly":{"vertices":[{"x":272.0,"y":223.0},{"x":297.0,"y":224.0},{"x":296.0,"y":238.0},{"x":271.0,"y":237.0}]}},{"inferText":"다양한","lineBreak":false,"boundingPoly":{"vertices":[{"x":298.0,"y":224.0},{"x":334.0,"y":225.0},{"x":333.0,"y":238.0},{"x":297.0,"y":237.0}]}},{"inferText":"목적으로","lineBreak":false,"boundingPoly":{"vertices":[{"x":336.0,"y":226.0},{"x":382.0,"y":226.0},{"x":382.0,"y":238.0},{"x":336.0,"y":238.0}]}},{"inferText":"처방될","lineBreak":false,"boundingPoly":{"vertices":[{"x":383.0,"y":223.0},{"x":420.0,"y":224.0},{"x":419.0,"y":238.0},{"x":382.0,"y":237.0}]}},{"inferText":"수","lineBreak":true,"boundingPoly":{"vertices":[{"x":422.0,"y":225.0},{"x":435.0,"y":226.0},{"x":434.0,"y":239.0},{"x":421.0,"y":238.0}]}},{"inferText":"0.5정씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":440.0,"y":191.0},{"x":527.0,"y":192.0},{"x":527.0,"y":208.0},{"x":440.0,"y":207.0}]}},{"inferText":"명의","lineBreak":false,"boundingPoly":{"vertices":[{"x":582.0,"y":217.0},{"x":598.0,"y":218.0},{"x":597.0,"y":230.0},{"x":581.0,"y":229.0}]}},{"inferText":"중단","lineBreak":false,"boundingPoly":{"vertices":[{"x":599.0,"y":218.0},{"x":619.0,"y":218.0},{"x":619.0,"y":230.0},{"x":599.0,"y":230.0}]}},{"inferText":"금졸","lineBreak":true,"boundingPoly":{"vertices":[{"x":620.0,"y":219.0},{"x":637.0,"y":219.0},{"x":637.0,"y":231.0},{"x":620.0,"y":231.0}]}},{"inferText":"지","lineBreak":true,"boundingPoly":{"vertices":[{"x":583.0,"y":229.0},{"x":593.0,"y":229.0},{"x":593.0,"y":239.0},{"x":583.0,"y":239.0}]}},{"inferText":"덱시네정","lineBreak":true,"boundingPoly":{"vertices":[{"x":93.0,"y":244.0},{"x":148.0,"y":244.0},{"x":148.0,"y":261.0},{"x":93.0,"y":261.0}]}},{"inferText":"[비스테로이드성","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":246.0},{"x":329.0,"y":246.0},{"x":329.0,"y":263.0},{"x":227.0,"y":262.0}]}},{"inferText":"소염진통제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":332.0,"y":246.0},{"x":409.0,"y":247.0},{"x":409.0,"y":263.0},{"x":332.0,"y":263.0}]}},{"inferText":"분홍색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":92.0,"y":262.0},{"x":138.0,"y":262.0},{"x":138.0,"y":277.0},{"x":92.0,"y":276.0}]}},{"inferText":"장방형","lineBreak":false,"boundingPoly":{"vertices":[{"x":139.0,"y":262.0},{"x":176.0,"y":262.0},{"x":176.0,"y":277.0},{"x":139.0,"y":277.0}]}},{"inferText":"필름코팅","lineBreak":false,"boundingPoly":{"vertices":[{"x":178.0,"y":262.0},{"x":224.0,"y":262.0},{"x":224.0,"y":277.0},{"x":178.0,"y":276.0}]}},{"inferText":"해열,","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":263.0},{"x":256.0,"y":263.0},{"x":256.0,"y":277.0},{"x":227.0,"y":277.0}]}},{"inferText":"소염,","lineBreak":false,"boundingPoly":{"vertices":[{"x":257.0,"y":264.0},{"x":284.0,"y":264.0},{"x":284.0,"y":277.0},{"x":257.0,"y":277.0}]}},{"inferText":"진통제입니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":284.0,"y":263.0},{"x":357.0,"y":263.0},{"x":357.0,"y":278.0},{"x":284.0,"y":277.0}]}},{"inferText":"정제","lineBreak":true,"boundingPoly":{"vertices":[{"x":92.0,"y":276.0},{"x":116.0,"y":276.0},{"x":116.0,"y":290.0},{"x":92.0,"y":290.0}]}},{"inferText":"1정씩3회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":439.0,"y":246.0},{"x":518.0,"y":246.0},{"x":518.0,"y":261.0},{"x":439.0,"y":261.0}]}},{"inferText":"설포스캡슐","lineBreak":true,"boundingPoly":{"vertices":[{"x":93.0,"y":297.0},{"x":163.0,"y":297.0},{"x":163.0,"y":313.0},{"x":93.0,"y":313.0}]}},{"inferText":"[진해거담제","lineBreak":false,"boundingPoly":{"vertices":[{"x":228.0,"y":298.0},{"x":302.0,"y":299.0},{"x":302.0,"y":315.0},{"x":227.0,"y":314.0}]}},{"inferText":"&","lineBreak":false,"boundingPoly":{"vertices":[{"x":306.0,"y":300.0},{"x":320.0,"y":301.0},{"x":319.0,"y":314.0},{"x":305.0,"y":313.0}]}},{"inferText":"기침감기약]","lineBreak":true,"boundingPoly":{"vertices":[{"x":321.0,"y":297.0},{"x":399.0,"y":298.0},{"x":399.0,"y":316.0},{"x":321.0,"y":315.0}]}},{"inferText":"흰색","lineBreak":false,"boundingPoly":{"vertices":[{"x":92.0,"y":314.0},{"x":117.0,"y":315.0},{"x":116.0,"y":329.0},{"x":91.0,"y":328.0}]}},{"inferText":"내지","lineBreak":false,"boundingPoly":{"vertices":[{"x":118.0,"y":314.0},{"x":142.0,"y":315.0},{"x":141.0,"y":329.0},{"x":117.0,"y":328.0}]}},{"inferText":"미백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":144.0,"y":315.0},{"x":191.0,"y":316.0},{"x":191.0,"y":330.0},{"x":143.0,"y":330.0}]}},{"inferText":"분말이","lineBreak":false,"boundingPoly":{"vertices":[{"x":192.0,"y":316.0},{"x":228.0,"y":316.0},{"x":227.0,"y":330.0},{"x":192.0,"y":330.0}]}},{"inferText":"기관지확장제","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":315.0},{"x":297.0,"y":316.0},{"x":297.0,"y":331.0},{"x":227.0,"y":330.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":299.0,"y":320.0},{"x":303.0,"y":321.0},{"x":302.0,"y":329.0},{"x":298.0,"y":328.0}]}},{"inferText":"호흡개선제","lineBreak":true,"boundingPoly":{"vertices":[{"x":304.0,"y":316.0},{"x":362.0,"y":317.0},{"x":361.0,"y":331.0},{"x":303.0,"y":330.0}]}},{"inferText":"충전된","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":329.0},{"x":127.0,"y":329.0},{"x":127.0,"y":343.0},{"x":91.0,"y":343.0}]}},{"inferText":"상부","lineBreak":false,"boundingPoly":{"vertices":[{"x":128.0,"y":328.0},{"x":153.0,"y":329.0},{"x":152.0,"y":343.0},{"x":127.0,"y":342.0}]}},{"inferText":"회색,","lineBreak":false,"boundingPoly":{"vertices":[{"x":154.0,"y":328.0},{"x":183.0,"y":329.0},{"x":182.0,"y":343.0},{"x":153.0,"y":342.0}]}},{"inferText":"하부","lineBreak":false,"boundingPoly":{"vertices":[{"x":183.0,"y":328.0},{"x":208.0,"y":329.0},{"x":208.0,"y":344.0},{"x":183.0,"y":343.0}]}},{"inferText":"흰","lineBreak":true,"boundingPoly":{"vertices":[{"x":211.0,"y":330.0},{"x":222.0,"y":331.0},{"x":221.0,"y":344.0},{"x":210.0,"y":343.0}]}},{"inferText":"1캡슐씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":439.0,"y":299.0},{"x":528.0,"y":299.0},{"x":528.0,"y":314.0},{"x":439.0,"y":314.0}]}},{"inferText":"위장장에","lineBreak":false,"boundingPoly":{"vertices":[{"x":580.0,"y":272.0},{"x":615.0,"y":272.0},{"x":615.0,"y":283.0},{"x":580.0,"y":283.0}]}},{"inferText":"유","lineBreak":true,"boundingPoly":{"vertices":[{"x":617.0,"y":273.0},{"x":627.0,"y":273.0},{"x":627.0,"y":284.0},{"x":617.0,"y":284.0}]}},{"inferText":"임","lineBreak":true,"boundingPoly":{"vertices":[{"x":628.0,"y":273.0},{"x":638.0,"y":273.0},{"x":638.0,"y":284.0},{"x":628.0,"y":284.0}]}},{"inferText":"발","lineBreak":false,"boundingPoly":{"vertices":[{"x":580.0,"y":282.0},{"x":589.0,"y":282.0},{"x":589.0,"y":292.0},{"x":580.0,"y":292.0}]}},{"inferText":"가능","lineBreak":true,"boundingPoly":{"vertices":[{"x":591.0,"y":282.0},{"x":610.0,"y":282.0},{"x":610.0,"y":293.0},{"x":591.0,"y":293.0}]}},{"inferText":"지","lineBreak":true,"boundingPoly":{"vertices":[{"x":628.0,"y":282.0},{"x":637.0,"y":282.0},{"x":637.0,"y":292.0},{"x":628.0,"y":292.0}]}},{"inferText":"x","lineBreak":true,"boundingPoly":{"vertices":[{"x":594.0,"y":303.0},{"x":604.0,"y":303.0},{"x":604.0,"y":312.0},{"x":594.0,"y":312.0}]}},{"inferText":"카페인접취","lineBreak":true,"boundingPoly":{"vertices":[{"x":580.0,"y":326.0},{"x":625.0,"y":326.0},{"x":625.0,"y":336.0},{"x":580.0,"y":336.0}]}},{"inferText":"금치","lineBreak":true,"boundingPoly":{"vertices":[{"x":579.0,"y":335.0},{"x":598.0,"y":335.0},{"x":598.0,"y":346.0},{"x":579.0,"y":346.0}]}},{"inferText":"코대원에스시럽","lineBreak":true,"boundingPoly":{"vertices":[{"x":89.0,"y":350.0},{"x":187.0,"y":350.0},{"x":187.0,"y":366.0},{"x":89.0,"y":366.0}]}},{"inferText":"[진해거담제","lineBreak":false,"boundingPoly":{"vertices":[{"x":226.0,"y":351.0},{"x":302.0,"y":352.0},{"x":301.0,"y":368.0},{"x":226.0,"y":368.0}]}},{"inferText":"&","lineBreak":false,"boundingPoly":{"vertices":[{"x":305.0,"y":352.0},{"x":319.0,"y":353.0},{"x":318.0,"y":367.0},{"x":304.0,"y":366.0}]}},{"inferText":"기침감기약]","lineBreak":true,"boundingPoly":{"vertices":[{"x":320.0,"y":351.0},{"x":397.0,"y":351.0},{"x":397.0,"y":368.0},{"x":320.0,"y":368.0}]}},{"inferText":"알루미늄","lineBreak":false,"boundingPoly":{"vertices":[{"x":89.0,"y":367.0},{"x":137.0,"y":368.0},{"x":137.0,"y":382.0},{"x":89.0,"y":382.0}]}},{"inferText":"호일","lineBreak":false,"boundingPoly":{"vertices":[{"x":138.0,"y":368.0},{"x":163.0,"y":369.0},{"x":162.0,"y":382.0},{"x":137.0,"y":381.0}]}},{"inferText":"파우치에","lineBreak":false,"boundingPoly":{"vertices":[{"x":164.0,"y":368.0},{"x":212.0,"y":369.0},{"x":211.0,"y":382.0},{"x":163.0,"y":381.0}]}},{"inferText":"든급성기관지염의","lineBreak":false,"boundingPoly":{"vertices":[{"x":213.0,"y":369.0},{"x":307.0,"y":369.0},{"x":307.0,"y":384.0},{"x":212.0,"y":384.0}]}},{"inferText":"증상,","lineBreak":false,"boundingPoly":{"vertices":[{"x":309.0,"y":369.0},{"x":336.0,"y":370.0},{"x":335.0,"y":384.0},{"x":308.0,"y":383.0}]}},{"inferText":"기침,","lineBreak":false,"boundingPoly":{"vertices":[{"x":337.0,"y":369.0},{"x":365.0,"y":370.0},{"x":364.0,"y":384.0},{"x":336.0,"y":383.0}]}},{"inferText":"가래","lineBreak":false,"boundingPoly":{"vertices":[{"x":366.0,"y":369.0},{"x":390.0,"y":370.0},{"x":389.0,"y":384.0},{"x":365.0,"y":383.0}]}},{"inferText":"등을","lineBreak":false,"boundingPoly":{"vertices":[{"x":391.0,"y":369.0},{"x":416.0,"y":370.0},{"x":415.0,"y":384.0},{"x":390.0,"y":383.0}]}},{"inferText":"완","lineBreak":true,"boundingPoly":{"vertices":[{"x":417.0,"y":369.0},{"x":431.0,"y":370.0},{"x":430.0,"y":384.0},{"x":416.0,"y":383.0}]}},{"inferText":"갈색","lineBreak":false,"boundingPoly":{"vertices":[{"x":89.0,"y":380.0},{"x":114.0,"y":381.0},{"x":113.0,"y":396.0},{"x":88.0,"y":395.0}]}},{"inferText":"내지","lineBreak":false,"boundingPoly":{"vertices":[{"x":114.0,"y":380.0},{"x":141.0,"y":381.0},{"x":141.0,"y":396.0},{"x":114.0,"y":396.0}]}},{"inferText":"흑갈색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":142.0,"y":382.0},{"x":189.0,"y":382.0},{"x":189.0,"y":397.0},{"x":142.0,"y":396.0}]}},{"inferText":"방향성","lineBreak":false,"boundingPoly":{"vertices":[{"x":191.0,"y":382.0},{"x":226.0,"y":382.0},{"x":226.0,"y":396.0},{"x":191.0,"y":396.0}]}},{"inferText":"화합니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":227.0,"y":382.0},{"x":277.0,"y":382.0},{"x":277.0,"y":397.0},{"x":227.0,"y":396.0}]}},{"inferText":"1포씩3회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":438.0,"y":351.0},{"x":516.0,"y":352.0},{"x":515.0,"y":367.0},{"x":438.0,"y":366.0}]}},{"inferText":"처방","lineBreak":false,"boundingPoly":{"vertices":[{"x":576.0,"y":377.0},{"x":591.0,"y":377.0},{"x":591.0,"y":386.0},{"x":576.0,"y":386.0}]}},{"inferText":"용량","lineBreak":false,"boundingPoly":{"vertices":[{"x":592.0,"y":377.0},{"x":610.0,"y":377.0},{"x":610.0,"y":386.0},{"x":592.0,"y":386.0}]}},{"inferText":"정","lineBreak":true,"boundingPoly":{"vertices":[{"x":612.0,"y":377.0},{"x":621.0,"y":377.0},{"x":621.0,"y":386.0},{"x":612.0,"y":386.0}]}},{"inferText":"확히","lineBreak":false,"boundingPoly":{"vertices":[{"x":576.0,"y":386.0},{"x":594.0,"y":386.0},{"x":594.0,"y":397.0},{"x":576.0,"y":397.0}]}},{"inferText":"투약","lineBreak":true,"boundingPoly":{"vertices":[{"x":594.0,"y":386.0},{"x":611.0,"y":386.0},{"x":611.0,"y":396.0},{"x":594.0,"y":396.0}]}},{"inferText":"엘도신캡슐","lineBreak":true,"boundingPoly":{"vertices":[{"x":90.0,"y":403.0},{"x":161.0,"y":403.0},{"x":161.0,"y":420.0},{"x":90.0,"y":420.0}]}},{"inferText":"[진해거담제","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":404.0},{"x":302.0,"y":404.0},{"x":302.0,"y":421.0},{"x":227.0,"y":421.0}]}},{"inferText":"&","lineBreak":false,"boundingPoly":{"vertices":[{"x":306.0,"y":407.0},{"x":319.0,"y":407.0},{"x":319.0,"y":420.0},{"x":306.0,"y":420.0}]}},{"inferText":"기침감기약]","lineBreak":true,"boundingPoly":{"vertices":[{"x":321.0,"y":405.0},{"x":397.0,"y":405.0},{"x":397.0,"y":421.0},{"x":321.0,"y":421.0}]}},{"inferText":"흰색~유백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":422.0},{"x":168.0,"y":422.0},{"x":168.0,"y":435.0},{"x":91.0,"y":435.0}]}},{"inferText":"결정성","lineBreak":false,"boundingPoly":{"vertices":[{"x":171.0,"y":422.0},{"x":205.0,"y":422.0},{"x":205.0,"y":435.0},{"x":171.0,"y":435.0}]}},{"inferText":"분","lineBreak":true,"boundingPoly":{"vertices":[{"x":208.0,"y":422.0},{"x":220.0,"y":422.0},{"x":220.0,"y":435.0},{"x":208.0,"y":435.0}]}},{"inferText":"말이","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":435.0},{"x":115.0,"y":435.0},{"x":115.0,"y":449.0},{"x":91.0,"y":449.0}]}},{"inferText":"들어있는","lineBreak":false,"boundingPoly":{"vertices":[{"x":117.0,"y":435.0},{"x":164.0,"y":435.0},{"x":164.0,"y":449.0},{"x":117.0,"y":449.0}]}},{"inferText":"상부","lineBreak":false,"boundingPoly":{"vertices":[{"x":166.0,"y":435.0},{"x":191.0,"y":435.0},{"x":191.0,"y":449.0},{"x":166.0,"y":449.0}]}},{"inferText":"녹색,","lineBreak":true,"boundingPoly":{"vertices":[{"x":192.0,"y":435.0},{"x":219.0,"y":435.0},{"x":219.0,"y":449.0},{"x":192.0,"y":449.0}]}},{"inferText":"객담","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":421.0},{"x":252.0,"y":421.0},{"x":252.0,"y":435.0},{"x":227.0,"y":435.0}]}},{"inferText":"용해","lineBreak":false,"boundingPoly":{"vertices":[{"x":253.0,"y":422.0},{"x":277.0,"y":422.0},{"x":277.0,"y":435.0},{"x":253.0,"y":435.0}]}},{"inferText":"작용이","lineBreak":false,"boundingPoly":{"vertices":[{"x":279.0,"y":421.0},{"x":314.0,"y":421.0},{"x":314.0,"y":435.0},{"x":279.0,"y":435.0}]}},{"inferText":"있어","lineBreak":false,"boundingPoly":{"vertices":[{"x":317.0,"y":421.0},{"x":341.0,"y":421.0},{"x":341.0,"y":435.0},{"x":317.0,"y":435.0}]}},{"inferText":"객담의","lineBreak":false,"boundingPoly":{"vertices":[{"x":342.0,"y":422.0},{"x":377.0,"y":422.0},{"x":377.0,"y":436.0},{"x":342.0,"y":436.0}]}},{"inferText":"배출을","lineBreak":false,"boundingPoly":{"vertices":[{"x":379.0,"y":422.0},{"x":415.0,"y":422.0},{"x":415.0,"y":436.0},{"x":379.0,"y":436.0}]}},{"inferText":"쉽게","lineBreak":true,"boundingPoly":{"vertices":[{"x":416.0,"y":422.0},{"x":440.0,"y":422.0},{"x":440.0,"y":436.0},{"x":416.0,"y":436.0}]}},{"inferText":"해","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":435.0},{"x":240.0,"y":435.0},{"x":240.0,"y":449.0},{"x":227.0,"y":449.0}]}},{"inferText":"주는","lineBreak":false,"boundingPoly":{"vertices":[{"x":242.0,"y":435.0},{"x":267.0,"y":435.0},{"x":267.0,"y":449.0},{"x":242.0,"y":449.0}]}},{"inferText":"약입니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":267.0,"y":435.0},{"x":317.0,"y":435.0},{"x":317.0,"y":449.0},{"x":267.0,"y":449.0}]}},{"inferText":"1캡슐씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":438.0,"y":405.0},{"x":525.0,"y":405.0},{"x":525.0,"y":419.0},{"x":438.0,"y":419.0}]}},{"inferText":"풀을","lineBreak":false,"boundingPoly":{"vertices":[{"x":574.0,"y":429.0},{"x":592.0,"y":429.0},{"x":592.0,"y":439.0},{"x":574.0,"y":439.0}]}},{"inferText":"충분히","lineBreak":false,"boundingPoly":{"vertices":[{"x":594.0,"y":428.0},{"x":618.0,"y":428.0},{"x":618.0,"y":440.0},{"x":594.0,"y":440.0}]}},{"inferText":"울주","lineBreak":true,"boundingPoly":{"vertices":[{"x":619.0,"y":428.0},{"x":635.0,"y":428.0},{"x":635.0,"y":438.0},{"x":619.0,"y":438.0}]}},{"inferText":"마실","lineBreak":false,"boundingPoly":{"vertices":[{"x":574.0,"y":438.0},{"x":592.0,"y":438.0},{"x":592.0,"y":449.0},{"x":574.0,"y":449.0}]}},{"inferText":"것","lineBreak":true,"boundingPoly":{"vertices":[{"x":592.0,"y":438.0},{"x":602.0,"y":438.0},{"x":602.0,"y":448.0},{"x":592.0,"y":448.0}]}},{"inferText":"베포캄정","lineBreak":true,"boundingPoly":{"vertices":[{"x":91.0,"y":456.0},{"x":148.0,"y":456.0},{"x":148.0,"y":472.0},{"x":91.0,"y":472.0}]}},{"inferText":"백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":473.0},{"x":128.0,"y":473.0},{"x":128.0,"y":487.0},{"x":91.0,"y":487.0}]}},{"inferText":"원형","lineBreak":false,"boundingPoly":{"vertices":[{"x":129.0,"y":473.0},{"x":153.0,"y":473.0},{"x":153.0,"y":487.0},{"x":129.0,"y":487.0}]}},{"inferText":"필름코팅정","lineBreak":true,"boundingPoly":{"vertices":[{"x":155.0,"y":473.0},{"x":213.0,"y":473.0},{"x":213.0,"y":487.0},{"x":155.0,"y":487.0}]}},{"inferText":"[항히스타민","lineBreak":false,"boundingPoly":{"vertices":[{"x":226.0,"y":456.0},{"x":301.0,"y":457.0},{"x":301.0,"y":472.0},{"x":226.0,"y":472.0}]}},{"inferText":"&","lineBreak":false,"boundingPoly":{"vertices":[{"x":304.0,"y":458.0},{"x":317.0,"y":459.0},{"x":316.0,"y":472.0},{"x":303.0,"y":471.0}]}},{"inferText":"항알러지약]","lineBreak":true,"boundingPoly":{"vertices":[{"x":321.0,"y":456.0},{"x":396.0,"y":457.0},{"x":395.0,"y":474.0},{"x":320.0,"y":473.0}]}},{"inferText":"항히스타민제,","lineBreak":false,"boundingPoly":{"vertices":[{"x":227.0,"y":473.0},{"x":298.0,"y":474.0},{"x":298.0,"y":488.0},{"x":227.0,"y":488.0}]}},{"inferText":"항알레르기약-","lineBreak":false,"boundingPoly":{"vertices":[{"x":300.0,"y":475.0},{"x":373.0,"y":476.0},{"x":373.0,"y":488.0},{"x":300.0,"y":488.0}]}},{"inferText":"다년성","lineBreak":false,"boundingPoly":{"vertices":[{"x":373.0,"y":474.0},{"x":409.0,"y":475.0},{"x":408.0,"y":489.0},{"x":372.0,"y":488.0}]}},{"inferText":"알레","lineBreak":true,"boundingPoly":{"vertices":[{"x":410.0,"y":474.0},{"x":435.0,"y":475.0},{"x":434.0,"y":489.0},{"x":409.0,"y":488.0}]}},{"inferText":"르기","lineBreak":false,"boundingPoly":{"vertices":[{"x":228.0,"y":487.0},{"x":252.0,"y":488.0},{"x":251.0,"y":500.0},{"x":227.0,"y":499.0}]}},{"inferText":"비염,","lineBreak":false,"boundingPoly":{"vertices":[{"x":253.0,"y":487.0},{"x":281.0,"y":488.0},{"x":280.0,"y":501.0},{"x":252.0,"y":500.0}]}},{"inferText":"만성","lineBreak":false,"boundingPoly":{"vertices":[{"x":280.0,"y":486.0},{"x":309.0,"y":487.0},{"x":308.0,"y":502.0},{"x":279.0,"y":501.0}]}},{"inferText":"두드러기,","lineBreak":false,"boundingPoly":{"vertices":[{"x":311.0,"y":486.0},{"x":359.0,"y":487.0},{"x":358.0,"y":502.0},{"x":310.0,"y":501.0}]}},{"inferText":"피부질환에","lineBreak":false,"boundingPoly":{"vertices":[{"x":361.0,"y":486.0},{"x":411.0,"y":487.0},{"x":410.0,"y":502.0},{"x":360.0,"y":501.0}]}},{"inferText":"수반","lineBreak":true,"boundingPoly":{"vertices":[{"x":413.0,"y":486.0},{"x":437.0,"y":487.0},{"x":436.0,"y":503.0},{"x":412.0,"y":502.0}]}},{"inferText":"1정씩2회5일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":436.0,"y":455.0},{"x":511.0,"y":456.0},{"x":511.0,"y":471.0},{"x":436.0,"y":470.0}]}},{"inferText":"기","lineBreak":true,"boundingPoly":{"vertices":[{"x":601.0,"y":465.0},{"x":607.0,"y":465.0},{"x":607.0,"y":470.0},{"x":601.0,"y":470.0}]}},{"inferText":"졸용","lineBreak":false,"boundingPoly":{"vertices":[{"x":571.0,"y":479.0},{"x":588.0,"y":479.0},{"x":588.0,"y":490.0},{"x":571.0,"y":490.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":589.0,"y":479.0},{"x":607.0,"y":479.0},{"x":607.0,"y":490.0},{"x":589.0,"y":490.0}]}},{"inferText":"입","lineBreak":false,"boundingPoly":{"vertices":[{"x":616.0,"y":478.0},{"x":622.0,"y":478.0},{"x":622.0,"y":488.0},{"x":616.0,"y":488.0}]}},{"inferText":"마","lineBreak":false,"boundingPoly":{"vertices":[{"x":623.0,"y":478.0},{"x":630.0,"y":478.0},{"x":630.0,"y":488.0},{"x":623.0,"y":488.0}]}},{"inferText":"음","lineBreak":true,"boundingPoly":{"vertices":[{"x":631.0,"y":478.0},{"x":638.0,"y":478.0},{"x":638.0,"y":488.0},{"x":631.0,"y":488.0}]}},{"inferText":"가능","lineBreak":true,"boundingPoly":{"vertices":[{"x":615.0,"y":487.0},{"x":634.0,"y":487.0},{"x":634.0,"y":497.0},{"x":615.0,"y":497.0}]}},{"inferText":"[이하생략]","lineBreak":true,"boundingPoly":{"vertices":[{"x":300.0,"y":528.0},{"x":386.0,"y":528.0},{"x":386.0,"y":549.0},{"x":300.0,"y":549.0}]}}]}]} diff --git a/src/test/resources/ocr/fixtures/drug_bag_compact_synth.json b/src/test/resources/ocr/fixtures/drug_bag_compact_synth.json new file mode 100644 index 0000000..818925e --- /dev/null +++ b/src/test/resources/ocr/fixtures/drug_bag_compact_synth.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"위더스제약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"복약안내문","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"홍길동 님","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"아모잘탄정","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1정씩1회30일분","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"혈압약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"크레스토정10mg","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1정씩1회30일분","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"고지혈증약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"리피토정","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1정씩2회30일분","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"고지혈증약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"아스피린프로텍트정","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1정씩1회30일분","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"혈전예방","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"식후 30분에 복용하세요","lineBreak":true,"boundingPoly":{"vertices":[]}}]}]} diff --git a/src/test/resources/ocr/fixtures/drug_bag_starred_real.json b/src/test/resources/ocr/fixtures/drug_bag_starred_real.json new file mode 100644 index 0000000..6f3f1fa --- /dev/null +++ b/src/test/resources/ocr/fixtures/drug_bag_starred_real.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"약품명","lineBreak":true,"boundingPoly":{"vertices":[{"x":27.0,"y":0.0},{"x":81.0,"y":0.0},{"x":81.0,"y":20.0},{"x":27.0,"y":20.0}]}},{"inferText":"。","lineBreak":true,"boundingPoly":{"vertices":[{"x":90.0,"y":0.0},{"x":120.0,"y":0.0},{"x":120.0,"y":5.0},{"x":90.0,"y":5.0}]}},{"inferText":"악품시인","lineBreak":true,"boundingPoly":{"vertices":[{"x":191.0,"y":0.0},{"x":266.0,"y":0.0},{"x":266.0,"y":13.0},{"x":191.0,"y":13.0}]}},{"inferText":"고의투약","lineBreak":true,"boundingPoly":{"vertices":[{"x":288.0,"y":0.0},{"x":338.0,"y":0.0},{"x":338.0,"y":12.0},{"x":288.0,"y":12.0}]}},{"inferText":"목약안내(투약량)횟수/일주!","lineBreak":true,"boundingPoly":{"vertices":[{"x":337.0,"y":0.0},{"x":532.0,"y":0.0},{"x":532.0,"y":14.0},{"x":337.0,"y":16.0}]}},{"inferText":"투약일수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":533.0,"y":2.0},{"x":603.0,"y":2.0},{"x":603.0,"y":17.0},{"x":533.0,"y":17.0}]}},{"inferText":"노랑색","lineBreak":false,"boundingPoly":{"vertices":[{"x":29.0,"y":21.0},{"x":72.0,"y":18.0},{"x":73.0,"y":35.0},{"x":30.0,"y":38.0}]}},{"inferText":"정제","lineBreak":true,"boundingPoly":{"vertices":[{"x":74.0,"y":16.0},{"x":104.0,"y":15.0},{"x":105.0,"y":33.0},{"x":75.0,"y":34.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":27.0,"y":44.0},{"x":85.0,"y":40.0},{"x":86.0,"y":59.0},{"x":28.0,"y":62.0}]}},{"inferText":"*타이레놀이알서방정","lineBreak":true,"boundingPoly":{"vertices":[{"x":21.0,"y":69.0},{"x":185.0,"y":68.0},{"x":185.0,"y":89.0},{"x":21.0,"y":90.0}]}},{"inferText":"1회투약량","lineBreak":false,"boundingPoly":{"vertices":[{"x":287.0,"y":77.0},{"x":357.0,"y":80.0},{"x":357.0,"y":99.0},{"x":286.0,"y":96.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":357.0,"y":83.0},{"x":367.0,"y":83.0},{"x":367.0,"y":97.0},{"x":357.0,"y":96.0}]}},{"inferText":"(알러지질환약)","lineBreak":true,"boundingPoly":{"vertices":[{"x":378.0,"y":23.0},{"x":476.0,"y":24.0},{"x":475.0,"y":41.0},{"x":378.0,"y":40.0}]}},{"inferText":"문전","lineBreak":false,"boundingPoly":{"vertices":[{"x":296.0,"y":54.0},{"x":306.0,"y":55.0},{"x":305.0,"y":61.0},{"x":295.0,"y":60.0}]}},{"inferText":"튀는","lineBreak":true,"boundingPoly":{"vertices":[{"x":306.0,"y":54.0},{"x":316.0,"y":55.0},{"x":315.0,"y":61.0},{"x":305.0,"y":60.0}]}},{"inferText":"기적스럽시","lineBreak":true,"boundingPoly":{"vertices":[{"x":301.0,"y":60.0},{"x":326.0,"y":60.0},{"x":326.0,"y":66.0},{"x":301.0,"y":66.0}]}},{"inferText":"주차요","lineBreak":true,"boundingPoly":{"vertices":[{"x":313.0,"y":66.0},{"x":327.0,"y":66.0},{"x":327.0,"y":71.0},{"x":313.0,"y":71.0}]}},{"inferText":"한미","lineBreak":false,"boundingPoly":{"vertices":[{"x":334.0,"y":56.0},{"x":343.0,"y":57.0},{"x":342.0,"y":64.0},{"x":333.0,"y":63.0}]}},{"inferText":"마음","lineBreak":false,"boundingPoly":{"vertices":[{"x":343.0,"y":57.0},{"x":354.0,"y":57.0},{"x":354.0,"y":64.0},{"x":343.0,"y":64.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":354.0,"y":58.0},{"x":362.0,"y":58.0},{"x":362.0,"y":65.0},{"x":354.0,"y":65.0}]}},{"inferText":"있으니","lineBreak":true,"boundingPoly":{"vertices":[{"x":362.0,"y":59.0},{"x":376.0,"y":59.0},{"x":376.0,"y":66.0},{"x":362.0,"y":66.0}]}},{"inferText":"많이","lineBreak":false,"boundingPoly":{"vertices":[{"x":347.0,"y":64.0},{"x":357.0,"y":65.0},{"x":356.0,"y":71.0},{"x":346.0,"y":70.0}]}},{"inferText":"드세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":358.0,"y":64.0},{"x":373.0,"y":65.0},{"x":372.0,"y":71.0},{"x":357.0,"y":70.0}]}},{"inferText":"졸음이","lineBreak":false,"boundingPoly":{"vertices":[{"x":378.0,"y":40.0},{"x":421.0,"y":40.0},{"x":421.0,"y":58.0},{"x":378.0,"y":58.0}]}},{"inferText":"올","lineBreak":false,"boundingPoly":{"vertices":[{"x":426.0,"y":41.0},{"x":441.0,"y":42.0},{"x":440.0,"y":58.0},{"x":425.0,"y":57.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":444.0,"y":42.0},{"x":459.0,"y":43.0},{"x":458.0,"y":59.0},{"x":443.0,"y":58.0}]}},{"inferText":"있으므로","lineBreak":false,"boundingPoly":{"vertices":[{"x":463.0,"y":43.0},{"x":518.0,"y":44.0},{"x":518.0,"y":60.0},{"x":463.0,"y":60.0}]}},{"inferText":"운전,","lineBreak":false,"boundingPoly":{"vertices":[{"x":521.0,"y":44.0},{"x":557.0,"y":44.0},{"x":557.0,"y":60.0},{"x":521.0,"y":60.0}]}},{"inferText":"기계조작시","lineBreak":false,"boundingPoly":{"vertices":[{"x":556.0,"y":40.0},{"x":631.0,"y":40.0},{"x":631.0,"y":59.0},{"x":555.0,"y":59.0}]}},{"inferText":"주의하세요.녹내장이","lineBreak":false,"boundingPoly":{"vertices":[{"x":631.0,"y":35.0},{"x":765.0,"y":36.0},{"x":765.0,"y":55.0},{"x":631.0,"y":54.0}]}},{"inferText":"있는","lineBreak":true,"boundingPoly":{"vertices":[{"x":768.0,"y":35.0},{"x":798.0,"y":36.0},{"x":797.0,"y":54.0},{"x":767.0,"y":53.0}]}},{"inferText":"경우","lineBreak":false,"boundingPoly":{"vertices":[{"x":379.0,"y":57.0},{"x":409.0,"y":58.0},{"x":408.0,"y":75.0},{"x":378.0,"y":74.0}]}},{"inferText":"전문가에게","lineBreak":false,"boundingPoly":{"vertices":[{"x":411.0,"y":59.0},{"x":483.0,"y":60.0},{"x":482.0,"y":77.0},{"x":410.0,"y":76.0}]}},{"inferText":"미리","lineBreak":false,"boundingPoly":{"vertices":[{"x":485.0,"y":60.0},{"x":514.0,"y":61.0},{"x":513.0,"y":77.0},{"x":484.0,"y":76.0}]}},{"inferText":"알리세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":517.0,"y":60.0},{"x":579.0,"y":61.0},{"x":578.0,"y":78.0},{"x":516.0,"y":77.0}]}},{"inferText":"흰색","lineBreak":false,"boundingPoly":{"vertices":[{"x":18.0,"y":104.0},{"x":49.0,"y":103.0},{"x":50.0,"y":121.0},{"x":19.0,"y":122.0}]}},{"inferText":"서방정","lineBreak":true,"boundingPoly":{"vertices":[{"x":51.0,"y":101.0},{"x":96.0,"y":100.0},{"x":96.0,"y":119.0},{"x":51.0,"y":120.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":17.0,"y":129.0},{"x":76.0,"y":127.0},{"x":77.0,"y":146.0},{"x":17.0,"y":149.0}]}},{"inferText":"bod","lineBreak":true,"boundingPoly":{"vertices":[{"x":296.0,"y":109.0},{"x":317.0,"y":109.0},{"x":317.0,"y":117.0},{"x":296.0,"y":117.0}]}},{"inferText":"충청한","lineBreak":false,"boundingPoly":{"vertices":[{"x":298.0,"y":140.0},{"x":308.0,"y":140.0},{"x":308.0,"y":155.0},{"x":298.0,"y":155.0}]}},{"inferText":"드세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":308.0,"y":140.0},{"x":320.0,"y":140.0},{"x":320.0,"y":155.0},{"x":308.0,"y":155.0}]}},{"inferText":"물과","lineBreak":true,"boundingPoly":{"vertices":[{"x":320.0,"y":140.0},{"x":328.0,"y":140.0},{"x":328.0,"y":155.0},{"x":320.0,"y":155.0}]}},{"inferText":"문제지","lineBreak":false,"boundingPoly":{"vertices":[{"x":340.0,"y":141.0},{"x":356.0,"y":142.0},{"x":355.0,"y":149.0},{"x":339.0,"y":148.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":356.0,"y":142.0},{"x":373.0,"y":143.0},{"x":372.0,"y":151.0},{"x":355.0,"y":150.0}]}},{"inferText":"1일투여횟수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":405.0,"y":84.0},{"x":496.0,"y":84.0},{"x":496.0,"y":102.0},{"x":405.0,"y":101.0}]}},{"inferText":"총투약일수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":517.0,"y":84.0},{"x":604.0,"y":85.0},{"x":604.0,"y":103.0},{"x":517.0,"y":102.0}]}},{"inferText":"(해열진통제)","lineBreak":true,"boundingPoly":{"vertices":[{"x":379.0,"y":105.0},{"x":464.0,"y":105.0},{"x":464.0,"y":124.0},{"x":378.0,"y":124.0}]}},{"inferText":"위장장애가","lineBreak":false,"boundingPoly":{"vertices":[{"x":379.0,"y":125.0},{"x":453.0,"y":125.0},{"x":453.0,"y":143.0},{"x":379.0,"y":143.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":455.0,"y":128.0},{"x":498.0,"y":128.0},{"x":498.0,"y":143.0},{"x":455.0,"y":143.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":501.0,"y":128.0},{"x":516.0,"y":129.0},{"x":515.0,"y":144.0},{"x":500.0,"y":143.0}]}},{"inferText":"있어요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":519.0,"y":127.0},{"x":566.0,"y":128.0},{"x":565.0,"y":144.0},{"x":518.0,"y":143.0}]}},{"inferText":"황달","lineBreak":false,"boundingPoly":{"vertices":[{"x":380.0,"y":141.0},{"x":411.0,"y":142.0},{"x":410.0,"y":160.0},{"x":379.0,"y":159.0}]}},{"inferText":"등","lineBreak":false,"boundingPoly":{"vertices":[{"x":414.0,"y":143.0},{"x":430.0,"y":144.0},{"x":429.0,"y":160.0},{"x":413.0,"y":159.0}]}},{"inferText":"간기능","lineBreak":false,"boundingPoly":{"vertices":[{"x":432.0,"y":144.0},{"x":476.0,"y":144.0},{"x":476.0,"y":160.0},{"x":432.0,"y":160.0}]}},{"inferText":"이상징후가","lineBreak":false,"boundingPoly":{"vertices":[{"x":478.0,"y":143.0},{"x":550.0,"y":143.0},{"x":549.0,"y":161.0},{"x":478.0,"y":161.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":552.0,"y":143.0},{"x":595.0,"y":143.0},{"x":595.0,"y":161.0},{"x":552.0,"y":161.0}]}},{"inferText":"경우","lineBreak":false,"boundingPoly":{"vertices":[{"x":597.0,"y":141.0},{"x":629.0,"y":142.0},{"x":628.0,"y":160.0},{"x":596.0,"y":159.0}]}},{"inferText":"상의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":630.0,"y":140.0},{"x":709.0,"y":140.0},{"x":709.0,"y":159.0},{"x":630.0,"y":159.0}]}},{"inferText":"뮤테란캅셀200밀리그람","lineBreak":true,"boundingPoly":{"vertices":[{"x":15.0,"y":158.0},{"x":208.0,"y":158.0},{"x":208.0,"y":181.0},{"x":15.0,"y":181.0}]}},{"inferText":"흰색","lineBreak":false,"boundingPoly":{"vertices":[{"x":13.0,"y":194.0},{"x":43.0,"y":193.0},{"x":44.0,"y":212.0},{"x":14.0,"y":213.0}]}},{"inferText":"경질캡슐","lineBreak":true,"boundingPoly":{"vertices":[{"x":45.0,"y":192.0},{"x":108.0,"y":191.0},{"x":109.0,"y":211.0},{"x":46.0,"y":212.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":15.0,"y":220.0},{"x":72.0,"y":220.0},{"x":72.0,"y":240.0},{"x":15.0,"y":240.0}]}},{"inferText":"*종근당아목시실린캡슐500밀","lineBreak":true,"boundingPoly":{"vertices":[{"x":14.0,"y":251.0},{"x":251.0,"y":250.0},{"x":251.0,"y":272.0},{"x":14.0,"y":273.0}]}},{"inferText":"출연·발코를","lineBreak":false,"boundingPoly":{"vertices":[{"x":296.0,"y":227.0},{"x":324.0,"y":227.0},{"x":323.0,"y":235.0},{"x":296.0,"y":234.0}]}},{"inferText":"X","lineBreak":true,"boundingPoly":{"vertices":[{"x":324.0,"y":227.0},{"x":334.0,"y":227.0},{"x":333.0,"y":235.0},{"x":324.0,"y":234.0}]}},{"inferText":"1회투약량1","lineBreak":true,"boundingPoly":{"vertices":[{"x":286.0,"y":165.0},{"x":369.0,"y":165.0},{"x":369.0,"y":183.0},{"x":286.0,"y":183.0}]}},{"inferText":"1회투약량1","lineBreak":true,"boundingPoly":{"vertices":[{"x":286.0,"y":252.0},{"x":371.0,"y":252.0},{"x":371.0,"y":269.0},{"x":286.0,"y":269.0}]}},{"inferText":"1일투여횟수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":409.0,"y":251.0},{"x":506.0,"y":251.0},{"x":506.0,"y":268.0},{"x":409.0,"y":268.0}]}},{"inferText":"1일투여횟수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":406.0,"y":166.0},{"x":501.0,"y":166.0},{"x":501.0,"y":184.0},{"x":406.0,"y":184.0}]}},{"inferText":"총투약일수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":521.0,"y":167.0},{"x":606.0,"y":167.0},{"x":606.0,"y":185.0},{"x":521.0,"y":185.0}]}},{"inferText":"(가래제거약)","lineBreak":true,"boundingPoly":{"vertices":[{"x":379.0,"y":188.0},{"x":467.0,"y":188.0},{"x":467.0,"y":206.0},{"x":379.0,"y":206.0}]}},{"inferText":"평상시","lineBreak":false,"boundingPoly":{"vertices":[{"x":381.0,"y":207.0},{"x":427.0,"y":207.0},{"x":427.0,"y":225.0},{"x":381.0,"y":225.0}]}},{"inferText":"충분한","lineBreak":false,"boundingPoly":{"vertices":[{"x":430.0,"y":208.0},{"x":475.0,"y":208.0},{"x":475.0,"y":223.0},{"x":430.0,"y":223.0}]}},{"inferText":"수분을","lineBreak":false,"boundingPoly":{"vertices":[{"x":477.0,"y":207.0},{"x":520.0,"y":207.0},{"x":520.0,"y":225.0},{"x":477.0,"y":225.0}]}},{"inferText":"섭취하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":522.0,"y":207.0},{"x":598.0,"y":207.0},{"x":598.0,"y":225.0},{"x":522.0,"y":225.0}]}},{"inferText":"항생제와","lineBreak":false,"boundingPoly":{"vertices":[{"x":382.0,"y":223.0},{"x":443.0,"y":223.0},{"x":443.0,"y":241.0},{"x":382.0,"y":241.0}]}},{"inferText":"병용하기","lineBreak":false,"boundingPoly":{"vertices":[{"x":445.0,"y":223.0},{"x":504.0,"y":223.0},{"x":504.0,"y":241.0},{"x":445.0,"y":241.0}]}},{"inferText":"전","lineBreak":false,"boundingPoly":{"vertices":[{"x":506.0,"y":226.0},{"x":521.0,"y":226.0},{"x":521.0,"y":241.0},{"x":506.0,"y":241.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":523.0,"y":225.0},{"x":582.0,"y":225.0},{"x":582.0,"y":241.0},{"x":523.0,"y":241.0}]}},{"inferText":"상의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":583.0,"y":223.0},{"x":660.0,"y":223.0},{"x":660.0,"y":241.0},{"x":583.0,"y":241.0}]}},{"inferText":"총투약일수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":527.0,"y":251.0},{"x":610.0,"y":251.0},{"x":610.0,"y":268.0},{"x":527.0,"y":268.0}]}},{"inferText":"주홍/황색","lineBreak":false,"boundingPoly":{"vertices":[{"x":12.0,"y":287.0},{"x":76.0,"y":287.0},{"x":76.0,"y":307.0},{"x":12.0,"y":307.0}]}},{"inferText":"경질캡슐","lineBreak":true,"boundingPoly":{"vertices":[{"x":79.0,"y":287.0},{"x":143.0,"y":287.0},{"x":143.0,"y":306.0},{"x":79.0,"y":306.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":13.0,"y":315.0},{"x":70.0,"y":315.0},{"x":70.0,"y":335.0},{"x":13.0,"y":335.0}]}},{"inferText":"위정방에가","lineBreak":true,"boundingPoly":{"vertices":[{"x":301.0,"y":318.0},{"x":329.0,"y":318.0},{"x":329.0,"y":326.0},{"x":301.0,"y":326.0}]}},{"inferText":"내태날","lineBreak":false,"boundingPoly":{"vertices":[{"x":293.0,"y":326.0},{"x":312.0,"y":326.0},{"x":312.0,"y":333.0},{"x":293.0,"y":333.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":311.0,"y":325.0},{"x":318.0,"y":325.0},{"x":318.0,"y":332.0},{"x":311.0,"y":332.0}]}},{"inferText":"있어요","lineBreak":true,"boundingPoly":{"vertices":[{"x":317.0,"y":325.0},{"x":335.0,"y":325.0},{"x":335.0,"y":332.0},{"x":317.0,"y":332.0}]}},{"inferText":"(세균감염증치료제)","lineBreak":true,"boundingPoly":{"vertices":[{"x":382.0,"y":275.0},{"x":514.0,"y":274.0},{"x":514.0,"y":293.0},{"x":382.0,"y":294.0}]}},{"inferText":"내성균","lineBreak":false,"boundingPoly":{"vertices":[{"x":384.0,"y":296.0},{"x":432.0,"y":295.0},{"x":432.0,"y":314.0},{"x":384.0,"y":314.0}]}},{"inferText":"발현을","lineBreak":false,"boundingPoly":{"vertices":[{"x":434.0,"y":295.0},{"x":480.0,"y":294.0},{"x":480.0,"y":313.0},{"x":434.0,"y":313.0}]}},{"inferText":"막기","lineBreak":false,"boundingPoly":{"vertices":[{"x":482.0,"y":294.0},{"x":512.0,"y":293.0},{"x":513.0,"y":311.0},{"x":483.0,"y":312.0}]}},{"inferText":"위해","lineBreak":false,"boundingPoly":{"vertices":[{"x":514.0,"y":294.0},{"x":544.0,"y":293.0},{"x":545.0,"y":311.0},{"x":515.0,"y":312.0}]}},{"inferText":"용법,기간을","lineBreak":false,"boundingPoly":{"vertices":[{"x":553.0,"y":294.0},{"x":626.0,"y":293.0},{"x":627.0,"y":311.0},{"x":553.0,"y":311.0}]}},{"inferText":"지키세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":628.0,"y":294.0},{"x":686.0,"y":293.0},{"x":686.0,"y":311.0},{"x":628.0,"y":311.0}]}},{"inferText":"설사,","lineBreak":false,"boundingPoly":{"vertices":[{"x":385.0,"y":314.0},{"x":421.0,"y":314.0},{"x":421.0,"y":332.0},{"x":385.0,"y":332.0}]}},{"inferText":"소화불량,","lineBreak":false,"boundingPoly":{"vertices":[{"x":422.0,"y":313.0},{"x":489.0,"y":313.0},{"x":489.0,"y":330.0},{"x":423.0,"y":331.0}]}},{"inferText":"구토,위막성대장염","lineBreak":false,"boundingPoly":{"vertices":[{"x":489.0,"y":312.0},{"x":606.0,"y":311.0},{"x":606.0,"y":330.0},{"x":489.0,"y":331.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":608.0,"y":311.0},{"x":651.0,"y":311.0},{"x":652.0,"y":328.0},{"x":608.0,"y":329.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":653.0,"y":312.0},{"x":669.0,"y":311.0},{"x":670.0,"y":328.0},{"x":654.0,"y":329.0}]}},{"inferText":"있어요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":671.0,"y":310.0},{"x":718.0,"y":309.0},{"x":719.0,"y":327.0},{"x":672.0,"y":328.0}]}},{"inferText":"*코푸시럽_(0.2g,3mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":12.0,"y":347.0},{"x":184.0,"y":350.0},{"x":184.0,"y":372.0},{"x":12.0,"y":369.0}]}},{"inferText":"1회투약량1","lineBreak":true,"boundingPoly":{"vertices":[{"x":285.0,"y":344.0},{"x":374.0,"y":342.0},{"x":375.0,"y":362.0},{"x":286.0,"y":364.0}]}},{"inferText":"1일투여횟수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":414.0,"y":340.0},{"x":512.0,"y":340.0},{"x":512.0,"y":360.0},{"x":414.0,"y":360.0}]}},{"inferText":"총투약일수3","lineBreak":true,"boundingPoly":{"vertices":[{"x":533.0,"y":339.0},{"x":618.0,"y":339.0},{"x":618.0,"y":358.0},{"x":533.0,"y":358.0}]}},{"inferText":"적색","lineBreak":false,"boundingPoly":{"vertices":[{"x":9.0,"y":383.0},{"x":40.0,"y":384.0},{"x":39.0,"y":403.0},{"x":8.0,"y":402.0}]}},{"inferText":"시럽제","lineBreak":true,"boundingPoly":{"vertices":[{"x":43.0,"y":384.0},{"x":89.0,"y":385.0},{"x":88.0,"y":404.0},{"x":42.0,"y":403.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":11.0,"y":404.0},{"x":72.0,"y":405.0},{"x":71.0,"y":424.0},{"x":11.0,"y":424.0}]}},{"inferText":"특전","lineBreak":false,"boundingPoly":{"vertices":[{"x":295.0,"y":416.0},{"x":307.0,"y":416.0},{"x":307.0,"y":423.0},{"x":295.0,"y":423.0}]}},{"inferText":"귀제주작","lineBreak":false,"boundingPoly":{"vertices":[{"x":300.0,"y":415.0},{"x":317.0,"y":415.0},{"x":317.0,"y":428.0},{"x":300.0,"y":428.0}]}},{"inferText":"회원","lineBreak":true,"boundingPoly":{"vertices":[{"x":318.0,"y":415.0},{"x":328.0,"y":415.0},{"x":328.0,"y":428.0},{"x":318.0,"y":428.0}]}},{"inferText":"추석의","lineBreak":false,"boundingPoly":{"vertices":[{"x":298.0,"y":427.0},{"x":314.0,"y":427.0},{"x":314.0,"y":433.0},{"x":298.0,"y":433.0}]}},{"inferText":"주시오","lineBreak":true,"boundingPoly":{"vertices":[{"x":314.0,"y":427.0},{"x":330.0,"y":427.0},{"x":330.0,"y":432.0},{"x":314.0,"y":432.0}]}},{"inferText":"(진해거담제)","lineBreak":true,"boundingPoly":{"vertices":[{"x":384.0,"y":369.0},{"x":477.0,"y":366.0},{"x":478.0,"y":386.0},{"x":385.0,"y":389.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":386.0,"y":390.0},{"x":450.0,"y":388.0},{"x":451.0,"y":408.0},{"x":386.0,"y":410.0}]}},{"inferText":"상의없이","lineBreak":false,"boundingPoly":{"vertices":[{"x":452.0,"y":388.0},{"x":514.0,"y":386.0},{"x":514.0,"y":405.0},{"x":453.0,"y":407.0}]}},{"inferText":"장기간","lineBreak":false,"boundingPoly":{"vertices":[{"x":516.0,"y":387.0},{"x":562.0,"y":385.0},{"x":562.0,"y":404.0},{"x":516.0,"y":405.0}]}},{"inferText":"연용하지","lineBreak":false,"boundingPoly":{"vertices":[{"x":564.0,"y":385.0},{"x":620.0,"y":383.0},{"x":621.0,"y":402.0},{"x":564.0,"y":404.0}]}},{"inferText":"마세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":622.0,"y":384.0},{"x":671.0,"y":382.0},{"x":672.0,"y":400.0},{"x":623.0,"y":401.0}]}},{"inferText":"졸음","lineBreak":false,"boundingPoly":{"vertices":[{"x":385.0,"y":410.0},{"x":418.0,"y":409.0},{"x":419.0,"y":428.0},{"x":386.0,"y":429.0}]}},{"inferText":"올","lineBreak":false,"boundingPoly":{"vertices":[{"x":421.0,"y":409.0},{"x":439.0,"y":408.0},{"x":440.0,"y":427.0},{"x":422.0,"y":428.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":441.0,"y":408.0},{"x":459.0,"y":407.0},{"x":460.0,"y":426.0},{"x":442.0,"y":427.0}]}},{"inferText":"있으므로","lineBreak":false,"boundingPoly":{"vertices":[{"x":462.0,"y":407.0},{"x":524.0,"y":406.0},{"x":525.0,"y":425.0},{"x":463.0,"y":426.0}]}},{"inferText":"운전,","lineBreak":false,"boundingPoly":{"vertices":[{"x":526.0,"y":405.0},{"x":562.0,"y":404.0},{"x":563.0,"y":422.0},{"x":527.0,"y":423.0}]}},{"inferText":"기계조작시","lineBreak":false,"boundingPoly":{"vertices":[{"x":561.0,"y":403.0},{"x":634.0,"y":400.0},{"x":635.0,"y":420.0},{"x":562.0,"y":423.0}]}},{"inferText":"주의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":636.0,"y":399.0},{"x":711.0,"y":397.0},{"x":712.0,"y":416.0},{"x":637.0,"y":419.0}]}},{"inferText":"들약","lineBreak":true,"boundingPoly":{"vertices":[{"x":354.0,"y":412.0},{"x":367.0,"y":412.0},{"x":367.0,"y":420.0},{"x":354.0,"y":420.0}]}}]}]} diff --git a/src/test/resources/ocr/fixtures/pharmacy_receipt_grid_real.json b/src/test/resources/ocr/fixtures/pharmacy_receipt_grid_real.json new file mode 100644 index 0000000..97984f8 --- /dev/null +++ b/src/test/resources/ocr/fixtures/pharmacy_receipt_grid_real.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"영수증번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":24.0,"y":26.0},{"x":135.0,"y":31.0},{"x":134.0,"y":61.0},{"x":22.0,"y":56.0}]}},{"inferText":"국제미","lineBreak":false,"boundingPoly":{"vertices":[{"x":30.0,"y":0.0},{"x":119.0,"y":0.0},{"x":119.0,"y":17.0},{"x":30.0,"y":17.0}]}},{"inferText":"계산서","lineBreak":true,"boundingPoly":{"vertices":[{"x":128.0,"y":0.0},{"x":225.0,"y":0.0},{"x":225.0,"y":23.0},{"x":128.0,"y":23.0}]}},{"inferText":"·","lineBreak":false,"boundingPoly":{"vertices":[{"x":232.0,"y":2.0},{"x":241.0,"y":2.0},{"x":241.0,"y":15.0},{"x":232.0,"y":15.0}]}},{"inferText":"영수증","lineBreak":false,"boundingPoly":{"vertices":[{"x":249.0,"y":0.0},{"x":345.0,"y":0.0},{"x":345.0,"y":30.0},{"x":249.0,"y":30.0}]}},{"inferText":"(별지","lineBreak":false,"boundingPoly":{"vertices":[{"x":345.0,"y":8.0},{"x":384.0,"y":8.0},{"x":384.0,"y":28.0},{"x":345.0,"y":28.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":382.0,"y":10.0},{"x":401.0,"y":10.0},{"x":401.0,"y":30.0},{"x":382.0,"y":30.0}]}},{"inferText":"11호","lineBreak":false,"boundingPoly":{"vertices":[{"x":401.0,"y":10.0},{"x":436.0,"y":10.0},{"x":436.0,"y":30.0},{"x":401.0,"y":30.0}]}},{"inferText":"서식)","lineBreak":true,"boundingPoly":{"vertices":[{"x":436.0,"y":10.0},{"x":473.0,"y":10.0},{"x":473.0,"y":30.0},{"x":436.0,"y":30.0}]}},{"inferText":"☑","lineBreak":false,"boundingPoly":{"vertices":[{"x":697.0,"y":12.0},{"x":731.0,"y":13.0},{"x":730.0,"y":52.0},{"x":696.0,"y":51.0}]}},{"inferText":"조제약","lineBreak":false,"boundingPoly":{"vertices":[{"x":740.0,"y":12.0},{"x":873.0,"y":13.0},{"x":872.0,"y":60.0},{"x":739.0,"y":59.0}]}},{"inferText":"복약안내","lineBreak":true,"boundingPoly":{"vertices":[{"x":884.0,"y":14.0},{"x":1053.0,"y":15.0},{"x":1053.0,"y":65.0},{"x":883.0,"y":64.0}]}},{"inferText":"(다음내방일","lineBreak":true,"boundingPoly":{"vertices":[{"x":1059.0,"y":32.0},{"x":1198.0,"y":32.0},{"x":1198.0,"y":65.0},{"x":1059.0,"y":64.0}]}},{"inferText":"2023-01-12(목)","lineBreak":true,"boundingPoly":{"vertices":[{"x":1209.0,"y":40.0},{"x":1418.0,"y":41.0},{"x":1418.0,"y":74.0},{"x":1209.0,"y":73.0}]}},{"inferText":")","lineBreak":true,"boundingPoly":{"vertices":[{"x":1483.0,"y":36.0},{"x":1498.0,"y":36.0},{"x":1498.0,"y":60.0},{"x":1483.0,"y":60.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":443.0,"y":58.0},{"x":458.0,"y":58.0},{"x":458.0,"y":80.0},{"x":443.0,"y":80.0}]}},{"inferText":"야간","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":104.0},{"x":393.0,"y":104.0},{"x":393.0,"y":132.0},{"x":347.0,"y":132.0}]}},{"inferText":"공휴","lineBreak":true,"boundingPoly":{"vertices":[{"x":432.0,"y":108.0},{"x":475.0,"y":108.0},{"x":475.0,"y":134.0},{"x":432.0,"y":134.0}]}},{"inferText":"(①)","lineBreak":true,"boundingPoly":{"vertices":[{"x":147.0,"y":160.0},{"x":191.0,"y":160.0},{"x":191.0,"y":191.0},{"x":147.0,"y":191.0}]}},{"inferText":"(②)","lineBreak":true,"boundingPoly":{"vertices":[{"x":147.0,"y":195.0},{"x":191.0,"y":195.0},{"x":191.0,"y":223.0},{"x":147.0,"y":223.0}]}},{"inferText":"조","lineBreak":false,"boundingPoly":{"vertices":[{"x":21.0,"y":92.0},{"x":43.0,"y":93.0},{"x":42.0,"y":117.0},{"x":20.0,"y":116.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":52.0,"y":92.0},{"x":73.0,"y":93.0},{"x":72.0,"y":119.0},{"x":51.0,"y":118.0}]}},{"inferText":"일","lineBreak":false,"boundingPoly":{"vertices":[{"x":80.0,"y":94.0},{"x":102.0,"y":95.0},{"x":101.0,"y":119.0},{"x":79.0,"y":118.0}]}},{"inferText":"자","lineBreak":true,"boundingPoly":{"vertices":[{"x":110.0,"y":94.0},{"x":132.0,"y":95.0},{"x":131.0,"y":121.0},{"x":109.0,"y":120.0}]}},{"inferText":"환자","lineBreak":false,"boundingPoly":{"vertices":[{"x":22.0,"y":59.0},{"x":74.0,"y":62.0},{"x":73.0,"y":88.0},{"x":21.0,"y":85.0}]}},{"inferText":"성","lineBreak":false,"boundingPoly":{"vertices":[{"x":80.0,"y":61.0},{"x":102.0,"y":62.0},{"x":101.0,"y":89.0},{"x":79.0,"y":88.0}]}},{"inferText":"명","lineBreak":true,"boundingPoly":{"vertices":[{"x":110.0,"y":64.0},{"x":132.0,"y":65.0},{"x":131.0,"y":89.0},{"x":109.0,"y":88.0}]}},{"inferText":"약제비총액","lineBreak":true,"boundingPoly":{"vertices":[{"x":21.0,"y":125.0},{"x":132.0,"y":125.0},{"x":132.0,"y":156.0},{"x":21.0,"y":156.0}]}},{"inferText":"본인부담금","lineBreak":true,"boundingPoly":{"vertices":[{"x":22.0,"y":156.0},{"x":135.0,"y":160.0},{"x":134.0,"y":190.0},{"x":20.0,"y":186.0}]}},{"inferText":"보험자부담금","lineBreak":true,"boundingPoly":{"vertices":[{"x":21.0,"y":191.0},{"x":134.0,"y":191.0},{"x":134.0,"y":219.0},{"x":21.0,"y":219.0}]}},{"inferText":"비급여(전액본인)","lineBreak":true,"boundingPoly":{"vertices":[{"x":19.0,"y":225.0},{"x":136.0,"y":225.0},{"x":136.0,"y":254.0},{"x":19.0,"y":254.0}]}},{"inferText":"총수납금액","lineBreak":true,"boundingPoly":{"vertices":[{"x":28.0,"y":295.0},{"x":136.0,"y":295.0},{"x":136.0,"y":323.0},{"x":28.0,"y":323.0}]}},{"inferText":"(①+③)","lineBreak":true,"boundingPoly":{"vertices":[{"x":39.0,"y":323.0},{"x":125.0,"y":323.0},{"x":125.0,"y":354.0},{"x":39.0,"y":354.0}]}},{"inferText":"현금영수증","lineBreak":true,"boundingPoly":{"vertices":[{"x":30.0,"y":397.0},{"x":143.0,"y":397.0},{"x":143.0,"y":425.0},{"x":30.0,"y":425.0}]}},{"inferText":"카","lineBreak":false,"boundingPoly":{"vertices":[{"x":154.0,"y":262.0},{"x":180.0,"y":262.0},{"x":180.0,"y":286.0},{"x":154.0,"y":286.0}]}},{"inferText":"드","lineBreak":true,"boundingPoly":{"vertices":[{"x":238.0,"y":264.0},{"x":262.0,"y":264.0},{"x":262.0,"y":288.0},{"x":238.0,"y":288.0}]}},{"inferText":"현금영수증","lineBreak":true,"boundingPoly":{"vertices":[{"x":154.0,"y":293.0},{"x":265.0,"y":297.0},{"x":264.0,"y":327.0},{"x":153.0,"y":323.0}]}},{"inferText":"현금","lineBreak":true,"boundingPoly":{"vertices":[{"x":156.0,"y":329.0},{"x":265.0,"y":332.0},{"x":264.0,"y":361.0},{"x":155.0,"y":358.0}]}},{"inferText":"합계","lineBreak":true,"boundingPoly":{"vertices":[{"x":158.0,"y":364.0},{"x":264.0,"y":364.0},{"x":264.0,"y":393.0},{"x":158.0,"y":393.0}]}},{"inferText":"신분확인번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":158.0,"y":395.0},{"x":267.0,"y":395.0},{"x":267.0,"y":423.0},{"x":158.0,"y":423.0}]}},{"inferText":"현금승인번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":160.0,"y":425.0},{"x":269.0,"y":425.0},{"x":269.0,"y":453.0},{"x":160.0,"y":453.0}]}},{"inferText":"2000-0000-00008","lineBreak":true,"boundingPoly":{"vertices":[{"x":149.0,"y":45.0},{"x":345.0,"y":49.0},{"x":345.0,"y":75.0},{"x":149.0,"y":71.0}]}},{"inferText":"투약일수","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":40.0},{"x":430.0,"y":42.0},{"x":430.0,"y":71.0},{"x":346.0,"y":70.0}]}},{"inferText":"홍길동(******-*******)","lineBreak":true,"boundingPoly":{"vertices":[{"x":154.0,"y":78.0},{"x":360.0,"y":82.0},{"x":360.0,"y":110.0},{"x":153.0,"y":106.0}]}},{"inferText":"2023-01-05","lineBreak":true,"boundingPoly":{"vertices":[{"x":149.0,"y":111.0},{"x":287.0,"y":114.0},{"x":286.0,"y":138.0},{"x":149.0,"y":136.0}]}},{"inferText":"(①+②+③)","lineBreak":true,"boundingPoly":{"vertices":[{"x":147.0,"y":129.0},{"x":269.0,"y":131.0},{"x":269.0,"y":155.0},{"x":147.0,"y":153.0}]}},{"inferText":"20,050","lineBreak":false,"boundingPoly":{"vertices":[{"x":375.0,"y":152.0},{"x":456.0,"y":152.0},{"x":456.0,"y":180.0},{"x":375.0,"y":180.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":141.0},{"x":477.0,"y":141.0},{"x":477.0,"y":169.0},{"x":456.0,"y":169.0}]}},{"inferText":"5,500","lineBreak":false,"boundingPoly":{"vertices":[{"x":390.0,"y":184.0},{"x":456.0,"y":184.0},{"x":456.0,"y":210.0},{"x":390.0,"y":210.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":175.0},{"x":477.0,"y":175.0},{"x":477.0,"y":201.0},{"x":456.0,"y":201.0}]}},{"inferText":"13,000","lineBreak":false,"boundingPoly":{"vertices":[{"x":377.0,"y":215.0},{"x":456.0,"y":215.0},{"x":456.0,"y":243.0},{"x":377.0,"y":243.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":206.0},{"x":477.0,"y":206.0},{"x":477.0,"y":232.0},{"x":456.0,"y":232.0}]}},{"inferText":"1,550","lineBreak":false,"boundingPoly":{"vertices":[{"x":390.0,"y":247.0},{"x":456.0,"y":247.0},{"x":456.0,"y":273.0},{"x":390.0,"y":273.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":238.0},{"x":477.0,"y":238.0},{"x":477.0,"y":264.0},{"x":456.0,"y":264.0}]}},{"inferText":"0","lineBreak":false,"boundingPoly":{"vertices":[{"x":440.0,"y":282.0},{"x":453.0,"y":282.0},{"x":453.0,"y":301.0},{"x":440.0,"y":301.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":271.0},{"x":479.0,"y":271.0},{"x":479.0,"y":299.0},{"x":456.0,"y":299.0}]}},{"inferText":"0","lineBreak":false,"boundingPoly":{"vertices":[{"x":440.0,"y":314.0},{"x":456.0,"y":314.0},{"x":456.0,"y":334.0},{"x":440.0,"y":334.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":301.0},{"x":477.0,"y":301.0},{"x":477.0,"y":330.0},{"x":456.0,"y":330.0}]}},{"inferText":"7,050","lineBreak":false,"boundingPoly":{"vertices":[{"x":390.0,"y":343.0},{"x":458.0,"y":343.0},{"x":458.0,"y":369.0},{"x":390.0,"y":369.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":334.0},{"x":479.0,"y":334.0},{"x":479.0,"y":362.0},{"x":456.0,"y":362.0}]}},{"inferText":"7,050","lineBreak":false,"boundingPoly":{"vertices":[{"x":386.0,"y":373.0},{"x":460.0,"y":373.0},{"x":460.0,"y":401.0},{"x":386.0,"y":401.0}]}},{"inferText":"원","lineBreak":true,"boundingPoly":{"vertices":[{"x":456.0,"y":367.0},{"x":477.0,"y":367.0},{"x":477.0,"y":395.0},{"x":456.0,"y":395.0}]}},{"inferText":"약품사진","lineBreak":true,"boundingPoly":{"vertices":[{"x":545.0,"y":223.0},{"x":650.0,"y":226.0},{"x":649.0,"y":258.0},{"x":544.0,"y":255.0}]}},{"inferText":"뉴부틴서방정","lineBreak":true,"boundingPoly":{"vertices":[{"x":664.0,"y":362.0},{"x":805.0,"y":362.0},{"x":805.0,"y":390.0},{"x":664.0,"y":390.0}]}},{"inferText":"·환자정보","lineBreak":false,"boundingPoly":{"vertices":[{"x":528.0,"y":81.0},{"x":650.0,"y":88.0},{"x":648.0,"y":120.0},{"x":526.0,"y":113.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":656.0,"y":95.0},{"x":667.0,"y":95.0},{"x":666.0,"y":115.0},{"x":655.0,"y":114.0}]}},{"inferText":"홍길동(만 00세/여)","lineBreak":true,"boundingPoly":{"vertices":[{"x":674.0,"y":84.0},{"x":956.0,"y":101.0},{"x":954.0,"y":143.0},{"x":672.0,"y":126.0}]}},{"inferText":"·교부번호","lineBreak":false,"boundingPoly":{"vertices":[{"x":530.0,"y":120.0},{"x":650.0,"y":127.0},{"x":648.0,"y":157.0},{"x":529.0,"y":150.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":656.0,"y":132.0},{"x":667.0,"y":132.0},{"x":666.0,"y":152.0},{"x":655.0,"y":151.0}]}},{"inferText":"2000-0000-00007","lineBreak":true,"boundingPoly":{"vertices":[{"x":672.0,"y":133.0},{"x":865.0,"y":144.0},{"x":863.0,"y":172.0},{"x":670.0,"y":161.0}]}},{"inferText":"·","lineBreak":false,"boundingPoly":{"vertices":[{"x":530.0,"y":159.0},{"x":541.0,"y":160.0},{"x":538.0,"y":194.0},{"x":527.0,"y":193.0}]}},{"inferText":"병원정보","lineBreak":false,"boundingPoly":{"vertices":[{"x":546.0,"y":156.0},{"x":650.0,"y":163.0},{"x":648.0,"y":197.0},{"x":544.0,"y":190.0}]}},{"inferText":"행복","lineBreak":false,"boundingPoly":{"vertices":[{"x":659.0,"y":167.0},{"x":720.0,"y":170.0},{"x":717.0,"y":209.0},{"x":656.0,"y":206.0}]}},{"inferText":"사랑","lineBreak":false,"boundingPoly":{"vertices":[{"x":725.0,"y":167.0},{"x":787.0,"y":170.0},{"x":784.0,"y":209.0},{"x":722.0,"y":206.0}]}},{"inferText":"내과(홍길동)","lineBreak":true,"boundingPoly":{"vertices":[{"x":791.0,"y":175.0},{"x":936.0,"y":184.0},{"x":935.0,"y":214.0},{"x":789.0,"y":206.0}]}},{"inferText":"약품명","lineBreak":true,"boundingPoly":{"vertices":[{"x":757.0,"y":230.0},{"x":834.0,"y":230.0},{"x":834.0,"y":260.0},{"x":757.0,"y":260.0}]}},{"inferText":"[H2","lineBreak":false,"boundingPoly":{"vertices":[{"x":883.0,"y":278.0},{"x":929.0,"y":278.0},{"x":929.0,"y":304.0},{"x":883.0,"y":304.0}]}},{"inferText":"차단제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":931.0,"y":275.0},{"x":1009.0,"y":275.0},{"x":1009.0,"y":304.0},{"x":931.0,"y":304.0}]}},{"inferText":"[위장운동조절","lineBreak":false,"boundingPoly":{"vertices":[{"x":886.0,"y":362.0},{"x":1031.0,"y":362.0},{"x":1031.0,"y":390.0},{"x":886.0,"y":390.0}]}},{"inferText":"및","lineBreak":false,"boundingPoly":{"vertices":[{"x":1038.0,"y":362.0},{"x":1059.0,"y":362.0},{"x":1059.0,"y":386.0},{"x":1038.0,"y":386.0}]}},{"inferText":"진경제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":362.0},{"x":1144.0,"y":362.0},{"x":1144.0,"y":388.0},{"x":1066.0,"y":388.0}]}},{"inferText":"복약안내","lineBreak":false,"boundingPoly":{"vertices":[{"x":1053.0,"y":234.0},{"x":1155.0,"y":234.0},{"x":1155.0,"y":262.0},{"x":1053.0,"y":262.0}]}},{"inferText":"(투약량/횟수/일수)","lineBreak":true,"boundingPoly":{"vertices":[{"x":1151.0,"y":237.0},{"x":1298.0,"y":237.0},{"x":1298.0,"y":259.0},{"x":1151.0,"y":259.0}]}},{"inferText":"·조제약사","lineBreak":false,"boundingPoly":{"vertices":[{"x":1175.0,"y":96.0},{"x":1295.0,"y":102.0},{"x":1293.0,"y":134.0},{"x":1174.0,"y":128.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":1303.0,"y":108.0},{"x":1314.0,"y":108.0},{"x":1313.0,"y":128.0},{"x":1302.0,"y":127.0}]}},{"inferText":"홍길동","lineBreak":true,"boundingPoly":{"vertices":[{"x":1314.0,"y":106.0},{"x":1395.0,"y":110.0},{"x":1393.0,"y":143.0},{"x":1313.0,"y":139.0}]}},{"inferText":"·조제일자","lineBreak":false,"boundingPoly":{"vertices":[{"x":1173.0,"y":133.0},{"x":1295.0,"y":139.0},{"x":1293.0,"y":170.0},{"x":1172.0,"y":164.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":1301.0,"y":143.0},{"x":1314.0,"y":143.0},{"x":1313.0,"y":163.0},{"x":1300.0,"y":162.0}]}},{"inferText":"2023-01-05","lineBreak":true,"boundingPoly":{"vertices":[{"x":1310.0,"y":137.0},{"x":1460.0,"y":144.0},{"x":1458.0,"y":172.0},{"x":1309.0,"y":165.0}]}},{"inferText":"공복에","lineBreak":false,"boundingPoly":{"vertices":[{"x":1453.0,"y":399.0},{"x":1500.0,"y":399.0},{"x":1500.0,"y":419.0},{"x":1452.0,"y":418.0}]}},{"inferText":"복용","lineBreak":true,"boundingPoly":{"vertices":[{"x":1500.0,"y":396.0},{"x":1532.0,"y":397.0},{"x":1531.0,"y":420.0},{"x":1499.0,"y":419.0}]}},{"inferText":"약물","lineBreak":false,"boundingPoly":{"vertices":[{"x":1533.0,"y":398.0},{"x":1570.0,"y":398.0},{"x":1570.0,"y":421.0},{"x":1533.0,"y":421.0}]}},{"inferText":"분할","lineBreak":false,"boundingPoly":{"vertices":[{"x":1572.0,"y":399.0},{"x":1609.0,"y":399.0},{"x":1609.0,"y":422.0},{"x":1572.0,"y":422.0}]}},{"inferText":"금","lineBreak":true,"boundingPoly":{"vertices":[{"x":1611.0,"y":399.0},{"x":1630.0,"y":400.0},{"x":1629.0,"y":424.0},{"x":1610.0,"y":423.0}]}},{"inferText":"줄음","lineBreak":true,"boundingPoly":{"vertices":[{"x":1457.0,"y":312.0},{"x":1489.0,"y":312.0},{"x":1489.0,"y":332.0},{"x":1457.0,"y":332.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":1490.0,"y":311.0},{"x":1526.0,"y":315.0},{"x":1524.0,"y":335.0},{"x":1488.0,"y":331.0}]}},{"inferText":"운전","lineBreak":false,"boundingPoly":{"vertices":[{"x":1542.0,"y":314.0},{"x":1576.0,"y":314.0},{"x":1576.0,"y":334.0},{"x":1542.0,"y":334.0}]}},{"inferText":"및","lineBreak":false,"boundingPoly":{"vertices":[{"x":1578.0,"y":314.0},{"x":1598.0,"y":314.0},{"x":1598.0,"y":334.0},{"x":1578.0,"y":334.0}]}},{"inferText":"기계","lineBreak":true,"boundingPoly":{"vertices":[{"x":1600.0,"y":314.0},{"x":1635.0,"y":314.0},{"x":1635.0,"y":334.0},{"x":1600.0,"y":334.0}]}},{"inferText":"조작","lineBreak":false,"boundingPoly":{"vertices":[{"x":1542.0,"y":330.0},{"x":1576.0,"y":330.0},{"x":1576.0,"y":349.0},{"x":1542.0,"y":349.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":1578.0,"y":330.0},{"x":1613.0,"y":330.0},{"x":1613.0,"y":349.0},{"x":1578.0,"y":349.0}]}},{"inferText":"주의사항","lineBreak":true,"boundingPoly":{"vertices":[{"x":1518.0,"y":232.0},{"x":1633.0,"y":232.0},{"x":1633.0,"y":264.0},{"x":1518.0,"y":264.0}]}},{"inferText":"(③)","lineBreak":true,"boundingPoly":{"vertices":[{"x":147.0,"y":228.0},{"x":188.0,"y":228.0},{"x":188.0,"y":256.0},{"x":147.0,"y":256.0}]}},{"inferText":"액시티딘캅셀","lineBreak":true,"boundingPoly":{"vertices":[{"x":664.0,"y":275.0},{"x":803.0,"y":275.0},{"x":803.0,"y":304.0},{"x":664.0,"y":304.0}]}},{"inferText":"1캡슐씩2회7일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1220.0,"y":273.0},{"x":1368.0,"y":273.0},{"x":1368.0,"y":297.0},{"x":1220.0,"y":297.0}]}},{"inferText":"내용물이","lineBreak":false,"boundingPoly":{"vertices":[{"x":660.0,"y":304.0},{"x":736.0,"y":304.0},{"x":736.0,"y":327.0},{"x":660.0,"y":327.0}]}},{"inferText":"회백색","lineBreak":false,"boundingPoly":{"vertices":[{"x":740.0,"y":304.0},{"x":799.0,"y":304.0},{"x":799.0,"y":327.0},{"x":740.0,"y":327.0}]}},{"inferText":"내지","lineBreak":false,"boundingPoly":{"vertices":[{"x":803.0,"y":304.0},{"x":840.0,"y":304.0},{"x":840.0,"y":327.0},{"x":803.0,"y":327.0}]}},{"inferText":"백색","lineBreak":true,"boundingPoly":{"vertices":[{"x":843.0,"y":304.0},{"x":887.0,"y":304.0},{"x":887.0,"y":327.0},{"x":843.0,"y":327.0}]}},{"inferText":"위산분비","lineBreak":false,"boundingPoly":{"vertices":[{"x":890.0,"y":304.0},{"x":959.0,"y":304.0},{"x":959.0,"y":327.0},{"x":890.0,"y":327.0}]}},{"inferText":"억제제","lineBreak":false,"boundingPoly":{"vertices":[{"x":964.0,"y":306.0},{"x":1022.0,"y":306.0},{"x":1022.0,"y":327.0},{"x":964.0,"y":327.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":1025.0,"y":310.0},{"x":1031.0,"y":310.0},{"x":1031.0,"y":321.0},{"x":1025.0,"y":321.0}]}},{"inferText":"위궤양,","lineBreak":false,"boundingPoly":{"vertices":[{"x":1033.0,"y":304.0},{"x":1096.0,"y":304.0},{"x":1096.0,"y":325.0},{"x":1033.0,"y":325.0}]}},{"inferText":"십이지장궤양,","lineBreak":false,"boundingPoly":{"vertices":[{"x":1098.0,"y":304.0},{"x":1211.0,"y":304.0},{"x":1211.0,"y":327.0},{"x":1098.0,"y":327.0}]}},{"inferText":"상온(15~25°C)보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":1222.0,"y":304.0},{"x":1381.0,"y":304.0},{"x":1381.0,"y":327.0},{"x":1222.0,"y":327.0}]}},{"inferText":"의","lineBreak":false,"boundingPoly":{"vertices":[{"x":660.0,"y":327.0},{"x":679.0,"y":327.0},{"x":679.0,"y":349.0},{"x":660.0,"y":349.0}]}},{"inferText":"결정성","lineBreak":false,"boundingPoly":{"vertices":[{"x":684.0,"y":327.0},{"x":742.0,"y":327.0},{"x":742.0,"y":349.0},{"x":684.0,"y":349.0}]}},{"inferText":"가루","lineBreak":false,"boundingPoly":{"vertices":[{"x":747.0,"y":327.0},{"x":788.0,"y":327.0},{"x":788.0,"y":349.0},{"x":747.0,"y":349.0}]}},{"inferText":"또는","lineBreak":false,"boundingPoly":{"vertices":[{"x":790.0,"y":327.0},{"x":829.0,"y":327.0},{"x":829.0,"y":349.0},{"x":790.0,"y":349.0}]}},{"inferText":"작은","lineBreak":false,"boundingPoly":{"vertices":[{"x":834.0,"y":327.0},{"x":875.0,"y":327.0},{"x":875.0,"y":349.0},{"x":834.0,"y":349.0}]}},{"inferText":"위식도","lineBreak":false,"boundingPoly":{"vertices":[{"x":886.0,"y":327.0},{"x":944.0,"y":327.0},{"x":944.0,"y":349.0},{"x":886.0,"y":349.0}]}},{"inferText":"역류질환","lineBreak":false,"boundingPoly":{"vertices":[{"x":946.0,"y":327.0},{"x":1022.0,"y":327.0},{"x":1022.0,"y":349.0},{"x":946.0,"y":349.0}]}},{"inferText":"예방,","lineBreak":false,"boundingPoly":{"vertices":[{"x":1025.0,"y":327.0},{"x":1070.0,"y":327.0},{"x":1070.0,"y":349.0},{"x":1025.0,"y":349.0}]}},{"inferText":"치료제","lineBreak":true,"boundingPoly":{"vertices":[{"x":1070.0,"y":325.0},{"x":1127.0,"y":325.0},{"x":1127.0,"y":349.0},{"x":1070.0,"y":349.0}]}},{"inferText":"1정씩2회7일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1222.0,"y":360.0},{"x":1346.0,"y":360.0},{"x":1346.0,"y":384.0},{"x":1222.0,"y":384.0}]}},{"inferText":"흰색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":662.0,"y":393.0},{"x":718.0,"y":393.0},{"x":718.0,"y":414.0},{"x":662.0,"y":414.0}]}},{"inferText":"장방형","lineBreak":false,"boundingPoly":{"vertices":[{"x":723.0,"y":393.0},{"x":781.0,"y":393.0},{"x":781.0,"y":414.0},{"x":723.0,"y":414.0}]}},{"inferText":"서방성","lineBreak":false,"boundingPoly":{"vertices":[{"x":786.0,"y":393.0},{"x":844.0,"y":393.0},{"x":844.0,"y":414.0},{"x":786.0,"y":414.0}]}},{"inferText":"필름","lineBreak":false,"boundingPoly":{"vertices":[{"x":849.0,"y":390.0},{"x":887.0,"y":390.0},{"x":887.0,"y":414.0},{"x":849.0,"y":414.0}]}},{"inferText":"경련을","lineBreak":false,"boundingPoly":{"vertices":[{"x":890.0,"y":390.0},{"x":944.0,"y":390.0},{"x":944.0,"y":414.0},{"x":890.0,"y":414.0}]}},{"inferText":"억제하고","lineBreak":false,"boundingPoly":{"vertices":[{"x":949.0,"y":390.0},{"x":1025.0,"y":390.0},{"x":1025.0,"y":412.0},{"x":949.0,"y":412.0}]}},{"inferText":"위장관","lineBreak":false,"boundingPoly":{"vertices":[{"x":1027.0,"y":390.0},{"x":1083.0,"y":390.0},{"x":1083.0,"y":412.0},{"x":1027.0,"y":412.0}]}},{"inferText":"운동을","lineBreak":false,"boundingPoly":{"vertices":[{"x":1088.0,"y":390.0},{"x":1144.0,"y":390.0},{"x":1144.0,"y":412.0},{"x":1088.0,"y":412.0}]}},{"inferText":"정상화","lineBreak":true,"boundingPoly":{"vertices":[{"x":1146.0,"y":390.0},{"x":1203.0,"y":390.0},{"x":1203.0,"y":412.0},{"x":1146.0,"y":412.0}]}},{"inferText":"시","lineBreak":false,"boundingPoly":{"vertices":[{"x":1203.0,"y":390.0},{"x":1224.0,"y":390.0},{"x":1224.0,"y":412.0},{"x":1203.0,"y":412.0}]}},{"inferText":"실온(1~30°C)","lineBreak":false,"boundingPoly":{"vertices":[{"x":1227.0,"y":390.0},{"x":1333.0,"y":390.0},{"x":1333.0,"y":412.0},{"x":1227.0,"y":412.0}]}},{"inferText":"보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":1333.0,"y":390.0},{"x":1374.0,"y":390.0},{"x":1374.0,"y":412.0},{"x":1333.0,"y":412.0}]}},{"inferText":"코팅정제","lineBreak":true,"boundingPoly":{"vertices":[{"x":662.0,"y":414.0},{"x":738.0,"y":414.0},{"x":738.0,"y":436.0},{"x":662.0,"y":436.0}]}},{"inferText":"킵니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":888.0,"y":412.0},{"x":951.0,"y":412.0},{"x":951.0,"y":436.0},{"x":888.0,"y":436.0}]}},{"inferText":"지","lineBreak":true,"boundingPoly":{"vertices":[{"x":1537.0,"y":417.0},{"x":1555.0,"y":417.0},{"x":1555.0,"y":436.0},{"x":1537.0,"y":436.0}]}},{"inferText":")","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":427.0},{"x":145.0,"y":427.0},{"x":145.0,"y":447.0},{"x":136.0,"y":447.0}]}},{"inferText":"사업장소재지","lineBreak":true,"boundingPoly":{"vertices":[{"x":28.0,"y":506.0},{"x":141.0,"y":506.0},{"x":141.0,"y":534.0},{"x":28.0,"y":534.0}]}},{"inferText":"사업자등록번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":28.0,"y":458.0},{"x":143.0,"y":458.0},{"x":143.0,"y":486.0},{"x":28.0,"y":486.0}]}},{"inferText":"000-00-00000","lineBreak":true,"boundingPoly":{"vertices":[{"x":169.0,"y":460.0},{"x":364.0,"y":460.0},{"x":364.0,"y":486.0},{"x":169.0,"y":486.0}]}},{"inferText":"인천","lineBreak":false,"boundingPoly":{"vertices":[{"x":169.0,"y":490.0},{"x":217.0,"y":490.0},{"x":217.0,"y":516.0},{"x":169.0,"y":516.0}]}},{"inferText":"남동구","lineBreak":false,"boundingPoly":{"vertices":[{"x":219.0,"y":490.0},{"x":288.0,"y":490.0},{"x":288.0,"y":516.0},{"x":219.0,"y":516.0}]}},{"inferText":"만수2동","lineBreak":false,"boundingPoly":{"vertices":[{"x":291.0,"y":490.0},{"x":373.0,"y":490.0},{"x":373.0,"y":516.0},{"x":291.0,"y":516.0}]}},{"inferText":"1117-2","lineBreak":true,"boundingPoly":{"vertices":[{"x":375.0,"y":490.0},{"x":462.0,"y":490.0},{"x":462.0,"y":514.0},{"x":375.0,"y":514.0}]}},{"inferText":"행복메디컬","lineBreak":false,"boundingPoly":{"vertices":[{"x":169.0,"y":519.0},{"x":282.0,"y":519.0},{"x":282.0,"y":545.0},{"x":169.0,"y":545.0}]}},{"inferText":"105호","lineBreak":true,"boundingPoly":{"vertices":[{"x":284.0,"y":519.0},{"x":351.0,"y":519.0},{"x":351.0,"y":542.0},{"x":284.0,"y":542.0}]}},{"inferText":"티로파정","lineBreak":true,"boundingPoly":{"vertices":[{"x":666.0,"y":449.0},{"x":762.0,"y":449.0},{"x":762.0,"y":477.0},{"x":666.0,"y":477.0}]}},{"inferText":"1정씩2회7일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1227.0,"y":445.0},{"x":1344.0,"y":445.0},{"x":1344.0,"y":469.0},{"x":1227.0,"y":469.0}]}},{"inferText":"진경제","lineBreak":false,"boundingPoly":{"vertices":[{"x":893.0,"y":477.0},{"x":948.0,"y":476.0},{"x":949.0,"y":500.0},{"x":894.0,"y":501.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":950.0,"y":484.0},{"x":956.0,"y":483.0},{"x":957.0,"y":496.0},{"x":951.0,"y":497.0}]}},{"inferText":"위장관","lineBreak":false,"boundingPoly":{"vertices":[{"x":958.0,"y":477.0},{"x":1017.0,"y":476.0},{"x":1018.0,"y":500.0},{"x":959.0,"y":501.0}]}},{"inferText":"또는","lineBreak":false,"boundingPoly":{"vertices":[{"x":1021.0,"y":477.0},{"x":1061.0,"y":476.0},{"x":1062.0,"y":498.0},{"x":1022.0,"y":499.0}]}},{"inferText":"방광의","lineBreak":false,"boundingPoly":{"vertices":[{"x":1063.0,"y":477.0},{"x":1119.0,"y":476.0},{"x":1120.0,"y":498.0},{"x":1064.0,"y":499.0}]}},{"inferText":"경련","lineBreak":false,"boundingPoly":{"vertices":[{"x":1124.0,"y":477.0},{"x":1160.0,"y":476.0},{"x":1161.0,"y":498.0},{"x":1125.0,"y":499.0}]}},{"inferText":"완화","lineBreak":true,"boundingPoly":{"vertices":[{"x":1163.0,"y":475.0},{"x":1202.0,"y":474.0},{"x":1203.0,"y":498.0},{"x":1164.0,"y":499.0}]}},{"inferText":"실온(1~30°C)보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":1229.0,"y":475.0},{"x":1368.0,"y":475.0},{"x":1368.0,"y":501.0},{"x":1229.0,"y":501.0}]}},{"inferText":"이약은","lineBreak":false,"boundingPoly":{"vertices":[{"x":664.0,"y":480.0},{"x":723.0,"y":479.0},{"x":723.0,"y":501.0},{"x":664.0,"y":501.0}]}},{"inferText":"백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":725.0,"y":477.0},{"x":784.0,"y":477.0},{"x":784.0,"y":501.0},{"x":725.0,"y":501.0}]}},{"inferText":"원형","lineBreak":false,"boundingPoly":{"vertices":[{"x":787.0,"y":477.0},{"x":825.0,"y":476.0},{"x":826.0,"y":500.0},{"x":788.0,"y":501.0}]}},{"inferText":"필림코","lineBreak":true,"boundingPoly":{"vertices":[{"x":828.0,"y":477.0},{"x":890.0,"y":476.0},{"x":891.0,"y":500.0},{"x":829.0,"y":501.0}]}},{"inferText":"팅정이다","lineBreak":true,"boundingPoly":{"vertices":[{"x":664.0,"y":501.0},{"x":740.0,"y":501.0},{"x":740.0,"y":525.0},{"x":664.0,"y":525.0}]}},{"inferText":"[위장운동조절","lineBreak":false,"boundingPoly":{"vertices":[{"x":888.0,"y":450.0},{"x":1033.0,"y":448.0},{"x":1033.0,"y":477.0},{"x":888.0,"y":478.0}]}},{"inferText":"및","lineBreak":false,"boundingPoly":{"vertices":[{"x":1039.0,"y":449.0},{"x":1061.0,"y":448.0},{"x":1062.0,"y":472.0},{"x":1040.0,"y":473.0}]}},{"inferText":"진경제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":1067.0,"y":447.0},{"x":1145.0,"y":446.0},{"x":1146.0,"y":474.0},{"x":1068.0,"y":475.0}]}},{"inferText":"가능","lineBreak":true,"boundingPoly":{"vertices":[{"x":1448.0,"y":499.0},{"x":1481.0,"y":499.0},{"x":1481.0,"y":519.0},{"x":1448.0,"y":518.0}]}},{"inferText":"입","lineBreak":false,"boundingPoly":{"vertices":[{"x":1448.0,"y":483.0},{"x":1466.0,"y":484.0},{"x":1465.0,"y":503.0},{"x":1447.0,"y":502.0}]}},{"inferText":"마름","lineBreak":true,"boundingPoly":{"vertices":[{"x":1468.0,"y":485.0},{"x":1502.0,"y":486.0},{"x":1501.0,"y":506.0},{"x":1467.0,"y":505.0}]}},{"inferText":"유발물을","lineBreak":false,"boundingPoly":{"vertices":[{"x":1502.0,"y":487.0},{"x":1568.0,"y":487.0},{"x":1568.0,"y":508.0},{"x":1502.0,"y":507.0}]}},{"inferText":"충분히","lineBreak":true,"boundingPoly":{"vertices":[{"x":1568.0,"y":490.0},{"x":1620.0,"y":491.0},{"x":1620.0,"y":510.0},{"x":1567.0,"y":510.0}]}},{"inferText":"마실","lineBreak":false,"boundingPoly":{"vertices":[{"x":1533.0,"y":502.0},{"x":1568.0,"y":503.0},{"x":1567.0,"y":523.0},{"x":1532.0,"y":522.0}]}},{"inferText":"것","lineBreak":true,"boundingPoly":{"vertices":[{"x":1568.0,"y":505.0},{"x":1587.0,"y":506.0},{"x":1586.0,"y":525.0},{"x":1567.0,"y":524.0}]}},{"inferText":"상호","lineBreak":true,"boundingPoly":{"vertices":[{"x":28.0,"y":553.0},{"x":139.0,"y":553.0},{"x":139.0,"y":579.0},{"x":28.0,"y":579.0}]}},{"inferText":"성명","lineBreak":true,"boundingPoly":{"vertices":[{"x":27.0,"y":586.0},{"x":138.0,"y":583.0},{"x":139.0,"y":610.0},{"x":28.0,"y":613.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":167.0,"y":584.0},{"x":194.0,"y":584.0},{"x":194.0,"y":612.0},{"x":167.0,"y":612.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":198.0,"y":584.0},{"x":232.0,"y":584.0},{"x":232.0,"y":612.0},{"x":198.0,"y":612.0}]}},{"inferText":"○","lineBreak":true,"boundingPoly":{"vertices":[{"x":236.0,"y":584.0},{"x":264.0,"y":584.0},{"x":264.0,"y":612.0},{"x":236.0,"y":612.0}]}},{"inferText":"향","lineBreak":false,"boundingPoly":{"vertices":[{"x":164.0,"y":551.0},{"x":196.0,"y":550.0},{"x":197.0,"y":581.0},{"x":165.0,"y":582.0}]}},{"inferText":"촌","lineBreak":false,"boundingPoly":{"vertices":[{"x":203.0,"y":551.0},{"x":231.0,"y":550.0},{"x":232.0,"y":576.0},{"x":204.0,"y":577.0}]}},{"inferText":"행복약국","lineBreak":true,"boundingPoly":{"vertices":[{"x":239.0,"y":548.0},{"x":384.0,"y":546.0},{"x":384.0,"y":578.0},{"x":240.0,"y":581.0}]}},{"inferText":"258","lineBreak":true,"boundingPoly":{"vertices":[{"x":595.0,"y":573.0},{"x":608.0,"y":573.0},{"x":608.0,"y":584.0},{"x":595.0,"y":584.0}]}},{"inferText":"비오플250캅셀","lineBreak":true,"boundingPoly":{"vertices":[{"x":668.0,"y":538.0},{"x":825.0,"y":538.0},{"x":825.0,"y":566.0},{"x":668.0,"y":566.0}]}},{"inferText":"[정장제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":890.0,"y":536.0},{"x":981.0,"y":536.0},{"x":981.0,"y":564.0},{"x":890.0,"y":564.0}]}},{"inferText":"1캡슐씩2회7일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1229.0,"y":532.0},{"x":1363.0,"y":531.0},{"x":1363.0,"y":555.0},{"x":1229.0,"y":556.0}]}},{"inferText":"미황색","lineBreak":false,"boundingPoly":{"vertices":[{"x":664.0,"y":569.0},{"x":723.0,"y":568.0},{"x":723.0,"y":590.0},{"x":664.0,"y":590.0}]}},{"inferText":"분말이","lineBreak":false,"boundingPoly":{"vertices":[{"x":727.0,"y":566.0},{"x":786.0,"y":566.0},{"x":786.0,"y":590.0},{"x":727.0,"y":590.0}]}},{"inferText":"든","lineBreak":false,"boundingPoly":{"vertices":[{"x":789.0,"y":566.0},{"x":811.0,"y":565.0},{"x":812.0,"y":589.0},{"x":790.0,"y":590.0}]}},{"inferText":"상,","lineBreak":false,"boundingPoly":{"vertices":[{"x":813.0,"y":566.0},{"x":841.0,"y":565.0},{"x":842.0,"y":587.0},{"x":814.0,"y":588.0}]}},{"inferText":"하","lineBreak":true,"boundingPoly":{"vertices":[{"x":843.0,"y":566.0},{"x":865.0,"y":565.0},{"x":866.0,"y":587.0},{"x":844.0,"y":588.0}]}},{"inferText":"백","lineBreak":false,"boundingPoly":{"vertices":[{"x":867.0,"y":566.0},{"x":889.0,"y":565.0},{"x":890.0,"y":587.0},{"x":868.0,"y":588.0}]}},{"inferText":"효모균제제로","lineBreak":false,"boundingPoly":{"vertices":[{"x":892.0,"y":564.0},{"x":1005.0,"y":564.0},{"x":1005.0,"y":588.0},{"x":892.0,"y":588.0}]}},{"inferText":"장내균을","lineBreak":false,"boundingPoly":{"vertices":[{"x":1007.0,"y":564.0},{"x":1083.0,"y":564.0},{"x":1083.0,"y":586.0},{"x":1007.0,"y":586.0}]}},{"inferText":"정상적으로","lineBreak":false,"boundingPoly":{"vertices":[{"x":1085.0,"y":562.0},{"x":1177.0,"y":562.0},{"x":1177.0,"y":586.0},{"x":1085.0,"y":586.0}]}},{"inferText":"조절함기밀용기","lineBreak":false,"boundingPoly":{"vertices":[{"x":1179.0,"y":562.0},{"x":1303.0,"y":562.0},{"x":1303.0,"y":584.0},{"x":1179.0,"y":584.0}]}},{"inferText":"실온(1~30°C)","lineBreak":true,"boundingPoly":{"vertices":[{"x":1303.0,"y":562.0},{"x":1409.0,"y":562.0},{"x":1409.0,"y":584.0},{"x":1303.0,"y":584.0}]}},{"inferText":"색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":663.0,"y":592.0},{"x":702.0,"y":591.0},{"x":703.0,"y":613.0},{"x":664.0,"y":614.0}]}},{"inferText":"경질캅셀제","lineBreak":true,"boundingPoly":{"vertices":[{"x":707.0,"y":590.0},{"x":804.0,"y":589.0},{"x":805.0,"y":613.0},{"x":708.0,"y":614.0}]}},{"inferText":"으로써,","lineBreak":false,"boundingPoly":{"vertices":[{"x":892.0,"y":588.0},{"x":958.0,"y":588.0},{"x":958.0,"y":611.0},{"x":892.0,"y":611.0}]}},{"inferText":"장을","lineBreak":false,"boundingPoly":{"vertices":[{"x":956.0,"y":588.0},{"x":998.0,"y":587.0},{"x":999.0,"y":609.0},{"x":957.0,"y":610.0}]}},{"inferText":"튼튼하게","lineBreak":false,"boundingPoly":{"vertices":[{"x":1000.0,"y":586.0},{"x":1074.0,"y":585.0},{"x":1075.0,"y":609.0},{"x":1001.0,"y":610.0}]}},{"inferText":"합니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":1077.0,"y":586.0},{"x":1140.0,"y":586.0},{"x":1140.0,"y":610.0},{"x":1077.0,"y":610.0}]}},{"inferText":"보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":1233.0,"y":584.0},{"x":1272.0,"y":584.0},{"x":1272.0,"y":608.0},{"x":1233.0,"y":608.0}]}},{"inferText":"5","lineBreak":true,"boundingPoly":{"vertices":[{"x":330.0,"y":601.0},{"x":343.0,"y":601.0},{"x":343.0,"y":612.0},{"x":330.0,"y":612.0}]}},{"inferText":"발행일","lineBreak":true,"boundingPoly":{"vertices":[{"x":28.0,"y":616.0},{"x":139.0,"y":616.0},{"x":139.0,"y":642.0},{"x":28.0,"y":642.0}]}},{"inferText":"2023","lineBreak":false,"boundingPoly":{"vertices":[{"x":160.0,"y":632.0},{"x":221.0,"y":632.0},{"x":221.0,"y":653.0},{"x":160.0,"y":653.0}]}},{"inferText":"01","lineBreak":false,"boundingPoly":{"vertices":[{"x":225.0,"y":632.0},{"x":256.0,"y":632.0},{"x":256.0,"y":653.0},{"x":225.0,"y":653.0}]}},{"inferText":"05","lineBreak":true,"boundingPoly":{"vertices":[{"x":262.0,"y":629.0},{"x":295.0,"y":629.0},{"x":295.0,"y":653.0},{"x":262.0,"y":653.0}]}},{"inferText":"백색의","lineBreak":false,"boundingPoly":{"vertices":[{"x":664.0,"y":660.0},{"x":723.0,"y":660.0},{"x":723.0,"y":684.0},{"x":664.0,"y":684.0}]}},{"inferText":"원형정제","lineBreak":true,"boundingPoly":{"vertices":[{"x":727.0,"y":658.0},{"x":807.0,"y":658.0},{"x":807.0,"y":684.0},{"x":727.0,"y":684.0}]}},{"inferText":"환인그란닥신정","lineBreak":true,"boundingPoly":{"vertices":[{"x":668.0,"y":629.0},{"x":833.0,"y":625.0},{"x":834.0,"y":655.0},{"x":669.0,"y":659.0}]}},{"inferText":"[정신부활약]","lineBreak":true,"boundingPoly":{"vertices":[{"x":892.0,"y":624.0},{"x":1026.0,"y":622.0},{"x":1027.0,"y":652.0},{"x":892.0,"y":655.0}]}},{"inferText":"자율","lineBreak":false,"boundingPoly":{"vertices":[{"x":893.0,"y":655.0},{"x":932.0,"y":654.0},{"x":933.0,"y":678.0},{"x":894.0,"y":679.0}]}},{"inferText":"신경","lineBreak":false,"boundingPoly":{"vertices":[{"x":937.0,"y":653.0},{"x":976.0,"y":652.0},{"x":977.0,"y":676.0},{"x":938.0,"y":677.0}]}},{"inferText":"조절제","lineBreak":true,"boundingPoly":{"vertices":[{"x":979.0,"y":654.0},{"x":1035.0,"y":653.0},{"x":1036.0,"y":674.0},{"x":979.0,"y":676.0}]}},{"inferText":"0.5정씩2회7일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1231.0,"y":618.0},{"x":1363.0,"y":615.0},{"x":1364.0,"y":639.0},{"x":1231.0,"y":642.0}]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[{"x":1233.0,"y":648.0},{"x":1307.0,"y":646.0},{"x":1308.0,"y":671.0},{"x":1233.0,"y":673.0}]}},{"inferText":"운전","lineBreak":false,"boundingPoly":{"vertices":[{"x":1444.0,"y":652.0},{"x":1476.0,"y":653.0},{"x":1475.0,"y":673.0},{"x":1443.0,"y":672.0}]}},{"inferText":"및","lineBreak":true,"boundingPoly":{"vertices":[{"x":1476.0,"y":654.0},{"x":1494.0,"y":655.0},{"x":1493.0,"y":673.0},{"x":1475.0,"y":672.0}]}},{"inferText":"기계졸음","lineBreak":true,"boundingPoly":{"vertices":[{"x":1493.0,"y":653.0},{"x":1557.0,"y":653.0},{"x":1557.0,"y":674.0},{"x":1493.0,"y":674.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":1559.0,"y":657.0},{"x":1591.0,"y":658.0},{"x":1590.0,"y":675.0},{"x":1558.0,"y":674.0}]}},{"inferText":"조작","lineBreak":false,"boundingPoly":{"vertices":[{"x":1444.0,"y":667.0},{"x":1476.0,"y":668.0},{"x":1475.0,"y":688.0},{"x":1443.0,"y":687.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":1474.0,"y":667.0},{"x":1507.0,"y":668.0},{"x":1506.0,"y":688.0},{"x":1473.0,"y":687.0}]}},{"inferText":"이","lineBreak":false,"boundingPoly":{"vertices":[{"x":33.0,"y":673.0},{"x":46.0,"y":672.0},{"x":47.0,"y":688.0},{"x":34.0,"y":689.0}]}},{"inferText":"계산서","lineBreak":false,"boundingPoly":{"vertices":[{"x":48.0,"y":673.0},{"x":59.0,"y":672.0},{"x":60.0,"y":688.0},{"x":49.0,"y":689.0}]}},{"inferText":"/","lineBreak":false,"boundingPoly":{"vertices":[{"x":61.0,"y":673.0},{"x":93.0,"y":672.0},{"x":94.0,"y":688.0},{"x":62.0,"y":689.0}]}},{"inferText":"영수증은","lineBreak":false,"boundingPoly":{"vertices":[{"x":93.0,"y":673.0},{"x":141.0,"y":672.0},{"x":141.0,"y":688.0},{"x":93.0,"y":688.0}]}},{"inferText":"소득세법상","lineBreak":false,"boundingPoly":{"vertices":[{"x":138.0,"y":671.0},{"x":197.0,"y":670.0},{"x":197.0,"y":685.0},{"x":139.0,"y":686.0}]}},{"inferText":"의료비","lineBreak":false,"boundingPoly":{"vertices":[{"x":197.0,"y":671.0},{"x":232.0,"y":670.0},{"x":232.0,"y":686.0},{"x":197.0,"y":686.0}]}},{"inferText":"또는","lineBreak":false,"boundingPoly":{"vertices":[{"x":231.0,"y":671.0},{"x":257.0,"y":670.0},{"x":258.0,"y":685.0},{"x":232.0,"y":686.0}]}},{"inferText":"조세특례제한법에","lineBreak":false,"boundingPoly":{"vertices":[{"x":255.0,"y":671.0},{"x":344.0,"y":670.0},{"x":345.0,"y":683.0},{"x":256.0,"y":684.0}]}},{"inferText":"의한","lineBreak":false,"boundingPoly":{"vertices":[{"x":343.0,"y":671.0},{"x":369.0,"y":670.0},{"x":369.0,"y":683.0},{"x":343.0,"y":684.0}]}},{"inferText":"현금영수증(현금영수증","lineBreak":true,"boundingPoly":{"vertices":[{"x":369.0,"y":669.0},{"x":479.0,"y":668.0},{"x":480.0,"y":683.0},{"x":369.0,"y":684.0}]}},{"inferText":"승인번호가","lineBreak":false,"boundingPoly":{"vertices":[{"x":34.0,"y":691.0},{"x":93.0,"y":690.0},{"x":93.0,"y":705.0},{"x":34.0,"y":706.0}]}},{"inferText":"기재된","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":690.0},{"x":128.0,"y":690.0},{"x":128.0,"y":705.0},{"x":91.0,"y":706.0}]}},{"inferText":"경우)","lineBreak":false,"boundingPoly":{"vertices":[{"x":128.0,"y":690.0},{"x":158.0,"y":690.0},{"x":158.0,"y":705.0},{"x":128.0,"y":706.0}]}},{"inferText":"공제신청에","lineBreak":false,"boundingPoly":{"vertices":[{"x":158.0,"y":688.0},{"x":214.0,"y":688.0},{"x":215.0,"y":703.0},{"x":158.0,"y":704.0}]}},{"inferText":"사용할","lineBreak":false,"boundingPoly":{"vertices":[{"x":214.0,"y":688.0},{"x":249.0,"y":688.0},{"x":249.0,"y":703.0},{"x":215.0,"y":703.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":248.0,"y":688.0},{"x":263.0,"y":687.0},{"x":264.0,"y":700.0},{"x":249.0,"y":701.0}]}},{"inferText":"있습니다.","lineBreak":false,"boundingPoly":{"vertices":[{"x":261.0,"y":688.0},{"x":309.0,"y":687.0},{"x":310.0,"y":700.0},{"x":262.0,"y":701.0}]}},{"inferText":"다만,","lineBreak":false,"boundingPoly":{"vertices":[{"x":309.0,"y":686.0},{"x":337.0,"y":685.0},{"x":338.0,"y":700.0},{"x":310.0,"y":701.0}]}},{"inferText":"지출증빙용으로","lineBreak":false,"boundingPoly":{"vertices":[{"x":337.0,"y":686.0},{"x":416.0,"y":685.0},{"x":417.0,"y":700.0},{"x":338.0,"y":701.0}]}},{"inferText":"발급된","lineBreak":false,"boundingPoly":{"vertices":[{"x":412.0,"y":684.0},{"x":449.0,"y":683.0},{"x":449.0,"y":701.0},{"x":412.0,"y":701.0}]}},{"inferText":"현금영","lineBreak":true,"boundingPoly":{"vertices":[{"x":447.0,"y":684.0},{"x":482.0,"y":683.0},{"x":482.0,"y":701.0},{"x":447.0,"y":701.0}]}},{"inferText":"수중(지출증빙)은","lineBreak":false,"boundingPoly":{"vertices":[{"x":34.0,"y":708.0},{"x":121.0,"y":707.0},{"x":121.0,"y":722.0},{"x":34.0,"y":723.0}]}},{"inferText":"공제신청에","lineBreak":false,"boundingPoly":{"vertices":[{"x":121.0,"y":706.0},{"x":180.0,"y":705.0},{"x":180.0,"y":721.0},{"x":121.0,"y":722.0}]}},{"inferText":"사용할","lineBreak":false,"boundingPoly":{"vertices":[{"x":180.0,"y":706.0},{"x":214.0,"y":705.0},{"x":215.0,"y":720.0},{"x":180.0,"y":721.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":214.0,"y":705.0},{"x":229.0,"y":704.0},{"x":230.0,"y":720.0},{"x":215.0,"y":721.0}]}},{"inferText":"없습니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":229.0,"y":705.0},{"x":277.0,"y":704.0},{"x":278.0,"y":720.0},{"x":230.0,"y":721.0}]}},{"inferText":"·","lineBreak":false,"boundingPoly":{"vertices":[{"x":28.0,"y":731.0},{"x":34.0,"y":731.0},{"x":34.0,"y":738.0},{"x":28.0,"y":738.0}]}},{"inferText":"이","lineBreak":false,"boundingPoly":{"vertices":[{"x":33.0,"y":727.0},{"x":48.0,"y":726.0},{"x":49.0,"y":741.0},{"x":34.0,"y":742.0}]}},{"inferText":"계산서","lineBreak":false,"boundingPoly":{"vertices":[{"x":46.0,"y":725.0},{"x":85.0,"y":724.0},{"x":86.0,"y":741.0},{"x":47.0,"y":742.0}]}},{"inferText":"영수증에","lineBreak":false,"boundingPoly":{"vertices":[{"x":86.0,"y":727.0},{"x":134.0,"y":727.0},{"x":134.0,"y":742.0},{"x":86.0,"y":743.0}]}},{"inferText":"대한","lineBreak":false,"boundingPoly":{"vertices":[{"x":129.0,"y":723.0},{"x":157.0,"y":722.0},{"x":158.0,"y":739.0},{"x":130.0,"y":740.0}]}},{"inferText":"세부내역을","lineBreak":false,"boundingPoly":{"vertices":[{"x":155.0,"y":723.0},{"x":214.0,"y":722.0},{"x":215.0,"y":739.0},{"x":156.0,"y":740.0}]}},{"inferText":"요구할","lineBreak":false,"boundingPoly":{"vertices":[{"x":214.0,"y":723.0},{"x":251.0,"y":722.0},{"x":252.0,"y":738.0},{"x":215.0,"y":738.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":250.0,"y":723.0},{"x":263.0,"y":722.0},{"x":264.0,"y":737.0},{"x":251.0,"y":738.0}]}},{"inferText":"있습니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":263.0,"y":723.0},{"x":313.0,"y":722.0},{"x":314.0,"y":737.0},{"x":264.0,"y":738.0}]}},{"inferText":"전액본인부담금이란","lineBreak":false,"boundingPoly":{"vertices":[{"x":32.0,"y":745.0},{"x":136.0,"y":744.0},{"x":136.0,"y":761.0},{"x":32.0,"y":763.0}]}},{"inferText":"국민건강보험법","lineBreak":false,"boundingPoly":{"vertices":[{"x":134.0,"y":743.0},{"x":217.0,"y":742.0},{"x":217.0,"y":759.0},{"x":134.0,"y":760.0}]}},{"inferText":"시행규칙","lineBreak":false,"boundingPoly":{"vertices":[{"x":212.0,"y":740.0},{"x":262.0,"y":740.0},{"x":262.0,"y":757.0},{"x":212.0,"y":758.0}]}},{"inferText":"별표","lineBreak":false,"boundingPoly":{"vertices":[{"x":259.0,"y":740.0},{"x":285.0,"y":739.0},{"x":286.0,"y":756.0},{"x":260.0,"y":757.0}]}},{"inferText":"5의","lineBreak":false,"boundingPoly":{"vertices":[{"x":283.0,"y":742.0},{"x":305.0,"y":741.0},{"x":306.0,"y":756.0},{"x":284.0,"y":757.0}]}},{"inferText":"규정에","lineBreak":false,"boundingPoly":{"vertices":[{"x":306.0,"y":743.0},{"x":340.0,"y":742.0},{"x":341.0,"y":757.0},{"x":306.0,"y":758.0}]}},{"inferText":"의한","lineBreak":false,"boundingPoly":{"vertices":[{"x":337.0,"y":740.0},{"x":363.0,"y":739.0},{"x":364.0,"y":756.0},{"x":338.0,"y":757.0}]}},{"inferText":"요양급여비용의","lineBreak":false,"boundingPoly":{"vertices":[{"x":363.0,"y":740.0},{"x":439.0,"y":739.0},{"x":440.0,"y":754.0},{"x":364.0,"y":755.0}]}},{"inferText":"본인전액","lineBreak":true,"boundingPoly":{"vertices":[{"x":440.0,"y":740.0},{"x":482.0,"y":740.0},{"x":482.0,"y":755.0},{"x":440.0,"y":756.0}]}},{"inferText":"부담항목","lineBreak":false,"boundingPoly":{"vertices":[{"x":32.0,"y":762.0},{"x":82.0,"y":762.0},{"x":83.0,"y":780.0},{"x":32.0,"y":781.0}]}},{"inferText":"비용을","lineBreak":false,"boundingPoly":{"vertices":[{"x":80.0,"y":762.0},{"x":119.0,"y":762.0},{"x":119.0,"y":779.0},{"x":80.0,"y":779.0}]}},{"inferText":"말합니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":114.0,"y":760.0},{"x":169.0,"y":759.0},{"x":169.0,"y":779.0},{"x":115.0,"y":780.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":827.0},{"x":367.0,"y":827.0},{"x":367.0,"y":851.0},{"x":347.0,"y":851.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":853.0},{"x":367.0,"y":853.0},{"x":367.0,"y":875.0},{"x":347.0,"y":875.0}]}},{"inferText":"약품명","lineBreak":true,"boundingPoly":{"vertices":[{"x":118.0,"y":805.0},{"x":190.0,"y":802.0},{"x":192.0,"y":832.0},{"x":119.0,"y":835.0}]}},{"inferText":"액시티딘캅셀(니자티딘)","lineBreak":true,"boundingPoly":{"vertices":[{"x":25.0,"y":838.0},{"x":279.0,"y":826.0},{"x":281.0,"y":857.0},{"x":26.0,"y":869.0}]}},{"inferText":"뉴부틴서방정(말레인산트","lineBreak":true,"boundingPoly":{"vertices":[{"x":22.0,"y":864.0},{"x":292.0,"y":852.0},{"x":294.0,"y":883.0},{"x":24.0,"y":895.0}]}},{"inferText":"티로파정(티로프라미드염","lineBreak":true,"boundingPoly":{"vertices":[{"x":22.0,"y":891.0},{"x":290.0,"y":879.0},{"x":292.0,"y":909.0},{"x":24.0,"y":921.0}]}},{"inferText":"비오플250캅셀(사카로마","lineBreak":true,"boundingPoly":{"vertices":[{"x":22.0,"y":917.0},{"x":284.0,"y":905.0},{"x":285.0,"y":936.0},{"x":24.0,"y":948.0}]}},{"inferText":"환인그란닥신정(토피소팜","lineBreak":true,"boundingPoly":{"vertices":[{"x":22.0,"y":944.0},{"x":299.0,"y":931.0},{"x":300.0,"y":963.0},{"x":24.0,"y":976.0}]}},{"inferText":"투약량","lineBreak":true,"boundingPoly":{"vertices":[{"x":288.0,"y":799.0},{"x":360.0,"y":799.0},{"x":360.0,"y":827.0},{"x":288.0,"y":827.0}]}},{"inferText":"횟수","lineBreak":true,"boundingPoly":{"vertices":[{"x":373.0,"y":799.0},{"x":423.0,"y":799.0},{"x":423.0,"y":827.0},{"x":373.0,"y":827.0}]}},{"inferText":"일수","lineBreak":true,"boundingPoly":{"vertices":[{"x":432.0,"y":797.0},{"x":479.0,"y":797.0},{"x":479.0,"y":825.0},{"x":432.0,"y":825.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":466.0,"y":851.0},{"x":482.0,"y":851.0},{"x":482.0,"y":873.0},{"x":466.0,"y":873.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":466.0,"y":827.0},{"x":482.0,"y":827.0},{"x":482.0,"y":847.0},{"x":466.0,"y":847.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":469.0,"y":877.0},{"x":482.0,"y":877.0},{"x":482.0,"y":896.0},{"x":469.0,"y":896.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":469.0,"y":901.0},{"x":482.0,"y":901.0},{"x":482.0,"y":920.0},{"x":469.0,"y":920.0}]}},{"inferText":"7","lineBreak":true,"boundingPoly":{"vertices":[{"x":469.0,"y":925.0},{"x":482.0,"y":925.0},{"x":482.0,"y":944.0},{"x":469.0,"y":944.0}]}},{"inferText":"2","lineBreak":true,"boundingPoly":{"vertices":[{"x":406.0,"y":825.0},{"x":425.0,"y":825.0},{"x":425.0,"y":849.0},{"x":406.0,"y":849.0}]}},{"inferText":"2","lineBreak":true,"boundingPoly":{"vertices":[{"x":408.0,"y":851.0},{"x":425.0,"y":851.0},{"x":425.0,"y":873.0},{"x":408.0,"y":873.0}]}},{"inferText":"222","lineBreak":true,"boundingPoly":{"vertices":[{"x":410.0,"y":877.0},{"x":425.0,"y":877.0},{"x":425.0,"y":951.0},{"x":410.0,"y":951.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":879.0},{"x":369.0,"y":879.0},{"x":369.0,"y":901.0},{"x":347.0,"y":901.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":347.0,"y":903.0},{"x":367.0,"y":903.0},{"x":367.0,"y":927.0},{"x":347.0,"y":927.0}]}},{"inferText":"0.5","lineBreak":true,"boundingPoly":{"vertices":[{"x":330.0,"y":929.0},{"x":367.0,"y":929.0},{"x":367.0,"y":953.0},{"x":330.0,"y":953.0}]}},{"inferText":"이브","lineBreak":true,"boundingPoly":{"vertices":[{"x":970.0,"y":1101.0},{"x":1033.0,"y":1101.0},{"x":1033.0,"y":1118.0},{"x":970.0,"y":1118.0}]}},{"inferText":"시","lineBreak":false,"boundingPoly":{"vertices":[{"x":1122.0,"y":1090.0},{"x":1155.0,"y":1090.0},{"x":1154.0,"y":1119.0},{"x":1122.0,"y":1118.0}]}},{"inferText":"저","lineBreak":true,"boundingPoly":{"vertices":[{"x":1160.0,"y":1090.0},{"x":1219.0,"y":1090.0},{"x":1218.0,"y":1119.0},{"x":1160.0,"y":1118.0}]}},{"inferText":"·","lineBreak":true,"boundingPoly":{"vertices":[{"x":1223.0,"y":1090.0},{"x":1260.0,"y":1090.0},{"x":1259.0,"y":1119.0},{"x":1223.0,"y":1118.0}]}},{"inferText":"후","lineBreak":true,"boundingPoly":{"vertices":[{"x":1264.0,"y":1090.0},{"x":1286.0,"y":1090.0},{"x":1285.0,"y":1119.0},{"x":1264.0,"y":1118.0}]}},{"inferText":"시간마다","lineBreak":true,"boundingPoly":{"vertices":[{"x":1438.0,"y":1075.0},{"x":1578.0,"y":1070.0},{"x":1580.0,"y":1114.0},{"x":1440.0,"y":1119.0}]}},{"inferText":"복","lineBreak":true,"boundingPoly":{"vertices":[{"x":571.0,"y":1090.0},{"x":601.0,"y":1090.0},{"x":601.0,"y":1118.0},{"x":571.0,"y":1118.0}]}}]}]} diff --git a/src/test/resources/ocr/fixtures/pharmacy_receipt_scattered_real.json b/src/test/resources/ocr/fixtures/pharmacy_receipt_scattered_real.json new file mode 100644 index 0000000..d217deb --- /dev/null +++ b/src/test/resources/ocr/fixtures/pharmacy_receipt_scattered_real.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"약제비","lineBreak":false,"boundingPoly":{"vertices":[{"x":938.0,"y":20.0},{"x":996.0,"y":20.0},{"x":996.0,"y":43.0},{"x":938.0,"y":43.0}]}},{"inferText":"계산서·영수증","lineBreak":false,"boundingPoly":{"vertices":[{"x":998.0,"y":20.0},{"x":1123.0,"y":20.0},{"x":1123.0,"y":43.0},{"x":998.0,"y":43.0}]}},{"inferText":"[별지","lineBreak":false,"boundingPoly":{"vertices":[{"x":1120.0,"y":21.0},{"x":1171.0,"y":21.0},{"x":1170.0,"y":41.0},{"x":1120.0,"y":40.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":1174.0,"y":21.0},{"x":1177.0,"y":21.0},{"x":1176.0,"y":41.0},{"x":1174.0,"y":40.0}]}},{"inferText":"11호","lineBreak":false,"boundingPoly":{"vertices":[{"x":1178.0,"y":21.0},{"x":1213.0,"y":21.0},{"x":1213.0,"y":38.0},{"x":1178.0,"y":38.0}]}},{"inferText":"서식]","lineBreak":true,"boundingPoly":{"vertices":[{"x":1215.0,"y":21.0},{"x":1256.0,"y":21.0},{"x":1256.0,"y":41.0},{"x":1215.0,"y":41.0}]}},{"inferText":"홍길동","lineBreak":false,"boundingPoly":{"vertices":[{"x":166.0,"y":25.0},{"x":251.0,"y":25.0},{"x":251.0,"y":56.0},{"x":166.0,"y":56.0}]}},{"inferText":"님","lineBreak":true,"boundingPoly":{"vertices":[{"x":256.0,"y":33.0},{"x":278.0,"y":33.0},{"x":278.0,"y":58.0},{"x":256.0,"y":58.0}]}},{"inferText":"0000년생","lineBreak":false,"boundingPoly":{"vertices":[{"x":168.0,"y":65.0},{"x":241.0,"y":65.0},{"x":241.0,"y":85.0},{"x":168.0,"y":85.0}]}},{"inferText":"/","lineBreak":false,"boundingPoly":{"vertices":[{"x":241.0,"y":65.0},{"x":255.0,"y":65.0},{"x":254.0,"y":84.0},{"x":241.0,"y":83.0}]}},{"inferText":"남","lineBreak":false,"boundingPoly":{"vertices":[{"x":258.0,"y":65.0},{"x":279.0,"y":65.0},{"x":278.0,"y":84.0},{"x":258.0,"y":83.0}]}},{"inferText":"/","lineBreak":false,"boundingPoly":{"vertices":[{"x":281.0,"y":65.0},{"x":284.0,"y":65.0},{"x":283.0,"y":84.0},{"x":281.0,"y":83.0}]}},{"inferText":"질병기호","lineBreak":false,"boundingPoly":{"vertices":[{"x":285.0,"y":65.0},{"x":350.0,"y":65.0},{"x":350.0,"y":85.0},{"x":285.0,"y":85.0}]}},{"inferText":"J20.9","lineBreak":true,"boundingPoly":{"vertices":[{"x":350.0,"y":65.0},{"x":395.0,"y":65.0},{"x":395.0,"y":81.0},{"x":350.0,"y":81.0}]}},{"inferText":"행복약국","lineBreak":true,"boundingPoly":{"vertices":[{"x":678.0,"y":46.0},{"x":898.0,"y":46.0},{"x":898.0,"y":100.0},{"x":678.0,"y":100.0}]}},{"inferText":"환","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":76.0},{"x":960.0,"y":76.0},{"x":960.0,"y":95.0},{"x":943.0,"y":95.0}]}},{"inferText":"자","lineBreak":false,"boundingPoly":{"vertices":[{"x":975.0,"y":76.0},{"x":993.0,"y":76.0},{"x":993.0,"y":95.0},{"x":975.0,"y":95.0}]}},{"inferText":"성","lineBreak":false,"boundingPoly":{"vertices":[{"x":1008.0,"y":76.0},{"x":1025.0,"y":76.0},{"x":1025.0,"y":95.0},{"x":1008.0,"y":95.0}]}},{"inferText":"명","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":76.0},{"x":1056.0,"y":76.0},{"x":1056.0,"y":95.0},{"x":1040.0,"y":95.0}]}},{"inferText":"영","lineBreak":false,"boundingPoly":{"vertices":[{"x":945.0,"y":53.0},{"x":961.0,"y":53.0},{"x":961.0,"y":70.0},{"x":945.0,"y":70.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":968.0,"y":53.0},{"x":985.0,"y":53.0},{"x":985.0,"y":70.0},{"x":968.0,"y":70.0}]}},{"inferText":"증","lineBreak":false,"boundingPoly":{"vertices":[{"x":991.0,"y":53.0},{"x":1008.0,"y":53.0},{"x":1008.0,"y":71.0},{"x":991.0,"y":71.0}]}},{"inferText":"번","lineBreak":false,"boundingPoly":{"vertices":[{"x":1016.0,"y":53.0},{"x":1031.0,"y":53.0},{"x":1031.0,"y":70.0},{"x":1016.0,"y":70.0}]}},{"inferText":"호","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":53.0},{"x":1056.0,"y":53.0},{"x":1056.0,"y":70.0},{"x":1040.0,"y":70.0}]}},{"inferText":"홍길동","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":75.0},{"x":1121.0,"y":75.0},{"x":1121.0,"y":96.0},{"x":1066.0,"y":96.0}]}},{"inferText":"000-0000-0000-00023","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":51.0},{"x":1223.0,"y":51.0},{"x":1223.0,"y":70.0},{"x":1066.0,"y":70.0}]}},{"inferText":"행복병원","lineBreak":true,"boundingPoly":{"vertices":[{"x":168.0,"y":101.0},{"x":233.0,"y":101.0},{"x":233.0,"y":121.0},{"x":168.0,"y":121.0}]}},{"inferText":"조제일","lineBreak":false,"boundingPoly":{"vertices":[{"x":168.0,"y":125.0},{"x":216.0,"y":125.0},{"x":216.0,"y":145.0},{"x":168.0,"y":145.0}]}},{"inferText":"2020.02.07","lineBreak":false,"boundingPoly":{"vertices":[{"x":220.0,"y":125.0},{"x":313.0,"y":125.0},{"x":313.0,"y":143.0},{"x":220.0,"y":143.0}]}},{"inferText":"/","lineBreak":false,"boundingPoly":{"vertices":[{"x":316.0,"y":128.0},{"x":323.0,"y":128.0},{"x":323.0,"y":141.0},{"x":316.0,"y":141.0}]}},{"inferText":"조제한","lineBreak":false,"boundingPoly":{"vertices":[{"x":326.0,"y":125.0},{"x":376.0,"y":125.0},{"x":376.0,"y":145.0},{"x":326.0,"y":145.0}]}},{"inferText":"○○","lineBreak":true,"boundingPoly":{"vertices":[{"x":376.0,"y":125.0},{"x":410.0,"y":125.0},{"x":410.0,"y":145.0},{"x":376.0,"y":145.0}]}},{"inferText":"000-0000-0000","lineBreak":true,"boundingPoly":{"vertices":[{"x":763.0,"y":120.0},{"x":903.0,"y":120.0},{"x":903.0,"y":141.0},{"x":763.0,"y":141.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":125.0},{"x":961.0,"y":125.0},{"x":961.0,"y":141.0},{"x":943.0,"y":141.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":968.0,"y":125.0},{"x":983.0,"y":125.0},{"x":983.0,"y":141.0},{"x":968.0,"y":141.0}]}},{"inferText":"비총액","lineBreak":true,"boundingPoly":{"vertices":[{"x":991.0,"y":123.0},{"x":1056.0,"y":123.0},{"x":1056.0,"y":141.0},{"x":991.0,"y":141.0}]}},{"inferText":"조","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":101.0},{"x":960.0,"y":101.0},{"x":960.0,"y":116.0},{"x":943.0,"y":116.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":975.0,"y":100.0},{"x":991.0,"y":100.0},{"x":991.0,"y":118.0},{"x":975.0,"y":118.0}]}},{"inferText":"일","lineBreak":false,"boundingPoly":{"vertices":[{"x":1008.0,"y":100.0},{"x":1023.0,"y":100.0},{"x":1023.0,"y":118.0},{"x":1008.0,"y":118.0}]}},{"inferText":"자","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":100.0},{"x":1058.0,"y":100.0},{"x":1058.0,"y":118.0},{"x":1040.0,"y":118.0}]}},{"inferText":"①+②+③","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":125.0},{"x":1125.0,"y":125.0},{"x":1125.0,"y":141.0},{"x":1066.0,"y":141.0}]}},{"inferText":"2020.02.13","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":100.0},{"x":1155.0,"y":100.0},{"x":1155.0,"y":118.0},{"x":1066.0,"y":118.0}]}},{"inferText":"□야간","lineBreak":true,"boundingPoly":{"vertices":[{"x":1161.0,"y":101.0},{"x":1206.0,"y":101.0},{"x":1206.0,"y":118.0},{"x":1161.0,"y":118.0}]}},{"inferText":"□공휴","lineBreak":true,"boundingPoly":{"vertices":[{"x":1210.0,"y":101.0},{"x":1255.0,"y":101.0},{"x":1255.0,"y":118.0},{"x":1210.0,"y":118.0}]}},{"inferText":"①","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":150.0},{"x":1081.0,"y":150.0},{"x":1081.0,"y":165.0},{"x":1066.0,"y":165.0}]}},{"inferText":"②","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":173.0},{"x":1081.0,"y":173.0},{"x":1081.0,"y":188.0},{"x":1066.0,"y":188.0}]}},{"inferText":"Y","lineBreak":false,"boundingPoly":{"vertices":[{"x":60.0,"y":221.0},{"x":78.0,"y":221.0},{"x":78.0,"y":245.0},{"x":60.0,"y":245.0}]}},{"inferText":"H","lineBreak":true,"boundingPoly":{"vertices":[{"x":81.0,"y":221.0},{"x":100.0,"y":221.0},{"x":100.0,"y":245.0},{"x":81.0,"y":245.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":805.0,"y":226.0},{"x":815.0,"y":226.0},{"x":815.0,"y":241.0},{"x":805.0,"y":241.0}]}},{"inferText":"약품이미지","lineBreak":true,"boundingPoly":{"vertices":[{"x":45.0,"y":163.0},{"x":113.0,"y":163.0},{"x":113.0,"y":181.0},{"x":45.0,"y":181.0}]}},{"inferText":"SMF","lineBreak":true,"boundingPoly":{"vertices":[{"x":56.0,"y":316.0},{"x":103.0,"y":316.0},{"x":103.0,"y":333.0},{"x":56.0,"y":333.0}]}},{"inferText":"알마겔정","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":203.0},{"x":211.0,"y":203.0},{"x":211.0,"y":226.0},{"x":136.0,"y":226.0}]}},{"inferText":"[산","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":229.0},{"x":160.0,"y":230.0},{"x":159.0,"y":246.0},{"x":135.0,"y":245.0}]}},{"inferText":"관련","lineBreak":false,"boundingPoly":{"vertices":[{"x":160.0,"y":229.0},{"x":191.0,"y":230.0},{"x":190.0,"y":246.0},{"x":159.0,"y":245.0}]}},{"inferText":"질환용","lineBreak":false,"boundingPoly":{"vertices":[{"x":193.0,"y":229.0},{"x":240.0,"y":230.0},{"x":239.0,"y":248.0},{"x":193.0,"y":248.0}]}},{"inferText":"치료제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":240.0,"y":229.0},{"x":293.0,"y":230.0},{"x":293.0,"y":250.0},{"x":239.0,"y":249.0}]}},{"inferText":"알마게이트","lineBreak":false,"boundingPoly":{"vertices":[{"x":135.0,"y":246.0},{"x":200.0,"y":247.0},{"x":200.0,"y":264.0},{"x":134.0,"y":263.0}]}},{"inferText":"500mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":200.0,"y":248.0},{"x":248.0,"y":248.0},{"x":248.0,"y":266.0},{"x":199.0,"y":266.0}]}},{"inferText":"[당뇨병","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":313.0},{"x":188.0,"y":313.0},{"x":188.0,"y":330.0},{"x":136.0,"y":329.0}]}},{"inferText":"치료제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":190.0,"y":313.0},{"x":241.0,"y":313.0},{"x":241.0,"y":330.0},{"x":189.0,"y":329.0}]}},{"inferText":"에보글립틴타르타르산염","lineBreak":false,"boundingPoly":{"vertices":[{"x":135.0,"y":329.0},{"x":275.0,"y":330.0},{"x":274.0,"y":347.0},{"x":134.0,"y":346.0}]}},{"inferText":"6.869mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":274.0,"y":330.0},{"x":335.0,"y":330.0},{"x":335.0,"y":348.0},{"x":274.0,"y":347.0}]}},{"inferText":"메트포르민염산염","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":346.0},{"x":238.0,"y":346.0},{"x":238.0,"y":363.0},{"x":136.0,"y":363.0}]}},{"inferText":"1000mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":238.0,"y":346.0},{"x":293.0,"y":346.0},{"x":293.0,"y":365.0},{"x":238.0,"y":364.0}]}},{"inferText":"약품명/성분","lineBreak":true,"boundingPoly":{"vertices":[{"x":200.0,"y":163.0},{"x":276.0,"y":163.0},{"x":276.0,"y":181.0},{"x":200.0,"y":181.0}]}},{"inferText":"슈가메트서방정5/100···","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":286.0},{"x":340.0,"y":286.0},{"x":340.0,"y":310.0},{"x":136.0,"y":310.0}]}},{"inferText":"듀비메트서방정0.5/10···","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":376.0},{"x":345.0,"y":376.0},{"x":345.0,"y":401.0},{"x":136.0,"y":401.0}]}},{"inferText":"쪼개지","lineBreak":false,"boundingPoly":{"vertices":[{"x":363.0,"y":295.0},{"x":410.0,"y":295.0},{"x":410.0,"y":313.0},{"x":363.0,"y":313.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":411.0,"y":295.0},{"x":456.0,"y":295.0},{"x":456.0,"y":313.0},{"x":411.0,"y":313.0}]}},{"inferText":"쪼개지","lineBreak":false,"boundingPoly":{"vertices":[{"x":363.0,"y":386.0},{"x":410.0,"y":386.0},{"x":410.0,"y":403.0},{"x":363.0,"y":403.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":411.0,"y":385.0},{"x":456.0,"y":385.0},{"x":456.0,"y":403.0},{"x":411.0,"y":403.0}]}},{"inferText":"씹지","lineBreak":false,"boundingPoly":{"vertices":[{"x":471.0,"y":295.0},{"x":503.0,"y":295.0},{"x":503.0,"y":311.0},{"x":471.0,"y":311.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":505.0,"y":295.0},{"x":551.0,"y":295.0},{"x":551.0,"y":313.0},{"x":505.0,"y":313.0}]}},{"inferText":"위장장애","lineBreak":false,"boundingPoly":{"vertices":[{"x":471.0,"y":385.0},{"x":531.0,"y":385.0},{"x":531.0,"y":403.0},{"x":471.0,"y":403.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":533.0,"y":386.0},{"x":565.0,"y":386.0},{"x":565.0,"y":403.0},{"x":533.0,"y":403.0}]}},{"inferText":"심한","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":215.0},{"x":388.0,"y":215.0},{"x":388.0,"y":233.0},{"x":358.0,"y":233.0}]}},{"inferText":"변비나","lineBreak":false,"boundingPoly":{"vertices":[{"x":388.0,"y":215.0},{"x":431.0,"y":215.0},{"x":431.0,"y":233.0},{"x":388.0,"y":233.0}]}},{"inferText":"설사","lineBreak":false,"boundingPoly":{"vertices":[{"x":431.0,"y":215.0},{"x":460.0,"y":215.0},{"x":460.0,"y":233.0},{"x":431.0,"y":233.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":463.0,"y":215.0},{"x":505.0,"y":215.0},{"x":505.0,"y":233.0},{"x":463.0,"y":233.0}]}},{"inferText":"경우","lineBreak":false,"boundingPoly":{"vertices":[{"x":505.0,"y":215.0},{"x":535.0,"y":215.0},{"x":535.0,"y":231.0},{"x":505.0,"y":231.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":535.0,"y":215.0},{"x":591.0,"y":215.0},{"x":591.0,"y":233.0},{"x":535.0,"y":233.0}]}},{"inferText":"상의하세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":591.0,"y":215.0},{"x":666.0,"y":215.0},{"x":666.0,"y":233.0},{"x":591.0,"y":233.0}]}},{"inferText":"철분제","lineBreak":false,"boundingPoly":{"vertices":[{"x":666.0,"y":215.0},{"x":710.0,"y":215.0},{"x":710.0,"y":235.0},{"x":666.0,"y":235.0}]}},{"inferText":"병용시","lineBreak":true,"boundingPoly":{"vertices":[{"x":710.0,"y":215.0},{"x":753.0,"y":215.0},{"x":753.0,"y":235.0},{"x":710.0,"y":235.0}]}},{"inferText":"2시간","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":235.0},{"x":394.0,"y":235.0},{"x":393.0,"y":252.0},{"x":358.0,"y":251.0}]}},{"inferText":"이상","lineBreak":false,"boundingPoly":{"vertices":[{"x":396.0,"y":235.0},{"x":427.0,"y":235.0},{"x":426.0,"y":252.0},{"x":396.0,"y":251.0}]}},{"inferText":"간격을","lineBreak":false,"boundingPoly":{"vertices":[{"x":426.0,"y":235.0},{"x":470.0,"y":235.0},{"x":470.0,"y":251.0},{"x":426.0,"y":251.0}]}},{"inferText":"두고","lineBreak":false,"boundingPoly":{"vertices":[{"x":470.0,"y":235.0},{"x":500.0,"y":235.0},{"x":500.0,"y":251.0},{"x":470.0,"y":251.0}]}},{"inferText":"투여하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":500.0,"y":235.0},{"x":575.0,"y":235.0},{"x":575.0,"y":251.0},{"x":500.0,"y":251.0}]}},{"inferText":"복약안내","lineBreak":true,"boundingPoly":{"vertices":[{"x":538.0,"y":163.0},{"x":595.0,"y":163.0},{"x":595.0,"y":181.0},{"x":538.0,"y":181.0}]}},{"inferText":"생활요법","lineBreak":false,"boundingPoly":{"vertices":[{"x":566.0,"y":295.0},{"x":625.0,"y":295.0},{"x":625.0,"y":313.0},{"x":566.0,"y":313.0}]}},{"inferText":"병행","lineBreak":true,"boundingPoly":{"vertices":[{"x":628.0,"y":295.0},{"x":660.0,"y":295.0},{"x":660.0,"y":315.0},{"x":628.0,"y":315.0}]}},{"inferText":"씹지","lineBreak":false,"boundingPoly":{"vertices":[{"x":580.0,"y":385.0},{"x":611.0,"y":385.0},{"x":611.0,"y":403.0},{"x":580.0,"y":403.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":613.0,"y":385.0},{"x":658.0,"y":385.0},{"x":658.0,"y":403.0},{"x":613.0,"y":403.0}]}},{"inferText":"투약량","lineBreak":false,"boundingPoly":{"vertices":[{"x":788.0,"y":163.0},{"x":831.0,"y":163.0},{"x":831.0,"y":181.0},{"x":788.0,"y":181.0}]}},{"inferText":"횟수","lineBreak":false,"boundingPoly":{"vertices":[{"x":840.0,"y":163.0},{"x":870.0,"y":163.0},{"x":870.0,"y":181.0},{"x":840.0,"y":181.0}]}},{"inferText":"일수","lineBreak":true,"boundingPoly":{"vertices":[{"x":876.0,"y":165.0},{"x":905.0,"y":165.0},{"x":905.0,"y":181.0},{"x":876.0,"y":181.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":318.0},{"x":815.0,"y":318.0},{"x":815.0,"y":331.0},{"x":806.0,"y":331.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":318.0},{"x":860.0,"y":318.0},{"x":860.0,"y":333.0},{"x":850.0,"y":333.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":318.0},{"x":896.0,"y":318.0},{"x":896.0,"y":333.0},{"x":885.0,"y":333.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":226.0},{"x":861.0,"y":226.0},{"x":861.0,"y":241.0},{"x":850.0,"y":241.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":226.0},{"x":896.0,"y":226.0},{"x":896.0,"y":241.0},{"x":885.0,"y":241.0}]}},{"inferText":"수납금액","lineBreak":true,"boundingPoly":{"vertices":[{"x":940.0,"y":263.0},{"x":995.0,"y":263.0},{"x":995.0,"y":280.0},{"x":940.0,"y":280.0}]}},{"inferText":"①+③","lineBreak":true,"boundingPoly":{"vertices":[{"x":950.0,"y":281.0},{"x":986.0,"y":281.0},{"x":986.0,"y":296.0},{"x":950.0,"y":296.0}]}},{"inferText":"본","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":148.0},{"x":960.0,"y":148.0},{"x":960.0,"y":166.0},{"x":943.0,"y":166.0}]}},{"inferText":"인","lineBreak":false,"boundingPoly":{"vertices":[{"x":968.0,"y":148.0},{"x":983.0,"y":148.0},{"x":983.0,"y":166.0},{"x":968.0,"y":166.0}]}},{"inferText":"부담금","lineBreak":true,"boundingPoly":{"vertices":[{"x":991.0,"y":148.0},{"x":1056.0,"y":148.0},{"x":1056.0,"y":166.0},{"x":991.0,"y":166.0}]}},{"inferText":"보험자부담금","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":171.0},{"x":1056.0,"y":171.0},{"x":1056.0,"y":190.0},{"x":943.0,"y":190.0}]}},{"inferText":"비급여(전액본인)","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":196.0},{"x":1056.0,"y":196.0},{"x":1056.0,"y":215.0},{"x":943.0,"y":215.0}]}},{"inferText":"신분확인번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":333.0},{"x":1056.0,"y":333.0},{"x":1056.0,"y":351.0},{"x":943.0,"y":351.0}]}},{"inferText":"사업자등록번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":380.0},{"x":1056.0,"y":380.0},{"x":1056.0,"y":398.0},{"x":943.0,"y":398.0}]}},{"inferText":"현금승인번호","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":356.0},{"x":1058.0,"y":356.0},{"x":1058.0,"y":376.0},{"x":943.0,"y":376.0}]}},{"inferText":"카","lineBreak":false,"boundingPoly":{"vertices":[{"x":1000.0,"y":220.0},{"x":1018.0,"y":220.0},{"x":1018.0,"y":238.0},{"x":1000.0,"y":238.0}]}},{"inferText":"드","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":221.0},{"x":1056.0,"y":221.0},{"x":1056.0,"y":236.0},{"x":1040.0,"y":236.0}]}},{"inferText":"현금","lineBreak":true,"boundingPoly":{"vertices":[{"x":1001.0,"y":268.0},{"x":1056.0,"y":268.0},{"x":1056.0,"y":285.0},{"x":1001.0,"y":285.0}]}},{"inferText":"합","lineBreak":false,"boundingPoly":{"vertices":[{"x":1001.0,"y":300.0},{"x":1018.0,"y":300.0},{"x":1018.0,"y":318.0},{"x":1001.0,"y":318.0}]}},{"inferText":"계","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":300.0},{"x":1056.0,"y":300.0},{"x":1056.0,"y":318.0},{"x":1040.0,"y":318.0}]}},{"inferText":"총","lineBreak":false,"boundingPoly":{"vertices":[{"x":960.0,"y":245.0},{"x":976.0,"y":245.0},{"x":976.0,"y":261.0},{"x":960.0,"y":261.0}]}},{"inferText":"현금영수증","lineBreak":true,"boundingPoly":{"vertices":[{"x":1000.0,"y":243.0},{"x":1058.0,"y":243.0},{"x":1058.0,"y":261.0},{"x":1000.0,"y":261.0}]}},{"inferText":"③","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":196.0},{"x":1081.0,"y":196.0},{"x":1081.0,"y":213.0},{"x":1066.0,"y":213.0}]}},{"inferText":"000-0000-0000","lineBreak":true,"boundingPoly":{"vertices":[{"x":1101.0,"y":331.0},{"x":1226.0,"y":331.0},{"x":1226.0,"y":351.0},{"x":1101.0,"y":351.0}]}},{"inferText":"000000000000","lineBreak":true,"boundingPoly":{"vertices":[{"x":1096.0,"y":355.0},{"x":1231.0,"y":355.0},{"x":1231.0,"y":376.0},{"x":1096.0,"y":376.0}]}},{"inferText":"000-00-00000","lineBreak":true,"boundingPoly":{"vertices":[{"x":1096.0,"y":380.0},{"x":1231.0,"y":380.0},{"x":1231.0,"y":400.0},{"x":1096.0,"y":400.0}]}},{"inferText":"34,300원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1146.0,"y":295.0},{"x":1258.0,"y":295.0},{"x":1258.0,"y":325.0},{"x":1146.0,"y":325.0}]}},{"inferText":"102,900원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1169.0,"y":123.0},{"x":1259.0,"y":123.0},{"x":1259.0,"y":144.0},{"x":1169.0,"y":144.0}]}},{"inferText":"34,360원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1178.0,"y":146.0},{"x":1258.0,"y":146.0},{"x":1258.0,"y":170.0},{"x":1178.0,"y":170.0}]}},{"inferText":"59,780원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1178.0,"y":171.0},{"x":1260.0,"y":171.0},{"x":1260.0,"y":193.0},{"x":1178.0,"y":193.0}]}},{"inferText":"8,760원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1190.0,"y":195.0},{"x":1258.0,"y":195.0},{"x":1258.0,"y":218.0},{"x":1190.0,"y":218.0}]}},{"inferText":"30,000원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1178.0,"y":220.0},{"x":1260.0,"y":220.0},{"x":1260.0,"y":241.0},{"x":1178.0,"y":241.0}]}},{"inferText":"4,300원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1188.0,"y":243.0},{"x":1260.0,"y":243.0},{"x":1260.0,"y":266.0},{"x":1188.0,"y":266.0}]}},{"inferText":"4,300원","lineBreak":true,"boundingPoly":{"vertices":[{"x":1188.0,"y":268.0},{"x":1260.0,"y":268.0},{"x":1260.0,"y":290.0},{"x":1188.0,"y":290.0}]}},{"inferText":"식사와","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":320.0},{"x":403.0,"y":320.0},{"x":403.0,"y":340.0},{"x":358.0,"y":340.0}]}},{"inferText":"함께","lineBreak":false,"boundingPoly":{"vertices":[{"x":401.0,"y":320.0},{"x":431.0,"y":320.0},{"x":431.0,"y":338.0},{"x":401.0,"y":338.0}]}},{"inferText":"1일","lineBreak":false,"boundingPoly":{"vertices":[{"x":431.0,"y":321.0},{"x":456.0,"y":321.0},{"x":456.0,"y":338.0},{"x":431.0,"y":338.0}]}},{"inferText":"1회","lineBreak":false,"boundingPoly":{"vertices":[{"x":456.0,"y":320.0},{"x":481.0,"y":320.0},{"x":481.0,"y":338.0},{"x":456.0,"y":338.0}]}},{"inferText":"복용하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":481.0,"y":320.0},{"x":556.0,"y":320.0},{"x":556.0,"y":338.0},{"x":481.0,"y":338.0}]}},{"inferText":"저혈당","lineBreak":false,"boundingPoly":{"vertices":[{"x":555.0,"y":320.0},{"x":600.0,"y":320.0},{"x":600.0,"y":338.0},{"x":555.0,"y":338.0}]}},{"inferText":"증세가","lineBreak":false,"boundingPoly":{"vertices":[{"x":600.0,"y":320.0},{"x":641.0,"y":320.0},{"x":641.0,"y":338.0},{"x":600.0,"y":338.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":644.0,"y":320.0},{"x":686.0,"y":320.0},{"x":686.0,"y":338.0},{"x":644.0,"y":338.0}]}},{"inferText":"경우에는","lineBreak":false,"boundingPoly":{"vertices":[{"x":686.0,"y":321.0},{"x":743.0,"y":321.0},{"x":743.0,"y":338.0},{"x":686.0,"y":338.0}]}},{"inferText":"즉시","lineBreak":true,"boundingPoly":{"vertices":[{"x":743.0,"y":320.0},{"x":773.0,"y":320.0},{"x":773.0,"y":340.0},{"x":743.0,"y":340.0}]}},{"inferText":"당분있는","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":340.0},{"x":416.0,"y":340.0},{"x":416.0,"y":360.0},{"x":358.0,"y":360.0}]}},{"inferText":"음식을","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":340.0},{"x":460.0,"y":340.0},{"x":460.0,"y":360.0},{"x":415.0,"y":360.0}]}},{"inferText":"섭취하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":458.0,"y":340.0},{"x":533.0,"y":340.0},{"x":533.0,"y":358.0},{"x":458.0,"y":358.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":408.0},{"x":815.0,"y":408.0},{"x":815.0,"y":423.0},{"x":806.0,"y":423.0}]}},{"inferText":"50/100","lineBreak":true,"boundingPoly":{"vertices":[{"x":61.0,"y":411.0},{"x":103.0,"y":411.0},{"x":103.0,"y":421.0},{"x":61.0,"y":421.0}]}},{"inferText":"[당뇨병","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":403.0},{"x":188.0,"y":403.0},{"x":188.0,"y":421.0},{"x":136.0,"y":421.0}]}},{"inferText":"치료제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":190.0,"y":403.0},{"x":241.0,"y":403.0},{"x":241.0,"y":420.0},{"x":190.0,"y":420.0}]}},{"inferText":"로베글리타존황산염","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":421.0},{"x":250.0,"y":421.0},{"x":250.0,"y":436.0},{"x":136.0,"y":436.0}]}},{"inferText":"0.5mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":250.0,"y":421.0},{"x":293.0,"y":421.0},{"x":293.0,"y":438.0},{"x":250.0,"y":438.0}]}},{"inferText":"메트포르민염산염","lineBreak":false,"boundingPoly":{"vertices":[{"x":135.0,"y":436.0},{"x":238.0,"y":436.0},{"x":238.0,"y":453.0},{"x":135.0,"y":453.0}]}},{"inferText":"1000mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":238.0,"y":438.0},{"x":293.0,"y":438.0},{"x":293.0,"y":455.0},{"x":238.0,"y":455.0}]}},{"inferText":"저녁식사와","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":411.0},{"x":425.0,"y":411.0},{"x":425.0,"y":430.0},{"x":358.0,"y":430.0}]}},{"inferText":"함게","lineBreak":false,"boundingPoly":{"vertices":[{"x":428.0,"y":411.0},{"x":458.0,"y":411.0},{"x":458.0,"y":430.0},{"x":428.0,"y":430.0}]}},{"inferText":"복용하세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":458.0,"y":411.0},{"x":533.0,"y":411.0},{"x":533.0,"y":428.0},{"x":458.0,"y":428.0}]}},{"inferText":"체중증가,","lineBreak":false,"boundingPoly":{"vertices":[{"x":533.0,"y":411.0},{"x":595.0,"y":411.0},{"x":595.0,"y":430.0},{"x":533.0,"y":430.0}]}},{"inferText":"부종,","lineBreak":false,"boundingPoly":{"vertices":[{"x":593.0,"y":411.0},{"x":628.0,"y":411.0},{"x":628.0,"y":428.0},{"x":593.0,"y":428.0}]}},{"inferText":"숨가쁨이","lineBreak":false,"boundingPoly":{"vertices":[{"x":628.0,"y":411.0},{"x":683.0,"y":411.0},{"x":683.0,"y":430.0},{"x":628.0,"y":430.0}]}},{"inferText":"생기면","lineBreak":true,"boundingPoly":{"vertices":[{"x":685.0,"y":411.0},{"x":728.0,"y":411.0},{"x":728.0,"y":430.0},{"x":685.0,"y":430.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":431.0},{"x":416.0,"y":431.0},{"x":416.0,"y":448.0},{"x":358.0,"y":448.0}]}},{"inferText":"상의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":415.0,"y":431.0},{"x":490.0,"y":431.0},{"x":490.0,"y":448.0},{"x":415.0,"y":448.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":848.0,"y":406.0},{"x":861.0,"y":406.0},{"x":861.0,"y":423.0},{"x":848.0,"y":423.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":408.0},{"x":896.0,"y":408.0},{"x":896.0,"y":423.0},{"x":885.0,"y":423.0}]}},{"inferText":"사업장소재지","lineBreak":true,"boundingPoly":{"vertices":[{"x":943.0,"y":425.0},{"x":1056.0,"y":425.0},{"x":1056.0,"y":443.0},{"x":943.0,"y":443.0}]}},{"inferText":"서울시","lineBreak":false,"boundingPoly":{"vertices":[{"x":1068.0,"y":415.0},{"x":1116.0,"y":415.0},{"x":1116.0,"y":435.0},{"x":1068.0,"y":435.0}]}},{"inferText":"종로구","lineBreak":false,"boundingPoly":{"vertices":[{"x":1115.0,"y":415.0},{"x":1165.0,"y":415.0},{"x":1165.0,"y":435.0},{"x":1115.0,"y":435.0}]}},{"inferText":"을지로2가","lineBreak":true,"boundingPoly":{"vertices":[{"x":1163.0,"y":415.0},{"x":1236.0,"y":415.0},{"x":1236.0,"y":435.0},{"x":1163.0,"y":435.0}]}},{"inferText":"88","lineBreak":true,"boundingPoly":{"vertices":[{"x":1235.0,"y":415.0},{"x":1258.0,"y":415.0},{"x":1258.0,"y":431.0},{"x":1235.0,"y":431.0}]}},{"inferText":"-6","lineBreak":true,"boundingPoly":{"vertices":[{"x":1151.0,"y":435.0},{"x":1173.0,"y":435.0},{"x":1173.0,"y":450.0},{"x":1151.0,"y":450.0}]}},{"inferText":"상","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":470.0},{"x":961.0,"y":470.0},{"x":961.0,"y":486.0},{"x":943.0,"y":486.0}]}},{"inferText":"호","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":468.0},{"x":1058.0,"y":468.0},{"x":1058.0,"y":485.0},{"x":1040.0,"y":485.0}]}},{"inferText":"경동아스피린장용정","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":474.0},{"x":303.0,"y":474.0},{"x":303.0,"y":499.0},{"x":136.0,"y":499.0}]}},{"inferText":"쪼개지","lineBreak":false,"boundingPoly":{"vertices":[{"x":365.0,"y":476.0},{"x":410.0,"y":476.0},{"x":410.0,"y":493.0},{"x":365.0,"y":493.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":411.0,"y":476.0},{"x":456.0,"y":476.0},{"x":456.0,"y":495.0},{"x":411.0,"y":495.0}]}},{"inferText":"위장장애","lineBreak":false,"boundingPoly":{"vertices":[{"x":471.0,"y":476.0},{"x":531.0,"y":476.0},{"x":531.0,"y":495.0},{"x":471.0,"y":495.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":533.0,"y":476.0},{"x":565.0,"y":476.0},{"x":565.0,"y":495.0},{"x":533.0,"y":495.0}]}},{"inferText":"씹지","lineBreak":false,"boundingPoly":{"vertices":[{"x":580.0,"y":476.0},{"x":611.0,"y":476.0},{"x":611.0,"y":493.0},{"x":580.0,"y":493.0}]}},{"inferText":"마세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":613.0,"y":476.0},{"x":658.0,"y":476.0},{"x":658.0,"y":495.0},{"x":613.0,"y":495.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":498.0},{"x":860.0,"y":498.0},{"x":860.0,"y":513.0},{"x":850.0,"y":513.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":498.0},{"x":896.0,"y":498.0},{"x":896.0,"y":513.0},{"x":885.0,"y":513.0}]}},{"inferText":"행복약국","lineBreak":true,"boundingPoly":{"vertices":[{"x":1128.0,"y":466.0},{"x":1200.0,"y":466.0},{"x":1200.0,"y":488.0},{"x":1128.0,"y":488.0}]}},{"inferText":"조제한","lineBreak":true,"boundingPoly":{"vertices":[{"x":1136.0,"y":491.0},{"x":1191.0,"y":491.0},{"x":1191.0,"y":513.0},{"x":1136.0,"y":513.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":493.0},{"x":960.0,"y":493.0},{"x":960.0,"y":511.0},{"x":943.0,"y":511.0}]}},{"inferText":"○","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":493.0},{"x":1056.0,"y":493.0},{"x":1056.0,"y":511.0},{"x":1040.0,"y":511.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":500.0},{"x":815.0,"y":500.0},{"x":815.0,"y":513.0},{"x":806.0,"y":513.0}]}},{"inferText":"KD","lineBreak":true,"boundingPoly":{"vertices":[{"x":65.0,"y":490.0},{"x":90.0,"y":490.0},{"x":90.0,"y":505.0},{"x":65.0,"y":505.0}]}},{"inferText":"AS","lineBreak":true,"boundingPoly":{"vertices":[{"x":65.0,"y":505.0},{"x":88.0,"y":505.0},{"x":88.0,"y":520.0},{"x":65.0,"y":520.0}]}},{"inferText":"[항혈전제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":501.0},{"x":211.0,"y":502.0},{"x":211.0,"y":522.0},{"x":136.0,"y":521.0}]}},{"inferText":"아스피린","lineBreak":false,"boundingPoly":{"vertices":[{"x":135.0,"y":519.0},{"x":188.0,"y":520.0},{"x":188.0,"y":536.0},{"x":134.0,"y":536.0}]}},{"inferText":"100mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":188.0,"y":519.0},{"x":235.0,"y":520.0},{"x":235.0,"y":537.0},{"x":187.0,"y":537.0}]}},{"inferText":"아스피린에","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":501.0},{"x":428.0,"y":501.0},{"x":428.0,"y":520.0},{"x":358.0,"y":520.0}]}},{"inferText":"과민증","lineBreak":false,"boundingPoly":{"vertices":[{"x":428.0,"y":501.0},{"x":471.0,"y":501.0},{"x":471.0,"y":520.0},{"x":428.0,"y":520.0}]}},{"inferText":"있는","lineBreak":false,"boundingPoly":{"vertices":[{"x":473.0,"y":501.0},{"x":503.0,"y":501.0},{"x":503.0,"y":521.0},{"x":473.0,"y":521.0}]}},{"inferText":"경우","lineBreak":false,"boundingPoly":{"vertices":[{"x":503.0,"y":501.0},{"x":531.0,"y":501.0},{"x":531.0,"y":520.0},{"x":503.0,"y":520.0}]}},{"inferText":"전문가에게","lineBreak":false,"boundingPoly":{"vertices":[{"x":531.0,"y":501.0},{"x":603.0,"y":501.0},{"x":603.0,"y":521.0},{"x":531.0,"y":521.0}]}},{"inferText":"알리세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":603.0,"y":501.0},{"x":663.0,"y":501.0},{"x":663.0,"y":520.0},{"x":603.0,"y":520.0}]}},{"inferText":"코피,","lineBreak":false,"boundingPoly":{"vertices":[{"x":663.0,"y":503.0},{"x":698.0,"y":503.0},{"x":698.0,"y":520.0},{"x":663.0,"y":520.0}]}},{"inferText":"멍,","lineBreak":false,"boundingPoly":{"vertices":[{"x":698.0,"y":503.0},{"x":718.0,"y":503.0},{"x":718.0,"y":520.0},{"x":698.0,"y":520.0}]}},{"inferText":"생리과다","lineBreak":true,"boundingPoly":{"vertices":[{"x":716.0,"y":501.0},{"x":775.0,"y":501.0},{"x":775.0,"y":520.0},{"x":716.0,"y":520.0}]}},{"inferText":"지속되면","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":521.0},{"x":415.0,"y":521.0},{"x":415.0,"y":540.0},{"x":358.0,"y":540.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":521.0},{"x":473.0,"y":521.0},{"x":473.0,"y":540.0},{"x":415.0,"y":540.0}]}},{"inferText":"상의하세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":473.0,"y":521.0},{"x":543.0,"y":521.0},{"x":543.0,"y":540.0},{"x":473.0,"y":540.0}]}},{"inferText":"발","lineBreak":false,"boundingPoly":{"vertices":[{"x":943.0,"y":516.0},{"x":960.0,"y":516.0},{"x":960.0,"y":535.0},{"x":943.0,"y":535.0}]}},{"inferText":"행","lineBreak":true,"boundingPoly":{"vertices":[{"x":991.0,"y":516.0},{"x":1008.0,"y":516.0},{"x":1008.0,"y":535.0},{"x":991.0,"y":535.0}]}},{"inferText":"일","lineBreak":true,"boundingPoly":{"vertices":[{"x":1040.0,"y":516.0},{"x":1056.0,"y":516.0},{"x":1056.0,"y":535.0},{"x":1040.0,"y":535.0}]}},{"inferText":"2019.03.08","lineBreak":true,"boundingPoly":{"vertices":[{"x":1113.0,"y":515.0},{"x":1215.0,"y":515.0},{"x":1215.0,"y":535.0},{"x":1113.0,"y":535.0}]}},{"inferText":"리피토정10mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":564.0},{"x":267.0,"y":568.0},{"x":266.0,"y":593.0},{"x":136.0,"y":589.0}]}},{"inferText":"임신(계획)","lineBreak":false,"boundingPoly":{"vertices":[{"x":365.0,"y":566.0},{"x":440.0,"y":566.0},{"x":440.0,"y":586.0},{"x":365.0,"y":586.0}]}},{"inferText":"시","lineBreak":false,"boundingPoly":{"vertices":[{"x":440.0,"y":566.0},{"x":456.0,"y":566.0},{"x":456.0,"y":585.0},{"x":440.0,"y":585.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":458.0,"y":566.0},{"x":490.0,"y":566.0},{"x":490.0,"y":586.0},{"x":458.0,"y":586.0}]}},{"inferText":"근육통","lineBreak":false,"boundingPoly":{"vertices":[{"x":505.0,"y":566.0},{"x":551.0,"y":566.0},{"x":551.0,"y":586.0},{"x":505.0,"y":586.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":551.0,"y":566.0},{"x":583.0,"y":566.0},{"x":583.0,"y":585.0},{"x":551.0,"y":585.0}]}},{"inferText":"※이","lineBreak":false,"boundingPoly":{"vertices":[{"x":938.0,"y":541.0},{"x":952.0,"y":541.0},{"x":951.0,"y":551.0},{"x":938.0,"y":550.0}]}},{"inferText":"계산서/영수증은","lineBreak":false,"boundingPoly":{"vertices":[{"x":953.0,"y":541.0},{"x":1002.0,"y":541.0},{"x":1001.0,"y":551.0},{"x":953.0,"y":550.0}]}},{"inferText":"소득세법상의료비","lineBreak":false,"boundingPoly":{"vertices":[{"x":1001.0,"y":541.0},{"x":1051.0,"y":541.0},{"x":1051.0,"y":550.0},{"x":1001.0,"y":550.0}]}},{"inferText":"또는","lineBreak":false,"boundingPoly":{"vertices":[{"x":1051.0,"y":541.0},{"x":1066.0,"y":541.0},{"x":1066.0,"y":550.0},{"x":1051.0,"y":550.0}]}},{"inferText":"조세특례제한법에","lineBreak":false,"boundingPoly":{"vertices":[{"x":1065.0,"y":541.0},{"x":1115.0,"y":541.0},{"x":1115.0,"y":550.0},{"x":1065.0,"y":550.0}]}},{"inferText":"의한현금영수증(현금영수증변호가기재된","lineBreak":false,"boundingPoly":{"vertices":[{"x":1113.0,"y":541.0},{"x":1230.0,"y":541.0},{"x":1229.0,"y":552.0},{"x":1113.0,"y":551.0}]}},{"inferText":"경우)","lineBreak":false,"boundingPoly":{"vertices":[{"x":1231.0,"y":541.0},{"x":1243.0,"y":541.0},{"x":1242.0,"y":552.0},{"x":1231.0,"y":551.0}]}},{"inferText":"공제","lineBreak":true,"boundingPoly":{"vertices":[{"x":1244.0,"y":541.0},{"x":1261.0,"y":541.0},{"x":1260.0,"y":552.0},{"x":1244.0,"y":551.0}]}},{"inferText":"신청에","lineBreak":false,"boundingPoly":{"vertices":[{"x":946.0,"y":550.0},{"x":963.0,"y":550.0},{"x":963.0,"y":560.0},{"x":946.0,"y":560.0}]}},{"inferText":"사용할","lineBreak":false,"boundingPoly":{"vertices":[{"x":964.0,"y":550.0},{"x":984.0,"y":550.0},{"x":984.0,"y":560.0},{"x":964.0,"y":560.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":985.0,"y":550.0},{"x":993.0,"y":550.0},{"x":993.0,"y":560.0},{"x":985.0,"y":560.0}]}},{"inferText":"있습니다.","lineBreak":false,"boundingPoly":{"vertices":[{"x":991.0,"y":550.0},{"x":1020.0,"y":550.0},{"x":1020.0,"y":560.0},{"x":991.0,"y":560.0}]}},{"inferText":"다만,","lineBreak":false,"boundingPoly":{"vertices":[{"x":1018.0,"y":550.0},{"x":1034.0,"y":550.0},{"x":1033.0,"y":561.0},{"x":1018.0,"y":560.0}]}},{"inferText":"자출증빙용으로","lineBreak":false,"boundingPoly":{"vertices":[{"x":1035.0,"y":550.0},{"x":1079.0,"y":550.0},{"x":1078.0,"y":561.0},{"x":1035.0,"y":560.0}]}},{"inferText":"발급된","lineBreak":false,"boundingPoly":{"vertices":[{"x":1076.0,"y":550.0},{"x":1098.0,"y":550.0},{"x":1098.0,"y":558.0},{"x":1076.0,"y":558.0}]}},{"inferText":"。","lineBreak":false,"boundingPoly":{"vertices":[{"x":1136.0,"y":551.0},{"x":1140.0,"y":551.0},{"x":1140.0,"y":555.0},{"x":1136.0,"y":555.0}]}},{"inferText":"증빙〉","lineBreak":false,"boundingPoly":{"vertices":[{"x":1143.0,"y":550.0},{"x":1156.0,"y":550.0},{"x":1156.0,"y":556.0},{"x":1143.0,"y":556.0}]}},{"inferText":"은","lineBreak":false,"boundingPoly":{"vertices":[{"x":1158.0,"y":550.0},{"x":1165.0,"y":550.0},{"x":1165.0,"y":558.0},{"x":1158.0,"y":558.0}]}},{"inferText":"공제신청에","lineBreak":false,"boundingPoly":{"vertices":[{"x":1166.0,"y":550.0},{"x":1195.0,"y":550.0},{"x":1195.0,"y":558.0},{"x":1166.0,"y":558.0}]}},{"inferText":"사용할","lineBreak":false,"boundingPoly":{"vertices":[{"x":1196.0,"y":550.0},{"x":1215.0,"y":550.0},{"x":1215.0,"y":558.0},{"x":1196.0,"y":558.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":1216.0,"y":550.0},{"x":1223.0,"y":550.0},{"x":1223.0,"y":558.0},{"x":1216.0,"y":558.0}]}},{"inferText":"없습니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":1221.0,"y":550.0},{"x":1251.0,"y":550.0},{"x":1251.0,"y":558.0},{"x":1221.0,"y":558.0}]}},{"inferText":"※이","lineBreak":false,"boundingPoly":{"vertices":[{"x":938.0,"y":560.0},{"x":954.0,"y":560.0},{"x":953.0,"y":571.0},{"x":938.0,"y":570.0}]}},{"inferText":"계산서/","lineBreak":false,"boundingPoly":{"vertices":[{"x":955.0,"y":560.0},{"x":977.0,"y":560.0},{"x":976.0,"y":571.0},{"x":955.0,"y":570.0}]}},{"inferText":"영수증에","lineBreak":false,"boundingPoly":{"vertices":[{"x":975.0,"y":560.0},{"x":1001.0,"y":560.0},{"x":1001.0,"y":570.0},{"x":975.0,"y":570.0}]}},{"inferText":"대한","lineBreak":false,"boundingPoly":{"vertices":[{"x":999.0,"y":559.0},{"x":1011.0,"y":559.0},{"x":1011.0,"y":569.0},{"x":999.0,"y":569.0}]}},{"inferText":"세부","lineBreak":false,"boundingPoly":{"vertices":[{"x":1012.0,"y":559.0},{"x":1027.0,"y":559.0},{"x":1027.0,"y":569.0},{"x":1012.0,"y":569.0}]}},{"inferText":"내역을","lineBreak":false,"boundingPoly":{"vertices":[{"x":1028.0,"y":559.0},{"x":1048.0,"y":559.0},{"x":1048.0,"y":569.0},{"x":1028.0,"y":569.0}]}},{"inferText":"요구할","lineBreak":false,"boundingPoly":{"vertices":[{"x":1049.0,"y":559.0},{"x":1067.0,"y":559.0},{"x":1067.0,"y":569.0},{"x":1049.0,"y":569.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":1066.0,"y":560.0},{"x":1071.0,"y":560.0},{"x":1070.0,"y":571.0},{"x":1066.0,"y":570.0}]}},{"inferText":"있습니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":1072.0,"y":560.0},{"x":1102.0,"y":560.0},{"x":1101.0,"y":571.0},{"x":1072.0,"y":570.0}]}},{"inferText":"※전액본인부담금이란","lineBreak":false,"boundingPoly":{"vertices":[{"x":938.0,"y":571.0},{"x":1003.0,"y":571.0},{"x":1003.0,"y":581.0},{"x":938.0,"y":581.0}]}},{"inferText":"국민건강보호법시행규칙","lineBreak":false,"boundingPoly":{"vertices":[{"x":1001.0,"y":571.0},{"x":1069.0,"y":571.0},{"x":1069.0,"y":581.0},{"x":1001.0,"y":581.0}]}},{"inferText":"별표","lineBreak":false,"boundingPoly":{"vertices":[{"x":1068.0,"y":571.0},{"x":1091.0,"y":571.0},{"x":1090.0,"y":582.0},{"x":1068.0,"y":581.0}]}},{"inferText":"5의","lineBreak":false,"boundingPoly":{"vertices":[{"x":1092.0,"y":571.0},{"x":1094.0,"y":571.0},{"x":1093.0,"y":582.0},{"x":1092.0,"y":581.0}]}},{"inferText":"규정에","lineBreak":false,"boundingPoly":{"vertices":[{"x":1093.0,"y":571.0},{"x":1113.0,"y":571.0},{"x":1113.0,"y":581.0},{"x":1093.0,"y":581.0}]}},{"inferText":"의한","lineBreak":false,"boundingPoly":{"vertices":[{"x":1111.0,"y":571.0},{"x":1126.0,"y":571.0},{"x":1126.0,"y":580.0},{"x":1111.0,"y":580.0}]}},{"inferText":"요양급여비용의","lineBreak":false,"boundingPoly":{"vertices":[{"x":1125.0,"y":571.0},{"x":1170.0,"y":571.0},{"x":1170.0,"y":580.0},{"x":1125.0,"y":580.0}]}},{"inferText":"본인전액부담항목","lineBreak":false,"boundingPoly":{"vertices":[{"x":1168.0,"y":571.0},{"x":1218.0,"y":571.0},{"x":1218.0,"y":581.0},{"x":1168.0,"y":581.0}]}},{"inferText":"비용을","lineBreak":false,"boundingPoly":{"vertices":[{"x":1216.0,"y":571.0},{"x":1236.0,"y":571.0},{"x":1236.0,"y":580.0},{"x":1216.0,"y":580.0}]}},{"inferText":"말합니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":1235.0,"y":571.0},{"x":1263.0,"y":571.0},{"x":1263.0,"y":580.0},{"x":1235.0,"y":580.0}]}},{"inferText":"알림","lineBreak":false,"boundingPoly":{"vertices":[{"x":946.0,"y":583.0},{"x":952.0,"y":583.0},{"x":951.0,"y":594.0},{"x":946.0,"y":593.0}]}},{"inferText":":","lineBreak":false,"boundingPoly":{"vertices":[{"x":953.0,"y":583.0},{"x":967.0,"y":583.0},{"x":966.0,"y":594.0},{"x":953.0,"y":593.0}]}},{"inferText":"현금영수증","lineBreak":false,"boundingPoly":{"vertices":[{"x":965.0,"y":583.0},{"x":1001.0,"y":583.0},{"x":1001.0,"y":593.0},{"x":965.0,"y":593.0}]}},{"inferText":"문의","lineBreak":false,"boundingPoly":{"vertices":[{"x":1000.0,"y":583.0},{"x":1016.0,"y":583.0},{"x":1016.0,"y":593.0},{"x":1000.0,"y":593.0}]}},{"inferText":"1544-2020","lineBreak":false,"boundingPoly":{"vertices":[{"x":1015.0,"y":583.0},{"x":1058.0,"y":583.0},{"x":1058.0,"y":593.0},{"x":1015.0,"y":593.0}]}},{"inferText":"인터넷","lineBreak":false,"boundingPoly":{"vertices":[{"x":1060.0,"y":583.0},{"x":1083.0,"y":583.0},{"x":1083.0,"y":595.0},{"x":1060.0,"y":595.0}]}},{"inferText":"홈페이지hiq://현금영수증.kr","lineBreak":true,"boundingPoly":{"vertices":[{"x":1081.0,"y":583.0},{"x":1178.0,"y":583.0},{"x":1178.0,"y":593.0},{"x":1081.0,"y":593.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":590.0},{"x":815.0,"y":590.0},{"x":815.0,"y":605.0},{"x":806.0,"y":605.0}]}},{"inferText":"ATV","lineBreak":true,"boundingPoly":{"vertices":[{"x":53.0,"y":585.0},{"x":103.0,"y":585.0},{"x":103.0,"y":608.0},{"x":53.0,"y":608.0}]}},{"inferText":"[이상지질혈증","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":593.0},{"x":231.0,"y":593.0},{"x":231.0,"y":611.0},{"x":136.0,"y":611.0}]}},{"inferText":"치료제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":233.0,"y":593.0},{"x":285.0,"y":593.0},{"x":285.0,"y":610.0},{"x":233.0,"y":610.0}]}},{"inferText":"아토르바스타틴칼슘삼수화물","lineBreak":false,"boundingPoly":{"vertices":[{"x":134.0,"y":609.0},{"x":301.0,"y":609.0},{"x":301.0,"y":626.0},{"x":134.0,"y":626.0}]}},{"inferText":"10.8···","lineBreak":true,"boundingPoly":{"vertices":[{"x":300.0,"y":611.0},{"x":343.0,"y":611.0},{"x":343.0,"y":625.0},{"x":300.0,"y":625.0}]}},{"inferText":"투여후","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":593.0},{"x":405.0,"y":593.0},{"x":405.0,"y":610.0},{"x":358.0,"y":610.0}]}},{"inferText":"때때로","lineBreak":false,"boundingPoly":{"vertices":[{"x":405.0,"y":593.0},{"x":448.0,"y":593.0},{"x":448.0,"y":610.0},{"x":405.0,"y":610.0}]}},{"inferText":"근육통이","lineBreak":false,"boundingPoly":{"vertices":[{"x":448.0,"y":593.0},{"x":503.0,"y":593.0},{"x":503.0,"y":610.0},{"x":448.0,"y":610.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":505.0,"y":593.0},{"x":548.0,"y":593.0},{"x":548.0,"y":610.0},{"x":505.0,"y":610.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":548.0,"y":593.0},{"x":565.0,"y":593.0},{"x":565.0,"y":610.0},{"x":548.0,"y":610.0}]}},{"inferText":"있어요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":593.0},{"x":611.0,"y":593.0},{"x":611.0,"y":610.0},{"x":565.0,"y":610.0}]}},{"inferText":"간기능","lineBreak":false,"boundingPoly":{"vertices":[{"x":611.0,"y":593.0},{"x":655.0,"y":593.0},{"x":655.0,"y":610.0},{"x":611.0,"y":610.0}]}},{"inferText":"이상징후가","lineBreak":true,"boundingPoly":{"vertices":[{"x":655.0,"y":593.0},{"x":726.0,"y":593.0},{"x":726.0,"y":610.0},{"x":655.0,"y":610.0}]}},{"inferText":"나타날시","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":611.0},{"x":415.0,"y":611.0},{"x":415.0,"y":630.0},{"x":358.0,"y":630.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":611.0},{"x":469.0,"y":611.0},{"x":468.0,"y":630.0},{"x":415.0,"y":629.0}]}},{"inferText":"상의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":472.0,"y":611.0},{"x":547.0,"y":611.0},{"x":546.0,"y":630.0},{"x":472.0,"y":629.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":590.0},{"x":861.0,"y":590.0},{"x":861.0,"y":605.0},{"x":850.0,"y":605.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":590.0},{"x":896.0,"y":590.0},{"x":896.0,"y":605.0},{"x":885.0,"y":605.0}]}},{"inferText":"AG","lineBreak":true,"boundingPoly":{"vertices":[{"x":58.0,"y":683.0},{"x":70.0,"y":683.0},{"x":70.0,"y":690.0},{"x":58.0,"y":690.0}]}},{"inferText":"AC300","lineBreak":true,"boundingPoly":{"vertices":[{"x":81.0,"y":683.0},{"x":103.0,"y":683.0},{"x":103.0,"y":691.0},{"x":81.0,"y":691.0}]}},{"inferText":"[폐쇄성기도","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":683.0},{"x":216.0,"y":683.0},{"x":216.0,"y":701.0},{"x":136.0,"y":701.0}]}},{"inferText":"치료제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":218.0,"y":683.0},{"x":271.0,"y":683.0},{"x":271.0,"y":703.0},{"x":218.0,"y":703.0}]}},{"inferText":"테오브로민","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":701.0},{"x":200.0,"y":701.0},{"x":200.0,"y":718.0},{"x":136.0,"y":718.0}]}},{"inferText":"300mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":200.0,"y":701.0},{"x":248.0,"y":701.0},{"x":248.0,"y":720.0},{"x":200.0,"y":720.0}]}},{"inferText":"애니코프캡슐300mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":655.0},{"x":313.0,"y":657.0},{"x":313.0,"y":683.0},{"x":136.0,"y":681.0}]}},{"inferText":"일정","lineBreak":false,"boundingPoly":{"vertices":[{"x":365.0,"y":658.0},{"x":395.0,"y":658.0},{"x":395.0,"y":675.0},{"x":365.0,"y":675.0}]}},{"inferText":"시간","lineBreak":false,"boundingPoly":{"vertices":[{"x":396.0,"y":658.0},{"x":428.0,"y":658.0},{"x":428.0,"y":675.0},{"x":396.0,"y":675.0}]}},{"inferText":"복용","lineBreak":true,"boundingPoly":{"vertices":[{"x":430.0,"y":658.0},{"x":461.0,"y":658.0},{"x":461.0,"y":675.0},{"x":430.0,"y":675.0}]}},{"inferText":"식사와","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":683.0},{"x":400.0,"y":683.0},{"x":400.0,"y":701.0},{"x":358.0,"y":701.0}]}},{"inferText":"관계없이","lineBreak":false,"boundingPoly":{"vertices":[{"x":403.0,"y":683.0},{"x":458.0,"y":683.0},{"x":458.0,"y":701.0},{"x":403.0,"y":701.0}]}},{"inferText":"일정한","lineBreak":false,"boundingPoly":{"vertices":[{"x":458.0,"y":683.0},{"x":503.0,"y":683.0},{"x":503.0,"y":703.0},{"x":458.0,"y":703.0}]}},{"inferText":"시간에","lineBreak":false,"boundingPoly":{"vertices":[{"x":501.0,"y":683.0},{"x":545.0,"y":683.0},{"x":545.0,"y":701.0},{"x":501.0,"y":701.0}]}},{"inferText":"복용하세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":546.0,"y":683.0},{"x":621.0,"y":683.0},{"x":621.0,"y":703.0},{"x":546.0,"y":703.0}]}},{"inferText":"긴장,흥분,불면,","lineBreak":false,"boundingPoly":{"vertices":[{"x":618.0,"y":683.0},{"x":720.0,"y":683.0},{"x":720.0,"y":703.0},{"x":618.0,"y":703.0}]}},{"inferText":"가슴두근거림","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":703.0},{"x":441.0,"y":703.0},{"x":441.0,"y":720.0},{"x":358.0,"y":720.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":441.0,"y":703.0},{"x":486.0,"y":703.0},{"x":486.0,"y":721.0},{"x":441.0,"y":721.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":486.0,"y":703.0},{"x":501.0,"y":703.0},{"x":501.0,"y":720.0},{"x":486.0,"y":720.0}]}},{"inferText":"있어요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":501.0,"y":703.0},{"x":550.0,"y":703.0},{"x":550.0,"y":720.0},{"x":501.0,"y":720.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":680.0},{"x":860.0,"y":680.0},{"x":860.0,"y":695.0},{"x":850.0,"y":695.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":883.0,"y":678.0},{"x":896.0,"y":678.0},{"x":896.0,"y":695.0},{"x":883.0,"y":695.0}]}},{"inferText":"1일","lineBreak":false,"boundingPoly":{"vertices":[{"x":958.0,"y":628.0},{"x":991.0,"y":628.0},{"x":991.0,"y":651.0},{"x":958.0,"y":651.0}]}},{"inferText":"회","lineBreak":true,"boundingPoly":{"vertices":[{"x":1068.0,"y":626.0},{"x":1090.0,"y":626.0},{"x":1090.0,"y":651.0},{"x":1068.0,"y":651.0}]}},{"inferText":"cc씩","lineBreak":true,"boundingPoly":{"vertices":[{"x":1191.0,"y":678.0},{"x":1233.0,"y":678.0},{"x":1233.0,"y":700.0},{"x":1191.0,"y":700.0}]}},{"inferText":"총","lineBreak":false,"boundingPoly":{"vertices":[{"x":1098.0,"y":626.0},{"x":1121.0,"y":626.0},{"x":1121.0,"y":651.0},{"x":1098.0,"y":651.0}]}},{"inferText":"일분","lineBreak":true,"boundingPoly":{"vertices":[{"x":1193.0,"y":626.0},{"x":1233.0,"y":626.0},{"x":1233.0,"y":651.0},{"x":1193.0,"y":651.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":680.0},{"x":815.0,"y":680.0},{"x":815.0,"y":695.0},{"x":806.0,"y":695.0}]}},{"inferText":"물약은","lineBreak":false,"boundingPoly":{"vertices":[{"x":956.0,"y":678.0},{"x":1018.0,"y":678.0},{"x":1018.0,"y":701.0},{"x":956.0,"y":701.0}]}},{"inferText":"회","lineBreak":true,"boundingPoly":{"vertices":[{"x":1066.0,"y":678.0},{"x":1088.0,"y":678.0},{"x":1088.0,"y":701.0},{"x":1066.0,"y":701.0}]}},{"inferText":"다이크로짇정","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":748.0},{"x":248.0,"y":748.0},{"x":248.0,"y":771.0},{"x":136.0,"y":771.0}]}},{"inferText":"[이뇨제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":775.0},{"x":195.0,"y":775.0},{"x":195.0,"y":791.0},{"x":136.0,"y":791.0}]}},{"inferText":"히드로클로로티아지드","lineBreak":false,"boundingPoly":{"vertices":[{"x":135.0,"y":791.0},{"x":263.0,"y":791.0},{"x":263.0,"y":808.0},{"x":135.0,"y":808.0}]}},{"inferText":"25mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":261.0,"y":793.0},{"x":301.0,"y":793.0},{"x":301.0,"y":810.0},{"x":261.0,"y":810.0}]}},{"inferText":"위장장애","lineBreak":false,"boundingPoly":{"vertices":[{"x":365.0,"y":748.0},{"x":425.0,"y":748.0},{"x":425.0,"y":768.0},{"x":365.0,"y":768.0}]}},{"inferText":"주의","lineBreak":true,"boundingPoly":{"vertices":[{"x":425.0,"y":748.0},{"x":458.0,"y":748.0},{"x":458.0,"y":768.0},{"x":425.0,"y":768.0}]}},{"inferText":"천천히","lineBreak":false,"boundingPoly":{"vertices":[{"x":473.0,"y":748.0},{"x":516.0,"y":748.0},{"x":516.0,"y":766.0},{"x":473.0,"y":766.0}]}},{"inferText":"일어나세요","lineBreak":true,"boundingPoly":{"vertices":[{"x":519.0,"y":748.0},{"x":594.0,"y":748.0},{"x":594.0,"y":766.0},{"x":519.0,"y":766.0}]}},{"inferText":"투여초기","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":774.0},{"x":415.0,"y":775.0},{"x":414.0,"y":791.0},{"x":358.0,"y":791.0}]}},{"inferText":"소변량","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":774.0},{"x":460.0,"y":775.0},{"x":459.0,"y":791.0},{"x":414.0,"y":791.0}]}},{"inferText":"및","lineBreak":false,"boundingPoly":{"vertices":[{"x":460.0,"y":774.0},{"x":475.0,"y":775.0},{"x":474.0,"y":791.0},{"x":459.0,"y":790.0}]}},{"inferText":"소변","lineBreak":false,"boundingPoly":{"vertices":[{"x":475.0,"y":774.0},{"x":505.0,"y":775.0},{"x":504.0,"y":791.0},{"x":474.0,"y":790.0}]}},{"inferText":"횟수가","lineBreak":false,"boundingPoly":{"vertices":[{"x":505.0,"y":772.0},{"x":546.0,"y":773.0},{"x":545.0,"y":791.0},{"x":504.0,"y":790.0}]}},{"inferText":"증가할","lineBreak":false,"boundingPoly":{"vertices":[{"x":549.0,"y":772.0},{"x":591.0,"y":773.0},{"x":590.0,"y":791.0},{"x":548.0,"y":790.0}]}},{"inferText":"수","lineBreak":false,"boundingPoly":{"vertices":[{"x":591.0,"y":774.0},{"x":604.0,"y":775.0},{"x":603.0,"y":792.0},{"x":590.0,"y":791.0}]}},{"inferText":"있어요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":607.0,"y":774.0},{"x":656.0,"y":775.0},{"x":655.0,"y":792.0},{"x":606.0,"y":791.0}]}},{"inferText":"일어나는","lineBreak":false,"boundingPoly":{"vertices":[{"x":655.0,"y":774.0},{"x":711.0,"y":775.0},{"x":710.0,"y":791.0},{"x":654.0,"y":790.0}]}},{"inferText":"경우","lineBreak":true,"boundingPoly":{"vertices":[{"x":713.0,"y":774.0},{"x":741.0,"y":775.0},{"x":740.0,"y":791.0},{"x":712.0,"y":790.0}]}},{"inferText":"천천히","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":793.0},{"x":403.0,"y":793.0},{"x":403.0,"y":813.0},{"x":358.0,"y":813.0}]}},{"inferText":"일어나세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":401.0,"y":793.0},{"x":476.0,"y":793.0},{"x":476.0,"y":811.0},{"x":401.0,"y":811.0}]}},{"inferText":"햇볕을","lineBreak":false,"boundingPoly":{"vertices":[{"x":476.0,"y":793.0},{"x":521.0,"y":793.0},{"x":521.0,"y":813.0},{"x":476.0,"y":813.0}]}},{"inferText":"주의하세요.","lineBreak":true,"boundingPoly":{"vertices":[{"x":520.0,"y":793.0},{"x":595.0,"y":793.0},{"x":594.0,"y":811.0},{"x":519.0,"y":811.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":806.0,"y":771.0},{"x":815.0,"y":771.0},{"x":815.0,"y":785.0},{"x":806.0,"y":785.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":850.0,"y":771.0},{"x":860.0,"y":771.0},{"x":860.0,"y":786.0},{"x":850.0,"y":786.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":885.0,"y":771.0},{"x":896.0,"y":771.0},{"x":896.0,"y":786.0},{"x":885.0,"y":786.0}]}},{"inferText":"①","lineBreak":false,"boundingPoly":{"vertices":[{"x":958.0,"y":736.0},{"x":991.0,"y":736.0},{"x":991.0,"y":768.0},{"x":958.0,"y":768.0}]}},{"inferText":"아침","lineBreak":true,"boundingPoly":{"vertices":[{"x":998.0,"y":733.0},{"x":1063.0,"y":733.0},{"x":1063.0,"y":770.0},{"x":998.0,"y":770.0}]}},{"inferText":"②","lineBreak":false,"boundingPoly":{"vertices":[{"x":1093.0,"y":736.0},{"x":1123.0,"y":736.0},{"x":1123.0,"y":768.0},{"x":1093.0,"y":768.0}]}},{"inferText":"점심","lineBreak":true,"boundingPoly":{"vertices":[{"x":1131.0,"y":733.0},{"x":1198.0,"y":733.0},{"x":1198.0,"y":770.0},{"x":1131.0,"y":770.0}]}},{"inferText":"③","lineBreak":false,"boundingPoly":{"vertices":[{"x":958.0,"y":790.0},{"x":990.0,"y":790.0},{"x":990.0,"y":823.0},{"x":958.0,"y":823.0}]}},{"inferText":"저녁","lineBreak":true,"boundingPoly":{"vertices":[{"x":998.0,"y":788.0},{"x":1063.0,"y":788.0},{"x":1063.0,"y":825.0},{"x":998.0,"y":825.0}]}},{"inferText":"4","lineBreak":false,"boundingPoly":{"vertices":[{"x":1098.0,"y":795.0},{"x":1118.0,"y":795.0},{"x":1118.0,"y":820.0},{"x":1098.0,"y":820.0}]}},{"inferText":"취침","lineBreak":false,"boundingPoly":{"vertices":[{"x":1131.0,"y":788.0},{"x":1198.0,"y":788.0},{"x":1198.0,"y":825.0},{"x":1131.0,"y":825.0}]}},{"inferText":"전","lineBreak":true,"boundingPoly":{"vertices":[{"x":1205.0,"y":788.0},{"x":1236.0,"y":788.0},{"x":1236.0,"y":823.0},{"x":1205.0,"y":823.0}]}},{"inferText":"소론도정","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":838.0},{"x":211.0,"y":838.0},{"x":211.0,"y":861.0},{"x":136.0,"y":861.0}]}},{"inferText":"YH","lineBreak":true,"boundingPoly":{"vertices":[{"x":58.0,"y":856.0},{"x":103.0,"y":856.0},{"x":103.0,"y":881.0},{"x":58.0,"y":881.0}]}},{"inferText":"[부신호르몬제]","lineBreak":true,"boundingPoly":{"vertices":[{"x":136.0,"y":864.0},{"x":238.0,"y":864.0},{"x":238.0,"y":883.0},{"x":136.0,"y":883.0}]}},{"inferText":"프레드니솔론","lineBreak":false,"boundingPoly":{"vertices":[{"x":136.0,"y":883.0},{"x":213.0,"y":883.0},{"x":213.0,"y":900.0},{"x":136.0,"y":900.0}]}},{"inferText":"5mg","lineBreak":true,"boundingPoly":{"vertices":[{"x":211.0,"y":883.0},{"x":245.0,"y":883.0},{"x":245.0,"y":901.0},{"x":211.0,"y":901.0}]}},{"inferText":"전문가와","lineBreak":false,"boundingPoly":{"vertices":[{"x":358.0,"y":850.0},{"x":418.0,"y":850.0},{"x":418.0,"y":870.0},{"x":358.0,"y":870.0}]}},{"inferText":"상의없이","lineBreak":false,"boundingPoly":{"vertices":[{"x":416.0,"y":850.0},{"x":473.0,"y":850.0},{"x":473.0,"y":870.0},{"x":416.0,"y":870.0}]}},{"inferText":"장기간","lineBreak":false,"boundingPoly":{"vertices":[{"x":471.0,"y":850.0},{"x":516.0,"y":850.0},{"x":516.0,"y":868.0},{"x":471.0,"y":868.0}]}},{"inferText":"연용하지","lineBreak":false,"boundingPoly":{"vertices":[{"x":516.0,"y":850.0},{"x":568.0,"y":850.0},{"x":567.0,"y":869.0},{"x":516.0,"y":868.0}]}},{"inferText":"마세요.","lineBreak":false,"boundingPoly":{"vertices":[{"x":570.0,"y":850.0},{"x":620.0,"y":850.0},{"x":619.0,"y":869.0},{"x":570.0,"y":868.0}]}},{"inferText":"위장장애가","lineBreak":false,"boundingPoly":{"vertices":[{"x":620.0,"y":850.0},{"x":683.0,"y":850.0},{"x":683.0,"y":868.0},{"x":620.0,"y":868.0}]}},{"inferText":"나타날","lineBreak":false,"boundingPoly":{"vertices":[{"x":686.0,"y":850.0},{"x":731.0,"y":850.0},{"x":731.0,"y":868.0},{"x":686.0,"y":868.0}]}},{"inferText":"수","lineBreak":true,"boundingPoly":{"vertices":[{"x":733.0,"y":850.0},{"x":750.0,"y":850.0},{"x":750.0,"y":868.0},{"x":733.0,"y":868.0}]}},{"inferText":"있습니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":358.0,"y":870.0},{"x":420.0,"y":870.0},{"x":420.0,"y":886.0},{"x":358.0,"y":886.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":805.0,"y":861.0},{"x":815.0,"y":861.0},{"x":815.0,"y":876.0},{"x":805.0,"y":876.0}]}},{"inferText":"6","lineBreak":true,"boundingPoly":{"vertices":[{"x":848.0,"y":860.0},{"x":861.0,"y":860.0},{"x":861.0,"y":876.0},{"x":848.0,"y":876.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":883.0,"y":860.0},{"x":896.0,"y":860.0},{"x":896.0,"y":876.0},{"x":883.0,"y":876.0}]}},{"inferText":"□","lineBreak":false,"boundingPoly":{"vertices":[{"x":956.0,"y":848.0},{"x":978.0,"y":848.0},{"x":978.0,"y":870.0},{"x":956.0,"y":870.0}]}},{"inferText":"식후","lineBreak":false,"boundingPoly":{"vertices":[{"x":981.0,"y":848.0},{"x":1016.0,"y":848.0},{"x":1016.0,"y":870.0},{"x":981.0,"y":870.0}]}},{"inferText":"30분","lineBreak":false,"boundingPoly":{"vertices":[{"x":1016.0,"y":848.0},{"x":1060.0,"y":848.0},{"x":1060.0,"y":870.0},{"x":1016.0,"y":870.0}]}},{"inferText":"□식전","lineBreak":false,"boundingPoly":{"vertices":[{"x":1065.0,"y":848.0},{"x":1125.0,"y":848.0},{"x":1125.0,"y":870.0},{"x":1065.0,"y":870.0}]}},{"inferText":"30분","lineBreak":false,"boundingPoly":{"vertices":[{"x":1125.0,"y":848.0},{"x":1166.0,"y":848.0},{"x":1166.0,"y":868.0},{"x":1125.0,"y":868.0}]}},{"inferText":"□공복","lineBreak":true,"boundingPoly":{"vertices":[{"x":1171.0,"y":848.0},{"x":1233.0,"y":848.0},{"x":1233.0,"y":870.0},{"x":1171.0,"y":870.0}]}},{"inferText":"□","lineBreak":false,"boundingPoly":{"vertices":[{"x":956.0,"y":880.0},{"x":976.0,"y":880.0},{"x":976.0,"y":900.0},{"x":956.0,"y":900.0}]}},{"inferText":"식후","lineBreak":false,"boundingPoly":{"vertices":[{"x":981.0,"y":880.0},{"x":1016.0,"y":880.0},{"x":1016.0,"y":901.0},{"x":981.0,"y":901.0}]}},{"inferText":"즉시","lineBreak":false,"boundingPoly":{"vertices":[{"x":1016.0,"y":880.0},{"x":1053.0,"y":880.0},{"x":1053.0,"y":901.0},{"x":1016.0,"y":901.0}]}},{"inferText":"□","lineBreak":false,"boundingPoly":{"vertices":[{"x":1065.0,"y":880.0},{"x":1086.0,"y":880.0},{"x":1086.0,"y":901.0},{"x":1065.0,"y":901.0}]}},{"inferText":"식사","lineBreak":false,"boundingPoly":{"vertices":[{"x":1088.0,"y":880.0},{"x":1125.0,"y":880.0},{"x":1125.0,"y":901.0},{"x":1088.0,"y":901.0}]}},{"inferText":"직전","lineBreak":true,"boundingPoly":{"vertices":[{"x":1125.0,"y":880.0},{"x":1161.0,"y":880.0},{"x":1161.0,"y":901.0},{"x":1125.0,"y":901.0}]}}]}]} diff --git a/src/test/resources/ocr/fixtures/pharmacy_receipt_starred.json b/src/test/resources/ocr/fixtures/pharmacy_receipt_starred.json index d9b441b..ab65b84 100644 --- a/src/test/resources/ocr/fixtures/pharmacy_receipt_starred.json +++ b/src/test/resources/ocr/fixtures/pharmacy_receipt_starred.json @@ -1,707 +1 @@ -{ - "version": "V2", - "requestId": "fixture-starred-receipt", - "timestamp": 0, - "images": [ - { - "uid": "u1", - "name": "image", - "inferResult": "SUCCESS", - "fields": [ - { - "inferText": "약제비 계산서 영수증 [별지제 11호 서식]", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "조제약&복약안내", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "조제약사: 김조제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "조제일자: 2025-01-02", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "환 자 성 명: 홍길동(만 65세/남)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "처방전교부번호: 20250101-00001", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "처방전발행기관: 튼튼정형외과의원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "영 수 증 번 호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "(연월- 일련번호)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "환 자 성 명", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "투 약 일 수", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "조 제 일 자.", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "2025-01-02", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "20250101-0001", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "홍길동", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "5", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "약품명", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "약품사진", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "복약안내 (투약량/횟수/일수)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "복약만료일 2025", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "야간(공휴일)조제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "야간( )공휴일( )", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "*아클펜정(아세클로페낙)_(..", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1회투약량1", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1일투여횟수2", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "총투약일수5", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "약제비총액(①+②+③)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "14,940 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "흰색 정제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "실온보관", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "*아트놀셋세미정_(1정)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "튀김강력기", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "나타날 수 있어요", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1회투약량 1", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "하는 약", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1일투여횟수2", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "총투약일수5", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "소염진통제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "위장장애가 나타날 수 있어요. 증상이 심하면 전문가와 상의하세요.", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "본인부담금①", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "보험자부담금②", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "비급여및전액본인부담금③", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "10,540 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "4,400원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "0 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "0 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "노랑색 정제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "실온보관", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "따르한 물과", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "Result", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "추가의 수 작", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "로 진 또는 타입한 시", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "진통제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "충분한 물과 함께 투여하세요.", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "카 드", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "현금영수증", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "0 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "총수납금액", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "(①+③)", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "현 금", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "4,400 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "*모사피트정5밀리그램(모사프..", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1회투약량 1", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "흰색 정제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "실온보관", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "매콤한 서울특별시", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "DAIL 048", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "먹는 약", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1일투여횟수2", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "총투약일수5", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "위장운동촉진제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "식사와 관계없이 투여해도 괜찮아요.", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "현금영수증", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "합 계", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "신분확인번호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "4,400 원", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "[ ]", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "에페신정(에페리손염산염)(..", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "흰색 정제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "실온보관", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "순한보는하르는 수정조각 주차지", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1회투약량 1", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "F29", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1일투여횟수2", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "총투약일수5", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "근이완제", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "졸음이 올 수 있으므로 운전, 위험한 기계조작시 주의하세요.", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "현금승인번호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "사업자등록번호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "000-00-00000", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "사업장소재지", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "서울특별시 종로구 세종대로", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "1, 1호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "상 호", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "행복약국", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "성 명", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "이약사", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "발 행 일", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - }, - { - "inferText": "2025-01-02", - "lineBreak": true, - "boundingPoly": { - "vertices": [] - } - } - ] - } - ] -} \ No newline at end of file +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"약제비 계산서 영수증 [별지제 11호 서식]","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"조제약&복약안내","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"조제약사: 김조제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"조제일자: 2025-01-02","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"환 자 성 명: 홍길동(만 65세/남)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"처방전교부번호: 20250101-00001","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"처방전발행기관: 튼튼정형외과의원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"영 수 증 번 호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"(연월- 일련번호)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"환 자 성 명","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"투 약 일 수","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"조 제 일 자.","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"2025-01-02","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"20250101-0001","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"홍길동","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"5","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"약품명","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"약품사진","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"복약안내 (투약량/횟수/일수)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"복약만료일 2025","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"야간(공휴일)조제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"야간( )공휴일( )","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"*아클펜정(아세클로페낙)_(..","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1회투약량1","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1일투여횟수2","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"총투약일수5","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"약제비총액(①+②+③)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"14,940 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"흰색 정제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"*아트놀셋세미정_(1정)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"튀김강력기","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"나타날 수 있어요","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1회투약량 1","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"하는 약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1일투여횟수2","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"총투약일수5","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"소염진통제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"위장장애가 나타날 수 있어요. 증상이 심하면 전문가와 상의하세요.","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"본인부담금①","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"보험자부담금②","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"비급여및전액본인부담금③","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"10,540 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"4,400원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"0 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"0 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"노랑색 정제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"따르한 물과","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"Result","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"추가의 수 작","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"로 진 또는 타입한 시","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"진통제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"충분한 물과 함께 투여하세요.","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"카 드","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"현금영수증","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"0 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"총수납금액","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"(①+③)","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"현 금","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"4,400 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"*모사피트정5밀리그램(모사프..","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1회투약량 1","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"흰색 정제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"매콤한 서울특별시","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"DAIL 048","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"먹는 약","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1일투여횟수2","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"총투약일수5","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"위장운동촉진제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"식사와 관계없이 투여해도 괜찮아요.","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"현금영수증","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"합 계","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"신분확인번호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"4,400 원","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"[ ]","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"에페신정(에페리손염산염)(..","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"흰색 정제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"실온보관","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"순한보는하르는 수정조각 주차지","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1회투약량 1","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"F29","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1일투여횟수2","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"총투약일수5","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"근이완제","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"졸음이 올 수 있으므로 운전, 위험한 기계조작시 주의하세요.","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"현금승인번호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"사업자등록번호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"000-00-00000","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"사업장소재지","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"서울특별시 종로구 세종대로","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"1, 1호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"상 호","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"행복약국","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"성 명","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"이약사","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"발 행 일","lineBreak":true,"boundingPoly":{"vertices":[]}},{"inferText":"2025-01-02","lineBreak":true,"boundingPoly":{"vertices":[]}}]}]} diff --git a/src/test/resources/ocr/fixtures/table_prescription_real.json b/src/test/resources/ocr/fixtures/table_prescription_real.json new file mode 100644 index 0000000..22f27fc --- /dev/null +++ b/src/test/resources/ocr/fixtures/table_prescription_real.json @@ -0,0 +1 @@ +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"(보","lineBreak":false,"boundingPoly":{"vertices":[{"x":149.0,"y":14.0},{"x":187.0,"y":14.0},{"x":187.0,"y":45.0},{"x":149.0,"y":45.0}]}},{"inferText":"관","lineBreak":false,"boundingPoly":{"vertices":[{"x":223.0,"y":12.0},{"x":249.0,"y":12.0},{"x":249.0,"y":36.0},{"x":223.0,"y":36.0}]}},{"inferText":"용)","lineBreak":true,"boundingPoly":{"vertices":[{"x":281.0,"y":8.0},{"x":319.0,"y":8.0},{"x":319.0,"y":40.0},{"x":281.0,"y":40.0}]}},{"inferText":"(약국계준용)","lineBreak":true,"boundingPoly":{"vertices":[{"x":380.0,"y":40.0},{"x":431.0,"y":40.0},{"x":431.0,"y":50.0},{"x":380.0,"y":50.0}]}},{"inferText":"[법지","lineBreak":false,"boundingPoly":{"vertices":[{"x":44.0,"y":43.0},{"x":65.0,"y":43.0},{"x":65.0,"y":52.0},{"x":44.0,"y":52.0}]}},{"inferText":"계10호시식]","lineBreak":true,"boundingPoly":{"vertices":[{"x":66.0,"y":42.0},{"x":110.0,"y":42.0},{"x":110.0,"y":52.0},{"x":66.0,"y":52.0}]}},{"inferText":"처","lineBreak":false,"boundingPoly":{"vertices":[{"x":164.0,"y":56.0},{"x":181.0,"y":56.0},{"x":181.0,"y":73.0},{"x":164.0,"y":73.0}]}},{"inferText":"방","lineBreak":false,"boundingPoly":{"vertices":[{"x":228.0,"y":55.0},{"x":246.0,"y":55.0},{"x":246.0,"y":73.0},{"x":228.0,"y":73.0}]}},{"inferText":"전","lineBreak":true,"boundingPoly":{"vertices":[{"x":292.0,"y":54.0},{"x":308.0,"y":54.0},{"x":308.0,"y":72.0},{"x":292.0,"y":72.0}]}},{"inferText":"처방","lineBreak":false,"boundingPoly":{"vertices":[{"x":104.0,"y":210.0},{"x":123.0,"y":210.0},{"x":123.0,"y":222.0},{"x":104.0,"y":222.0}]}},{"inferText":"의약품의","lineBreak":false,"boundingPoly":{"vertices":[{"x":124.0,"y":209.0},{"x":160.0,"y":209.0},{"x":160.0,"y":222.0},{"x":124.0,"y":222.0}]}},{"inferText":"평칭","lineBreak":true,"boundingPoly":{"vertices":[{"x":162.0,"y":209.0},{"x":180.0,"y":209.0},{"x":180.0,"y":221.0},{"x":162.0,"y":221.0}]}},{"inferText":"1회","lineBreak":true,"boundingPoly":{"vertices":[{"x":240.0,"y":203.0},{"x":272.0,"y":203.0},{"x":271.0,"y":213.0},{"x":240.0,"y":212.0}]}},{"inferText":"투약량","lineBreak":true,"boundingPoly":{"vertices":[{"x":235.0,"y":212.0},{"x":256.0,"y":212.0},{"x":256.0,"y":221.0},{"x":235.0,"y":221.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":272.0,"y":203.0},{"x":275.0,"y":203.0},{"x":274.0,"y":213.0},{"x":272.0,"y":212.0}]}},{"inferText":"일","lineBreak":true,"boundingPoly":{"vertices":[{"x":274.0,"y":202.0},{"x":285.0,"y":202.0},{"x":285.0,"y":212.0},{"x":274.0,"y":212.0}]}},{"inferText":"두여햇수","lineBreak":true,"boundingPoly":{"vertices":[{"x":263.0,"y":212.0},{"x":287.0,"y":212.0},{"x":287.0,"y":220.0},{"x":263.0,"y":220.0}]}},{"inferText":"중","lineBreak":true,"boundingPoly":{"vertices":[{"x":299.0,"y":203.0},{"x":307.0,"y":203.0},{"x":307.0,"y":211.0},{"x":299.0,"y":211.0}]}},{"inferText":"투아일수","lineBreak":true,"boundingPoly":{"vertices":[{"x":288.0,"y":211.0},{"x":316.0,"y":211.0},{"x":316.0,"y":220.0},{"x":288.0,"y":220.0}]}},{"inferText":"용","lineBreak":true,"boundingPoly":{"vertices":[{"x":340.0,"y":207.0},{"x":349.0,"y":207.0},{"x":349.0,"y":215.0},{"x":340.0,"y":215.0}]}},{"inferText":"캠페인스키","lineBreak":false,"boundingPoly":{"vertices":[{"x":381.0,"y":222.0},{"x":410.0,"y":222.0},{"x":410.0,"y":228.0},{"x":381.0,"y":228.0}]}},{"inferText":"al","lineBreak":true,"boundingPoly":{"vertices":[{"x":417.0,"y":222.0},{"x":421.0,"y":222.0},{"x":421.0,"y":224.0},{"x":417.0,"y":224.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":300.0,"y":226.0},{"x":309.0,"y":226.0},{"x":309.0,"y":235.0},{"x":300.0,"y":235.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":301.0,"y":241.0},{"x":309.0,"y":241.0},{"x":309.0,"y":249.0},{"x":301.0,"y":249.0}]}},{"inferText":"2","lineBreak":true,"boundingPoly":{"vertices":[{"x":256.0,"y":228.0},{"x":264.0,"y":228.0},{"x":264.0,"y":236.0},{"x":256.0,"y":236.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":259.0,"y":242.0},{"x":263.0,"y":242.0},{"x":263.0,"y":250.0},{"x":259.0,"y":250.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":259.0,"y":257.0},{"x":263.0,"y":257.0},{"x":263.0,"y":265.0},{"x":259.0,"y":265.0}]}},{"inferText":"T","lineBreak":true,"boundingPoly":{"vertices":[{"x":260.0,"y":272.0},{"x":262.0,"y":272.0},{"x":262.0,"y":277.0},{"x":260.0,"y":277.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":275.0,"y":228.0},{"x":281.0,"y":228.0},{"x":281.0,"y":236.0},{"x":275.0,"y":236.0}]}},{"inferText":"1","lineBreak":true,"boundingPoly":{"vertices":[{"x":276.0,"y":242.0},{"x":280.0,"y":242.0},{"x":280.0,"y":250.0},{"x":276.0,"y":250.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":274.0,"y":255.0},{"x":282.0,"y":255.0},{"x":282.0,"y":264.0},{"x":274.0,"y":264.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":275.0,"y":269.0},{"x":282.0,"y":269.0},{"x":282.0,"y":279.0},{"x":275.0,"y":279.0}]}},{"inferText":"648900880","lineBreak":false,"boundingPoly":{"vertices":[{"x":64.0,"y":229.0},{"x":105.0,"y":229.0},{"x":105.0,"y":238.0},{"x":65.0,"y":238.0}]}},{"inferText":"지스로먹스장250mg(내복)","lineBreak":true,"boundingPoly":{"vertices":[{"x":107.0,"y":228.0},{"x":203.0,"y":227.0},{"x":203.0,"y":239.0},{"x":107.0,"y":240.0}]}},{"inferText":"655501400","lineBreak":false,"boundingPoly":{"vertices":[{"x":64.0,"y":244.0},{"x":106.0,"y":244.0},{"x":106.0,"y":253.0},{"x":65.0,"y":254.0}]}},{"inferText":"에리우스점","lineBreak":true,"boundingPoly":{"vertices":[{"x":107.0,"y":243.0},{"x":150.0,"y":242.0},{"x":150.0,"y":253.0},{"x":107.0,"y":254.0}]}},{"inferText":"643501510","lineBreak":false,"boundingPoly":{"vertices":[{"x":65.0,"y":259.0},{"x":107.0,"y":259.0},{"x":107.0,"y":268.0},{"x":65.0,"y":269.0}]}},{"inferText":"써스벤이열시방정(내복)","lineBreak":true,"boundingPoly":{"vertices":[{"x":107.0,"y":257.0},{"x":201.0,"y":256.0},{"x":201.0,"y":268.0},{"x":107.0,"y":269.0}]}},{"inferText":"642102660","lineBreak":false,"boundingPoly":{"vertices":[{"x":65.0,"y":274.0},{"x":107.0,"y":273.0},{"x":107.0,"y":282.0},{"x":65.0,"y":282.0}]}},{"inferText":"폰탈한셀(내복)","lineBreak":true,"boundingPoly":{"vertices":[{"x":108.0,"y":272.0},{"x":169.0,"y":271.0},{"x":169.0,"y":283.0},{"x":108.0,"y":284.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":301.0,"y":254.0},{"x":309.0,"y":254.0},{"x":309.0,"y":264.0},{"x":301.0,"y":264.0}]}},{"inferText":"식추","lineBreak":true,"boundingPoly":{"vertices":[{"x":322.0,"y":228.0},{"x":337.0,"y":228.0},{"x":337.0,"y":235.0},{"x":322.0,"y":235.0}]}},{"inferText":"식후","lineBreak":true,"boundingPoly":{"vertices":[{"x":322.0,"y":240.0},{"x":338.0,"y":240.0},{"x":338.0,"y":248.0},{"x":322.0,"y":248.0}]}},{"inferText":"식주","lineBreak":true,"boundingPoly":{"vertices":[{"x":322.0,"y":254.0},{"x":338.0,"y":254.0},{"x":338.0,"y":262.0},{"x":322.0,"y":262.0}]}},{"inferText":"식후","lineBreak":true,"boundingPoly":{"vertices":[{"x":323.0,"y":267.0},{"x":339.0,"y":267.0},{"x":339.0,"y":277.0},{"x":323.0,"y":277.0}]}},{"inferText":"3","lineBreak":true,"boundingPoly":{"vertices":[{"x":302.0,"y":268.0},{"x":310.0,"y":268.0},{"x":310.0,"y":279.0},{"x":302.0,"y":279.0}]}},{"inferText":"조제시","lineBreak":false,"boundingPoly":{"vertices":[{"x":347.0,"y":395.0},{"x":382.0,"y":395.0},{"x":382.0,"y":406.0},{"x":347.0,"y":406.0}]}},{"inferText":"참고사장","lineBreak":true,"boundingPoly":{"vertices":[{"x":385.0,"y":394.0},{"x":432.0,"y":394.0},{"x":432.0,"y":406.0},{"x":385.0,"y":406.0}]}},{"inferText":"주사제","lineBreak":false,"boundingPoly":{"vertices":[{"x":101.0,"y":415.0},{"x":128.0,"y":414.0},{"x":129.0,"y":427.0},{"x":101.0,"y":427.0}]}},{"inferText":"저병내익(원니조계","lineBreak":true,"boundingPoly":{"vertices":[{"x":129.0,"y":414.0},{"x":201.0,"y":412.0},{"x":202.0,"y":424.0},{"x":130.0,"y":427.0}]}},{"inferText":"□","lineBreak":false,"boundingPoly":{"vertices":[{"x":208.0,"y":413.0},{"x":221.0,"y":412.0},{"x":222.0,"y":423.0},{"x":209.0,"y":424.0}]}},{"inferText":".","lineBreak":false,"boundingPoly":{"vertices":[{"x":224.0,"y":417.0},{"x":227.0,"y":417.0},{"x":228.0,"y":421.0},{"x":224.0,"y":421.0}]}},{"inferText":"원의처방","lineBreak":false,"boundingPoly":{"vertices":[{"x":231.0,"y":411.0},{"x":265.0,"y":410.0},{"x":266.0,"y":421.0},{"x":232.0,"y":422.0}]}},{"inferText":"□)","lineBreak":true,"boundingPoly":{"vertices":[{"x":269.0,"y":411.0},{"x":285.0,"y":410.0},{"x":286.0,"y":419.0},{"x":270.0,"y":420.0}]}},{"inferText":"사용기간","lineBreak":true,"boundingPoly":{"vertices":[{"x":51.0,"y":538.0},{"x":86.0,"y":538.0},{"x":86.0,"y":549.0},{"x":51.0,"y":549.0}]}},{"inferText":"교부일로부터","lineBreak":false,"boundingPoly":{"vertices":[{"x":99.0,"y":536.0},{"x":152.0,"y":536.0},{"x":152.0,"y":548.0},{"x":99.0,"y":549.0}]}},{"inferText":"(","lineBreak":false,"boundingPoly":{"vertices":[{"x":154.0,"y":537.0},{"x":159.0,"y":536.0},{"x":160.0,"y":546.0},{"x":155.0,"y":547.0}]}},{"inferText":"7","lineBreak":false,"boundingPoly":{"vertices":[{"x":179.0,"y":536.0},{"x":188.0,"y":535.0},{"x":189.0,"y":546.0},{"x":180.0,"y":547.0}]}},{"inferText":")일간","lineBreak":true,"boundingPoly":{"vertices":[{"x":201.0,"y":535.0},{"x":226.0,"y":534.0},{"x":226.0,"y":547.0},{"x":201.0,"y":547.0}]}},{"inferText":"*사용기간내에","lineBreak":false,"boundingPoly":{"vertices":[{"x":248.0,"y":532.0},{"x":313.0,"y":531.0},{"x":313.0,"y":545.0},{"x":248.0,"y":546.0}]}},{"inferText":"약국에","lineBreak":false,"boundingPoly":{"vertices":[{"x":314.0,"y":531.0},{"x":345.0,"y":531.0},{"x":346.0,"y":545.0},{"x":314.0,"y":545.0}]}},{"inferText":"제출하여야","lineBreak":false,"boundingPoly":{"vertices":[{"x":348.0,"y":531.0},{"x":399.0,"y":531.0},{"x":399.0,"y":544.0},{"x":348.0,"y":544.0}]}},{"inferText":"합니다.","lineBreak":true,"boundingPoly":{"vertices":[{"x":402.0,"y":531.0},{"x":437.0,"y":531.0},{"x":437.0,"y":544.0},{"x":402.0,"y":544.0}]}},{"inferText":"의","lineBreak":false,"boundingPoly":{"vertices":[{"x":159.0,"y":553.0},{"x":170.0,"y":553.0},{"x":170.0,"y":565.0},{"x":159.0,"y":565.0}]}},{"inferText":"약","lineBreak":false,"boundingPoly":{"vertices":[{"x":184.0,"y":552.0},{"x":196.0,"y":552.0},{"x":196.0,"y":565.0},{"x":184.0,"y":565.0}]}},{"inferText":"품","lineBreak":true,"boundingPoly":{"vertices":[{"x":210.0,"y":552.0},{"x":221.0,"y":552.0},{"x":221.0,"y":564.0},{"x":210.0,"y":564.0}]}},{"inferText":"조","lineBreak":false,"boundingPoly":{"vertices":[{"x":243.0,"y":552.0},{"x":255.0,"y":552.0},{"x":255.0,"y":563.0},{"x":243.0,"y":563.0}]}},{"inferText":"제","lineBreak":true,"boundingPoly":{"vertices":[{"x":269.0,"y":551.0},{"x":280.0,"y":551.0},{"x":280.0,"y":563.0},{"x":269.0,"y":563.0}]}},{"inferText":"내","lineBreak":false,"boundingPoly":{"vertices":[{"x":295.0,"y":550.0},{"x":307.0,"y":550.0},{"x":307.0,"y":563.0},{"x":295.0,"y":563.0}]}},{"inferText":"익","lineBreak":true,"boundingPoly":{"vertices":[{"x":321.0,"y":550.0},{"x":333.0,"y":550.0},{"x":333.0,"y":563.0},{"x":321.0,"y":563.0}]}},{"inferText":"조제기관의행정","lineBreak":true,"boundingPoly":{"vertices":[{"x":73.0,"y":570.0},{"x":124.0,"y":570.0},{"x":124.0,"y":581.0},{"x":73.0,"y":581.0}]}},{"inferText":"처방의","lineBreak":false,"boundingPoly":{"vertices":[{"x":290.0,"y":566.0},{"x":319.0,"y":566.0},{"x":319.0,"y":579.0},{"x":290.0,"y":579.0}]}},{"inferText":"변경,수정,확인대체시","lineBreak":false,"boundingPoly":{"vertices":[{"x":320.0,"y":565.0},{"x":411.0,"y":564.0},{"x":411.0,"y":577.0},{"x":320.0,"y":578.0}]}},{"inferText":"그","lineBreak":false,"boundingPoly":{"vertices":[{"x":412.0,"y":566.0},{"x":423.0,"y":565.0},{"x":424.0,"y":575.0},{"x":413.0,"y":576.0}]}},{"inferText":"내용","lineBreak":false,"boundingPoly":{"vertices":[{"x":425.0,"y":565.0},{"x":445.0,"y":564.0},{"x":446.0,"y":576.0},{"x":426.0,"y":577.0}]}},{"inferText":"등","lineBreak":true,"boundingPoly":{"vertices":[{"x":448.0,"y":564.0},{"x":460.0,"y":563.0},{"x":461.0,"y":576.0},{"x":449.0,"y":577.0}]}},{"inferText":"조제","lineBreak":false,"boundingPoly":{"vertices":[{"x":78.0,"y":587.0},{"x":98.0,"y":587.0},{"x":98.0,"y":599.0},{"x":78.0,"y":599.0}]}},{"inferText":"약사","lineBreak":false,"boundingPoly":{"vertices":[{"x":99.0,"y":586.0},{"x":120.0,"y":586.0},{"x":120.0,"y":598.0},{"x":99.0,"y":598.0}]}},{"inferText":"성명","lineBreak":true,"boundingPoly":{"vertices":[{"x":129.0,"y":586.0},{"x":147.0,"y":586.0},{"x":147.0,"y":597.0},{"x":129.0,"y":597.0}]}},{"inferText":"(서명조는날연)","lineBreak":true,"boundingPoly":{"vertices":[{"x":225.0,"y":584.0},{"x":280.0,"y":584.0},{"x":280.0,"y":595.0},{"x":225.0,"y":595.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":52.0,"y":572.0},{"x":65.0,"y":574.0},{"x":63.0,"y":585.0},{"x":50.0,"y":583.0}]}},{"inferText":"○","lineBreak":false,"boundingPoly":{"vertices":[{"x":51.0,"y":585.0},{"x":63.0,"y":587.0},{"x":61.0,"y":602.0},{"x":49.0,"y":600.0}]}},{"inferText":"내","lineBreak":false,"boundingPoly":{"vertices":[{"x":49.0,"y":601.0},{"x":61.0,"y":603.0},{"x":59.0,"y":619.0},{"x":47.0,"y":617.0}]}},{"inferText":"역","lineBreak":true,"boundingPoly":{"vertices":[{"x":47.0,"y":619.0},{"x":60.0,"y":620.0},{"x":59.0,"y":632.0},{"x":46.0,"y":631.0}]}},{"inferText":"제수)","lineBreak":true,"boundingPoly":{"vertices":[{"x":85.0,"y":600.0},{"x":115.0,"y":600.0},{"x":114.0,"y":619.0},{"x":85.0,"y":618.0}]}},{"inferText":"조개","lineBreak":false,"boundingPoly":{"vertices":[{"x":76.0,"y":600.0},{"x":82.0,"y":600.0},{"x":81.0,"y":619.0},{"x":76.0,"y":618.0}]}},{"inferText":"제","lineBreak":false,"boundingPoly":{"vertices":[{"x":91.0,"y":600.0},{"x":101.0,"y":600.0},{"x":101.0,"y":609.0},{"x":91.0,"y":609.0}]}},{"inferText":"량","lineBreak":true,"boundingPoly":{"vertices":[{"x":103.0,"y":600.0},{"x":114.0,"y":600.0},{"x":114.0,"y":609.0},{"x":103.0,"y":609.0}]}},{"inferText":"조제년월일","lineBreak":true,"boundingPoly":{"vertices":[{"x":72.0,"y":620.0},{"x":118.0,"y":620.0},{"x":118.0,"y":633.0},{"x":72.0,"y":633.0}]}},{"inferText":"NEWSis(","lineBreak":false,"boundingPoly":{"vertices":[{"x":359.0,"y":620.0},{"x":456.0,"y":620.0},{"x":456.0,"y":646.0},{"x":359.0,"y":646.0}]}},{"inferText":")","lineBreak":true,"boundingPoly":{"vertices":[{"x":453.0,"y":620.0},{"x":481.0,"y":620.0},{"x":481.0,"y":648.0},{"x":453.0,"y":648.0}]}}]}]} diff --git a/src/test/resources/ocr/fixtures/table_prescription_synth.json b/src/test/resources/ocr/fixtures/table_prescription_synth.json index 6b8ec11..c2748b0 100644 --- a/src/test/resources/ocr/fixtures/table_prescription_synth.json +++ b/src/test/resources/ocr/fixtures/table_prescription_synth.json @@ -1,806 +1 @@ -{ - "version": "V2", - "requestId": "fixture-table-synth", - "timestamp": 0, - "images": [ - { - "uid": "u1", - "name": "image", - "inferResult": "SUCCESS", - "fields": [ - { - "inferText": "처방전", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 90.0, - "y": 19.0 - }, - { - "x": 150.0, - "y": 19.0 - }, - { - "x": 150.0, - "y": 41.0 - }, - { - "x": 90.0, - "y": 41.0 - } - ] - } - }, - { - "inferText": "교부번호 20260701-00042", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 250.0, - "y": 19.0 - }, - { - "x": 550.0, - "y": 19.0 - }, - { - "x": 550.0, - "y": 41.0 - }, - { - "x": 250.0, - "y": 41.0 - } - ] - } - }, - { - "inferText": "처방 의약품의", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 55.0, - "y": 79.0 - }, - { - "x": 205.0, - "y": 79.0 - }, - { - "x": 205.0, - "y": 101.0 - }, - { - "x": 55.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "명칭", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 220.0, - "y": 79.0 - }, - { - "x": 280.0, - "y": 79.0 - }, - { - "x": 280.0, - "y": 101.0 - }, - { - "x": 220.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "1회 투약량", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 375.0, - "y": 79.0 - }, - { - "x": 485.0, - "y": 79.0 - }, - { - "x": 485.0, - "y": 101.0 - }, - { - "x": 375.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "1일 투여횟수", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 515.0, - "y": 79.0 - }, - { - "x": 645.0, - "y": 79.0 - }, - { - "x": 645.0, - "y": 101.0 - }, - { - "x": 515.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "총 투약일수", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 660.0, - "y": 79.0 - }, - { - "x": 780.0, - "y": 79.0 - }, - { - "x": 780.0, - "y": 101.0 - }, - { - "x": 660.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "용법", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 820.0, - "y": 79.0 - }, - { - "x": 880.0, - "y": 79.0 - }, - { - "x": 880.0, - "y": 101.0 - }, - { - "x": 820.0, - "y": 101.0 - } - ] - } - }, - { - "inferText": "[급여][643501510]아모잘탄정5/50밀리그램", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 10.0, - "y": 129.0 - }, - { - "x": 350.0, - "y": 129.0 - }, - { - "x": 350.0, - "y": 151.0 - }, - { - "x": 10.0, - "y": 151.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 415.0, - "y": 129.0 - }, - { - "x": 445.0, - "y": 129.0 - }, - { - "x": 445.0, - "y": 151.0 - }, - { - "x": 415.0, - "y": 151.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 565.0, - "y": 129.0 - }, - { - "x": 595.0, - "y": 129.0 - }, - { - "x": 595.0, - "y": 151.0 - }, - { - "x": 565.0, - "y": 151.0 - } - ] - } - }, - { - "inferText": "30", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 700.0, - "y": 129.0 - }, - { - "x": 740.0, - "y": 129.0 - }, - { - "x": 740.0, - "y": 151.0 - }, - { - "x": 700.0, - "y": 151.0 - } - ] - } - }, - { - "inferText": "1일 1회 아침 식후 30분", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 760.0, - "y": 129.0 - }, - { - "x": 960.0, - "y": 129.0 - }, - { - "x": 960.0, - "y": 151.0 - }, - { - "x": 760.0, - "y": 151.0 - } - ] - } - }, - { - "inferText": "[급여][123456780]크레스토정10밀리그램", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 10.0, - "y": 174.0 - }, - { - "x": 350.0, - "y": 174.0 - }, - { - "x": 350.0, - "y": 196.0 - }, - { - "x": 10.0, - "y": 196.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 415.0, - "y": 174.0 - }, - { - "x": 445.0, - "y": 174.0 - }, - { - "x": 445.0, - "y": 196.0 - }, - { - "x": 415.0, - "y": 196.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 565.0, - "y": 174.0 - }, - { - "x": 595.0, - "y": 174.0 - }, - { - "x": 595.0, - "y": 196.0 - }, - { - "x": 565.0, - "y": 196.0 - } - ] - } - }, - { - "inferText": "30", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 700.0, - "y": 174.0 - }, - { - "x": 740.0, - "y": 174.0 - }, - { - "x": 740.0, - "y": 196.0 - }, - { - "x": 700.0, - "y": 196.0 - } - ] - } - }, - { - "inferText": "1일 1회 아침 식후 30분", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 760.0, - "y": 174.0 - }, - { - "x": 960.0, - "y": 174.0 - }, - { - "x": 960.0, - "y": 196.0 - }, - { - "x": 760.0, - "y": 196.0 - } - ] - } - }, - { - "inferText": "[급여][222333440]리피토정20밀리그램", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 10.0, - "y": 219.0 - }, - { - "x": 350.0, - "y": 219.0 - }, - { - "x": 350.0, - "y": 241.0 - }, - { - "x": 10.0, - "y": 241.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 415.0, - "y": 219.0 - }, - { - "x": 445.0, - "y": 219.0 - }, - { - "x": 445.0, - "y": 241.0 - }, - { - "x": 415.0, - "y": 241.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 565.0, - "y": 219.0 - }, - { - "x": 595.0, - "y": 219.0 - }, - { - "x": 595.0, - "y": 241.0 - }, - { - "x": 565.0, - "y": 241.0 - } - ] - } - }, - { - "inferText": "90", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 700.0, - "y": 219.0 - }, - { - "x": 740.0, - "y": 219.0 - }, - { - "x": 740.0, - "y": 241.0 - }, - { - "x": 700.0, - "y": 241.0 - } - ] - } - }, - { - "inferText": "1일 1회 아침 식후 30분", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 760.0, - "y": 219.0 - }, - { - "x": 960.0, - "y": 219.0 - }, - { - "x": 960.0, - "y": 241.0 - }, - { - "x": 760.0, - "y": 241.0 - } - ] - } - }, - { - "inferText": "[급여][555666770]노바스크정5밀리그램", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 10.0, - "y": 264.0 - }, - { - "x": 350.0, - "y": 264.0 - }, - { - "x": 350.0, - "y": 286.0 - }, - { - "x": 10.0, - "y": 286.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 415.0, - "y": 264.0 - }, - { - "x": 445.0, - "y": 264.0 - }, - { - "x": 445.0, - "y": 286.0 - }, - { - "x": 415.0, - "y": 286.0 - } - ] - } - }, - { - "inferText": "2", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 565.0, - "y": 264.0 - }, - { - "x": 595.0, - "y": 264.0 - }, - { - "x": 595.0, - "y": 286.0 - }, - { - "x": 565.0, - "y": 286.0 - } - ] - } - }, - { - "inferText": "28", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 700.0, - "y": 264.0 - }, - { - "x": 740.0, - "y": 264.0 - }, - { - "x": 740.0, - "y": 286.0 - }, - { - "x": 700.0, - "y": 286.0 - } - ] - } - }, - { - "inferText": "1일 1회 아침 식후 30분", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 760.0, - "y": 264.0 - }, - { - "x": 960.0, - "y": 264.0 - }, - { - "x": 960.0, - "y": 286.0 - }, - { - "x": 760.0, - "y": 286.0 - } - ] - } - }, - { - "inferText": "[급여][888999000]아스피린프로텍트정100밀리그램", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 10.0, - "y": 309.0 - }, - { - "x": 350.0, - "y": 309.0 - }, - { - "x": 350.0, - "y": 331.0 - }, - { - "x": 10.0, - "y": 331.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 415.0, - "y": 309.0 - }, - { - "x": 445.0, - "y": 309.0 - }, - { - "x": 445.0, - "y": 331.0 - }, - { - "x": 415.0, - "y": 331.0 - } - ] - } - }, - { - "inferText": "1", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 565.0, - "y": 309.0 - }, - { - "x": 595.0, - "y": 309.0 - }, - { - "x": 595.0, - "y": 331.0 - }, - { - "x": 565.0, - "y": 331.0 - } - ] - } - }, - { - "inferText": "30", - "lineBreak": false, - "boundingPoly": { - "vertices": [ - { - "x": 700.0, - "y": 309.0 - }, - { - "x": 740.0, - "y": 309.0 - }, - { - "x": 740.0, - "y": 331.0 - }, - { - "x": 700.0, - "y": 331.0 - } - ] - } - }, - { - "inferText": "1일 1회 아침 식후 30분", - "lineBreak": true, - "boundingPoly": { - "vertices": [ - { - "x": 760.0, - "y": 309.0 - }, - { - "x": 960.0, - "y": 309.0 - }, - { - "x": 960.0, - "y": 331.0 - }, - { - "x": 760.0, - "y": 331.0 - } - ] - } - } - ] - } - ] -} \ No newline at end of file +{"version":"V2","images":[{"inferResult":"SUCCESS","fields":[{"inferText":"처방전","lineBreak":false,"boundingPoly":{"vertices":[{"x":90.0,"y":19.0},{"x":150.0,"y":19.0},{"x":150.0,"y":41.0},{"x":90.0,"y":41.0}]}},{"inferText":"교부번호 20260701-00042","lineBreak":true,"boundingPoly":{"vertices":[{"x":250.0,"y":19.0},{"x":550.0,"y":19.0},{"x":550.0,"y":41.0},{"x":250.0,"y":41.0}]}},{"inferText":"처방 의약품의","lineBreak":false,"boundingPoly":{"vertices":[{"x":55.0,"y":79.0},{"x":205.0,"y":79.0},{"x":205.0,"y":101.0},{"x":55.0,"y":101.0}]}},{"inferText":"명칭","lineBreak":false,"boundingPoly":{"vertices":[{"x":220.0,"y":79.0},{"x":280.0,"y":79.0},{"x":280.0,"y":101.0},{"x":220.0,"y":101.0}]}},{"inferText":"1회 투약량","lineBreak":false,"boundingPoly":{"vertices":[{"x":375.0,"y":79.0},{"x":485.0,"y":79.0},{"x":485.0,"y":101.0},{"x":375.0,"y":101.0}]}},{"inferText":"1일 투여횟수","lineBreak":false,"boundingPoly":{"vertices":[{"x":515.0,"y":79.0},{"x":645.0,"y":79.0},{"x":645.0,"y":101.0},{"x":515.0,"y":101.0}]}},{"inferText":"총 투약일수","lineBreak":false,"boundingPoly":{"vertices":[{"x":660.0,"y":79.0},{"x":780.0,"y":79.0},{"x":780.0,"y":101.0},{"x":660.0,"y":101.0}]}},{"inferText":"용법","lineBreak":true,"boundingPoly":{"vertices":[{"x":820.0,"y":79.0},{"x":880.0,"y":79.0},{"x":880.0,"y":101.0},{"x":820.0,"y":101.0}]}},{"inferText":"[급여][643501510]아모잘탄정5/50밀리그램","lineBreak":false,"boundingPoly":{"vertices":[{"x":10.0,"y":129.0},{"x":350.0,"y":129.0},{"x":350.0,"y":151.0},{"x":10.0,"y":151.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":129.0},{"x":445.0,"y":129.0},{"x":445.0,"y":151.0},{"x":415.0,"y":151.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":129.0},{"x":595.0,"y":129.0},{"x":595.0,"y":151.0},{"x":565.0,"y":151.0}]}},{"inferText":"30","lineBreak":false,"boundingPoly":{"vertices":[{"x":700.0,"y":129.0},{"x":740.0,"y":129.0},{"x":740.0,"y":151.0},{"x":700.0,"y":151.0}]}},{"inferText":"1일 1회 아침 식후 30분","lineBreak":true,"boundingPoly":{"vertices":[{"x":760.0,"y":129.0},{"x":960.0,"y":129.0},{"x":960.0,"y":151.0},{"x":760.0,"y":151.0}]}},{"inferText":"[급여][123456780]크레스토정10밀리그램","lineBreak":false,"boundingPoly":{"vertices":[{"x":10.0,"y":174.0},{"x":350.0,"y":174.0},{"x":350.0,"y":196.0},{"x":10.0,"y":196.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":174.0},{"x":445.0,"y":174.0},{"x":445.0,"y":196.0},{"x":415.0,"y":196.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":174.0},{"x":595.0,"y":174.0},{"x":595.0,"y":196.0},{"x":565.0,"y":196.0}]}},{"inferText":"30","lineBreak":false,"boundingPoly":{"vertices":[{"x":700.0,"y":174.0},{"x":740.0,"y":174.0},{"x":740.0,"y":196.0},{"x":700.0,"y":196.0}]}},{"inferText":"1일 1회 아침 식후 30분","lineBreak":true,"boundingPoly":{"vertices":[{"x":760.0,"y":174.0},{"x":960.0,"y":174.0},{"x":960.0,"y":196.0},{"x":760.0,"y":196.0}]}},{"inferText":"[급여][222333440]리피토정20밀리그램","lineBreak":false,"boundingPoly":{"vertices":[{"x":10.0,"y":219.0},{"x":350.0,"y":219.0},{"x":350.0,"y":241.0},{"x":10.0,"y":241.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":219.0},{"x":445.0,"y":219.0},{"x":445.0,"y":241.0},{"x":415.0,"y":241.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":219.0},{"x":595.0,"y":219.0},{"x":595.0,"y":241.0},{"x":565.0,"y":241.0}]}},{"inferText":"90","lineBreak":false,"boundingPoly":{"vertices":[{"x":700.0,"y":219.0},{"x":740.0,"y":219.0},{"x":740.0,"y":241.0},{"x":700.0,"y":241.0}]}},{"inferText":"1일 1회 아침 식후 30분","lineBreak":true,"boundingPoly":{"vertices":[{"x":760.0,"y":219.0},{"x":960.0,"y":219.0},{"x":960.0,"y":241.0},{"x":760.0,"y":241.0}]}},{"inferText":"[급여][555666770]노바스크정5밀리그램","lineBreak":false,"boundingPoly":{"vertices":[{"x":10.0,"y":264.0},{"x":350.0,"y":264.0},{"x":350.0,"y":286.0},{"x":10.0,"y":286.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":264.0},{"x":445.0,"y":264.0},{"x":445.0,"y":286.0},{"x":415.0,"y":286.0}]}},{"inferText":"2","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":264.0},{"x":595.0,"y":264.0},{"x":595.0,"y":286.0},{"x":565.0,"y":286.0}]}},{"inferText":"28","lineBreak":false,"boundingPoly":{"vertices":[{"x":700.0,"y":264.0},{"x":740.0,"y":264.0},{"x":740.0,"y":286.0},{"x":700.0,"y":286.0}]}},{"inferText":"1일 1회 아침 식후 30분","lineBreak":true,"boundingPoly":{"vertices":[{"x":760.0,"y":264.0},{"x":960.0,"y":264.0},{"x":960.0,"y":286.0},{"x":760.0,"y":286.0}]}},{"inferText":"[급여][888999000]아스피린프로텍트정100밀리그램","lineBreak":false,"boundingPoly":{"vertices":[{"x":10.0,"y":309.0},{"x":350.0,"y":309.0},{"x":350.0,"y":331.0},{"x":10.0,"y":331.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":415.0,"y":309.0},{"x":445.0,"y":309.0},{"x":445.0,"y":331.0},{"x":415.0,"y":331.0}]}},{"inferText":"1","lineBreak":false,"boundingPoly":{"vertices":[{"x":565.0,"y":309.0},{"x":595.0,"y":309.0},{"x":595.0,"y":331.0},{"x":565.0,"y":331.0}]}},{"inferText":"30","lineBreak":false,"boundingPoly":{"vertices":[{"x":700.0,"y":309.0},{"x":740.0,"y":309.0},{"x":740.0,"y":331.0},{"x":700.0,"y":331.0}]}},{"inferText":"1일 1회 아침 식후 30분","lineBreak":true,"boundingPoly":{"vertices":[{"x":760.0,"y":309.0},{"x":960.0,"y":309.0},{"x":960.0,"y":331.0},{"x":760.0,"y":331.0}]}}]}]}