@ -0,0 +1,176 @@
struct Identification < T > {
value : T ,
// Key to check the validity of the value
// TODO: implement checking algorithm
key : u8 ,
}
type Byte = u8 ;
enum IdentificationNationale {
NumeroAdeli ( String ) ,
NumeroEmployeeDansStructure ( IdentificationStructure , String ) ,
NumeroDRASS ( String ) ,
NumeroRPPS ( String ) ,
/// N° Etudiant Médecin type ADELI sur 9 caractères (information transmise par l’ ANS)
NumeroEtudiantMedecin ( String ) ,
}
enum TypeCarteProfessionnelSante {
/// Carte de Professionnel de Santé (CPS)
CarteDeProfessionnelSante ,
/// Carte de Professionnel de Santé en Formation (CPF)
CarteDeProfessionnelSanteEnFormation ,
/// Carte de Personnel d'Établissement de Santé (CDE/CPE)
CarteDePersonnelEtablissementSante ,
/// Carte de Personnel Autorisé (CDA/CPA)
CarteDePersonnelAutorise ,
/// Carte de Personne Morale
CarteDePersonneMorale ,
}
enum CategorieCarteProfessionnelSante {
Reelle ,
Test ,
Demonstration ,
}
enum CodeCivilite {
Adjudant ,
Amiral ,
Aspirant ,
Aumônier ,
Capitaine ,
Cardinal ,
Chanoine ,
Colonel ,
Commandant ,
Commissaire ,
Conseiller ,
Directeur ,
Docteur ,
Douanier ,
Epouxse , // Epoux(se)
Evêque ,
Général ,
Gouverneur ,
Ingénieur ,
Inspecteur ,
Lieutenant ,
Madame ,
Mademoiselle ,
Maître ,
Maréchal ,
Médecin ,
Mesdames ,
Mesdemoiselles ,
Messieurs ,
Monseigneur ,
Monsieur ,
NotreDame ,
Pasteur ,
Préfet ,
Président ,
Professeur ,
Recteur ,
Sergent ,
SousPréfet ,
Technicien ,
Veuve ,
}
struct CarteProfessionnelSante {
type_carte : TypeCarteProfessionnelSante ,
categorie_carte : CategorieCarteProfessionnelSante ,
professionnel_sante : ProfessionnelDeSante ,
}
struct ProfessionnelDeSante {
prenom : String ,
nom : String ,
code_civilite : CodeCivilite ,
identification_nationale : Identification < IdentificationNationale > ,
situations_execice : Vec < SituationDExercice > ,
}
enum IdentificationStructure {
NumeroAdeliCabinet ( String ) ,
NumeroFINESS ( String ) ,
NumeroSIREN ( String ) ,
NumeroSIRET ( String ) ,
NumeroRPPSCabinet ( String ) ,
}
struct StructureMedicale {
identification : Identification < IdentificationStructure > ,
raison_sociale : String , // Nom Entreprise
}
enum ModeExercice {
LiberalExploitantCommercant , // Libéral, exploitant, commerçant
Salarie ,
Remplacant ,
Benevole ,
}
enum StatutExercice {
// TAB-Statuts géré par l’ ANS il faut trouver la donnee
PLACEHOLDER ( u8 ) ,
}
enum SecteurActivite {
EtablissementPublicDeSanté ,
HopitauxMilitaires ,
EtablissementPrivePSPH , // Participant au Service Public Hospitalier
EtablissementPriveNonPSPH ,
DispensaireDeSoins ,
AutresStructuresDeSoinsRelevantDuServiceDeSanteDesArmees ,
CabinetIndividuel ,
CabinetDeGroupe ,
ExerciceEnSociete ,
SecteurPrivePHTempsPlein ,
TransportSanitaire ,
EntrepriseDInterim ,
EtablissementDeSoinsEtPrevention ,
PreventionEtSoinsEnEntreprise ,
SanteScolaireEtUniversitaire ,
RecrutementEtGestionRH ,
PMIPlanificationFamiliale ,
EtablissementPourHandicapes ,
ComMarketingConsultingMedia ,
EtablissementPersonnesAgees ,
EtablissementAideaLaFamille ,
EtablissementDEnseignement ,
EtablissementsDeProtectionDeLEnfance ,
EtablissementsDHebergementEtDeReadaptation ,
Recherche ,
AssurancePrivee ,
OrganismeDeSecuriteSociale ,
MinistèreEtServicesDeconcentres ,
CollectivitesTerritoriales ,
AssociationsEtOrganitationsHumanitaire ,
LaboratoireDeBiologieMedicale ,
AutreEtablissementSanitaire ,
ProductionCommercialisationGrosBienMedicaux ,
CommerceDétailDeBiensMédicaux ,
PharmacieDOfficine ,
CentreDeDialyse ,
ParaPharmacie ,
AutreSecteurDActivité ,
SecteurNonDefini ,
CentreAntiCancer ,
CentreDeTransfusionSanguine ,
RépartitionDistribributionFabricationExploitationImportationMedicamentsEtDispositifsMédicaux ,
IncendiesEtSecours ,
EntreprisesIndustriellesEtTertiairesHorsIndustriesPharmaceutiques ,
EntiteDUnTOM ,
FabricationExploitationImportationMedicamentsEtDispositifsMedicaux ,
}
struct SituationDExercice {
/// Numéro identifiant la situation du PS parmi ses autres situations inscrites sur sa CPS
identifiant_situation : Byte ,
mode_exercice : Option < ModeExercice > ,
statut_exercice : Option < StatutExercice > ,
secteur_activite : Option < SecteurActivite > ,
structure_d_exercice : Option < StructureMedicale > ,
}