By way of explanation……

Those of you who follow me here may have received a cryptic email yesterday, I know some of you did. It was a privacy statement relating to a Child Medical Calculations app that I am in the process of uploading to Google Playstore. It is to be my first and they require that I post a privacy statement for the app so I decided to post it here on my website/blog. I didn’t realise that you would receive it as a post. Those of you that have been around for a while may have seen a previous iteration in the form of “Paediatric Resuscitation” app and it relates to the finished (for now) version of that.

I am currently waiting for Google to verifiy my identity, then they will check that it meets all of the requirements and passes tests. I am hoping that it will soon be able to release it to a wider audience before very long so watch this space. I’ll give an update of what it currently does once it is finally released. Thank you for popping by, I’ll be back soon.

Advertisement

Child Medical Calculator Privacy Policy 7th April 2023

Privacy Policy

Last updated: April 07, 2023

This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.

We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy. This Privacy Policy has been created with the help of the Free Privacy Policy Generator.

Interpretation and Definitions

Interpretation

The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.

Definitions

For the purposes of this Privacy Policy:

Account means a unique account created for You to access our Service or parts of our Service.

Affiliate means an entity that controls, is controlled by or is under common control with a party, where “control” means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.

Application refers to Child Medical Calculations, the software program provided by the Company.

Company (referred to as either “the Company”, “We”, “Us” or “Our” in this Agreement) refers to Child Medical Calculations.

Country refers to: United Kingdom

Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.

Personal Data is any information that relates to an identified or identifiable individual.

Service refers to the Application.

Service Provider means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.

Usage Data refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).

You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.

Collecting and Using Your Personal Data

Types of Data Collected

Personal Data

While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:

  • Usage Data

Usage Data

Usage Data is collected automatically when using the Service.

Usage Data may include information such as Your Device’s Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.

When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data.

We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device.

Use of Your Personal Data

The Company may use Personal Data for the following purposes:

To provide and maintain our Service, including to monitor the usage of our Service.

To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.

For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.

To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application’s push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.

To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.

To manage Your requests: To attend and manage Your requests to Us.

For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.

For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.

We may share Your personal information in the following situations:

  • With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
  • For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
  • With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
  • With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
  • With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
  • With Your consent: We may disclose Your personal information for any other purpose with Your consent.

Retention of Your Personal Data

The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.

The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.

Transfer of Your Personal Data

Your information, including Personal Data, is processed at the Company’s operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.

Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.

The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.

Delete Your Personal Data

You have the right to delete or request that We assist in deleting the Personal Data that We have collected about You.

Our Service may give You the ability to delete certain information about You from within the Service.

You may update, amend, or delete Your information at any time by signing in to Your Account, if you have one, and visiting the account settings section that allows you to manage Your personal information. You may also contact Us to request access to, correct, or delete any personal information that You have provided to Us.

Please note, however, that We may need to retain certain information when we have a legal obligation or lawful basis to do so.

Disclosure of Your Personal Data

Business Transactions

If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.

Law enforcement

Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).

Other legal requirements

The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:

  • Comply with a legal obligation
  • Protect and defend the rights or property of the Company
  • Prevent or investigate possible wrongdoing in connection with the Service
  • Protect the personal safety of Users of the Service or the public
  • Protect against legal liability

Security of Your Personal Data

The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.

Children’s Privacy

Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.

If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent’s consent before We collect and use that information.

Links to Other Websites

Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party’s site. We strongly advise You to review the Privacy Policy of every site You visit.

We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.

Changes to this Privacy Policy

We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.

We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the “Last updated” date at the top of this Privacy Policy.

You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.

Contact Us

If you have any questions about this Privacy Policy, You can contact us:

  • By email: cullendeveloper@gmail.com

More Courses!

Well one anyway!

Those of you who have come across this page before may have read about my Android course with Udacity, my Flutter course with Udemy and the Analogue Electronics course, again with Udemy. Well now I have reached new heights – well it was certainly the longest and most difficult course to date. I have just finished a course in C++ development with Udemy.

I have wanted to complete a “C” based course for some time. I have read several books about the C language and typed along with the examples in the book. My belief was and still is that if I was to learn a “C” based language, it would help me to better understand what is going on under the “hood” since many of the higher level languages are based on C and many of the libraries are written in C or C++. I thought that I would get a better understanding of some of the error messages and so I would gain a “deeper understanding” – I hoped. I found C on it’s own a little limiting so when I found what appeared to be quite a comprehensive C++ course on Udemy, I decided to sign up for it.

I began in early December 2022 and preceeded to plod through it. Christmas happened so I put it to one side for a little while and picked it up in earnest by mid-January. It was 46 hours of lecture videos, which is by far the longest Udemy course that I have signed up for but of course, it takes a lot longer than that when you have coding challenges, quizzes and having to watch the videos several times to be able to grasp the concepts – I am sure that many people have to do that – or perhaps it’s just me but the point is, grasp those concepts I did and I finally completed on the 20th February 2023. I am proud because I feel that I have come a long way. Not only have I gained an understanding of C++ which will come in useful for development of C++ programs. C++ is generally the language of micro-controllers like Arduino, so I’ll be able to have a go at programming them. This course will also come in useful when writing the Java for my Android stuff (The back end is written in Java in my apps ‘cos I’m old school – I was taught Android apps with Java – I might get around to Kotlin at some point) and It will help me if I want to have a serious attempt at learning Python.

All that I have to do now is get some practice writing programs in all of these development languages – I promise that there is method in my madness – I like to think that there is a pattern to my progress.

I haven’t put any C++ programs on my GitHub page but if you are interested in what I have done with Android and Flutter, please follow this link:-

https://github.com/CullenDevelopment

The Illumination Repairs App

I was inspired by the work/volunteering that I had been doing for Illumination Repairs C.I.C. to attempt to create a contact app and I decided to create it in Flutter so that eventually it would work on both Android and iOS without having to write the whole thing twice – there are pros and cons to this approach which I hope to cover in another post.

I opened up Android Studio on my Development Laptop and set to work….

I first of all I discovered how to create three tabs within the AppBar which would enable me to switch between three pages easily. They were “Home”, “Email” and “Website”. I used the artwork from the Illumination Repairs Instagram posts – cheeky I know but I was hoping that the company would benefit from my efforts so it was justified. The colour scheme that they had chosen was black and white so I felt that I had to keep it as it is part of their “brand” – I would have much rather used a more colourful palate.

The “Home Page”

Here you can clearly see the tabs (set on Home). The artwork is the first page of a video presentation which they created to “tell their story”. The next images are some of the “slides” in the video presentation.

It took me a while to work out how to have a mpg4 run in the app but I succeeded. I will leave a link to my GitHub Repo for this app at the end so you can see how I did it rather than explain here.

Next is the “Email” tab which leads to an email based enquiry form which sends an email to a designated address.

Finally, there is the “Website” tab which has a link to email (blank) but again to a designated email address. I later considered this surplus to requirements because the form on the email tab form was sufficient.

It also has a link to Illumination Repairs Facebook page and the Illumination Repairs website.

The biggest flaw with this app is that for all of the people who approach us for a repair it is a one-off contact – who would download an app just to get one or two things repaired, so it will never go into production in it’s current form. All is not lost – I know a little more about how to embed a video into a Flutter app, I have more of an idea about how to create an email enquiry form in Flutter, I can put links into buttons to webpages and email (the second email code works a bit different to the first) and the links to the webpages including Facebook/Meta can be done several ways – I tried the most common way (according to Stack Overflow) and it didn’t work as it was trying to parse ipv6 addresses and I think that that particular method was best suited to ipv4 addresses and so I found another method much better. I will use what I have learned in other apps and it has opened my horizons to the possibility of other apps.

That link to my GitHub Repository containing the code for this app:-

https://github.com/CullenDevelopment/illumination_repairs

Things that I have repaired.

These are some of the things that I have repaired as part of Illumination Repairs since November 2021.

Shredder

This was the second shredder that I repaired – this one had a bent paper switch – the one that activates the shedder when you put paper in the feed. The first one had a broken switch and I re-wired and replced the switch.

Kettle

The one of the bi-metallic strips needed replacing – I had a spare lying around from a kettle that could not be repair due to a broken and non-replaceable element. This one went to a charity shop – it was an Asda basic range kettle and wasn’t worth much so we gave it away after extending it’s life.

Toaster

This toaster – the metal strips that holds the bread has come off it’s rails – it was given a new lease of life via the charity shop – it made nice toast – well, you have to try these things out (you do actually, more about that later) but wasn’t worth much but someone will have the use of it and it’s one less easily mended electrical in landfill.

Nespresso Coffee Machine.

It wasn’t puncturing the pods. It turned out that it did if you put the pods in at a certain angle. It wasn’t broken as such but perhaps a little worn and worked perfectly if you were careful. It went back to a very grateful client who gave a donation. Nice machine.

A “Flip-over clock” from Habitat

This clock wasn’t flipping over the days of the week due to a broken mechansim post and so the gears were not engaging. I replaced the post with a screw and it went back to it’s owner.

Sit in electric toy car.

After much investigation, it turns out that there is a switch in the charging point socket. When it is charging the circuit goes one way; when it is not charging i.e. when the charging plug is not inserted a switch closes enabling the battery to power the motors, lights, horn, radio and a host of other accessories. The problem was that the switch was stuck – it only needed to free the mechanism of the switch. The parent of the owner was very grateful and I have since heard that her children are getting a lot of use out of it again. We don’t usually repair things this big – it was sat in my sitting room for several weeks. We were sad and also pleased to see it go at the same time!

Morphy Richards Steam Generator Iron.

The steam was working but the iron was not getting hot – I replaced a relay that controlled the current to the iron element once I found the problem – it is always worth investigating – the obvious answer was that the element in the iron was defective but by a series of resistance measurements that was found not to be true and I was able to trace it back to the relay. The owner was very pleased and made a generous donation.

DeLonghi Eletta Coffee Machine

Despite the owners very thorough cleaning regime it turned out that the reason this coffee machine stopped brewing was a blockage in the hot water pipe.

Whenever we complete a repair on anything that uses mains electricity we have to ensure that it is safe and to that end we Portable Appliance Test (PAT) the items and record the results then apply a sticker to show that it has been done and the appliance is safe.

The first part of the test is a visual check of plugs for sound connections, that the cable is secure, that an appropriate value fuse is inserted and that it is in good condition (no tin foil, nails or other bodges), no signs of overheating or cracks and other damage to the plug. The cable is inspected to show that it is in good condition and we check for cracks and other damage on the appliance. We then determine what “Class” of electrical item we are dealing with and set the PAT Tester to check the appliance according to it’s class. Class I tests Earth Conductivity (Bonding) and Insulation resistance. Class II, just Insulation Resistance. We can also do a “cord test” which is generally detachable cables like “kettle leads”. All of the values should be (well) within the values set by the Institution of Engineering and Technology (IET) Code of Practice for “In-Service Inspection and Testing of Electrical Equipment” 5th Edition.

My Seaward Primetest 100 PAT tester

This is my PAT Tester. The smart ones amongst you might be thinking the top figure – Earth Conductivity – is a little high as we would prefer the figure to be <0.1 Ohms (the guidance is <0.2 Ohms usually and in special circumstances <0.5 Ohms) but it was down to the length and conductor cross surface area of the cable.

The last part of the test is that it functions as it should do which is why I enjoyed the toast with the toaster that I repaired as well as coffee from both coffee machines.

I also replaced the screen on a DAB radio, the aerial on another DAB radio and repaired an assortment of other things that I haven’t got photgraphs for…

I decided to create a Flutter based app on the theme of Illumination Repairs… More about that next time….

While I’ve been “away”.

Hello again! May I just apologise for my absence – I got a bit distracted. I was scrolling through my Instagram account when I was recommended an account to follow called “Illumination Repairs”. They are a Community Interest Company and their mandate is to repair electrical items that have broken and would otherwise go to landfill or less likely, be recycled. It is a cause that is close to my heart, they are based in the area where I live and there was an opportunity for me to join them as a repairer. It would give me an opportunity to fiddle with electric and electronic devices and gain further knowledge and experience in that area. They wanted volunteers so I contacted them and arranged to meet James, the company founder. I went to meet him and walked away with five things to repair.

They currently have an arrangement with a local village market where broken items are dropped off, taken away and repaired if possible. The items can be donated and repaired items are sold to raise funds, or they are returned a month later at the same market – we then invite the clients to make a donation when they are happy with the repair. To give some idea of the sort of items that we expect….

It is not an exhaustive list; we will generally consider many things under 25 kg, electrical/electronic items if we think that they can be repaired.

You might ask “where does the sales of repaired items money and donations go?” It will go to support helping people into work through sharing skills and making people more employable through learning how to repair electricals by “sitting at Nellie’s knee” – working alongside more experienced repairers. It also goes towards buying spare parts, liability insurance and tools.

This was the bit that attracted me. I thought “That’s me!” I have put in more than a few hours each month since joining in November 2021.

I will be writing about the some of the things that I have repaired since joining, new things that I have learned, my latest app which is related to this venture – and why it won’t see the light of day but how many of the features that I have learned creating it will be used in other apps in the future.

Illumination Repairs website:-

https://www.illuminationrepairs.org.uk/about

https://www.facebook.com/IlluminationRepairs

See you tomorrow…

The Body Mass Index Calculator.

Hello and welcome back. My latest Flutter and Dart project is my body mass index calculator or as some know it BMI. Body mass index is a somewhat out of vogue way of assessing if someone is of a healthy weight for their height and quite rightly so, many a professional Rugby player will have a BMI of 35 or above, particularly those forwards who are all muscle and muscle weighs more than fat. A safer option would be to assess %fat content but that is more difficult so I think that BMI calculation will be around for a bit longer yet so this app may well prove helpful. The calculation for body mass index is:-

BMI = weight in kilograms / (height in metres x height in metres) (substitute * for x if you prefer!).

My app also has a calculator for conversion of imperial weights (stones and pounds – British not US) to metric (kg), and another for imperial height or length (feet and inches) to metric (metres) which can them be used for the BMI calculator. I have included a calculate button for each calculation and a reset button to clear all of the boxes.

The Flutter Version of the BMI Calculator app.

It is the Flutter version of part of a previous Android app with several calculators within it. My intention is to ask those to whom I show all of these Flutter calculation apps which ones they would like to see as a suite and which would not be useful to them. I intend to have several sites; perhaps a paediatric suite and an adult based suite and target them at appropriate audiences. If you have any thoughts on the matter, please feel free to share them with me. Thank you.

My Quiz App.

My daughter is a primary school teacher and holds a Master of Arts Degree in History. I thought that it would be a jolly wheeze if I was to attempt to create a quiz app that might be useful to her endeavours, or at least amuse her. It would also give me an idea for a project – sometimes as an app developer, finding an idea for a project is the most difficult thing. I made it and although it wasn’t suitable for her target audience, I am quite proud of it. There are problems with it, such as the fact that it is difficult to make out the text in front of the background illustrations (some of which are my photographs – Eilean Donan Castle and Gallos from Tintagel castle – look it up!) but it was progress.

Four Quizzes in One.
The front page and links to the other four pages.

It was a first attempt at a quiz app for more than as an educational project. I had created a much less elaborate quiz as a project for my Udacity Android Basics Nanodegree; this quiz was based on the techniques that I had used then. I had created each quiz in a ScrollView – it seems to be frowned on now but I thought it appropriate at the time. The questions use a selection of radio buttons (only allows one choice), grouped check boxes (allows a pre-set number of choices) and each quiz has an edit text (user text input). When the user presses ‘Submit Answers’ it tells them how many points out of a maximum score and if they achieve a perfect score, it displays another message which tells them that they scored a maximum ” ” points (it varies between the quizzes). Finally, each individual quiz can be reset by pressing – you guessed it , the ‘Reset’ button. What’s not to like?

‘Bye for now, I’ll see you next time…

The first draft of the medical calculations app – created in Android Studio.

I wanted to create something useful and given my background in Nursing and all things medical, I was naturally inclined to come up with something that might prove useful to my former colleagues and those who perform a similar role as that is what I know most about.

One of the things that computers do well (and your mobile device is a sophisticated computer) is crunch numbers quicker than a speeding bullet and certainly faster than human brains and what is more, if they have been given the right instructions in the first place, they will do it faultlessly at every time of asking – better than humans there too then. In short, I wanted to simplify peoples lives by taking away some of those routine calculations. Here is my first attempt. It was written in Android Studio solely to work on Android devices. In later iterations I added extra functionality to it, of which I will tell you at a later time. For now, this is the first version:-

The first medical calculations app for Android.
Detail of Android version of Paediatric Resuscitation app for Android
The Menu
Links to useful websites.

If you want detail about how the resuscitation app works, please see the Flutter version post from a couple of days ago. I’ll talk about the fluid calculation app soon. See you later…

How to calculate the skin area of a child.

It is probably not on your usual list of daily considerations but for some people it is. Those people are very talented doctors who treat children and in particular very small children as this calculation is used to decide what dose of drugs to give to these children and to decide on other very critical treatments.

The calculation is:-

Body Surface area = the square root of ((weight in kilograms x length in centimetres)/3600)

The method is known as the Mosteller method.

The Flutter Version.
As it appears in the emulator in Android Studio.

Users type in the weight and length and press ‘Calculate’ then to reset the app press ‘Reset’ – simples…

Again, this app is quite niche but may prove useful if this is your line of work. The final outcome is likely to be that this will be included as part of a suite of specialist applications. In this form I hope to make it available for both Android and iOS. See you soon…