PRO
#    dashboard
    my_payment_schedule|pro_rate:pro_id=OWN
    	COLUMNS
    		Code:code
    		Description (HCP/Ally):as_hcp_or_ally
    		Amount:amount
    		Earnings:sum(relevant bills) 
    my_teams|team|add|view
    my_teams/add_new:create
        hcpProUid:record:pro:uid,name_display
        allyProUid:record:pro:uid,name_display
        teamNumber
    my_teams/view/{uid}
        ACTIONS
            updateTeamNumber
                teamNumber=team_number
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
            clients
                id=client.team_id=>/my_clients/view/UID
                add_new:client
                    teamUid:hidden=uid
                    nameDisplay
                    namePrefix
                    nameFirst
                    nameMiddle
                    nameLast
                    nameSuffix
                    nameCredential
                    gender:select:M,F
                    dateOfBirth:date
                    cellNumber:tel
                    emailAddress:email
                    medicareNumber
            audit_log
    my_clients|client|add|view
    my_clients/add_new:create
        teamUid:record:team:uid,team_number
        mcpProUid:record:pro:uid,name_display
        allyProUid:record:pro:uid,name_display
        nameDisplay
        namePrefix
        nameFirst
        nameMiddle
        nameLast
        nameSuffix
        nameCredential
        gender:select:M,F
        dateOfBirth:date
        cellNumber:tel
        emailAddress:email
        medicareNumber
    my_clients/view/{uid}
        ACTIONS
            sendCellNumberConfirmationMessage
            putNewCellNumber
                newCellNumber:tel=cell_number
            sendEmailAddressConfirmationMessage
            confirmEmailAddressWithConfirmationToken
            putNewEmailAddress
                newEmailAddress:email=email_address
            putTeam
                teamUid:record:team:uid,team_number
            removeTeam:if:team_id
            putMcp
                mcpProUid:record:pro:uid,name_display
            removeMcp:if:mcp_pro_id
            putAlly
                allyProUid:record:pro:uid,name_display
            removeAlly:if:ally_pro_id
            putName
                nameDisplay
                namePrefix
                nameFirst
                nameMiddle
                nameLast
                nameSuffix
                nameCredential
            putGender
                gender:select:M,F=gender
            putDateOfBirth
                dateOfBirth:date=date_of_birth
            putProfilePicture
                profilePictureBase64
            removeProfilePicture:if: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=mailing_address_lat
                mailingAddressLong=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=home_address_lat
                homeAddressLong=home_address_long
            updateMedicareNumber
                medicareNumber=medicare_number
            manuallySetIsPartBPrimaryConfirmedToTrue
                partBConfirmationMethod:select:MANUAL,API=partbconfirmation_method
                partBConfirmationMemo=partbconfirmation_memo
            manuallySetIsPartBPrimaryConfirmedToFalse
                partBConfirmationMethod:select:MANUAL,API=partbconfirmation_method
                partBConfirmationMemo=partbconfirmation_memo
            setHasMcpDoneEmVisitToTrue
                mcpEmVisitDate=mcp_em_visit_date
                mcpEmVisitNote
                mcpEmVisitMemo=mcp_em_visit_memo
            updateMcpEmVisitInfo
                mcpEmVisitDate=mcp_em_visit_date
                mcpEmVisitNote
                mcpEmVisitMemo=mcp_em_visit_memo
            setHasMcpDoneEmVisitToFalse
            putCrmReasons
                cmReason1=cm_reason1
                cmReason2=cm_reason2
                rmReason1=rm_reason1
                rmReason2=rm_reason2
            removeCrmReasons
            setIsClientEnrolledInCmToTrue
            setIsClientEnrolledInCmToFalse
            updateWhyNotEnrolledInCm
                whyNotEnrolledInCmCategory=why_not_enrolled_in_cm_category
                whyNotEnrolledInCmMemo=why_not_enrolled_in_cm_memo
            setIsClientEnrolledInRmToTrue
            setIsClientEnrolledInRmToFalse
            updateWhyNotEnrolledInRm
                whyNotEnrolledInRmCategory=why_not_enrolled_in_rm_category
                whyNotEnrolledInRmMemo=why_not_enrolled_in_rm_memo
            updateIntakeInfo
                intakeText=intake_text
                intakeDetail=intake_detail
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
            med_profile
            med_profile_log
            pro_access
                id=client_pro_access.client_id=>/pro_access/view/UID
                add_new:client_pro_access=>/pro_access/view/UID
                    clientUid:hidden=uid
                    proUid:record:pro:uid,name_display
                    reasonCategory
                    reasonMemo
                    reasonDetail
            notes
                id=note.client_id=>/notes/view/UID
                add_new:note=>/notes/view/UID
                    clientUid:hidden=uid
                    hcpProUid:record:pro:uid,name_display
                    allyProUid:record:pro:uid,name_display
                    effectiveDateEST:date
                    effectiveTime:time
                    reason1
                    reason2
                    reason3
                    reason3Plus
                    serviceLocation
                    category
                    contentText
                    contentDetail
            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
            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: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
            ally_updates
                id=client_ally_update.client_id
            audit_log
    notes|note|view
    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
            audit_log
    erx|action_item:action_item_category='RX'|view
    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
    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
    care_months/view/{uid}
        ACTIONS
            putMcpPro
                mcpProUid:record:pro:uid,name_display
            putAllyPro
                allyProUid:record:pro:uid,name_display
            putReasons
                reason1
                reason2
                reason3
                reason3Plus
            setIsClientEnrolledInCmToTrue
            setIsClientEnrolledInCmToFalse
            updateWhyNotEnrolledInCm
                whyNotEnrolledInCmCategory
                whyNotEnrolledInCmMemo
            setIsClientEnrolledInRmToTrue
            setIsClientEnrolledInRmToFalse
            updateWhyNotEnrolledInRm
                whyNotEnrolledInRmCategory
                whyNotEnrolledInRmMemo
            generateBillForCm
                numberOfMinutes:number
            generateBillForRm
                numberOfMinutes:number
            setIsCmCanceledThisMonthToTrue
            updateWhyIsCmCanceledThisMonth
            setIsCmCanceledThisMonthToFalse
            setIsRmCanceledThisMonthToTrue
            updateWhyIsRmCanceledThisMonth
            setIsRmCanceledThisMonthToFalse
            setIsTmThisMonthToTrue
            setIsTmThisMonthToFalse
        SUB
            dashboard
# :: need remove
            cm_time_entries
                id=care_month_entry.care_month_id,cm_or_rm='CM'
                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'
                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
            audit_log
    care_month_entries|care_month_entry|view
    care_month_entries/view/{uid}
        ACTIONS
            updateContent
                contentText
                contentDetail
            updateTiming
                effectiveDate
                timeInSeconds
                isTimeSpecific:bool
                startingTime
                endingTime
        SUB
            dashboard
    bills|bill|view
    bills/view/{uid}
        ACTIONS
            payHcpAmount
                hcpPaymentAmount:number
            payHcpDifferentAmount
                differentHcpPaymentAmount:number
            signAsHcp
            markSubmitted
            putCollectedAmount
                collectedAmount
        SUB
            dashboard
            transactions
                id=pro_transaction.bill_id
            audit_log
    transactions|pro_transaction
    med_profile_lines|client_info_line
    med_profile_line_updates|client_info_line_update
    pro_access|client_pro_access|view
    pro_access/view/{uid}
        ACTIONS
            updateReason
                reasonCategory=reason_category
                reasonDetail=reason_detail
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
    mcp_updates|client_mcp_update
    ally_updates|client_ally_update
#   audit_log :: coming soon

ADMIN
#   admin_dashboard
    facilities|facility|view
    facilities/add_new:create
    facilities/view/{uid}
        ACTIONS
            updateBasic
                name=name
                addressFull=address_full
                addressLine1=address_line1
                addressLine2=address_line2
                addressCity=address_city
                addressState=address_state
                addressZip=address_zip
                addressCountry=address_country
                addressGeoLat=address_geo_lat
                addressGeoLong=address_geo_long
                phone=phone
                fax=fax
                hours=hours
            deactivate
                memo
            updateDeactivationMemo
                memo=deactivation_memo
            reactivate
                memo
            updateReactivationMemo
                memo=reactivation_memo
        SUB
            dashboard
            erx
            action_items
            audit_log
    pros|pro|add|view
    pros/add_new:create
        cellNumber:tel
        emailAddress:email
        nameDisplay
        namePrefix
        nameFirst
        nameMiddle
        nameLast
        nameSuffix
        nameCredential
        isHcp:bool
        hcpNpi
        previousProfessionCategory
        currentProfessionCategory
    pros/view/{uid}
        ACTIONS
            sendCellNumberConfirmationMessage
            confirmCellNumberWithConfirmationToken
                cellNumber:tel=cell_number
                token
            putNewCellNumber
                newCellNumber:tel=cell_number
            confirmEmailAddressWithConfirmationToken
                emailAddress:email=email_address
                token
            putNewEmailAddress
                newEmailAddress:email=email_address
            updateName
                nameDisplay
                namePrefix
                nameFirst
                nameMiddle
                nameLast
                nameSuffix
                nameCredential
            updateProfession
                isHcp:bool
                hcpNpi
                previousProfessionCategory
                currentProfessionCategory
                hcpCategory
                hcpSubcategory
            updateEnrolledHcpInfo
                enrolledHcpCategory
                enrolledHcpSubcategory
                enrolledHcpNpi
            putProfilePicture
                profilePictureBase64
            updatePhoneInfo
                homePhoneNumber
                workPhoneNumber
                supporterPhoneNumber
                supporterMemo
                phoneNumbersMemo
            updateAddress
                mailingAddressLine1
                mailingAddressLine2
                mailingAddressCity
                mailingAddressState
                mailingAddressCountry
                mailingAddressZip
                mailingAddressLat
                mailingAddressLong
                homeAddressLine1
                homeAddressLine2
                homeAddressCity
                homeAddressState
                homeAddressCountry
                homeAddressZip
                homeAddressLat
                homeAddressLong
            updatePaymentProcessingDetail
                paymentProcessingDetail
            uploadDriverLicense
                driverLicenseFilePath
            updateDriverLicenseInfo
                driverLicenseState
                driverLicenseIssueDate
                driverLicenseExpirationDate
            updateSsn
                ssn
            # new actions from ProService.java
            sendEmailAddressConfirmationMessage
            setIsHcpToTrue
            setIsHcpToFalse:if:is_hcp
            setIsEnrolledAsHcpToTrue
            setIsEnrolledAsHcpToFalse
            setIsEnrolledAsMcpToTrue
            setIsEnrolledAsMcpToFalse
            removeProfilePicture
            updateW9Detail
                w9Detail
            updateSignedContractPdf
                signedContractPdf
            setIsPaymentProcessingDetailCompleteToTrue
            setIsPaymentProcessingDetailCompleteToFalse
            setIsDriverLicenseCompleteToTrue
            setIsDriverLicenseCompleteToFalse
            setIsSsnCompleteToTrue
            setIsSsnCompleteToFalse
        SUB
            dashboard
            payment_schedule
                id=pro_rate.pro_id=>/pro_rates/view/UID
                add_new:pro_rate
                    proUid:hidden=uid
                    asHcpOrAlly:select:HCP,ALLY
                    code
                    amount:number
            teams
            clients
            pro_access
            mcp_updates
            ally_updates
            erx
            action_items
            care_months
            care_month_entries
            notes
            bills
            pro_transactions
            lobby_pros
                id=lobby_pro.pro_id=>/lobby_pros/view/UID
                add_new:lobby_pro
                    proUid:hidden=uid
                    lobbyUid:record:lobby:uid,name
            sessions
            audit_log
    pro_rates|pro_rate|view
    pro_rates/view/{uid}
        ACTIONS
            updateAmount
                newAmount:number=amount
        SUB
            dashboard
    lobbies|lobby|add|view
    lobbies/add_new:create
        name
		urlSlug
		isStrangerAccessible:boolean
		isClientAccessible:boolean
    lobbies/view/{uid}
        ACTIONS
            putName
                name
            putUrlSlug
                urlSlug
            setIsStrangerAccessibleToTrue
            setIsStrangerAccessibleToFalse
            setIsClientAccessibleToTrue
            setIsClientAccessibleToFalse
        SUB
            dashboard
            lobby_pros
                id=lobby_pro.lobby_id=>/lobby_pros/view/UID
                add_new:lobby_pro
                    lobbyUid:hidden=uid
                    proUid:record:pro:uid,name_display
            meetings
                id=meeting.lobby_id=>/meetings/view/UID
    meetings|meeting|add|view
    meetings/add_new:meetings:createAsProPerformer
        lobbyUid:record:lobby:uid,name
		targetLobbyProUid:record:lobby_pro:uid,uid
		title
		name
		pictureBase64
    meetings/view/{uid}
        ACTIONS
            putLobby
                lobbyUid:record:lobby:uid,name
            putTargetLobbyPro
                lobbyUid:record:lobbyPro:uid,name
            putTitle
                title
            putStrangerInfo
                strangerFirstName
		        strangerLastName
		        strangerDob:date
		        strangerMcn
		        isStrangerMcnPpb:boolean
		        strangerMcnDetail
		        strangerSsn
		        strangerDetail
            putMeetingNumber
        SUB
            dashboard
            meeting_participants
                id=meeting_participant.meeting_id=>/meeting_participants/view/UID
                add_new:meeting_participant:createForPro
                    meetingUid:hidden=uid
                    proUid:record:pro:uid,name_display
                    name
                    pictureBase64
            meeting_invitations
                id=meeting_invitation.meeting_id=>/meeting_invitations/view/UID
                add_new:meeting_invitation
                    meetingUid:hidden=uid
                    smsOrEmail:select:SMS,EMAIL
                    toSms
                    toEmail
                    toName
            meeting_rings
                id=meeting_ring.meeting_id=>/meeting_rings/view/UID
            meeting_knocks
                id=meeting_knock.meeting_id=>/meeting_knocks/view/UID
            meeting_messages
                id=meeting_message.meeting_id=>/meeting_messages/view/UID
    meeting_participants|meeting_participant|view
    meeting_participants/view/{uid}
        SUB
            dashboard
    meeting_invitations|meeting_invitation|view
    meeting_invitations/view/{uid}
        ACTIONS
            cancel
                memo
        SUB
            dashboard
    meeting_rings|meeting_ring|view
    meeting_rings/view/{uid}
        SUB
            dashboard
    meeting_knocks|meeting_knock|view
    meeting_knocks/view/{uid}
        SUB
            dashboard
    meeting_messages|meeting_message|view
    meeting_message/view/{uid}
        SUB
            dashboard
