I am getting multiple compiler errors that I do not understand

Code:
Error 4315: D:\DataFlexWorkspaces\BecklynMobile20\AppSrc\REST\AccountManagementProvider\CCSProviderBusinessProcess.bp (ln 52) Invalid data type (PROVIDERPROFILE)
-- Error 4315: Invalid data type PROVIDERPROFILE
- Error 4298: D:\DataFlexWorkspaces\BecklynMobile20\AppSrc\REST\AccountManagementProvider\CCSProviderBusinessProcess.bp (ln 56) Command not found PROVIDERNAME
- Error 4298: D:\DataFlexWorkspaces\BecklynMobile20\AppSrc\REST\AccountManagementProvider\CCSProviderBusinessProcess.bp (ln 57) Command not found PROVIDERNAME
- Error 4345: D:\DataFlexWorkspaces\BecklynMobile20\AppSrc\REST\AccountManagementProvider\CCSProviderBusinessProcess.bp (ln 61) Type check error VPROVIDERNAME, MUST BE DEFINED
-- Error 4328: Undefined symbol in argument VPROFILE.VPROVIDERNAME
the code that causes this is
Code:
    Procedure UpdateProvider ProviderProfile vProfile
        Handle hDD
        Boolean bFound
        Move oCCSProvider_DD to hDD
        ProviderName vName
        ProviderName[] vProviderName
Now these structures alll define in an use packages and can be navigated to within the editor
All provided for sake of completeness.

What is causing this issue as all looks ok to my eye!

Code:

Struct ProviderAddress
	String startDate
	String endDate
	String type
	String streetLine1
	String streetLine2
	String suburb
	String state
	String postcode
End_Struct






Struct providerService
	String serviceID
	
	String name
	String CCSApprovalStatus
End_Struct








Struct ApprovalConditionsPersonnel
     String  personID
     String  firstName
     String  lastName
     String  dateEducationToBeComplete
     String restrictionType
End_Struct


Struct ApprovalConditions
      String code
      String startDate
      String endDate
      String notificationTimeframe
      String conditionReason
      String conditionReasonText
      String conditionToApply
      ApprovalConditionsPersonnel[] vPersonnel
End_Struct




Struct ConfilctOfInterest
  String notificationDate
  String ABN
  String businessName
  String Rto
  String natureOfInterest
  String dateOfAwareness
End_Struct
   




Struct AllPaymentServiceList
       String[] serviceID   
End_Struct


Struct ProviderCCSApproval


	String status
	String reason
	String startDate
	String endDate
	Boolean cancellationRequest
	String cancellationRequestDateOfEvent
	String reasonForRequest


End_Struct


Struct FinancialStatus
   String status
   String startDate
   String endDate
End_Struct




Struct ProviderFinancial
	String dateOfEvent
	String BSB
	String accountNumber
	String accountName
	Boolean usedForAllServices
End_Struct


Struct ProviderContact
	String dateOfEvent
	String phone
	String mobile
	String email
	Boolean emailForAllService
End_Struct


Struct  ExternalAdministrator
   String startDate	
   String endDate	
   String ABN	   
   String name	   
   String email	
   String phone	
   ProviderAddress[] vAddress
End_Struct




Struct ProviderName
     { Name="type" }
	String stype
	 { Name="name" }
	String sname
	String dateOfEvent
End_Struct


Struct IsForProfitIsCharitable
   Boolean isForProfit
   Boolean isCharitable
   String dateOfEvent
End_Struct


Struct ProviderProfile
	String providerID
	String providerEntityType
	String providerABN
	String commencementDate
	String ACECQARegistrationCode
	ExternalAdministrator[] vExternalAdministrator
	ProviderAddress[] vAddress
	ProviderService[] vServices
	FinancialStatus[] vFinacialStatus
	ProviderContact[] vContact
	ProviderFinancial[] vFinancial
	ProviderName[] vProviderName
	ProviderCCSApproval[] vCCSApproval
	IsForProfitIsCharitable[] vProfitCharity
End_Struct






Struct ReadProviderProfileResult
	Boolean bSuccess
	ProviderProfile[] vProviderProfile
	//ErrorDetails[]    vErrorDetails
	MainError vError
End_Struct




//Struct IsForProfitIsCharitable
//	Boolean isForProfit
//	Boolean isCharitable
//	String  dateOfEvent
//End_Struct


Struct UpdateProviderProfileResult
	Boolean bSuccess
	ProviderProfile vProfile
	MainError vError //ErrorDetails[] vErrorDetails
End_Struct


Struct UpdateProviderProfile
	String providerID
	String notification
	ProviderAddress[] Address
	ProviderName[] ProviderName
	ProviderContact[] Contact
	ProviderFinancial[] Financial
	SupportingDocuments[] SupportingDocuments
End_Struct