You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.2 KiB

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