def build_contract_state(cls, contract, imis_policy):
     if imis_policy.stage is imis_policy.STAGE_NEW:
         contract.legalState = cls.build_simple_codeable_concept(
             R4CoverageConfig.get_status_offered_code())
     elif imis_policy.stage is imis_policy.STAGE_RENEWED:
         contract.legalState = cls.build_simple_codeable_concept(
             R4CoverageConfig.get_status_renewed_code())
     else:
         contract.legalState = cls.build_simple_codeable_concept(
             imis_policy.stage)
     return contract
 def build_contract_status(cls, contract, imis_policy):
     if imis_policy.status is imis_policy.STATUS_ACTIVE:
         contract.status = R4CoverageConfig.get_status_policy_code()
     elif imis_policy.status is imis_policy.STATUS_IDLE:
         contract.status = R4CoverageConfig.get_status_offered_code()
     elif imis_policy.status is imis_policy.STATUS_EXPIRED:
         contract.status = R4CoverageConfig.get_status_terminated_code()
     elif imis_policy.status is imis_policy.STATUS_SUSPENDED:
         contract.status = R4CoverageConfig.get_status_disputed_code()
     else:
         contract.status = imis_policy.status
     return contract