Here's some background information on how stop-loss insurance works:

Specific and aggregate stop-loss calculations are used in the insurance industry to manage risk, particularly in the context of reinsurance contracts. Reinsurance is the practice where insurance companies transfer a portion of their risks to other insurance companies, called reinsurers, to reduce their exposure to potential large losses. Stop-loss coverage is a type of reinsurance that helps protect the ceding insurer from excessive losses. The two main types of stop-loss coverage are specific and aggregate stop-loss.

Specific Stop-Loss (Per Risk or Per Occurrence Stop-Loss):
Specific stop-loss coverage provides protection to the ceding insurer for each individual claim that exceeds a predetermined threshold, called the specific stop-loss deductible or attachment point. For our purposes (medical benefits), this coverage is applied on a per-member basis.

For example, let's say an insurance company has a specific stop-loss deductible of $100,000. If an individual's first-dollar medical claims total $150,000, the insurance company would be responsible for the first $100,000, while the reinsurer would cover the remaining $50,000.

Aggregate Stop-Loss (Per Policy Year or Annual Aggregate Stop-Loss):
Aggregate stop-loss coverage provides protection to the ceding insurer for the total amount of claims paid within a policy year that exceeds a predetermined threshold, called the aggregate stop-loss deductible or attachment point. This coverage is applied on a per-policy-year basis (for the entire group) and helps protect the insurer against an unusually high frequency of smaller claims that might exceed the normal level of expected losses.

For example, let's say an insurance company has an aggregate stop-loss deductible of $1 million for a policy year. If the total claims paid for that year reach $1.2 million, the insurance company would be responsible for the first $1 million, while the reinsurer would cover the remaining $200,000.

The specific stop-loss payment should be considered when calculating the total claims for the aggregate stop-loss. For example:

Suppose an insurance company has both a specific stop-loss deductible of $100,000 and an aggregate stop-loss deductible of $1 million. During the policy year, the insurer faces an individual claim of $150,000 and total claims of $1.1 million.

When the individual claim of $150,000 is settled, the specific stop-loss covers $50,000, and the insurance company is responsible for the remaining $100,000. To determine the total claims for the aggregate stop-loss calculation, we need to subtract the $50,000 covered by the specific stop-loss from the total claims amount:

Total claims: $1.1 million
Less: Specific stop-loss coverage: $50,000
Adjusted total claims: $1.05 million

Now, the insurer would be responsible for the first $1 million in total claims (the aggregate deductible), and the aggregate stop-loss would cover the remaining $50,000.
Your task is the following:

Please write a Ruby class that can calculate amounts for both specific and aggregate stop-loss claims. 
The inputs used by this class will be:
1. A collection of first-dollar medical claims (these claims will be input as a ruby object with custom attribute, shown below)
2. The specific attachment point for the policy 
3. The aggregate attachment point for the policy

The first dollar claims will include the following attributes:
1. claim\_type (medical, rx, or other)
2. date\_of\_service (the date the claim was incurred)
2. amount (the amount paid for this claim)
3. member\_id (the unique identifier for each individual covered by the policy)

The output of this class will be an array of stop-loss claims. Return one object per claim. Each individual member may have either 1 or 0 specific stop-loss claims. The group as a whole will have either 1 or 0 aggregate claims. The output objects should have the following attributes:
1. The stop-loss claim type ("specific" or "aggregate")
2. The claim amount
3. The ID of the member (if type is "specific")

Other notes:
- All dollar amounts will use integers, representing cents
손절매 보험의 작동 방식에 대한 몇 가지 배경 정보를 알려드리겠습니다:

보험 업계에서는 특히 재보험 계약의 맥락에서 위험을 관리하기 위해 구체적이고 총체적인 손절매 계산을 사용합니다. 재보험은 보험회사가 잠재적인 대규모 손실에 대한 노출을 줄이기 위해 위험의 일부를 재보험사라고 하는 다른 보험회사에 이전하는 관행입니다. 손절매 보장은 양도 보험사를 과도한 손실로부터 보호하는 데 도움이 되는 재보험의 한 유형입니다. 손절매 보장의 두 가지 주요 유형은 특정 손절매와 총액 손절매입니다.

특정 손절매(위험별 또는 발생별 손절매):
특정 손절매 보장은 특정 손절매 공제액 또는 첨부 지점이라고 하는 미리 정해진 임계값을 초과하는 각 개별 청구에 대해 양도 보험사에 보호를 제공합니다. 당사의 목적(의료 혜택)을 위해 이 보장은 회원별로 적용됩니다.

예를 들어 보험 회사의 특정 손절매 공제액이 $100,000라고 가정해 보겠습니다. 개인의 첫 번째 의료비 청구액이 총 $150,000인 경우 보험회사가 첫 번째 $100,000를 책임지고 재보험사가 나머지 $50,000를 보상합니다.

총 정지 손실(보험 연도별 또는 연간 총 정지 손실):
총액 정지 손실 보장은 총액 정지 손실 공제액 또는 첨부 포인트라고 하는 미리 정해진 임계값을 초과하는 보험 연도 내 지급된 총 청구 금액에 대해 양도 보험사에 보상을 제공합니다. 이 보장은 보험 연도별(전체 그룹에 대해)로 적용되며 정상적인 예상 손실 수준을 초과할 수 있는 비정상적으로 높은 빈도의 소액 청구로부터 보험사를 보호하는 데 도움이 됩니다.

예를 들어 한 보험회사의 보험 연도에 대한 총 실손 공제액이 100만 달러라고 가정해 보겠습니다. 해당 연도에 지급된 총 보험금 청구액이 120만 달러에 도달하면 보험회사가 처음 100만 달러에 대해 책임을 지고 재보험사가 나머지 20만 달러를 보상합니다.

총 정지 손실에 대한 총 청구액을 계산할 때는 특정 정지 손실 지급액을 고려해야 합니다. 예를 들어

보험 회사에 특정 손절매 공제액이 $100,000이고 총 손절매 공제액이 $1백만이라고 가정해 보겠습니다. 보험 연도 동안 보험사는 개별 청구액 $150,000와 총 청구액 $110만 달러에 직면하게 됩니다.

개별 클레임 $150,000가 정산되면 특정 정지 손실은 $50,000를 보상하고 나머지 $100,000는 보험 회사가 책임집니다. 총 보상한도 계산을 위한 총 청구액을 결정하려면 총 청구액에서 특정 보상한도가 보장하는 $50,000를 빼야 합니다:

총 청구 금액: 110만 달러
덜: 특정 손절매 보상 범위: $50,000
조정된 총 청구액: 105만 달러

이제 보험사는 총 클레임의 첫 번째 100만 달러(총 공제액)에 대해 책임을 지고, 총 정지 손실은 나머지 5만 달러를 보상합니다.
여러분의 임무는 다음과 같습니다:

특정 및 총액 손절매 클레임에 대한 금액을 계산할 수 있는 루비 클래스를 작성하세요. 
이 클래스에서 사용하는 입력은 다음과 같습니다:
1. 첫 번째 1달러 의료 보험금 청구 모음(이러한 청구는 아래에 표시된 대로 사용자 지정 속성을 가진 루비 객체로 입력됨)
2. 정책의 특정 첨부 지점 
3. 정책에 대한 총 첨부 지점 3.

첫 번째 달러 청구에는 다음 속성이 포함됩니다:
1. 청구\_type(의료, RX 또는 기타)
2. 청구 날짜\_오브\_서비스(청구가 발생한 날짜)
2. 금액(이 청구에 대해 지불한 금액)
3. member\_id(보험이 적용되는 각 개인에 대한 고유 식별자)

이 클래스의 출력은 스톱로스 클레임의 배열이 됩니다. 클레임당 하나의 객체를 반환합니다. 각 개별 멤버는 1건 또는 0건의 특정 손절매 클레임을 가질 수 있습니다. 그룹 전체는 1건 또는 0건의 총 클레임을 갖습니다. 출력 객체는 다음과 같은 속성을 가져야 합니다:
1. 손절매 청구 유형("특정" 또는 "총액")
2. 클레임 금액
3. 회원의 ID(유형이 "특정"인 경우)

기타 참고 사항:
- 모든 달러 금액은 센트를 나타내는 정수를 사용합니다.