PRO
#    dashboard
    leads|lead|add|icon:meteor
#    leads/add_new:internalLeadDrop
#        program
#        nameFirst*
#        nameLast*
#        dob:date
#        mcn*
#        gender:select:M,F
#        cellNumber:tel
#        emailAddress:email
    clients|client|add|view|icon:user-injured
        !inc:@name_first,name_last,dob, mcn,is_mcn_valid_number,is_part_b_primary,sex,mcp_pro_id,cm_pro_id,rme_pro_id,rmm_pro_id
        !qry:pros:SELECT id, concat(name_last, ', ', name_first) as name_display FROM pro
        !col:name_first:First Name=>/clients/view/$uid/SUB_dashboard
        !col:name_last:Last Name
        !col:mcp_pro_id:MCP:~pros:name_display:id,=,$mcp_pro_id:all=>/pros/view/$mcp_pro_id
        !col:cm_pro_id:CM Pro:~pros:name_display:id,=,$cm_pro_id:all=>/pros/view/$cm_pro_id
        !col:rme_pro_id:RME Pro:~pros:name_display:id,=,$rme_pro_id:all=>/pros/view/$rme_pro_id
        !col:rmm_pro_id:RMM Pro:~pros:name_display:id,=,$rmm_pro_id:all=>/pros/view/$rmm_pro_id
        !col:name_display:Name
        !col:gender_identity:Gender
    clients/add_new:create
        !qry:pros:SELECT uid, name_display FROM pro
        mcpProUid:record:~pros:uid,name_display
        cmProUid:record:~pros:uid,name_display
        rmeProUid:record:~pros:uid,name_display
        rmmProUid:record:~pros:uid,name_display
        namePrefix
        nameFirst*
        nameMiddle
        nameLast*
        nameSuffix
        nameCredential
        genderIdentity:select:M,F
        dateOfBirth:date
        cellNumber:tel
        emailAddress:email
        medicareNumber
    clients/view/{uid}
        ACTIONS
            sendCellNumberConfirmationMessage
            confirmCellNumberWithConfirmationToken
                cellNumber*:tel=cell_number
                token*
            putNewCellNumber
                newCellNumber*:tel=cell_number
            putNewEmailAddress
                newEmailAddress*:email=email_address
            sendEmailAddressConfirmationMessage
            confirmEmailAddressWithConfirmationToken
                emailAddress*:email=email_address
                token*
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
            editSource
                source*=source
                sourceMemo=source_memo
                sourceAt:date=source_at
                sourceDetail=source_detail
                sourceClientUid:record:client:uid,name_first
                sourceProUid:record:pro:uid,name_display
                sourceFacilityUid:record:facility:uid,name
            setIsDuplicateToTrue
                duplicateOfClientUid*:record:client:uid,name_first
            setIsDuplicateToFalse
            editName
                namePrefix=name_prefix
                nameFirst*=name_first
                nameMiddle=name_middle
                nameLast*=name_last
                nameSuffix=name_suffix
                nameCredential=name_credential
                nameNickname=name_nickname
                nameMaiden=name_maiden
                namePrevious=name_previous
            editDob
                dob:date=dob
            editDemographics
                sex:select:M,F=sex
                genderIdentity=gender_identity
                sexualOrientation=sexual_orientation
                isSexuallyActive:select:YES,NO,UKNOWN=is_sexually_active
                sexuallyActiveMemo=sexually_active_memo
                maritalStatus=marital_status
            editSpouse
                spouseRelationshipUid:record:relationship:uid,name_first
            editIntakeDetails
                intakeText*=intake_text
                intakeDetail=intake_detail
            editResponsibleParty
                isResponsiblePartySomeoneElse:select:YES,NO,UNKNOWN=is_responsible_party_someone_else
                responsiblePartyRelationshipUid:record:relationship:uid,name_first
            editEmergencyRelationship
                emergencyRelationshipUid:record:relationship:uid,name_first
            editFamilyInfo
                motherRelationshipUid:record:relationship:uid,name_first
                motherMaidenName=mother_maiden_name
                fatherRelationshipUid:record:relationship:uid,name_first
                numberOfSiblings:number=number_of_siblings
                birthOrder:number=birth_order
                isMultipleBirthMember:select:YES,NO,UNKNOWN=is_multiple_birth_member
            editContactDetails
                phoneHome=phone_home
                phoneMobile=phone_mobile
                phoneWork=phone_work
                phoneMemo=phone_memo
                emailPersonalPrimary=email_personal_primary
                emailPersonalSecondary=email_personal_secondary
                emailWorkPrimary=email_work_primary
                emailWorkSecondary=email_work_secondary
                sendRemindersByEmail:select:YES,NO,UKNOWN=send_reminders_by_email
                sendRemindersByText:select:YES,NO,UNKNOWN=send_reminders_by_text
                sendRemindersByPhone:select:YES,NO,UNKNOWN=send_reminders_by_phone
            editAddress
                isSameAddressForHomeAndMailing*:select:YES,NO,UNKNOWN=is_same_address_for_home_and_mailing
                homeAddressLine1=home_address_line1
                homeAddressLine2=home_address_line2
                homeAddressCity=home_address_city
                homeAddressState=home_address_state
                homeAddressZip=home_address_zip
                homeAddressGeoLat:number=home_address_geo_lat
                homeAddressGeoLong:number=home_address_geo_long
                mailingAddressLine1=mailing_address_line1
                mailingAddressLine2=mailing_address_line2
                mailingAddressCity=mailing_address_city
                mailingAddressState=mailing_address_state
                mailingAddressZip=mailing_address_zip
                mailingAddressGeoLat:number=mailing_address_geo_lat
                mailingAddressGeoLong:number=mailing_address_geo_long
                hasSecondaryAddress:select:YES,NO,UNKNOWN_has_secondary_address
                reasonForSecondaryAddress=reason_for_secondary_address
                whenIsClientAtSecondaryAddress=when_is_client_at_secondary_address
                isSameSecondaryAddressForHomeAndMailing*:select:YES,NO,UNKNOWN=is_same_secondary_address_for_home_and_mailing
                secondaryHomeAddressLine1=secondary_home_address_line1
                secondaryHomeAddressLine2=secondary_home_address_line2
                secondaryHomeAddressCity=secondary_home_address_city
                secondaryHomeAddressState=secondary_home_address_state
                secondaryHomeAddressZip=secondary_home_address_zip
                secondaryHomeAddressGeoLat:number=secondary_home_address_geo_lat
                secondaryHomeAddressGeoLong:number=secondary_home_address_geo_long
                secondaryMailingAddressLine1=secondary_mailing_address_line1
                secondaryMailingAddressLine2=secondary_mailing_address_line2
                secondaryMailingAddressCity=secondary_mailing_address_city
                secondaryMailingAddressState=secondary_mailing_address_state
                secondaryMailingAddressZip=secondary_mailing_address_zip
                secondaryMailingAddressGeoLat:number=secondary_mailing_address_geo_lat
                secondaryMailingAddressGeoLong:number=secondary_mailing_address_geo_long
            editMiscDemographics
                citizenships=citizenships
                education=education
                birthCountry=birth_country
                birthState=birth_state
                birthCity=birth_city
                nationality=nationality
                religiousAffiliation=religious_affiliation
                religiousFacilityUid:record:facility:uid,name
                isOnSpecialDiet*:select:YES,NO,UNKNOWN=is_on_special_diet
                specialDietCategory=special_diet_category
                specialDietMemo=special_diet_memo
                preferredLanguage=preferred_language
                otherLanguages=other_languages
                englishLevel=english_level
                driverLicenseState=driver_license_state
                driverLicenseNumber=driver_license_number
                isHispanic*:select:YES,NO,UNKNOWN=is_hispanic
                isBlackOrAA*:select:YES,NO,UNKNOWN=is_black_oraa
                ethnicities=ethnicities
                race=race
                specificRaces=specific_races
            setIsDeceasedToTrue
                dateOfDeath:date
                timeOfDeath:time
                causeOfDeath
            setIsDeceasedToFalse
            editPharmacy
                pharmacy=pharmacy
                pharmacyFacilityUid:record:facility:uid,name
            editSsn
                ssn=ssn
            putMedicareInfo
                nameFirst*=name_first
                nameLast*=name_last
                dob*:date=dob
                mcn*=mcn
            removeMcn
            updateWebcamInfo
                hasWebcamDevice*:select:YES,NO,UNKNOWN=has_webcam_device
                webcamDevice=webcam_device
            putMcp
                mcpProUid*:record:pro:uid,name_display
            removeMcp
            updateMcpOnboardingVisitInfo
                hasMcpDoneOnboardingVisit*:select:YES,NO,UNKNOWN=has_mcp_done_onboarding_visit
                mcpOnboardingVisitDate*:date=mcp_onboarding_visit_date
                mcpOnboardingVisitNoteUid:record:note:uid,title
                reasonOnboardingVisitNoteOutsideSystem=reason_onboarding_visit_note_outside_system
            updateMcpOnboardingActiveInfo
                isMcpOnboardingActive*:select:YES,NO,UNKNOWN=is_mcp_onboarding_active
                whyIsMcpOnboardingNotActiveCategory=why_is_mcp_onboarding_not_active_category
                whyIsMcpOnboardingNotActiveMemo=why_is_mcp_onboarding_not_active_memo
            putMcpOnboardingPro
                mcpOnboardingProUid*:record:pro:uid,name_display
            removeMcpOnboardingPro
            acceptAssignmentAsMcpOnboardingPro
                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
            rejectAssignmentAsMcpOnboardingPro
                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
            updateMcpOnboardingProDecisionMemo
                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
            updateMcpOnboardingStrategy
                mcpOnboardingStrategy:select:PHONE,IN_PERSON=mcp_onboarding_strategy
            updateNextMcpOnboardingAttempt
                nextMcpOnboardingAttemptDateEst*:date=next_mcp_onboarding_attempt_date_est
                nextMcpOnboardingAttemptTimeEst*:time=next_mcp_onboarding_attempt_time_est
            putCmPro
                cmProUid*:record:pro:uid,name_display
            removeCmPro
            putRmePro
                rmeProUid*:record:pro:uid,name_display
            removeRmePro
            putRmmPro
                rmmProUid*:record:pro:uid,name_display
            removeRmmPro
            putRdPro
                rdProUid*:record:pro:uid,name_display
            removeRdPro
            updateMntEligibility
                isEligibleForMnt*:select:YES,NO,UNKNOWN=eligible_for_mnt
                numberOfMntHoursLeftThisYear:number=number_of_mnt_hours_left_this_year
            updateCmEligibility
                isEligibleForCm*:select:YES:NO:UNKNOWN=is_eligible_for_cm
                whyNotEligibleForCmCategory=why_not_eligible_for_cm_category
                whyNotEligibleForCmMemo=why_not_eligible_for_cm_memo
            setIsEnrolledInCmToFalse
                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
            setIsEnrolledInCmToTrue
                cmEnrollmentConsentMethod=cm_enrollment_consent_method
                cmEnrollmentConsentMethodMemo=cm_enrollment_consent_method_memo
                cmReason1*=cm_reason1
                cmReason2=cm_reason2
            updateCmReasons
                cmReason1*=cm_reason1
                cmReason2=cm_reason2
            updateRmReasons
                rmReason1*=rm_reason1
                rmReason2=rm_reason2
            updateCmEnrollmentConsentInfo
                cmEnrollmentConsentMethod=cm_enrollment_consent_method
                cmEnrollmentConsentMethodMemo=cm_enrollment_consent_method_memo
            updateWhyNotEnrolledInCm
                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
            updateRmEligibility
                isEligibleForRm*:select:YES:NO:UNKNOWN=is_eligible_for_rm
                whyNotEligibleForRmCategory=why_not_eligible_for_rm_category
                whyNotEligibleForRmMemo=why_not_eligible_for_rm_memo
            setIsEnrolledInRmToFalse
                whyNotEnrolledInRmCategory=why_not_enrolled_in_rm_category
                whyNotEnrolledInRmMemo=why_not_enrolled_in_rm_memo
            setIsEnrolledInRmToTrue
                rmReason1*=rm_reason1
                rmReason2=rm_reason2
            updateWhyNotEnrolledInRm
                whyNotEnrolledInRmCategory=why_not_enrolled_in_rm_category
                whyNotEnrolledInRmMemo=why_not_enrolled_in_rm_memo
            updateEquipmentInfo
                isEquipmentAwaitingSetup*:select:YES,NO,UNKNOWN=is_equipment_awaiting_setup
                whatEquipmentIsAwaitingSetup:text=what_equipment_is_awaiting_setup
                isEquipmentSetupCompleted*:select:YES,NO,UNKNOWN=is_equipment_setup_completed
                whatEquipmentSetupIsCompleted:text=what_equipment_setup_is_completed
                isEquipmentServiceNeeded*:select:YES,NO,UNKNOWN=is_equipment_service_needed
                whatEquipmentServiceIsNeeded:text=what_equipment_service_is_needed
        SUB
            dashboard:custom
            detail:dashboard
                !grp:Source:source,source_memo,source_at,source_detail,source_client_id,source_pro_id,source_facility_id:Update source:circle=>/clients/view/$uid/ACTION_editSource
                !grp:Duplicate:is_duplicate,duplicate_of_client_id
                !grp:Name:name_prefix,name_first,name_middle,name_last,name_suffix,name_credential,name_nickname,name_maiden,name_previous:Edit name:circle=>/clients/view/$uid/ACTION_editName
                !grp:Dob:dob:Edit DOB:circle=>/clients/view/$uid/ACTION_editDob
                !grp:Demographics:sex,gender_identity,sexual_orientation,is_sexually_active,sexually_active_memo,marital_status:Edit demographics:circle=>/clients/view/$uid/ACTION_editDemographics
                !grp:Spouse:spouse_relationship_id:Edit spouse:circle=>/clients/view/$uid/ACTION_editSpouse
                !grp:Intake:intake_text,intake_detail:Edit intake details:circle=>/clients/view/$uid/ACTION_editIntakeDetails
                !grp:Responsible party:is_responsible_party_someone_else,responsible_party_relationship_id:Edit responsible party:circle=>/clients/view/$uid/ACTION_editResponsibleParty
                !grp:Emergency relationship:emergency_relationship_id:Edit emergency relationship:circle=>/clients/view/$uid/ACTION_editEmergencyRelationship
                !grp:Family:mother_relationship_id,mother_maiden_name,father_relationship_id,number_of_siblings,birth_order,is_multiple_birth_member:Edit family info:circle=>/clients/view/$uid/ACTION_editFamilyInfo
                !grp:Contact details:phone_home,phone_mobile,phone_work,phone_memo,email_personal_primary,email_personal_secondary,email_work_primary,email_work_secondary,send_reminders_by_email,send_reminders_by_text,send_reminders_by_phone:Edit contact details:circle=>/clients/view/$uid/ACTION_editContactDetails
                !grp:Cell number:cell_number,is_cell_number_confirmation_pending ,cell_number_confirmation_token,is_cell_number_confirmed ,cell_number_confirmed_at:Put new cell number:circle=>/clients/view/$uid/ACTION_putNewCellNumber
                !grp:Email Address:email_address,is_email_address_confirmation_pending,email_address_confirmation_token,is_email_address_confirmed,email_address_confirmed_at:Put new email address:circle=>/clients/view/$uid/ACTION_putNewEmailAddress
                !grp:Credentials:username
                !grp:Address:is_same_address_for_home_and_mailing,home_address_line1,home_address_line2,home_address_city,home_address_state,home_address_zip,home_address_geo_lat,home_address_geo_long,mailing_address_line1,mailing_address_line2,mailing_address_city,mailing_address_state,mailing_address_zip,mailing_address_geo_lat,mailing_address_geo_long,has_secondary_address,reason_for_secondary_address,when_is_client_at_secondary_address,is_same_secondary_address_for_home_and_mailing,secondary_home_address_line1,secondary_home_address_line2,secondary_home_address_city,secondary_home_address_state,secondary_home_address_zip,secondary_home_address_geo_lat,secondary_home_address_geo_long,secondary_mailing_address_line1,secondary_mailing_address_line2,secondary_mailing_address_city,secondary_mailing_address_state,secondary_mailing_address_zip,secondary_mailing_address_geo_lat,secondary_mailing_address_geo_long:Edit address:circle=>/clients/view/$uid/ACTION_editAddress
                !grp:Misc. Demographics:citizenships,education,birth_country,birth_state,birth_city,nationality,religious_affiliation,religious_facility_id,is_on_special_diet,special_diet_category,special_diet_memo,preferred_language,other_languages,english_level,driver_license_state,driver_license_number,is_hispanic,is_black_oraa,ethnicities,race,specific_races:Update misc. demographics:circle=>/clients/view/$uid/ACTION_editMiscDemographics
                !grp:Deceased:is_deceased,date_and_time_of_death,cause_of_death
                !grp:Pharmacy:pharmacy,pharmacy_facility_id:Edit pharmancy:circle=>/clients/view/$uid/ACTION_editPharmacy
                !grp:SSN:ssn:Edit SSN:circle=>/clients/view/$uid/ACTION_editSsn
                !grp:MCN:mcn,was_medicare_validation_successful,is_mcn_valid_number,mcn_address_street_line1,mcn_address_street_line2,mcn_address_city,mcn_address_state,mcn_address_zip,is_part_b_primary,is_hospice,mcn_response_detail,billing_address,reason_not_partb,reason_not_partbmemo,is_medicare_advantage,medicare_advantage_plan,mcn_reject_reason_code,mcn_reject_reason_description,mcn_follow_up_action_code,mcn_follow_up_action_description,mcn_error_details:Put MSN:circle=>/clients/view/$uid/ACTION_putMedicareInfo
                !grp:Webcam:has_webcam_device,webcam_device:Update webcam info:circle=>/clients/view/$uid/ACTION_updateWebcamInfo
                !grp:MCP:mcp_pro_id:Put MCP:circle=>/clients/view/$uid/ACTION_putMcp
                !grp:MCP Visit:has_mcp_done_onboarding_visit,mcp_onboarding_visit_date,mcp_onboarding_visit_note_id,reason_onboarding_visit_note_outside_system,is_mcp_onboarding_active,why_is_mcp_onboarding_not_active_category,why_is_mcp_onboarding_not_active_memo:Update source:circle=>/clients/view/$uid/ACTION_updateMcpOnboardingVisitInfo
                !grp:MCP Onboarding Pro:mcp_onboarding_pro_id,has_mcp_onboarding_pro_accepted_assignment,mcp_onboarding_pro_decision_to_accept_assignment_at,mcp_onboarding_pro_decision_memo
                !grp:Onboarding Strategy:mcp_onboarding_strategy,next_mcp_onboarding_attempt_date_est,next_mcp_onboarding_attempt_time_est,number_of_mcp_onboarding_phone_calls,number_of_mcp_onboarding_in_person_visits
                !grp:Other Key Pros:cm_pro_id,rme_pro_id,rmm_pro_id,rd_pro_id
                !grp:MNT Eligibility:eligible_for_mnt,number_of_mnt_hours_left_this_year:Update MNT Eligibility:circle=>/clients/view/$uid/ACTION_updateMntEligibility
                !grp:CM Enrollment:is_eligible_for_cm,why_not_eligible_for_cm_category,why_not_eligible_for_cm_memo,is_enrolled_in_cm,cm_reason1,cm_reason2,cm_enrollment_consent_method,cm_enrollment_consent_method_memo,why_not_enrolled_in_cm_category,why_not_enrolled_in_cm_memo:Update CM Eligibility:circle=>/clients/view/$uid/ACTION_updateCmEligibility
                !grp:RM Enrollment:is_eligible_for_rm,why_not_eligible_for_rm_category,why_not_eligible_for_rm_memo,is_enrolled_in_rm,rm_reason1,rm_reason2,why_not_enrolled_in_rm_category,why_not_enrolled_in_rm_memo:Update why not enrolled in RM:circle=>/clients/view/$uid/ACTION_updateRmEligibility
                !grp:Equipment:is_equipment_awaiting_setup,what_equipment_is_awaiting_setup,is_equipment_setup_completed,what_equipment_setup_is_completed,is_equipment_service_needed,what_equipment_service_is_needed:Update equipment info:circle=>/clients/view/$uid/ACTION_updateEquipmentInfo
                !act:is_duplicate:Set as duplicate of:circle:if-not:is_duplicate=>/clients/view/$uid/ACTION_setIsDuplicateToTrue
                !act:is_duplicate:Set as not duplicate:circle:if:is_duplicate=>/clients/view/$uid/ACTION_setIsDuplicateToFalse
                !act:is_deceased:setIsDeseasedToTrue:circle=>/clients/view/$uid/ACTION_setIsDeceasedToTrue
                !act:is_deceased:setIsDeseasedToFalse:circle=>/clients/view/$uid/ACTION_setIsDeceasedToFalse
                !act:cell_number:sendCellNumberConfirmationMessage:circle=>/clients/view/$uid/ACTION_sendCellNumberConfirmationMessage
                !act:is_cell_number_confirmation_pending:confirmCellNumberWithConfirmationToken:circle=>/clients/view/$uid/ACTION_confirmCellNumberWithConfirmationToken
                !act:email_address:sendEmailAddressConfirmationMessage:circle=>/clients/view/$uid/ACTION_sendEmailAddressConfirmationMessage
                !act:email_address:confirmEmailAddressWithConfirmationToken:circle=>/clients/view/$uid/ACTION_confirmEmailAddressWithConfirmationToken
                !act:mcn:removeMcn:circle=>/clients/view/$uid/ACTION_removeMcn
                !act:mcp_pro_id:putMcp:circle=>/clients/view/$uid/ACTION_putMcp
                !act:mcp_pro_id:removeMcp:circle=>/clients/view/$uid/ACTION_removeMcp
                !act:mcp_onboarding_pro_id:putMcpOnboardingPro:circle=>/clients/view/$uid/ACTION_putMcpOnboardingPro
                !act:mcp_onboarding_pro_id:removeMcpOnboardingPro:circle=>/clients/view/$uid/ACTION_removeMcpOnboardingPro
                !act:has_mcp_onboarding_pro_accepted_assignment:acceptAssignmentAsMcpOnboardingPro:circle=>/clients/view/$uid/ACTION_acceptAssignmentAsMcpOnboardingPro
                !act:has_mcp_onboarding_pro_accepted_assignment:rejectAssignmentAsMcpOnboardingPro:circle=>/clients/view/$uid/ACTION_rejectAssignmentAsMcpOnboardingPro
                !act:mcp_onboarding_pro_decision_memo:updateMcpOnboardingProDecisionMemo:circle=>/clients/view/$uid/ACTION_updateMcpOnboardingProDecisionMemo
                !act:cm_pro_id:putCmPro:circle=>/clients/view/$uid/ACTION_putCmPro
                !act:cm_pro_id:removeCmPro:circle=>/clients/view/$uid/ACTION_removeCmPro
                !act:rme_pro_id:putRmePro:circle=>/clients/view/$uid/ACTION_putRmePro
                !act:rme_pro_id:removeRmePro:circle=>/clients/view/$uid/ACTION_removeRmePro
                !act:rmm_pro_id:putRmmPro:circle=>/clients/view/$uid/ACTION_putRmmPro
                !act:rmm_pro_id:removeRmmPro:circle=>/clients/view/$uid/ACTION_removeRmmPro
                !act:rd_pro_id:putRdPro:circle=>/clients/view/$uid/ACTION_putRdPro
                !act:rd_pro_id:removeRdPro:circle=>/clients/view/$uid/ACTION_removeRdPro
                !act:eligible_for_mnt:updateMntEligibility:circle=>/clients/view/$uid/ACTION_updateMntEligibility
                !act:eligible_for_cm:updateCmEligibility:circle=>/clients/view/$uid/ACTION_updateCmEligibility
                !act:is_enrolled_in_cm:setIsEnrolledInCmToFalse:circle=>/clients/view/$uid/ACTION_setIsEnrolledInCmToFalse
                !act:is_enrolled_in_cm:setIsEnrolledInCmToTrue:circle=>/clients/view/$uid/ACTION_setIsEnrolledInCmToTrue
                !act:cm_reason1:updateCmReasons:circle=>/clients/view/$uid/ACTION_updateCmReasons
                !act:cm_enrollment_consent_method:updateCmEnrollmentConsentInfo:circle=>/clients/view/$uid/ACTION_updateCmEnrollmentConsentInfo
                !act:cm_enrollment_consent_method:updateWhyNotEnrolledInCm:circle=>/clients/view/$uid/ACTION_updateWhyNotEnrolledInCm
                !act:is_eligible_for_rm:updateRmEligibility:circle=>/clients/view/$uid/ACTION_updateRmEligibility
                !act:is_enrolled_in_rm:setIsEnrolledInRmToFalse:circle=>/clients/view/$uid/ACTION_setIsEnrolledInRmToFalse
                !act:is_enrolled_in_rm:setIsEnrolledInRmToTrue:circle=>/clients/view/$uid/ACTION_setIsEnrolledInRmToTrue
                !act:rm_reason1:updateRmReasons:circle=>/clients/view/$uid/ACTION_updateRmReasons
                !act:why_not_enrolled_in_rm_category:updateWhyNotEnrolledInRm:circle=>/clients/view/$uid/ACTION_updateWhyNotEnrolledInRm
                !act:is_mcp_onboarding_active:updateMcpOnboardingActiveInfo:circle=>/clients/view/$uid/ACTION_updateMcpOnboardingActiveInfo
                !act:is_mcp_onboarding_strategy:updateMcpOnboardingActiveInfo:circle=>/clients/view/$uid/ACTION_updateMcpOnboardingStrategy
                !act:next_mcp_onboarding_attempt_date_est:updateNextMcpOnboardingAttempt:circle=>/clients/view/$uid/ACTION_updateNextMcpOnboardingAttempt
                !qry:clients:select id, concat(name_first, ' ', name_last) as name_display from client
                !qry:pros:select id, name_display from pro
                !qry:facilities:select id, name from facility
                !qry:relationships:select id, concat(name_first, ' - ', relationship_to_client) as name_display from relationship
                !col:source_client_id:Source Client:~clients:name_display:id,=,$source_client_id:all
                !col:source_pro_id:Source Pro:~pros:name_display:id,=,$source_pro_id:all
                !col:source_facility_id:Source Facility:~facilities:name:id,=,$source_facility_id:all
                !col:duplicate_of_client_id:Duplicate of Client:~clients:name_display:id,=,$duplicate_of_client_id:all
                !col:dob:Date of Birth
                !col:spouse_relationship_id:Spouse Relationship:~relationships:name_display:id,=,$spouse_relationship_id:all
                !col:responsible_party_relationship_id:Responsible Party Relationship:~relationships:name_display:id,=,$responsible_party_relationship_id:all
                !col:emergency_relationship_id:Emergency Relationship:~relationships:name_display:id,=,$emergency_relationship_id:all
                !col:mother_relationship_id:Mother Relationship:~relationships:name_display:id,=,$mother_relationship_id:all
                !col:father_relationship_id:Father Relationship:~relationships:name_display:id,=,$father_relationship_id:all
                !col:pharmacy_facility_id:Pharmacy Facility:~facilities:name:id,=,$pharmacy_facility_id:all
                !col:mcp_pro_id:MCP Pro:~pros:name_display:id,=,$mcp_pro_id:all
                !col:mcp_onboarding_pro_id:MCP Pro:~pros:name_display:id,=,$mcp_onboarding_pro_id:all
                !col:cm_pro_id:CM Pro:~pros:name_display:id,=,$cm_pro_id:all
                !col:rme_pro_id:RME Pro:~pros:name_display:id,=,$rme_pro_id:all
                !col:rmm_pro_id:RMM Pro:~pros:name_display:id,=,$rmm_pro_id:all
                !col:rd_pro_id:RD Pro:~pros:name_display:id,=,$rd_pro_id:all
                !nal:
            measurements
                id=measurement.client_id=>/measurements/view/UID
                !inc:label,value,effective_date
                add_new:measurement=>/measurements/view/UID
                    clientUid:hidden=uid
                    label
                    value:number
                    effectiveDate:date
            med_profile
                id=client_info_line.client_id=>/med_profiles/view/UID
                !inc:id,category,content_text,content_detail
                add_new:client_info_line=>/med_profile_lines/view/UID
                    clientUid:hidden=uid
                    category
                    contentText
                    contentDetail
            med_profile_log
                id=client_info_line_update.client_id=>/med_profiles/view/UID
                !inc:id,category,content_text,content_detail
            pro_access
                id=client_pro_access.client_id=>/client_pro_access/view/UID
                add_new:client_pro_access=>/client_pro_access/view/UID
                    clientUid:hidden=uid
                    proUid:record:pro:uid,name_display
                    reasonCategory
                    reasonMemo
                    reasonDetail
            notes
                id=note.client_id=>/notes/view/UID
                !inc:uid,title
                add_new:note=>/notes/view/UID
                    clientUid:hidden=uid
                    hcpProUid:record:pro:uid,name_display
                    title
                    effectiveDateEST:date
                    effectiveTime:time
                    reason1
                    reason2
                    reason3
                    reason3Plus
                    serviceLocation
                    category
                    contentText
                    contentDetail
            relationships
                id=relationship.client_id=>/relationships/view/UID
                !inc:name_first,name_middle,name_last,email_address
                add_new:relationship=>/relationships/view/UID
                    clientUid:hidden=uid
                    relationshipToClient
                    relationshipMemo
                    namePrefix
                    nameFirst
                    nameMiddle
                    nameLast
                    nameSuffix
                    nameMaiden
                    namePrevious
                    organizationName
                    phoneHome
                    phoneMobile
                    phoneWork
                    phoneMemo
                    homeAddress
                    mailingAddress
                    emailAddress
                    isHispanic:select:YES,NO,UNKNOWN
                    isBlackOrAA:select:YES,NO,UNKNOWN
                    ethnicities
                    race
                    specificRaces
                    preferredLanguage
                    otherLanguages
                    englishLevel
                    contactClientUid:record:client:uid,name_first
            care_months
                id=care_month.client_id=>/care_months/view/UID
                add_new:care_month
                    clientUid:hidden=uid
                    startMonth:number
                    startYear:number
            care_month_entries
                id=care_month_entry.client_id=>/care_month_entries/view/UID
                !qry:pros:SELECT id, name_display FROM pro
                !col:pro_id:Pro:~pros:name_display:id,=,$pro_id:all
            bills
                id=bill.client_id=>/bills/view/UID
            related_transactions
                id=pro_transaction.client_id=>/transactions/view/UID
            action_items
                id=action_item.client_id=>/action_items/view/UID
                add_new:action_item
                    clientUid:hidden=uid
                    prescriberProUid:record:pro:uid,name_display
                    toFacilityUid:record:facility:uid,name
                    contentText
                    contentDetail
            erx
                id=action_item.client_id,action_item_category='RX'=>/action_items/view/UID
                add_new_erx:action_item
                    clientUid:hidden=uid
                    prescriberProUid:record:pro:uid,name_display
                    toFacilityUid:record:facility:uid,name
                    contentText
                    contentDetail
            mcp_updates
                id=client_mcp_update.client_id
            client_sms
                id=client_sms.client_id
                !inc:id,from_number, to_number, body, created_at
            client_sms_numbers
                id=client_sms_number.client_id
                !inc:id,sms_number
            client_documents
                id=client_document.client_id=>/client_documents/view/UID
                !inc:id,title,category,status,effective_date,provider,notes,file_name
                add_new:client_document
                    clientUid:hidden=uid
                    title
                    category
                    status
                    effectiveDate:date
                    provider
                    notes
                    file:file
            audit_log
    notes|note|view|icon:file-alt
        !inc:effective_dateest,client_id,hcp_pro_id,reasons,is_signed_by_hcp,billed
        !qry:pros:SELECT id, concat(name_last, ', ', name_first) as name_display FROM pro
        !qry:clients:SELECT id, concat(name_last, ', ', name_first) as name_display FROM client
        !qry:reasons:SELECT id, concat(reason1, reason2) as result FROM note
        !col:effective_dateest:Date
        !col:client_id:Client:~clients:name_display:id,=,$client_id:all
        !col:hcp_pro_id:HCP:~pros:name_display:id,=,$hcp_pro_id:all
        !col:reasons:Reason(s):~reasons:result:id,=,$id:all
        !col:service_location:Location
        !col:category:Category
        !col:content_text:Content
        !col:is_signed_by_hcp:HCP Signed?
        !col:billed:Billed?:SELECT '-- TODO --' as result
    notes/view/{uid}
        ACTIONS
            signAsHcp
        SUB
            dashboard
            bills
                id=bill.note_id=>/bills/view/UID
                add_new:bill:createForNote
                    noteUid:hidden=uid
                    effectiveDate:date
                    code
                    reason1
                    reason2
                    reason3
                    reason3Plus
                    serviceLocation
                    modifier
                    numberOfUnits:number
            sections
                id=section.note_id=>/sections/view/UID
                !inc:summary_html,content_data
    relationships|relationship|view|icon:file-alt
        !inc:id,name_first,name_last,name_maiden,name_middle,name_prefix,name_previous,name_suffix
    relationships/view/{uid}
        ACTIONS
            updateBasic
                relationshipToClient
	            relationshipMemo
	            namePrefix
	            nameFirst
	            nameMiddle
	            nameLast
	            nameSuffix
	            nameMaiden
	            namePrevious
	            organizationName
	            phoneHome
	            phoneMobile
	            phoneWork
	            phoneMemo
	            homeAddress
	            mailingAddress
	            emailAddress
	            isHispanic:select:YES,NO,UNKNOWN
	            isBlackOrAA:select:YES,NO,UNKNOWN
	            ethnicities
	            race
	            specificRaces
	            preferredLanguage
	            otherLanguages
	            englishLevel
	            contactClientUid:record:client:uid,name_first
        SUB
            dashboard
                !grp:Relationship details:id,created_at,is_active,reactivated_at,reactivation_memo,email_address,english_level,ethnicities,home_address,is_black_oraa,is_hispanic,mailing_address,name_first,name_last,name_maiden,name_middle,name_prefix,name_previous,name_suffix,organization_name,other_languages,phone_home,phone_memo,phone_mobile,phone_work,preferred_language,race,relationship_memo,relationship_to_client,specific_races,created_by_session_id,deactivated_by_session_id,reactivated_by_session_id,client_id,contact_client_id_id,contact_client_id
    measurements|measurement|view|icon:file-alt
        !inc:id,client_id,label,value,effective_date
        !qry:clients:select id, concat(name_first, ' ', name_last) as name_display from client
        !col:client_id:Client:~clients:name_display:id,=,$client_id:all
    measurements/view/{uid}
        ACTIONS
            updateBasic
                label=label
                value:number=value
                effectiveDate:date=effective_date
            remove
        SUB
            dashboard
                !qry:clients:select id, concat(name_first, ' ', name_last) as name_display from client
                !grp:Measurement details:client_id,label,value,effective_date,is_removed
                !col:client_id:Client:~clients:name_display:id,=,$client_id:all
    erx|action_item:action_item_category='RX'|view|icon:file-signature
    erx/view/{uid}
        ACTIONS
            signAsPrescriber
            updateToFacility
                toFacilityUid:record:facility:uid,name
            updateContent
                contentText=content_text
                contentDetail=content_detail
            updateStatus
                statusCategory:select:OPEN,CLOSED
                statusMemo
            efax
                toFaxNumber:tel
        SUB
            dashboard
            audit_log
    action_items|action_item|view|icon:tasks
    action_items/view/{uid}
        ACTIONS
            signAsPrescriber
            updateToFacility
                toFacilityUid:record:facility:uid,name
            updateContent
                contentText=content_text
                contentDetail=content_detail
            updateStatus
                statusCategory:select:OPEN,CLOSED
                statusMemo
            efax
                toFaxNumber:tel
        SUB
            dashboard
            audit_log
    care_months|care_month|view|icon:calendar-plus
    care_months/view/{uid}
        ACTIONS
            assignMcpPro
                mcpProUid:record:pro:uid,name_display
            changeMcpPro
                mcpProUid:record:pro:uid,name_display
            removeMcpPro:if:mcp_pro_id
            assignCmPro
                cmProUid:record:pro:uid,name_display
            changeCmPro
                cmProUid:record:pro:uid,name_display
            removeCmPro:if:cm_pro_id
            assignRmePro
                rmeProUid:record:pro:uid,name_display
            changeRmePro
                rmeProUid:record:pro:uid,name_display
            removeRmePro:if:rme_pro_id
            assignRmmPro
                rmmProUid:record:pro:uid,name_display
            changeRmmPro
                rmmProUid:record:pro:uid,name_display
            removeRmmPro:if:rmm_pro_id
            updateCmReasons
                cmReason1*
                cmReason2
            updateRmReasons
                rmReason1*
                rmReason2
            setIsClientEnrolledInCmToTrue
            setIsClientEnrolledInCmToFalse
            updateWhyNotEnrolledInCm
                whyNotEnrolledInCmCategory
                whyNotEnrolledInCmMemo
            setIsClientEnrolledInRmToTrue
            setIsClientEnrolledInRmToFalse
            updateWhyNotEnrolledInRm
                whyNotEnrolledInRmCategory
                whyNotEnrolledInRmMemo
            generateBillForCm
                cmCode:select:CM20,CM30_HCP,CM60,CM90
            generateBillForRm
                rmCode:select:RM1,RM20,RM30,RM60
            setIsCmCanceledThisMonthToTrue
            updateWhyIsCmCanceledThisMonth
            setIsCmCanceledThisMonthToFalse
            setIsRmCanceledThisMonthToTrue
            updateWhyIsRmCanceledThisMonth
            setIsRmCanceledThisMonthToFalse
            setIsTmThisMonthToTrue
            setIsTmThisMonthToFalse
        SUB
            dashboard
                !qry:clients:select id, concat(name_first, ' ', name_last) as name_display from client
                !qry:pros:SELECT id, name_display FROM pro
                !grp:Info:client_id,start_date
                !grp:Pros:mcp_pro_id,cm_pro_id,rme_pro_id,rmm_pro_id,has_mcp_done_em_visit
                !grp:Reasons:cm_reason1,cm_reason2,rm_reason1,rm_reason2
                !grp:CM Enrollment:is_client_enrolled_in_cm,why_not_enrolled_in_cm_category,why_not_enrolled_in_cm_memo:Update why not enrolled in CM:circle=>/care_months/view/$uid/ACTION_updateWhyNotEnrolledInCm
                !grp:RM Enrollment:is_client_enrolled_in_rm,why_not_enrolled_in_rm_category,why_not_enrolled_in_rm_memo:Update why not enrolled in RM:circle=>/care_months/view/$uid/ACTION_updateWhyNotEnrolledInRm
                !grp:CM Total Time:cm_total_time_in_seconds,cm_total_time_in_seconds_by_mcp,cm_total_time_in_seconds_by_cm_pro
                !grp:RM Total Time:rm_total_time_in_seconds,rm_total_time_in_seconds_by_mcp,rm_total_time_in_seconds_by_rmm_pro,rm_total_time_in_seconds_by_rme_pro
                !grp:Bills:cm_bill_id,rm_bill_id
                !grp:CM Cancellation:is_cm_canceled_this_month,why_is_cm_canceled_this_month
                !grp:RM Cancellation:is_rm_canceled_this_month,why_is_rm_canceled_this_month
                !grp:TM:is_tm_this_month
                !col:client_id:Client:~clients:name_display:id,=,$client_id:all
                !col:mcp_pro_id:MCP:~pros:name_display:id,=,$mcp_pro_id:all
                !col:cm_pro_id:CM:~pros:name_display:id,=,$cm_pro_id:all
                !col:rmm_pro_id:RMM:~pros:name_display:id,=,$rmm_pro_id:all
                !col:rme_pro_id:RME:~pros:name_display:id,=,$rme_pro_id:all
                !act:mcp_pro_id:assignMcpPro:circle:if-not:mcp_pro_id=>/care_months/view/$uid/ACTION_assignMcpPro
                !act:mcp_pro_id:changeMcpPro:circle:if:mcp_pro_id=>/care_months/view/$uid/ACTION_changeMcpPro
                !act:mcp_pro_id:removeMcpPro:circle:if:mcp_pro_id=>/care_months/view/$uid/ACTION_removeMcpPro
                !act:cm_pro_id:assignCmPro:circle:if-not:cm_pro_id=>/care_months/view/$uid/ACTION_assignCmPro
                !act:cm_pro_id:changeCmPro:circle:if:cm_pro_id=>/care_months/view/$uid/ACTION_changeCmPro
                !act:cm_pro_id:removeCmPro:circle:if:cm_pro_id=>/care_months/view/$uid/ACTION_removeCmPro
                !act:rmm_pro_id:assignRmmPro:circle:if-not:rmm_pro_id=>/care_months/view/$uid/ACTION_assignRmmPro
                !act:rmm_pro_id:changeRmmPro:circle:if:rmm_pro_id=>/care_months/view/$uid/ACTION_changeRmmPro
                !act:rmm_pro_id:removeRmmPro:circle:if:rmm_pro_id=>/care_months/view/$uid/ACTION_removeRmmPro
                !act:rme_pro_id:assignRmePro:circle:if-not:rmm_pro_id=>/care_months/view/$uid/ACTION_assignRmePro
                !act:rme_pro_id:changeRmePro:circle:if:rmm_pro_id=>/care_months/view/$uid/ACTION_changeRmePro
                !act:rme_pro_id:removeRmePro:circle:if:rmm_pro_id=>/care_months/view/$uid/ACTION_removeRmePro
                !act:is_client_enrolled_in_cm:setIsClientEnrolledInCmToFalse:circle=>/care_months/view/$uid/ACTION_setIsClientEnrolledInCmToFalse
                !act:is_client_enrolled_in_cm:setIsClientEnrolledInCmToTrue:circle=>/care_months/view/$uid/ACTION_setIsClientEnrolledInCmToTrue
                !act:is_client_enrolled_in_rm:setIsClientEnrolledInRmToFalse:circle=>/care_months/view/$uid/ACTION_setIsClientEnrolledInRmToFalse
                !act:is_client_enrolled_in_rm:setIsClientEnrolledInRmToTrue:circle=>/care_months/view/$uid/ACTION_setIsClientEnrolledInRmToTrue
                !act:cm_bill_id:generateBillForCm:circle=>/care_months/view/$uid/ACTION_generateBillForCm
                !act:rm_bill_id:generateBillForRm:circle=>/care_months/view/$uid/ACTION_generateBillForRm
                !act:is_cm_canceled_this_month:setCmCancelledThisMonthToTrue:circle=>/care_months/view/$uid/ACTION_setIsCmCanceledThisMonthToTrue
                !act:is_cm_canceled_this_month:setCmCancelledThisMonthToFalse:circle=>/care_months/view/$uid/ACTION_setIsCmCanceledThisMonthToFalse
                !act:is_rm_canceled_this_month:setRmCancelledThisMonthToTrue:circle=>/care_months/view/$uid/ACTION_setIsRmCanceledThisMonthToTrue
                !act:is_rm_canceled_this_month:setRmCancelledThisMonthToFalse:circle=>/care_months/view/$uid/ACTION_setIsRmCanceledThisMonthToFalse
                !act:is_tm_this_month:setIsTmThisMonthToTrue:circle=>/care_months/view/$uid/ACTION_setIsTmThisMonthToTrue
                !act:is_tm_this_month:setIsTmThisMonthToFalse:circle=>/care_months/view/$uid/ACTION_setIsTmThisMonthToFalse
                !act:cm_reason1:updateCmReasons:circle=>/care_months/view/$uid/ACTION_updateCmReasons
                !act:rm_reason1:updateRmReasons:circle=>/care_months/view/$uid/ACTION_updateRmReasons
                !nal:
# :: need remove
            cm_time_entries
                id=care_month_entry.care_month_id,cm_or_rm='CM'=>/care_month_entries/view/UID
                !inc:content_text,content_detail,time_in_seconds
                add_new:care_month_entry:createForCm
                    careMonthUid:hidden=uid
                    proUid:record:pro:uid,name_display
                    effectiveDate:date
                    timeInSeconds:number
                    isTimeSpecific:bool
                    startingTime:time
                    endingTime:time
                    contentText
                    contentDetail
# :: need remove
            rm_time_entries
                id=care_month_entry.care_month_id,cm_or_rm='RM'=>/care_month_entries/view/UID
                add_new:care_month_entry:createForRm
                    careMonthUid:hidden=uid
                    proUid:record:pro:uid,name_display
                    effectiveDate:date
                    timeInSeconds:number
                    isTimeSpecific:bool
                    startingTime:time
                    endingTime:time
                    contentText
                    contentDetail
            bills
                id=bill.care_month_id=>/bills/view/UID
            audit_log
    care_month_entries|care_month_entry|view|icon:calendar-alt
        !qry:pros:SELECT id, name_display FROM pro
        !col:pro_id:Pro:~pros:name_display:id,=,$pro_id:all
    care_month_entries/view/{uid}
        ACTIONS
            updateContent
                contentText
                contentDetail
            updateTiming
                effectiveDate:date
                timeInSeconds:number
                isTimeSpecific:bool
                startingTime:time
                endingTime:time
            remove
        SUB
            dashboard
                !qry:clients:select id, concat(name_first, ' ', name_last) as name_display from client
                !qry:pros:select id, name_display from pro
                !grp:Info:cm_or_rm,client_id ,pro_id
                !grp:Time:effective_date,time_in_seconds ,is_time_specific,starting_time,ending_time:Update timing:circle=>/care_month_entries/view/$uid/ACTION_updateTiming
                !grp:Achieved time(s):achieved_cm_pro_time_in_seconds,achieved_mcp_time_in_seconds,achieved_rme_pro_time_in_seconds,achieved_rmm_pro_time_in_seconds,achieved_total_time_in_seconds
                !grp:Content:content_detail,content_text:Update content:circle=>/care_month_entries/view/$uid/ACTION_updateContent
                !grp:Removed:is_removed,removal_memo,removed_at:Remove:circle=>/care_month_entries/view/$uid/ACTION_remove
                !col:client_id:Client:~clients:name_display:id,=,$client_id:all
                !col:pro_id:Pro:~pros:name_display:id,=,$pro_id:all
                !nal:
    bills|bill|view|icon:file-invoice-dollar
        !inc:created_at,bill_service_type,cm_or_rm,is_cancelled,is_submitted,code
    bills/view/{uid}
        ACTIONS
            payHcpAmount
                hcpPaymentAmount:number=hcp_expected_payment_amount
            payHcpDifferentAmount
                differentHcpPaymentAmount:number
            payCmAmount
                cmPaymentAmount:number
            payCmDifferentAmount
                differentCmPaymentAmount:number
            payRmeAmount
                rmePaymentAmount:number
            payRmeDifferentAmount
                differentRmePaymentAmount:number
            payRmmAmount
                rmmPaymentAmount:number
            payRmmDifferentAmount
                differentRmmPaymentAmount:number
            signAsHcp
            signAsCm
            signAsRme
            signAsRmm
            markSubmitted
            markCancelled
            putCollectedAmount
                collectedAmount
        SUB
            dashboard
                !grp:Info:bill_service_type,client_id,effective_date,code,modifier,number_of_units
                !grp:Note:note_id,note_ally_id
                !grp:Care Month:care_month_id
                !grp:Pros:cm_or_rm,hcp_pro_id,cm_pro_id,rme_pro_id,rmm_pro_id
                !grp:Service Location:service_location
                !grp:Reasons:reason1,reason2,reason3
                !grp:HCP Signature:is_signed_by_hcp,signed_by_hcp_at:Sign as HCP:circle=>/bills/view/$uid/ACTION_signAsHcp
                !grp:CM Signature:is_signed_by_cm,signed_by_cm_at:Sign as CM:circle=>/bills/view/$uid/ACTION_signAsCm
                !grp:RME Signature:is_signed_by_rme,signed_by_rme_at:Sign as RME:circle=>/bills/view/$uid/ACTION_signAsRme
                !grp:RMM Signature:is_signed_by_rmm,signed_by_rmm_at:Sign as RMM:circle=>/bills/view/$uid/ACTION_signAsRmm
                !grp:HCP Payment:hcp_expected_payment_amount,has_hcp_been_paid,hcp_payment_amount,hcp_payment_pro_transaction_id
                !grp:CM Payment:cm_expected_payment_amount  ,has_cm_been_paid,cm_payment_amount,cm_payment_pro_transaction_id
                !grp:RME Payment:rme_expected_payment_amount,has_rme_been_paid,rme_payment_amount,rme_payment_pro_transaction_id
                !grp:RMM Payment:rmm_expected_payment_amount,has_rmm_been_paid,rmm_payment_amount,rmm_payment_pro_transaction_id
                !grp:Cancelled?:is_cancelled,marked_cancelled_at:Cancel:circle=>/bills/view/$uid/ACTION_markCancelled
                !grp:Submitted?:is_submitted,marked_submitted_at:Submit:circle=>/bills/view/$uid/ACTION_markSubmitted
                !grp:Collected Amount:collected_amount:Put collected amount:circle=>/bills/view/$uid/ACTION_putCollectedAmount
                !act:has_hcp_been_paid:Pay HCP Amount:circle=>/bills/view/$uid/ACTION_payHcpAmount
                !act:has_hcp_been_paid:Pay HCP Different Amount:circle=>/bills/view/$uid/ACTION_payHcpDifferentAmount
                !act:has_cm_been_paid:Pay CM Amount:circle=>/bills/view/$uid/ACTION_payCmAmount
                !act:has_cm_been_paid:Pay CM Different Amount:circle=>/bills/view/$uid/ACTION_payCmDifferentAmount
                !act:has_rmm_been_paid:Pay RMM Amount:circle=>/bills/view/$uid/ACTION_payRmmAmount
                !act:has_rmm_been_paid:Pay RMM Different Amount:circle=>/bills/view/$uid/ACTION_payRmmDifferentAmount
                !act:has_rme_been_paid:Pay RME Amount:circle=>/bills/view/$uid/ACTION_payRmeAmount
                !act:has_rme_been_paid:Pay RME Different Amount:circle=>/bills/view/$uid/ACTION_payRmeDifferentAmount
                !nal:
            transactions
                id=pro_transaction.bill_id
            audit_log
    transactions|pro_transaction|view|icon:exchange-alt
    transactions/view/{uid}
        ACTIONS
        SUB
            dashboard
    med_profile_lines|client_info_line|view|icon:window-restore
    med_profile_lines/view/{uid}
        ACTIONS
            remove
                removalMemo=removal_memo
            updateContent
                contentText=content_text
                contentDetail=content_detail
        SUB
            dashboard
                !grp:Med Profile Details:id,category,content_text,content_detail
    med_profile_line_updates|client_info_line_update|icon:window-restore
    mcp_updates|client_mcp_update|icon:user-edit
#   audit_log :: coming soon

ADMIN
#   admin_dashboard
    facilities|facility|add|view|icon:temperature-low
    facilities/add_new:create
        name
        addressFull
        addressLine1
        addressLine2
        addressCity
        addressState
        addressZip
        addressCountry
        addressGeoLat:number
        addressGeoLong:number
        phone
        fax
        hours:number
    facilities/view/{uid}
        ACTIONS
            updateBasic
                name
                addressFull
                addressLine1
                addressLine2
                addressCity
                addressState
                addressZip
                addressCountry
                addressGeoLat
                addressGeoLong
                phone
                fax
                hours
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
            erx
            action_items
            audit_log
    pros|pro|add|view|icon:user-md
        !inc:@name_display,name_first,name_last,pro_type
        col:name_display
        name_first
        name_last
        pro_type
    pros/add_new:create
        cellNumber*:tel
        temporaryPassword*
        emailAddress:email
        nameDisplay
        namePrefix
        nameFirst*
        nameMiddle
        nameLast*
        nameSuffix
        nameCredential
        isHcp:bool
        hcpNpi
        previousProfessionCategory
        currentProfessionCategory
    pros/view/{uid}
        ACTIONS
            sendCellNumberConfirmationMessage
            adminResetPassword
                temporaryPassword*:password
            confirmCellNumberWithConfirmationToken
                cellNumber*:tel=cell_number
                token*
            putNewCellNumber
                newCellNumber*:tel=cell_number
            confirmEmailAddressWithConfirmationToken
                emailAddress*:email=email_address
                token*
            putNewEmailAddress
                newEmailAddress*:email=email_address
            updateName
                nameDisplay=name_display
                namePrefix=name_prefix
                nameFirst*=name_first
                nameMiddle=name_middle
                nameLast*=name_last
                nameSuffix=name_suffix
                nameCredential=name_credential
            updateProfession
                isHcp*:bool=is_hcp
                hcpNpi=hcp_npi
                previousProfessionCategory=previous_profession_category
                currentProfessionCategory=current_profession_category
                hcpCategory=hcp_category
                hcpSubcategory=hcp_subcategory
            updateEnrolledHcpInfo
                enrolledHcpCategory=enrolled_hcp_category
                enrolledHcpSubcategory=enrolled_hcp_subcategory
                enrolledHcpNpi=enrolled_hcp_npi
            putProfilePicture
                profilePictureBase64=profile_picture_base64
            updatePhoneInfo
                homePhoneNumber=home_phone_number
                workPhoneNumber=work_phone_number
                supporterPhoneNumber=supporter_phone_number
                supporterMemo=supporter_memo
                phoneNumbersMemo=phone_numbers_memo
            updateAddress
                mailingAddressLine1=mailing_address_line1
                mailingAddressLine2=mailing_address_line2
                mailingAddressCity=mailing_address_city
                mailingAddressState=mailing_address_state
                mailingAddressCountry=mailing_address_country
                mailingAddressZip=mailing_address_zip
                mailingAddressLat:number=mailing_address_lat
                mailingAddressLong:number=mailing_address_long
                homeAddressLine1=home_address_line1
                homeAddressLine2=home_address_line2
                homeAddressCity=home_address_city
                homeAddressState=home_address_state
                homeAddressCountry=home_address_country
                homeAddressZip=home_address_zip
                homeAddressLat:number=home_address_lat
                homeAddressLong:number=home_address_long
            updatePaymentProcessingDetail
                paymentProcessingDetail=payment_processing_detail
            uploadDriverLicense
                driverLicenseFilePath=driver_license_file_path
            updateDriverLicenseInfo
                driverLicenseState=driver_license_state
                driverLicenseIssueDate=driver_license_issue_date
                driverLicenseExpirationDate=driver_license_expiration_date
            updateSsn
                ssn=ssn
            # new actions from ProService.java
            sendEmailAddressConfirmationMessage
            setIsHcpToTrue
            setIsHcpToFalse
            setIsEnrolledAsHcpToTrue
            setIsEnrolledAsHcpToFalse
            setIsEnrolledAsMcpToTrue
            setIsEnrolledAsMcpToFalse
            setHasAccessToNextPatientButtonToTrue
            setHasAccessToNextPatientButtonToFalse
            setCanCreateClientWithInvalidMcnToTrue
            setCanCreateClientWithInvalidMcnToFalse
            setCanAccessRmPortalToTrue
            setCanAccessRmPortalToFalse
            setIsVideoVisitAssistantToTrue
            setIsVideoVisitAssistantToFalse
            removeProfilePicture
            updateW9Detail
                w9Detail=w9detail
            updateSignedContractPdf
                signedContractPdf=signed_contract_pdf
            setIsPaymentProcessingDetailCompleteToTrue
            setIsPaymentProcessingDetailCompleteToFalse
            setIsDriverLicenseCompleteToTrue
            setIsDriverLicenseCompleteToFalse
            setIsSsnCompleteToTrue
            setIsSsnCompleteToFalse
            setProType
                proType:select:ADMIN,INDIVIDUAL,GROUP
        SUB
            dashboard
                !grp:Pro Type:pro_type:Change:circle=>/pros/view/$uid/ACTION_setProType
                !grp:Cell Number:cell_number,is_cell_number_confirmation_pending,cell_number_confirmation_token,is_cell_number_confirmed,cell_number_confirmed_at:Put Cell Number:circle=>/pros/view/$uid/ACTION_putNewCellNumber
                !grp:Email Address:email_address,is_email_address_confirmation_pending,email_address_confirmation_token,is_email_address_confirmed,email_address_confirmed_at:Update Email Address:circle=>/pros/view/$uid/ACTION_putNewEmailAddress
                !grp:Name:name_display,name_prefix,name_first,name_middle,name_last,name_suffix,name_credential:Update Name:circle=>/pros/view/$uid/ACTION_updateName
                !grp:Contact Details:home_phone_number,work_phone_number,supporter_phone_number,supporter_memo,phone_numbers_memo:Update Phone Info:circle=>/pros/view/$uid/ACTION_updatePhoneInfo
                !grp:HCP:is_hcp,hcp_npi,hcp_category,hcp_subcategory,previous_profession_category,current_profession_category:Update Profession:circle=>/pros/view/$uid/ACTION_updateProfession
                !grp:HCP Enrollment:is_enrolled_as_hcp,enrolled_hcp_category,enrolled_hcp_subcategory,enrolled_hcp_npi:Update HCP Enrollment Info:circle=>/pros/view/$uid/ACTION_updateEnrolledHcpInfo
                !grp:MCP Enrollment:is_enrolled_as_mcp
                !grp:Next Patient Button:has_access_to_next_patient_button
                !grp:Create Client With Invalid MCN:can_create_client_with_invalid_mcn
                !grp:Access RM Portal:can_access_rm_portal
                !grp:Profile Picture:profile_picture_base64:Update Profile Picture:circle=>/pros/view/$uid/ACTION_putProfilePicture
                !grp:Address:mailing_address_line1,mailing_address_line2,mailing_address_city,mailing_address_state,mailing_address_country,mailing_address_zip,mailing_address_lat,mailing_address_long,home_address_line1,home_address_line2,home_address_city,home_address_state,home_address_country,home_address_zip,home_address_lat,home_address_long:Update Address:circle=>/pros/view/$uid/ACTION_updateAddress
                !grp:Payment Processing:is_payment_processing_detail_complete,payment_processing_detail
                !grp:Driving License:is_driver_license_complete,driver_license_file_path,driver_license_state,driver_license_issue_date,driver_license_expiration_date:Update Driving License:circle=>/pros/view/$uid/ACTION_updateDriverLicenseInfo
                !grp:SSN:ssn:Update SSN:circle=>/pros/view/$uid/ACTION_updateSsn
                !grp:W9:isw9complete,w9detail:Update W9:circle=>/pros/view/$uid/ACTION_updateW9Detail
                !grp:Contract:is_contract_complete,signed_contract_pdf_file_path:Update Contract:circle=>/pros/view/$uid/ACTION_updateSignedContractPdf
                !act:cell_number:sendConfirmationMessage:circle=>/pros/view/$uid/ACTION_sendCellNumberConfirmationMessage
                !act:cell_number:resetPassword:circle=>/pros/view/$uid/ACTION_adminResetPassword
                !act:is_cell_number_confirmation_pending:confirmCellNumberWithConfirmationToken:circle=>/pros/view/$uid/ACTION_confirmCellNumberWithConfirmationToken
                !act:email_address:sendEmailAddressConfirmationMessage:circle=>/pros/view/$uid/ACTION_sendEmailAddressConfirmationMessage
                !act:is_email_address_confirmation_pending:confirmEmailAddressWithConfirmationToken:circle=>/pros/view/$uid/ACTION_confirmEmailAddressWithConfirmationToken
                !act:is_payment_processing_detail_complete:setIsPaymentProcessingDetailCompleteToFalse:circle:if:is_payment_processing_detail_complete=>/pros/view/$uid/ACTION_setIsPaymentProcessingDetailCompleteToFalse
                !act:is_payment_processing_detail_complete:setIsPaymentProcessingDetailCompleteToTrue:circle:if-not:is_payment_processing_detail_complete=>/pros/view/$uid/ACTION_setIsPaymentProcessingDetailCompleteToTrue
                !act:payment_processing_detail:updatePaymentProcessingDetail:circle=>/pros/view/$uid/ACTION_updatePaymentProcessingDetail
                !act:is_driver_license_complete:setIsDriverLicenseCompleteToFalse:circle:if:is_driver_license_complete=>/pros/view/$uid/ACTION_setIsDriverLicenseCompleteToFalse
                !act:is_driver_license_complete:setIsDriverLicenseCompleteToFalse:circle:if-not:is_driver_license_complete=>/pros/view/$uid/ACTION_setIsDriverLicenseCompleteToTrue
                !act:driver_license_file_path:uploadDriverLicense:circle=>/pros/view/$uid/ACTION_uploadDriverLicense
                !act:is_hcp:setIsHcpToFalse:circle:if:is_hcp=>/pros/view/$uid/ACTION_setIsHcpToFalse
                !act:is_hcp:setIsHcpToTrue:circle:if-not:is_hcp=>/pros/view/$uid/ACTION_setIsHcpToTrue
                !act:is_enrolled_as_hcp:setIsEnrolledAsHcpToFalse:circle:if:is_enrolled_as_hcp=>/pros/view/$uid/ACTION_setIsEnrolledAsHcpToFalse
                !act:is_enrolled_as_hcp:setIsEnrolledAsHcpToTrue:circle:if-not:is_enrolled_as_hcp=>/pros/view/$uid/ACTION_setIsEnrolledAsHcpToTrue
                !act:is_enrolled_as_mcp:setIsEnrolledAsMcpToFalse:circle:if:is_enrolled_as_mcp=>/pros/view/$uid/ACTION_setIsEnrolledAsMcpToFalse
                !act:is_enrolled_as_mcp:setIsEnrolledAsMcpToTrue:circle:if-not:is_enrolled_as_mcp=>/pros/view/$uid/ACTION_setIsEnrolledAsMcpToTrue
                !act:has_access_to_next_patient_button:setHasAccessToNextPatientButtonToFalse:circle:if:has_access_to_next_patient_button=>/pros/view/$uid/ACTION_setHasAccessToNextPatientButtonToFalse
                !act:has_access_to_next_patient_button:setHasAccessToNextPatientButtonToTrue:circle:if-not:has_access_to_next_patient_button=>/pros/view/$uid/ACTION_setHasAccessToNextPatientButtonToTrue
                !act:can_create_client_with_invalid_mcn:setCanCreateClientWithInvalidMcnToFalse:circle:if:can_create_client_with_invalid_mcn=>/pros/view/$uid/ACTION_setCanCreateClientWithInvalidMcnToFalse
                !act:can_create_client_with_invalid_mcn:setCanCreateClientWithInvalidMcnToTrue:circle:if-not:can_create_client_with_invalid_mcn=>/pros/view/$uid/ACTION_setCanCreateClientWithInvalidMcnToTrue
                !act:can_access_rm_portal:setCanAccessRmPortalToTrue:circle:if-not:can_access_rm_portal=>/pros/view/$uid/ACTION_setCanAccessRmPortalToTrue
                !act:can_access_rm_portal:setCanAccessRmPortalToFalse:circle:if:can_access_rm_portal=>/pros/view/$uid/ACTION_setCanAccessRmPortalToFalse
                !act:profile_picture_base64:removeProfilePicture:circle=>/pros/view/$uid/ACTION_removeProfilePicture
                !nal:
            pro_rates
                id=pro_rate.pro_id=>/pro_rates/view/UID
                !inc:@uid,responsibility,code,amount
                add_new:pro_rate:create
                    proUid:hidden=uid
                    responsibility:select:HCP,NA,CM,RME,RMM
                    code*
                    amount:number
            clients
            pro_access
                id=client_pro_access.pro_id=>/pro_access/view/UID
                add_new:client_pro_access=>/pro_access/view/UID
                    proUid:hidden=uid
                    clientUid:record:client:uid,name_first
                    reasonCategory
                    reasonMemo
                    reasonDetail
            mcp_updates
            erx
            action_items
            care_months
            care_month_entries
            notes
            bills
            transactions
                id=pro_transaction.pro_id=>/transactions/view/UID/SUB_dashboard
                !inc:@created_at,pro_id,client_id,plus_or_minus,reason_type,amount,resulting_balance
                !qry:clients:select id, concat(name_last, ', ', name_first) as name_display from client
                !qry:pros:select id, concat(name_last, ', ', name_first) as name_display from pro
                !col:pro_id:Pro:~pros:name_display:id,=,$$pro_id:all
                !col:client_id:Client:~clients:name_display:id,=,$$client_id:all
                add_new_credit:pro_transaction:createManualPlusForPro
                    proUid:hidden=uid
                    amount:number
                    intendedResultingBalance:number
                    customMemo
                add_new_debit:pro_transaction:createManualMinusForPro
                    proUid:hidden=uid
                    amount:number
                    intendedResultingBalance:number
                    customMemo
            sessions
            audit_log
    pro_rates|pro_rate|view|icon:funnel-dollar
        !inc:@created_at,is_active,pro,responsibility,code,amount
        !qry:pros:SELECT id, concat(name_last, ', ', name_first) as name_display FROM pro
        !col:pro:Pro:~pros:name_display:id,=,$pro_id:all
    pro_rates/view/{uid}
        ACTIONS
            updateAmount
                newAmount:number=amount
            reactivate
                memo
            deactivate
                memo
        SUB
            dashboard
    client_pro_access|client_pro_access|view|icon:key
    client_pro_access/view/{uid}
        ACTIONS
            updateReason
                reasonCategory=reason_category
                reasonDetail=reason_memo
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
    section_templates|section_template|add|view|icon:user-md
        !inc:@title,internal_name,position_index
    section_templates/add_new:create
        title
        internalName
    section_templates/view/{uid}
        ACTIONS
            changePositionIndex
                newPositionIndex:number=position_index
        SUB
            dashboard
    note_templates|note_template|add|view|icon:user-md
        !inc:@title
    note_templates/add_new:create
        title
    note_templates/view/{uid}
        ACTIONS
            updateTitle
                title=title
        SUB
            dashboard
            note_template_section_templates|note_template_section_template|add
                id=note_template_section_template.note_template_id=>/note_template_section_templates/view/UID
                !inc:@uid,section_template_id
                !qry:section_templates:SELECT id, title FROM section_template
                !col:section_template_id:Section Template:~section_templates:title:id,=,$$section_template_id:all
                add_new:note_template_section_template:create
                    noteTemplateUID:hidden=uid
                    sectionTemplateUID:record:section_template:uid,title
    invitations|invitation|add|view|icon:user-md
        !inc:@id,pro_id,first_name,last_name,dob,mcn,email,cell_number,memo,invitation_key,last_email_sent_at,last_sms_sent_at,has_invitation_been_viewed,guest_first_name,guest_last_name,guest_dob,guest_mcn,is_client_already_in_system,client_id,created_at,is_active
    invitations/add_new:create
        title
        proUid:record:pro:uid,name_display
		firstName
		lastName
		dob:date
		mcn
		email:email
		cellNumber
		memo
    invitations/view/{uid}
        ACTIONS
            deactivate
                deactivation_memo=deactivation_memo
            reactivate
                reactivation_memo=reactivation_memo
            sendEmail 
                email 
            sendSms
                cellNumber
            putMedicareInfoAsGuest
                firstName
                lastName
                dob:date
                mcn
            updateBasic
                firstName=first_name
		        lastName=last_name
		        dob:date=dob
		        mcn=mcn
		        email=email
		        cellNumber=cell_number
		        memo=memo
        SUB
            dashboard
    client_smses|client_sms|view|icon:comments
        !inc:@id,client, from_number, to_number, incoming_or_outgoing, body, created_at
        !qry:clients:SELECT id, concat(name_last, ', ', name_first) as name_display FROM client
        !col:client:Client:~clients:name_display:id,=,$client_id:all
    client_smses/view/{uid}
        ACTIONS
            assignIncomingSmsToClient
                clientUid:record:client:uid,name_first
        SUB
            dashboard
    client_documents|client_document|view|icon:file
        !inc:@id,client,title,category,status,effective_date,provider,notes
        !qry:clients:SELECT id, concat(name_last, ', ', name_first) as name_display FROM client
        !col:client:Client:~clients:name_display:id,=,$client_id:all
    client_documents/view/{uid}
        ACTIONS
            updateBasic
                title:text
		        category:text
		        status:text
		        effectiveDate:date
		        provider:text
		        notes:text
        SUB
            dashboard
