瀏覽代碼

Tree updates in my_client single

Vijayakrishnan 5 年之前
父節點
當前提交
f47e6384c8
共有 2 個文件被更改,包括 257 次插入224 次删除
  1. 10 4
      app/Console/Commands/GenerateTreeCommand.php
  2. 247 220
      generatecv/tree.txt

+ 10 - 4
app/Console/Commands/GenerateTreeCommand.php

@@ -958,10 +958,13 @@ class GenController {
                             }
                             $actionLine[] = "\$record->{$action["field"]})";
                         }
+                        $title = $this->camelToTitleCase($action["label"]);
                         $actionLine[] = "<a " .
                             'up-modal=".form-contents" up-width="800" up-history="false" ' .
-                            "href='{$action["link"]}' title='{$action["label"]}' class='ml-2 text-dark font-weight-normal'>" .
-                            "<i class='fa fa-{$action["icon"]} text-sm'></i>" .
+                            "href='{$action["link"]}' title='{$action["label"]}'" .
+                            "class='mx-2 font-weight-normal text-primary text-xs'>" .
+                            "<i class='fa fa-{$action["icon"]}'></i>&nbsp;" .
+                            "<span>{$title}</span>" .
                             "</a>";
                         if (isset($action["condition"])) {
                             $actionLine[] = "@endif";
@@ -1013,10 +1016,13 @@ class GenController {
                                     }
                                     $actionLine[] = "\$record->{$action["field"]})";
                                 }
+                                $title = $this->camelToTitleCase($action["label"]);
                                 $actionLine[] = "<a " .
                                     'up-modal=".form-contents" up-width="800" up-history="false" ' .
-                                    "href='{$action["link"]}' title='{$action["label"]}' class='ml-2 text-dark font-weight-normal'>" .
-                                    "<i class='fa fa-{$action["icon"]} text-sm'></i>" .
+                                    "href='{$action["link"]}' title='{$action["label"]}' " .
+                                    "class='mx-2 font-weight-normal text-primary text-xs'>" .
+                                    "<i class='fa fa-{$action["icon"]}'></i>&nbsp;" .
+                                    "<span>{$title}</span>" .
                                     "</a>";
                                 if(isset($action["condition"])) {
                                     $actionLine[] = "@endif";

+ 247 - 220
generatecv/tree.txt

@@ -7,8 +7,13 @@ PRO
         !col:amount:Amount
         !col:earnings:Earnings:select '- TODO -' as result
     my_clients|client|add|view|icon:user-injured
-        !inc:@name_first,gender_identity,mcp_pro_id,cm_pro_id,rme_pro_id,rmm_pro_id
+        !inc:@name_first,gender_identity,mcp_pro_id,cm_pro_id,rme_pro_id,rmm_pro_id,rd_pro_id
         !qry:pros:SELECT id, name_display FROM pro
+        !col:mcp_pro_id:MCP:~pros:name_display:id,=,$mcp_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
         !col:name_display:Name
         !col:gender_identity:Gender
     my_clients/add_new:create
@@ -18,9 +23,9 @@ PRO
         rmeProUid:record:~pros:uid,name_display
         rmmProUid:record:~pros:uid,name_display
         namePrefix
-        nameFirst
+        nameFirst*
         nameMiddle
-        nameLast
+        nameLast*
         nameSuffix
         nameCredential
         genderIdentity:select:M,F
@@ -32,16 +37,16 @@ PRO
         ACTIONS
             sendCellNumberConfirmationMessage
             confirmCellNumberWithConfirmationToken
-                cellNumber
-                token
+                cellNumber*:tel=cell_number
+                token*
             putNewCellNumber
-                newCellNumber:tel=cell_number
+                newCellNumber*:tel=cell_number
             putNewEmailAddress
-                newEmailAddress:email
+                newEmailAddress*:email=email_address
             sendEmailAddressConfirmationMessage
             confirmEmailAddressWithConfirmationToken
-                emailAddress
-                token
+                emailAddress*:email=email_address
+                token*
             deactivate
                 memo
             updateDeactivationMemo
@@ -51,295 +56,317 @@ PRO
             updateReactivationMemo
                 memo=reactivation_memo
             editSource
-                source
-                sourceMemo
-                sourceAt:date
-                sourceDetail
+                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
+                duplicateOfClientUid*:record:client:uid,name_first
             setIsDuplicateToFalse
             editName
-                namePrefix
-                nameFirst
-                nameMiddle
-                nameLast
-                nameSuffix
-                nameCredential
-                nameNickname
-                nameMaiden
-                namePrevious
+                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
             editDemographics
-                dob:date
-                ageInYears:number
-                sex:select:M,F
-                genderIdentity
-                sexualOrientation
-                isSexuallyActive:select:YES,NO,UKNOWN
-                sexuallyActiveMemo
-                maritalStatus
+                dob:date=dob
+                ageInYears:number=age_in_years
+                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
-                intakeDetail
+                intakeText*=intake_text
+                intakeDetail=intake_detail
             editResponsibleParty
-                isResponsiblePartySomeoneElse:select:YES,NO,UNKNOWN
+                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
+                motherMaidenName=mother_maiden_name
                 fatherRelationshipUid:record:relationship:uid,name_first
-                numberOfSiblings:number
-                birthOrder:number
-                isMultipleBirthMember:select:YES,NO,UNKNOWN
+                numberOfSiblings:number=number_of_siblings
+                birthOrder:number=birth_order
+                isMultipleBirthMember:select:YES,NO,UNKNOWN=is_multiple_birth_member
             editContactDetails
-                phoneHome
-                phoneMobile
-                phoneWork
-                phoneMemo
-                emailPersonalPrimary
-                emailPersonalSecondary
-                emailWorkPrimary
-                emailWorkSecondary
-                sendRemindersByEmail:select:YES,NO,UKNOWN
-                sendRemindersByText:select:YES,NO,UNKNOWN
-                sendRemindersByPhone:select:YES,NO,UNKNOWN
+                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
-                homeAddressLine1
-                homeAddressLine2
-                homeAddressCity
-                homeAddressState
-                homeAddressZip
-                homeAddressGeoLat:number
-                homeAddressGeoLong:number
-                mailingAddressLine1
-                mailingAddressLine2
-                mailingAddressCity
-                mailingAddressState
-                mailingAddressZip
-                mailingAddressGeoLat:number
-                mailingAddressGeoLong:number
-                hasSecondaryAddress:select:YES,NO,UNKNOWN
-                reasonForSecondaryAddress
-                whenIsClientAtSecondaryAddress
-                isSameSecondaryAddressForHomeAndMailing:select:YES,NO,UNKNOWN
-                secondaryHomeAddressLine1
-                secondaryHomeAddressLine2
-                secondaryHomeAddressCity
-                secondaryHomeAddressState
-                secondaryHomeAddressZip
-                secondaryHomeAddressGeoLat:number
-                secondaryHomeAddressGeoLong:number
-                secondaryMailingAddressLine1
-                secondaryMailingAddressLine2
-                secondaryMailingAddressCity
-                secondaryMailingAddressState
-                secondaryMailingAddressZip
-                secondaryMailingAddressGeoLat:number
-                secondaryMailingAddressGeoLong:number
+                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
-                education
-                birthCountry
-                birthState
-                birthCity
-                nationality
-                religiousAffiliation
+                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
-                specialDietCategory
-                specialDietMemo
-                preferredLanguage
-                otherLanguages
-                englishLevel
-                driverLicenseState
-                driverLicenseNumber
-                isHispanic:select:YES,NO,UNKNOWN
-                isBlackOrAA:select:YES,NO,UNKNOWN
-                ethnicities
-                race
-                specificRaces
+                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=pharmacy
                 pharmacyFacilityUid:record:facility:uid,name
             editSsn
-                ssn
+                ssn=ssn
             putMcn
-                mcn
-                mcnNameFirst
-                mcnNameLast
-                mcnDob:date
-                mcnSsn
+                mcn*=mcn
+                mcnNameFirst*=mcn_name_first
+                mcnNameLast*=mcn_name_last
+                mcnDob*:date=mcn_dob
+                mcnSsn*=mcn_ssn
             removeMcn
             updateWebcamInfo
-                hasWebcamDevice:select:YES,NO,UNKNOWN
-                webcamDevice
+                hasWebcamDevice*:select:YES,NO,UNKNOWN=has_webcam_device
+                webcamDevice=webcam_device
             putMcp
-                mcpProUid:record:pro:uid,name_display
+                mcpProUid*:record:pro:uid,name_display
             removeMcp
             updateMcpOnboardingVisitInfo
-                hasMcpDoneOnboardingVisit:select:YES,NO,UNKNOWN
-                mcpOnboardingVisitDate:date
+                hasMcpDoneOnboardingVisit*:select:YES,NO,UNKNOWN=has_mcp_done_onboarding_visit
+                mcpOnboardingVisitDate*:date=mcp_onboarding_visit_date
                 mcpOnboardingVisitNoteUid:record:note:uid,title
-                reasonOnboardingVisitNoteOutsideSystem
+                reasonOnboardingVisitNoteOutsideSystem=reason_onboarding_visit_note_outside_system
             updateMcpOnboardingActiveInfo
-                isMcpOnboardingActive:select:YES,NO,UNKNOWN
-                whyIsMcpOnboardingNotActiveCategory
-                whyIsMcpOnboardingNotActiveMemo
+                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
+                mcpOnboardingProUid*:record:pro:uid,name_display
             removeMcpOnboardingPro
             acceptAssignmentAsMcpOnboardingPro
-                mcpOnboardingProDecisionMemo
+                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
             rejectAssignmentAsMcpOnboardingPro
-                mcpOnboardingProDecisionMemo
+                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
             updateMcpOnboardingProDecisionMemo
-                mcpOnboardingProDecisionMemo
+                mcpOnboardingProDecisionMemo=mcp_onboarding_pro_decision_memo
             updateMcpOnboardingStrategy
-                mcpOnboardingStrategy:select:PHONE,IN_PERSON
+                mcpOnboardingStrategy:select:PHONE,IN_PERSON=mcp_onboarding_strategy
             updateNextMcpOnboardingAttempt
-                nextMcpOnboardingAttemptDateEst:date
-                nextMcpOnboardingAttemptTimeEst:time
+                nextMcpOnboardingAttemptDateEst*:date=next_mcp_onboarding_attempt_date_est
+                nextMcpOnboardingAttemptTimeEst*:time=next_mcp_onboarding_attempt_time_est
             putCmPro
-                cmProUid:record:pro:uid,name_display
+                cmProUid*:record:pro:uid,name_display
             removeCmPro
             putRmePro
-                rmeProUid:record:pro:uid,name_display
+                rmeProUid*:record:pro:uid,name_display
             removeRmePro
             putRmmPro
-                rmmProUid:record:pro:uid,name_display
+                rmmProUid*:record:pro:uid,name_display
             removeRmmPro
             putRdPro
-                rdProUid:record:pro:uid,name_display
+                rdProUid*:record:pro:uid,name_display
             removeRdPro
             updateMntEligibility
-                isEligibleForMnt:select:YES,NO,UNKNOWN
-                numberOfMntHoursLeftThisYear:number
+                isEligibleForMnt*:select:YES,NO,UNKNOWN=eligible_for_mnt
+                numberOfMntHoursLeftThisYear:number=number_of_mnt_hours_left_this_year
             updateCmEligibility
-                isEligibleForCm:select:YES:NO:UNKNOWN
-                whyNotEligibleForCmCategory
-                whyNotEligibleForCmMemo
+                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
-                whyNotEnrolledInCmMemo
+                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
+                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
             setIsEnrolledInCmToTrue
-                cmEnrollmentConsentMethod
-                cmEnrollmentConsentMethodMemo
-                cmReason1
-                cmReason2
+                cmEnrollmentConsentMethod=cm_enrollment_consent_method
+                cmEnrollmentConsentMethodMemo=cm_enrollment_consent_method_memo
+                cmReason1*=cm_reason1
+                cmReason2=cm_reason2
             updateCmReasons
-                cmReason1
-                cmReason2
+                cmReason1*=cm_reason1
+                cmReason2=cm_reason2
             updateCmEnrollmentConsentInfo
-                cmEnrollmentConsentMethod
-                cmEnrollmentConsentMethodMemo
+                cmEnrollmentConsentMethod=cm_enrollment_consent_method
+                cmEnrollmentConsentMethodMemo=cm_enrollment_consent_method_memo
             updateWhyNotEnrolledInCm
-                whyNotEnrolledInCmCategory
-                whyNotEnrolledInCmMemo
+                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
+                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
             updateRmEligibility
-                isEligibleForRm:select:YES:NO:UNKNOWN
-                whyNotEligibleForRmCategory
-                whyNotEligibleForRmMemo
+                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
-                whyNotEnrolledInRmMemo
+                whyNotEnrolledInRmCategory=why_not_enrolled_in_rm_category
+                whyNotEnrolledInRmMemo=why_not_enrolled_in_rm_memo
             setIsEnrolledInRmToTrue
-                rmReason1
-                rmReason2
+                rmReason1*=rm_reason1
+                rmReason2=rm_reason2
             updateRmReasons
-                rmReason1
-                rmReason2
+                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
+                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
+                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
+                isEquipmentServiceNeeded*:select:YES,NO,UNKNOWN=is_equipment_service_needed
                 whatEquipmentServiceIsNeeded:text=what_equipment_service_is_needed
         SUB
             dashboard
-                !grp:Source:source,source_memo,source_at,source_detail,source_client_id,source_pro_id,source_facility_id:Update source:pencil-alt=>/my_clients/view/$uid/ACTION_editSource
+                !grp:Source:source,source_memo,source_at,source_detail,source_client_id,source_pro_id,source_facility_id:Update source:circle=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_editName
-                !grp:Demographics:dob,age_in_years,sex,gender_identity,sexual_orientation,is_sexually_active,sexually_active_memo,marital_status:Edit demographics:pencil-alt=>/my_clients/view/$uid/ACTION_editDemographics
-                !grp:Spouse:spouse_relationship_id:Edit spouse:pencil-alt=>/my_clients/view/$uid/ACTION_editSpouse
-                !grp:Intake:intake_text,intake_detail:Edit intake details:pencil-alt=>/my_clients/view/$uid/ACTION_editIntakeDetails
-                !grp:Responsible party:is_responsible_party_someone_else,responsible_party_relationship_id:Edit responsible party:pencil-alt=>/my_clients/view/$uid/ACTION_editResponsibleParty
-                !grp:Emergency relationship:emergency_relationship_id:Edit emergency relationship:pencil-alt=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_putNewEmailAddress
+                !grp:Name:name_prefix,name_first,name_middle,name_last,name_suffix,name_credential,name_nickname,name_maiden,name_previous:Edit name:circle=>/my_clients/view/$uid/ACTION_editName
+                !grp:Demographics:dob,age_in_years,sex,gender_identity,sexual_orientation,is_sexually_active,sexually_active_memo,marital_status:Edit demographics:circle=>/my_clients/view/$uid/ACTION_editDemographics
+                !grp:Spouse:spouse_relationship_id:Edit spouse:circle=>/my_clients/view/$uid/ACTION_editSpouse
+                !grp:Intake:intake_text,intake_detail:Edit intake details:circle=>/my_clients/view/$uid/ACTION_editIntakeDetails
+                !grp:Responsible party:is_responsible_party_someone_else,responsible_party_relationship_id:Edit responsible party:circle=>/my_clients/view/$uid/ACTION_editResponsibleParty
+                !grp:Emergency relationship:emergency_relationship_id:Edit emergency relationship:circle=>/my_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=>/my_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=>/my_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=>/my_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=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_editMiscDemographics
+                !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=>/my_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=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_editPharmacy
-                !grp:SSN:ssn:Edit SSN:pencil-alt=>/my_clients/view/$uid/ACTION_editSsn
-                !grp:MCN:mcn,mcn_name_first,mcn_name_last,mcn_dob,mcn_ssn,mcn_address,is_partbprimary,is_hospice,mcn_response_detail,billing_address,reason_not_partb,reason_not_partbmemo,is_medicare_advantage,medicare_advantage_plan:Put MSN:pencil-alt=>/my_clients/view/$uid/ACTION_putMcn
-                !grp:Webcam:has_webcam_device,webcam_device:Update webcam info:pencil-alt=>/my_clients/view/$uid/ACTION_updateWebcamInfo
-                !grp:MCP:mcp_pro_id:Put MCP:pencil-alt=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_updateMcpOnboardingVisitInfo
+                !grp:Pharmacy:pharmacy,pharmacy_facility_id:Edit pharmancy:circle=>/my_clients/view/$uid/ACTION_editPharmacy
+                !grp:SSN:ssn:Edit SSN:circle=>/my_clients/view/$uid/ACTION_editSsn
+                !grp:MCN:mcn,mcn_name_first,mcn_name_last,mcn_dob,mcn_ssn,mcn_address,is_partbprimary,is_hospice,mcn_response_detail,billing_address,reason_not_partb,reason_not_partbmemo,is_medicare_advantage,medicare_advantage_plan:Put MSN:circle=>/my_clients/view/$uid/ACTION_putMcn
+                !grp:Webcam:has_webcam_device,webcam_device:Update webcam info:circle=>/my_clients/view/$uid/ACTION_updateWebcamInfo
+                !grp:MCP:mcp_pro_id:Put MCP:circle=>/my_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=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_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:pencil-alt=>/my_clients/view/$uid/ACTION_updateEquipmentInfo
-                !act:is_duplicate:setIsDupicateToTrue:pencil-alt=>/my_clients/view/$uid/ACTION_setIsDuplicateToTrue
-                !act:is_duplicate:setIsDupicateToFalse:pencil-alt=>/my_clients/view/$uid/ACTION_setIsDuplicateToFalse
-                !act:is_deceased:setIsDeseasedToTrue:pencil-alt=>/my_clients/view/$uid/ACTION_setIsDeceasedToTrue
-                !act:is_deceased:setIsDeseasedToFalse:pencil-alt=>/my_clients/view/$uid/ACTION_setIsDeceasedToFalse
-                !act:cell_number:sendCellNumberConfirmationMessage:pencil-alt=>/my_clients/view/$uid/ACTION_sendCellNumberConfirmationMessage
-                !act:is_cell_number_confirmation_pending:confirmCellNumberWithConfirmationToken:pencil-alt=>/my_clients/view/$uid/ACTION_confirmCellNumberWithConfirmationToken
-                !act:email_address:sendEmailAddressConfirmationMessage:pencil-alt=>/my_clients/view/$uid/ACTION_sendEmailAddressConfirmationMessage
-                !act:email_address:confirmEmailAddressWithConfirmationToken:pencil-alt=>/my_clients/view/$uid/ACTION_confirmEmailAddressWithConfirmationToken
-                !act:mcn:removeMcn:pencil-alt=>/my_clients/view/$uid/ACTION_removeMcn
-                !act:mcp_pro_id:putMcp:pencil-alt=>/my_clients/view/$uid/ACTION_putMcp
-                !act:mcp_pro_id:removeMcp:pencil-alt=>/my_clients/view/$uid/ACTION_removeMcp
-                !act:mcp_onboarding_pro_id:putMcpOnboardingPro:pencil-alt=>/my_clients/view/$uid/ACTION_putMcpOnboardingPro
-                !act:mcp_onboarding_pro_id:removeMcpOnboardingPro:pencil-alt=>/my_clients/view/$uid/ACTION_removeMcpOnboardingPro
-                !act:has_mcp_onboarding_pro_accepted_assignment:acceptAssignmentAsMcpOnboardingPro:pencil-alt=>/my_clients/view/$uid/ACTION_acceptAssignmentAsMcpOnboardingPro
-                !act:has_mcp_onboarding_pro_accepted_assignment:rejectAssignmentAsMcpOnboardingPro:pencil-alt=>/my_clients/view/$uid/ACTION_rejectAssignmentAsMcpOnboardingPro
-                !act:mcp_onboarding_pro_decision_memo:updateMcpOnboardingProDecisionMemo:pencil-alt=>/my_clients/view/$uid/ACTION_updateMcpOnboardingProDecisionMemo
-                !act:cm_pro_id:putCmPro:pencil-alt=>/my_clients/view/$uid/ACTION_putCmPro
-                !act:cm_pro_id:removeCmPro:pencil-alt=>/my_clients/view/$uid/ACTION_removeCmPro
-                !act:rme_pro_id:putRmePro:pencil-alt=>/my_clients/view/$uid/ACTION_putRmePro
-                !act:rme_pro_id:removeRmePro:pencil-alt=>/my_clients/view/$uid/ACTION_removeRmePro
-                !act:rmm_pro_id:putRmmPro:pencil-alt=>/my_clients/view/$uid/ACTION_putRmmPro
-                !act:rmm_pro_id:removeRmmPro:pencil-alt=>/my_clients/view/$uid/ACTION_removeRmmPro
-                !act:rd_pro_id:putRdPro:pencil-alt=>/my_clients/view/$uid/ACTION_putRdPro
-                !act:rd_pro_id:removeRdPro:pencil-alt=>/my_clients/view/$uid/ACTION_removeRdPro
-                !act:eligible_for_mnt:updateMntEligibility:pencil-alt=>/my_clients/view/$uid/ACTION_updateMntEligibility
-                !act:eligible_for_cm:updateCmEligibility:pencil-alt=>/my_clients/view/$uid/ACTION_updateCmEligibility
-                !act:is_enrolled_in_cm:setIsEnrolledInCmToFalse:pencil-alt=>/my_clients/view/$uid/ACTION_setIsEnrolledInCmToFalse
-                !act:is_enrolled_in_cm:setIsEnrolledInCmToTrue:pencil-alt=>/my_clients/view/$uid/ACTION_setIsEnrolledInCmToTrue
-                !act:cm_reason1:updateCmReasons:pencil-alt=>/my_clients/view/$uid/ACTION_updateCmReasons
-                !act:cm_enrollment_consent_method:updateCmEnrollmentConsentInfo:pencil-alt=>/my_clients/view/$uid/ACTION_updateCmEnrollmentConsentInfo
-                !act:cm_enrollment_consent_method:updateWhyNotEnrolledInCm:pencil-alt=>/my_clients/view/$uid/ACTION_updateWhyNotEnrolledInCm
-                !act:is_eligible_for_rm:updateRmEligibility:pencil-alt=>/my_clients/view/$uid/ACTION_updateRmEligibility
-                !act:is_enrolled_in_rm:setIsEnrolledInRmToFalse:pencil-alt=>/my_clients/view/$uid/ACTION_setIsEnrolledInRmToFalse
-                !act:is_enrolled_in_rm:setIsEnrolledInRmToTrue:pencil-alt=>/my_clients/view/$uid/ACTION_setIsEnrolledInRmToTrue
-                !act:rm_reason1:updateRmReasons:pencil-alt=>/my_clients/view/$uid/ACTION_updateRmReasons
-                !act:why_not_enrolled_in_rm_category:updateWhyNotEnrolledInRm:pencil-alt=>/my_clients/view/$uid/ACTION_updateWhyNotEnrolledInRm
-                !act:is_mcp_onboarding_active:updateMcpOnboardingActiveInfo:pencil-alt=>/my_clients/view/$uid/ACTION_updateMcpOnboardingActiveInfo
-                !act:is_mcp_onboarding_strategy:updateMcpOnboardingActiveInfo:pencil-alt=>/my_clients/view/$uid/ACTION_updateMcpOnboardingStrategy
-                !act:next_mcp_onboarding_attempt_date_est:updateNextMcpOnboardingAttempt:pencil-alt=>/my_clients/view/$uid/ACTION_updateNextMcpOnboardingAttempt
+                !grp:MNT Eligibility:eligible_for_mnt,number_of_mnt_hours_left_this_year:Update MNT Eligibility:circle=>/my_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=>/my_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=>/my_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=>/my_clients/view/$uid/ACTION_updateEquipmentInfo
+                !act:is_duplicate:Set as duplicate of:circle:if-not:is_duplicate=>/my_clients/view/$uid/ACTION_setIsDuplicateToTrue
+                !act:is_duplicate:Set as not duplicate:circle:if:is_duplicate=>/my_clients/view/$uid/ACTION_setIsDuplicateToFalse
+                !act:is_deceased:setIsDeseasedToTrue:circle=>/my_clients/view/$uid/ACTION_setIsDeceasedToTrue
+                !act:is_deceased:setIsDeseasedToFalse:circle=>/my_clients/view/$uid/ACTION_setIsDeceasedToFalse
+                !act:cell_number:sendCellNumberConfirmationMessage:circle=>/my_clients/view/$uid/ACTION_sendCellNumberConfirmationMessage
+                !act:is_cell_number_confirmation_pending:confirmCellNumberWithConfirmationToken:circle=>/my_clients/view/$uid/ACTION_confirmCellNumberWithConfirmationToken
+                !act:email_address:sendEmailAddressConfirmationMessage:circle=>/my_clients/view/$uid/ACTION_sendEmailAddressConfirmationMessage
+                !act:email_address:confirmEmailAddressWithConfirmationToken:circle=>/my_clients/view/$uid/ACTION_confirmEmailAddressWithConfirmationToken
+                !act:mcn:removeMcn:circle=>/my_clients/view/$uid/ACTION_removeMcn
+                !act:mcp_pro_id:putMcp:circle=>/my_clients/view/$uid/ACTION_putMcp
+                !act:mcp_pro_id:removeMcp:circle=>/my_clients/view/$uid/ACTION_removeMcp
+                !act:mcp_onboarding_pro_id:putMcpOnboardingPro:circle=>/my_clients/view/$uid/ACTION_putMcpOnboardingPro
+                !act:mcp_onboarding_pro_id:removeMcpOnboardingPro:circle=>/my_clients/view/$uid/ACTION_removeMcpOnboardingPro
+                !act:has_mcp_onboarding_pro_accepted_assignment:acceptAssignmentAsMcpOnboardingPro:circle=>/my_clients/view/$uid/ACTION_acceptAssignmentAsMcpOnboardingPro
+                !act:has_mcp_onboarding_pro_accepted_assignment:rejectAssignmentAsMcpOnboardingPro:circle=>/my_clients/view/$uid/ACTION_rejectAssignmentAsMcpOnboardingPro
+                !act:mcp_onboarding_pro_decision_memo:updateMcpOnboardingProDecisionMemo:circle=>/my_clients/view/$uid/ACTION_updateMcpOnboardingProDecisionMemo
+                !act:cm_pro_id:putCmPro:circle=>/my_clients/view/$uid/ACTION_putCmPro
+                !act:cm_pro_id:removeCmPro:circle=>/my_clients/view/$uid/ACTION_removeCmPro
+                !act:rme_pro_id:putRmePro:circle=>/my_clients/view/$uid/ACTION_putRmePro
+                !act:rme_pro_id:removeRmePro:circle=>/my_clients/view/$uid/ACTION_removeRmePro
+                !act:rmm_pro_id:putRmmPro:circle=>/my_clients/view/$uid/ACTION_putRmmPro
+                !act:rmm_pro_id:removeRmmPro:circle=>/my_clients/view/$uid/ACTION_removeRmmPro
+                !act:rd_pro_id:putRdPro:circle=>/my_clients/view/$uid/ACTION_putRdPro
+                !act:rd_pro_id:removeRdPro:circle=>/my_clients/view/$uid/ACTION_removeRdPro
+                !act:eligible_for_mnt:updateMntEligibility:circle=>/my_clients/view/$uid/ACTION_updateMntEligibility
+                !act:eligible_for_cm:updateCmEligibility:circle=>/my_clients/view/$uid/ACTION_updateCmEligibility
+                !act:is_enrolled_in_cm:setIsEnrolledInCmToFalse:circle=>/my_clients/view/$uid/ACTION_setIsEnrolledInCmToFalse
+                !act:is_enrolled_in_cm:setIsEnrolledInCmToTrue:circle=>/my_clients/view/$uid/ACTION_setIsEnrolledInCmToTrue
+                !act:cm_reason1:updateCmReasons:circle=>/my_clients/view/$uid/ACTION_updateCmReasons
+                !act:cm_enrollment_consent_method:updateCmEnrollmentConsentInfo:circle=>/my_clients/view/$uid/ACTION_updateCmEnrollmentConsentInfo
+                !act:cm_enrollment_consent_method:updateWhyNotEnrolledInCm:circle=>/my_clients/view/$uid/ACTION_updateWhyNotEnrolledInCm
+                !act:is_eligible_for_rm:updateRmEligibility:circle=>/my_clients/view/$uid/ACTION_updateRmEligibility
+                !act:is_enrolled_in_rm:setIsEnrolledInRmToFalse:circle=>/my_clients/view/$uid/ACTION_setIsEnrolledInRmToFalse
+                !act:is_enrolled_in_rm:setIsEnrolledInRmToTrue:circle=>/my_clients/view/$uid/ACTION_setIsEnrolledInRmToTrue
+                !act:rm_reason1:updateRmReasons:circle=>/my_clients/view/$uid/ACTION_updateRmReasons
+                !act:why_not_enrolled_in_rm_category:updateWhyNotEnrolledInRm:circle=>/my_clients/view/$uid/ACTION_updateWhyNotEnrolledInRm
+                !act:is_mcp_onboarding_active:updateMcpOnboardingActiveInfo:circle=>/my_clients/view/$uid/ACTION_updateMcpOnboardingActiveInfo
+                !act:is_mcp_onboarding_strategy:updateMcpOnboardingActiveInfo:circle=>/my_clients/view/$uid/ACTION_updateMcpOnboardingStrategy
+                !act:next_mcp_onboarding_attempt_date_est:updateNextMcpOnboardingAttempt:circle=>/my_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:
             med_profile
                 id=client_info_line.client_id=>/med_profiles/view/UID
                 !inc:id,category,content_text,content_detail