package open.dolphin.infomodel; import java.util.List; /** * Health-Insurance class to be parsed. * * @author Kazushi Minagawa, Digital Globe, Inc. * * Modified by Mirror-I corp for adding 'PvtPublicInsuranceItem' and related function to store/get PvtPublicInsuranceItem name */ public class PVTHealthInsuranceModel extends InfoModel { // ORCA 受付時に送信される UUID private String uuid; // 保険種別 private String insuranceClass; // 保険種別コード private String insuranceClassCode; // 保険種別コード体系 private String insuranceClassCodeSys; // 保険者番号 private String insuranceNumber; // 被保険者記号 private String clientGroup; // 被保険者番号 private String clientNumber; // 本人家族区分 private String familyClass; // 開始日(交付年月日) private String startDate; // 有効期限 private String expiredDate; // 継続疾患名 private String[] continuedDisease; // 入院時負担率 private String payInRatio; // 外来時負担率 private String payOutRatio; // 公費負担リスト private PVTPublicInsuranceItemModel[] pvtPublicInsuranceItem; // 公費負担リスト private List<PVTPublicInsuranceItemModel> publicItems; /** Creates new PVTHealthInsurance */ public PVTHealthInsuranceModel() { super(); } public String getGUID() { return uuid; } public void setGUID(String val) { uuid = val; } public String getInsuranceClass() { return insuranceClass; } public void setInsuranceClass(String val) { insuranceClass = val; } public String getInsuranceClassCode() { return insuranceClassCode; } public void setInsuranceClassCode(String val) { insuranceClassCode = val; } public String getInsuranceCodeAndClass() { StringBuilder sb = new StringBuilder(); if (insuranceClassCode!=null) { sb.append(insuranceClassCode).append(" "); } if (insuranceClass!=null) { sb.append(insuranceClass); } else { sb.append("記載無"); } return sb.toString(); } public String getInsuranceClassCodeSys() { return insuranceClassCodeSys; } public void setInsuranceClassCodeSys(String val) { insuranceClassCodeSys = val; } public String getInsuranceNumber() { return insuranceNumber; } public void setInsuranceNumber(String val) { insuranceNumber = val; } public String getClientGroup() { return clientGroup; } public void setClientGroup(String val) { clientGroup = val; } public String getClientNumber() { return clientNumber; } public void setClientNumber(String val) { clientNumber = val; } public String getFamilyClass() { return familyClass; } public void setFamilyClass(String val) { familyClass = val; } public String getStartDate() { return startDate; } public void setStartDate(String val) { startDate = val; } public String getExpiredDate() { return expiredDate; } public void setExpiredDate(String val) { expiredDate = val; } public String[] getContinuedDisease() { return continuedDisease; } public void setContinuedDisease(String[] val) { continuedDisease = val; } public void addContinuedDisease(String val) { int len = 0; if (continuedDisease == null) { continuedDisease = new String[1]; } else { len = continuedDisease.length; String[] dest = new String[len + 1]; System.arraycopy(continuedDisease, 0, dest, 0, len); continuedDisease = dest; } continuedDisease[len] = val; } public String getPayInRatio() { return payInRatio; } public void setPayInRatio(String val) { payInRatio = val; } public String getPayOutRatio() { return payOutRatio; } public void setPayOutRatio(String val) { payOutRatio = val; } public PVTPublicInsuranceItemModel[] getPVTPublicInsuranceItem() { return pvtPublicInsuranceItem; } public void setPVTPublicInsuranceItem(PVTPublicInsuranceItemModel[] val) { pvtPublicInsuranceItem = val; } public void addPvtPublicInsuranceItem(PVTPublicInsuranceItemModel value) { if (pvtPublicInsuranceItem == null) { pvtPublicInsuranceItem = new PVTPublicInsuranceItemModel[1]; pvtPublicInsuranceItem[0] = value; return; } int len = pvtPublicInsuranceItem.length; PVTPublicInsuranceItemModel[] dest = new PVTPublicInsuranceItemModel[len + 1]; System.arraycopy(pvtPublicInsuranceItem, 0, dest, 0, len); pvtPublicInsuranceItem = dest; pvtPublicInsuranceItem[len] = value; } //---------------------------------------------------------- public List<PVTPublicInsuranceItemModel> getPublicItems() { return publicItems; } public void setPublicItems(List<PVTPublicInsuranceItemModel> publicItems) { this.publicItems = publicItems; } //---------------------------------------------------------- @Override public String toString() { StringBuilder sb = new StringBuilder(); if (insuranceClassCode!=null) { sb.append(insuranceClassCode).append(" "); } if (insuranceClass!=null) { sb.append(insuranceClass); } else { sb.append("記載無"); } if (pvtPublicInsuranceItem != null) { for (PVTPublicInsuranceItemModel pm : pvtPublicInsuranceItem) { sb.append(":"); sb.append(pm.toString()); } } return sb.toString(); // StringBuilder buf = new StringBuilder(); // // if (insuranceNumber != null && insuranceClass != null ) { // buf.append(insuranceNumber); // buf.append(" "); // buf.append(insuranceClass); // } // // else if (insuranceNumber != null) { // buf.append(insuranceNumber); // } // // else if (insuranceClass != null) { // buf.append(insuranceClass); // } // // else { // buf.append("自費"); // } // // if (pvtPublicInsuranceItem != null) { // int len = pvtPublicInsuranceItem.length; // buf.append(" "); // for (int i = 0; i < len; i++) { // PVTPublicInsuranceItemModel item = pvtPublicInsuranceItem[i]; // if (item != null) { // if (i != 0) { // buf.append("・"); // } // buf.append(item.toString()); // } // } // buf.append(" "); // } // // return buf.toString(); } public String toClaim() { // 必須要素のみ出力 // <mmlHi:HealthInsuranceModule mmlHi:countryType="JPN"> // <mmlHi:insuranceClass mmlHi:ClassCode="00" mmlHi:tableId="MML0031">国保</mmlHi:insuranceClass> // <mmlHi:insuranceNumber>138156</mmlHi:insuranceNumber> // <mmlHi:clientId> // <mmlHi:group>111</mmlHi:group> // <mmlHi:number>111</mmlHi:number> // </mmlHi:clientId> // <mmlHi:familyClass>true</mmlHi:familyClass> // <mmlHi:startDate>2010-04-01</mmlHi:startDate> // <mmlHi:expiredDate>9999-12-31</mmlHi:expiredDate> // <mmlHi:paymentOutRatio>0.30</mmlHi:paymentOutRatio> // </mmlHi:HealthInsuranceModule> StringBuilder sb = new StringBuilder(); sb.append("<mmlHi:HealthInsuranceModule mmlHi:countryType=\"JPN\">"); if (getInsuranceClass()!=null && getInsuranceClassCode()!=null) { sb.append("<mmlHi:insuranceClass mmlHi:ClassCode="); sb.append(addQuote(getInsuranceClassCode())); sb.append(" mmlHi:tableId=\"MML0031\">"); sb.append(getInsuranceClass()); sb.append("</mmlHi:insuranceClass>"); } sb.append("<mmlHi:insuranceNumber>"); sb.append(getInsuranceNumber()); sb.append("</mmlHi:insuranceNumber>"); sb.append("<mmlHi:clientId>"); sb.append("<mmlHi:group>"); sb.append(getClientGroup()); sb.append("</mmlHi:group>"); sb.append("<mmlHi:number>"); sb.append(getClientNumber()); sb.append("</mmlHi:number>"); sb.append("</mmlHi:clientId>"); sb.append("<mmlHi:familyClass>"); sb.append(getFamilyClass()); sb.append("</mmlHi:familyClass>"); sb.append("<mmlHi:startDate>"); sb.append(getStartDate()); sb.append("</mmlHi:startDate>"); sb.append("<mmlHi:expiredDate>"); sb.append(getExpiredDate()); sb.append("</mmlHi:expiredDate>"); if (getPayInRatio()!=null) { sb.append("<mmlHi:paymentInRatio>"); sb.append(getPayInRatio()); sb.append("</mmlHi:paymentInRatio>"); } if (getPayOutRatio()!=null) { sb.append("<mmlHi:paymentOutRatio>"); sb.append(getPayOutRatio()); sb.append("</mmlHi:paymentOutRatio>"); } if (pvtPublicInsuranceItem!=null && pvtPublicInsuranceItem.length>0) { sb.append("<mmlHi:publicInsurance>"); for (PVTPublicInsuranceItemModel pi : pvtPublicInsuranceItem) { sb.append(pi.toClaim()); } sb.append("</mmlHi:publicInsurance>"); } sb.append("</mmlHi:HealthInsuranceModule>"); return sb.toString(); } private String addQuote(String str) { StringBuilder sb = new StringBuilder(); sb.append("\""); sb.append(str); sb.append("\""); return sb.toString(); } }