chore: start implementing types from docs
This commit is contained in:
parent
4b9401e279
commit
3ff80fe093
@ -4,5 +4,7 @@ members = [
|
|||||||
"crates/app",
|
"crates/app",
|
||||||
"crates/sesam-vitale",
|
"crates/sesam-vitale",
|
||||||
"crates/desktop",
|
"crates/desktop",
|
||||||
|
"crates/desktop",
|
||||||
|
"crates/services-sesam-vitale-sys",
|
||||||
"crates/utils",
|
"crates/utils",
|
||||||
]
|
]
|
||||||
|
@ -2,5 +2,3 @@
|
|||||||
name = "services-sesam-vitale-sys"
|
name = "services-sesam-vitale-sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
mod types;
|
||||||
|
|
||||||
|
use types::*;
|
||||||
pub fn add(left: usize, right: usize) -> usize {
|
pub fn add(left: usize, right: usize) -> usize {
|
||||||
left + right
|
left + right
|
||||||
}
|
}
|
||||||
|
176
crates/services-sesam-vitale-sys/src/types.rs
Normal file
176
crates/services-sesam-vitale-sys/src/types.rs
Normal file
@ -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>,
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user