CARMA (Caregiver Record Management Application)
CARMA is a Salesforce application that the VA's Caregivers Program uses to track and process 10-10CG submissions.
This library is used to submit valid, online, 10-10CG submissions (CaregiversAssistanceClaim) to CARMA. It includes an HTTP client and models that map to the CARMA domain.
Used to hold model objects relating to CARMA's domain. More models can be added as the interface with CARMA grows (i.e. CARMA::Models::Case).
This is an http client used to communicate with CARMA. It contains configuration and auth behavior needed to interface with the Salesforce app. This is an extension of our internal Salesforce service (lib/salesforce) which also extends Restforce (a ruby package for interfacing with the Salesforce API).
claim = CaregiversAssistanceClaim.new
submission = CARMA::Models::Submission.from_claim(claim)
submission.metadata = {
veteran: {
icn: '1234',
is_veteran: true
}
}
submission.submit!(CARMA::Client::Client.new)
carma_client = CARMA::Client::Client.new
claim = SavedClaim::CaregiversAssistanceClaim.new
submission = CARMA::Models::Submission.from_claim(
claim,
{
veteran: {
icn: '1234',
is_veteran: true
}
}
)
submission.submit!(carma_client)
attachments = CARMA::Models::Attachments.new(
submission.carma_case_id,
claim.veteran_data['fullName']['first'],
claim.veteran_data['fullName']['last']
)
attachments.add('10-10CG', 'tmp/pdfs/10-10CG-claim-guid.pdf')
attachments.add('POA', 'tmp/pdfs/POA-claim-guid.pdf')
attachments.submit!(carma_client) # Pass the same client used for the submission request, so another auth request isn't made
{
data: ref([10-10CG Data Schema](https://github.com/department-of-veterans-affairs/vets-json-schema/blob/master/dist/10-10CG-schema.json)) as json,
metadata: {
claimGuid: string;
claimId: number | null;
veteran: { icn: string | null; isVeteran?: true | false; },
primaryCaregiver?: { icn: string | null; isVeteran?: true | false; },
secondaryCaregiverOne?: { icn: string | null; isVeteran?: true | false; },
secondaryCaregiverTwo?: { icn: string | null; isVeteran?: true | false; },
}
}
- If Veteran's status cannot be confirmed as true, icn must be sent as null.