using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; namespace medical.transfomer.dto { public class MedicalTransactionSystem { /// /// 医保交易业务对象(入参) /// public class MedicalTransaction { /// /// 交易编号(详见接口列表) /// [Required] [StringLength(4)] public string Infno { get; set; } /// /// 发送方报文ID(主键) /// 格式:定点医药机构编号(12)+时间(14)+顺序号(4) /// [Key] [StringLength(30)] [RegularExpression(@"^\d{12}\d{14}\d{4}$", ErrorMessage = "报文ID格式无效")] public string MsgId { get; set; } /// /// 就医地医保区划 /// [Required] [StringLength(6)] public string MdtrtareaAdmvs { get; set; } /// /// 参保地医保区划(人员编号存在时必填) /// [StringLength(6)] public string InsuplcAdmdvs { get; set; } /// /// 接收方系统代码 /// [Required] [StringLength(10)] public string RecerSysCode { get; set; } /// /// 设备编号 /// [StringLength(100)] public string DevNo { get; set; } /// /// 设备安全信息(JSON/XML格式) /// [Column(TypeName = "text")] public string DevSafeInfo { get; set; } /// /// 数字签名信息(安全管理码) /// [Column(TypeName = "text")] public string Cainfo { get; set; } /// /// 签名类型 /// [StringLength(10)] public SignType Signtype { get; set; } /// /// 接口版本号 /// [Required] [StringLength(6)] public string Infver { get; set; } /// /// 经办人类别 /// [Required] public OperatorType OpterType { get; set; } /// /// 经办人/终端编号 /// [Required] [StringLength(30)] public string Opter { get; set; } /// /// 经办人姓名/终端名称 /// [Required] [StringLength(50)] public string OpterName { get; set; } /// /// 交易时间 /// [Required] public DateTime InfTime { get; set; } /// /// 定点医药机构编号 /// [Required] [StringLength(12)] public string FixmedinsCode { get; set; } /// /// 定点医药机构名称 /// [Required] [StringLength(20)] public string FixmedinsName { get; set; } /// /// 交易签到流水号(来自9001交易) /// [StringLength(30)] public string SignNo { get; set; } /// /// 交易输入(.NET对象序列化) /// [Required] [Column(TypeName = "text")] public string Input { get; set; } } /// /// 签名类型枚举 /// public enum SignType { SM2, SM3 } /// /// 经办人类别枚举 /// public enum OperatorType { 经办人 = 1, 自助终端 = 2, 移动终端 = 3 } } }